From 482eb45d73d2e902c723d9cef155072bc359f486 Mon Sep 17 00:00:00 2001
From: malexsan <alexandru.munt@gmail.com>
Date: Wed, 19 Dec 2018 13:06:55 +0200
Subject: [PATCH] feat(adminForm): wip: implement custom validated formik
 fields

---
 .../src/FormikMenuCountry.js                  | 22 +++++++++++++++++++
 packages/component-faraday-ui/src/index.js    |  1 +
 .../app/components/AdminUserForm.js           | 11 +++++-----
 3 files changed, 29 insertions(+), 5 deletions(-)
 create mode 100644 packages/component-faraday-ui/src/FormikMenuCountry.js

diff --git a/packages/component-faraday-ui/src/FormikMenuCountry.js b/packages/component-faraday-ui/src/FormikMenuCountry.js
new file mode 100644
index 000000000..d8442ad9c
--- /dev/null
+++ b/packages/component-faraday-ui/src/FormikMenuCountry.js
@@ -0,0 +1,22 @@
+import React from 'react'
+import { Field } from 'formik'
+
+import { MenuCountry } from './'
+
+const FormikMenuCountry = ({ name }) => (
+  <Field name={name}>
+    {({ field, form }) =>
+      console.log({ field, form }) || (
+        <MenuCountry
+          onChange={v => {
+            // field.onChange(v)
+            form.setFieldValue(field.name, v)
+          }}
+          value={field.value}
+        />
+      )
+    }
+  </Field>
+)
+
+export default FormikMenuCountry
diff --git a/packages/component-faraday-ui/src/index.js b/packages/component-faraday-ui/src/index.js
index 6d5f3b1be..f16ba298e 100644
--- a/packages/component-faraday-ui/src/index.js
+++ b/packages/component-faraday-ui/src/index.js
@@ -52,6 +52,7 @@ export { default as ReviewerReportAuthor } from './ReviewerReportAuthor'
 export { default as PasswordValidation } from './PasswordValidation'
 export { default as MenuCountry } from './MenuCountry'
 export { default as ValidatedMenuField } from './ValidatedMenuField'
+export { default as FormikMenuCountry } from './FormikMenuCountry'
 
 export { SubmitRevision } from './submissionRevision'
 
diff --git a/packages/component-user/app/components/AdminUserForm.js b/packages/component-user/app/components/AdminUserForm.js
index 50a314f42..5db406ab5 100644
--- a/packages/component-user/app/components/AdminUserForm.js
+++ b/packages/component-user/app/components/AdminUserForm.js
@@ -20,6 +20,7 @@ import {
   IconButton,
   RowOverrideAlert,
   ItemOverrideAlert,
+  FormikMenuCountry,
   ValidatedMenuField,
   withRoles,
   withFetching,
@@ -90,7 +91,6 @@ const FormModal = ({
                   component={TextField}
                   inline
                   name="email"
-                  validate={[required]}
                 />
               </ItemOverrideAlert>
               <ItemOverrideAlert ml={1} vertical>
@@ -126,7 +126,7 @@ const FormModal = ({
             </ItemOverrideAlert>
             <ItemOverrideAlert ml={1} vertical>
               <Label>Country</Label>
-              <ValidatedMenuField name="country" options={countries} />
+              <FormikMenuCountry name="country" />
             </ItemOverrideAlert>
           </RowOverrideAlert>
 
@@ -183,9 +183,10 @@ export default compose(
   })),
   withHandlers({
     onSubmit: ({ onSubmit, ...props }) => (values, formProps) => {
-      if (typeof onSubmit === 'function') {
-        onSubmit(values, { ...formProps, ...props })
-      }
+      console.log('the values', values)
+      // if (typeof onSubmit === 'function') {
+      //   onSubmit(values, { ...formProps, ...props })
+      // }
     },
     onClose: ({ onCancel, ...props }) => () => {
       if (typeof onCancel === 'function') {
-- 
GitLab