CR fix too big inlined onSumbit handler
authorDaniel Kos <daniel.kos@contractors.roche.com>
Tue, 18 Dec 2018 12:27:39 +0000 (13:27 +0100)
committerDaniel Kos <daniel.kos@contractors.roche.com>
Tue, 18 Dec 2018 12:27:39 +0000 (13:27 +0100)
Feature #14478

Arvados-DCO-1.1-Signed-off-by: Daniel Kos <daniel.kos@contractors.roche.com>

src/views/site-manager-panel/site-manager-panel-root.tsx

index 5f9ce08c9682ab820cfabe2f2e10b0737c58c130..2b6d3c97a46dd94b3e91ec43f229fc21172c326e 100644 (file)
@@ -21,7 +21,7 @@ import {
 import { ArvadosTheme } from '~/common/custom-theme';
 import { Session, SessionStatus } from "~/models/session";
 import Button from "@material-ui/core/Button";
-import { compose } from "redux";
+import { compose, Dispatch } from "redux";
 import { Field, FormErrors, InjectedFormProps, reduxForm, reset, stopSubmit } from "redux-form";
 import { TextField } from "~/components/text-field/text-field";
 import { addSession } from "~/store/auth/auth-action-session";
@@ -93,19 +93,24 @@ export interface SiteManagerPanelRootDataProps {
 type SiteManagerPanelRootProps = SiteManagerPanelRootDataProps & SiteManagerPanelRootActionProps & WithStyles<CssRules> & InjectedFormProps;
 const SITE_MANAGER_FORM_NAME = 'siteManagerForm';
 
+const submitSession = (remoteHost: string) =>
+    (dispatch: Dispatch) => {
+        dispatch<any>(addSession(remoteHost)).then(() => {
+            dispatch(reset(SITE_MANAGER_FORM_NAME));
+        }).catch((e: any) => {
+            const errors = {
+                remoteHost: e
+            } as FormErrors;
+            dispatch(stopSubmit(SITE_MANAGER_FORM_NAME, errors));
+        });
+    };
+
 export const SiteManagerPanelRoot = compose(
     reduxForm<{remoteHost: string}>({
         form: SITE_MANAGER_FORM_NAME,
         touchOnBlur: false,
         onSubmit: (data, dispatch) => {
-            dispatch<any>(addSession(data.remoteHost)).then(() => {
-                dispatch(reset(SITE_MANAGER_FORM_NAME));
-            }).catch((e: any) => {
-                const errors = {
-                    remoteHost: e
-                } as FormErrors;
-                dispatch(stopSubmit(SITE_MANAGER_FORM_NAME, errors));
-            });
+            dispatch(submitSession(data.remoteHost));
         }
     }),
     withStyles(styles))