@bigbinary/neeto-fields-frontend 2.4.0 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -352,11 +352,12 @@ specific resource.
352
352
  `isRequired` column.
353
353
  12. `fieldClassName`: Class names for styling the `div` containing the input
354
354
  field.
355
- 13. `onMutationSuccess`: The callback function which is triggered on the success
355
+ 13. `onMutate`: The callback function which is triggered on the mutations.
356
+ 14. `onMutationSuccess`: The callback function which is triggered on the success
356
357
  of mutation functions( create, update & delete).
357
- 14. `blockNavigation`: Boolean value to specify whether to block the navigation
358
+ 15. `blockNavigation`: Boolean value to specify whether to block the navigation
358
359
  if we have unsaved field values entered in field inputs.
359
- 15. `blockNavigationAlertProps`: Props to be passed to the Alert. It accepts the
360
+ 16. `blockNavigationAlertProps`: Props to be passed to the Alert. It accepts the
360
361
  following.
361
362
  - `title`
362
363
  - `message`
@@ -380,6 +381,7 @@ const queryClient = useQueryClient();
380
381
  resourceId={user?.id}
381
382
  resourceType="users"
382
383
  onMutationSuccess={() => queryClient.invalidateQueries({ queryKey: ["users"]})}
384
+ onMutate={() => queryClient.setQueriesData({ queryKey: ["users"] }, modifier)}
383
385
  customComponents={{
384
386
  hostSpecificKindName: field => <HostSpecificInputFields />,
385
387
  }}
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
2
  import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
3
3
  import Typography from '@bigbinary/neetoui/Typography';
4
- import { g as getNonSystemFields, a as getFieldInput } from './utils-DTT7cQxQ.js';
4
+ import { g as getNonSystemFields, a as getFieldInput } from './utils-BBFK9qDC.js';
5
5
  import { jsx } from 'react/jsx-runtime';
6
6
  import '@babel/runtime/helpers/toConsumableArray';
7
7
  import '@bigbinary/neeto-cist';
@@ -5,7 +5,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var React = require('react');
6
6
  var ramda = require('ramda');
7
7
  var constants = require('./constants-C4kiF-ZI.js');
8
- var utils$1 = require('./utils-Gj07FNOW.js');
8
+ var utils$1 = require('./utils-f6fwkcvD.js');
9
9
  var index = require('./index-Ck5frOOX.js');
10
10
  require('@tanstack/react-query');
11
11
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
@@ -184,8 +184,7 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
184
184
  formikProps: {
185
185
  initialValues: utils$1.getInitialFieldValue({
186
186
  field: field,
187
- fieldValues: fieldValues,
188
- isIndividualFieldForm: true
187
+ fieldValues: fieldValues
189
188
  }),
190
189
  onSubmit: onSubmit,
191
190
  enableReinitialize: true
@@ -196,4 +195,4 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
196
195
 
197
196
  exports.FieldValueInputWrapper = FieldValueInputWrapper;
198
197
  exports.useFieldValues = useFieldValues;
199
- //# sourceMappingURL=FieldValueInputWrapper-xUIY5q4-.js.map
198
+ //# sourceMappingURL=FieldValueInputWrapper-D7lOxWHu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldValueInputWrapper-D7lOxWHu.js","sources":["../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../app/javascript/src/hooks/useFieldValues.js","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx"],"sourcesContent":["import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery({\n queryKey: [QUERY_KEYS.FIELD_VALUES, params.resource],\n queryFn: () => fieldValuesApi.fetch({ params }),\n });\n\nconst useCreateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.create, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useUpdateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.update, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useDeleteFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState } from \"react\";\n\nimport {\n assoc,\n head,\n values as getValues,\n isEmpty,\n omit,\n mergeDeepLeft,\n} from \"ramda\";\n\nimport { isFieldValueEmpty } from \"components/FieldValuesContainer/utils\";\nimport { getTimezone } from \"components/utils\";\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"./reactQuery/useFieldValuesApi\";\nimport { isDateTime } from \"./utils\";\n\nconst useFieldValues = ({\n resourceId,\n resourceType,\n ownerId,\n queryOptions = {},\n}) => {\n const [submittingFieldDetails, setSubmittingFieldDetails] = useState({});\n\n const onMutationSuccess = (...callbackArguments) => {\n const [response = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(response.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.SUCCESS,\n })\n );\n queryOptions.onSuccess?.(...callbackArguments);\n };\n\n const onMutationError = (...callbackArguments) => {\n const [_, payload = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(payload.payload?.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.FAILED,\n })\n );\n queryOptions.onError?.(...callbackArguments);\n };\n\n const onSettled = (...callbackArguments) => {\n const [response = {}, _, request = {}] = callbackArguments;\n const fieldId =\n response.fieldValue?.fieldId || request.payload?.fieldValue?.fieldId;\n\n setTimeout(() => setSubmittingFieldDetails(omit([fieldId])), 5000);\n queryOptions.onSettled?.(...callbackArguments);\n };\n\n const updatedQueryOptions = {\n ...queryOptions,\n onSuccess: onMutationSuccess,\n onError: onMutationError,\n onSettled,\n };\n\n const { mutate: createFieldValue } = useCreateFieldValue(updatedQueryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(updatedQueryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(updatedQueryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n setSubmittingFieldDetails(\n assoc(fieldValue.fieldId, { status: SUBMIT_FIELD_STATUS.SUBMITTING })\n );\n\n const fieldKind = field.kind;\n const additionalData = isDateTime(fieldKind)\n ? { timezone: getTimezone() }\n : {};\n\n const payload = {\n fieldValue: mergeDeepLeft({ data: additionalData }, fieldValue),\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(fieldKind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n return { handleSubmit, submittingFieldDetails };\n};\n\nexport default useFieldValues;\n","import classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({ field, fieldValues }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n"],"names":["isFieldValueEmpty","fieldKind","fieldValueData","KINDS","multiOption","isEmpty","values","timeRange","dateRange","includes","value","fieldValueUrl","fieldValueId","buildUrl","FIELD_VALUE_URL","create","payload","axios","post","FIELD_VALUES_URL","fetch","get","destroy","_ref","id","data","update","_ref2","patch","fieldValuesApi","useCreateFieldValue","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","FIELD_VALUES","useUpdateFieldValue","useDeleteFieldValue","useFieldValues","resourceId","resourceType","ownerId","_ref$queryOptions","queryOptions","_useState","useState","_useState2","_slicedToArray","submittingFieldDetails","setSubmittingFieldDetails","onMutationSuccess","_response$fieldValue","_queryOptions$onSucce","_len","arguments","length","callbackArguments","Array","_key","_callbackArguments$","response","assoc","fieldValue","fieldId","status","SUBMIT_FIELD_STATUS","SUCCESS","onSuccess","call","apply","concat","onMutationError","_payload$payload","_queryOptions$onError","_len2","_key2","_callbackArguments$2","FAILED","onError","onSettled","_response$fieldValue2","_request$payload","_queryOptions$onSettl","_len3","_key3","_callbackArguments$3","_","_callbackArguments$4","request","setTimeout","omit","updatedQueryOptions","_useCreateFieldValue","createFieldValue","mutate","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","handleSubmit","field","head","getValues","SUBMITTING","kind","additionalData","isDateTime","timezone","getTimezone","mergeDeepLeft","resource","undefined","FieldValueInputWrapper","fieldValues","children","onSubmit","_ref$className","className","_jsx","NeetoUIForm","scrollToErrorField","classnames","formikProps","initialValues","getInitialFieldValue","enableReinitialize"],"mappings":"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"}
@@ -3,7 +3,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import { useState } from 'react';
4
4
  import { isEmpty, head, values, assoc, mergeDeepLeft, omit } from 'ramda';
5
5
  import { K as KINDS } from './constants-B3mMmVVx.js';
6
- import { i as isDateTime, d as getTimezone, e as getInitialFieldValue } from './utils-DTT7cQxQ.js';
6
+ import { i as isDateTime, d as getTimezone, e as getInitialFieldValue } from './utils-BBFK9qDC.js';
7
7
  import { c as FIELD_VALUES_URL, d as FIELD_VALUE_URL, S as SUBMIT_FIELD_STATUS } from './index-ClzlQ8BI.js';
8
8
  import '@tanstack/react-query';
9
9
  import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
@@ -182,8 +182,7 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
182
182
  formikProps: {
183
183
  initialValues: getInitialFieldValue({
184
184
  field: field,
185
- fieldValues: fieldValues,
186
- isIndividualFieldForm: true
185
+ fieldValues: fieldValues
187
186
  }),
188
187
  onSubmit: onSubmit,
189
188
  enableReinitialize: true
@@ -193,4 +192,4 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
193
192
  };
194
193
 
195
194
  export { FieldValueInputWrapper as F, useFieldValues as u };
196
- //# sourceMappingURL=FieldValueInputWrapper-qNij6ngj.js.map
195
+ //# sourceMappingURL=FieldValueInputWrapper-D_HtxLWU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldValueInputWrapper-D_HtxLWU.js","sources":["../app/javascript/src/components/FieldValuesContainer/utils.js","../app/javascript/src/apis/field_values.js","../app/javascript/src/hooks/reactQuery/useFieldValuesApi.js","../app/javascript/src/hooks/useFieldValues.js","../app/javascript/src/components/FieldValuesContainer/FieldValueInputWrapper.jsx"],"sourcesContent":["import { isEmpty } from \"ramda\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nexport const isFieldValueEmpty = (fieldKind, fieldValueData) => {\n if (fieldKind === KINDS.multiOption) return isEmpty(fieldValueData.values);\n\n if ([KINDS.timeRange, KINDS.dateRange].includes(fieldKind)) {\n return isEmpty(fieldValueData.value[0]) && isEmpty(fieldValueData.value[1]);\n }\n\n return isEmpty(fieldValueData.value);\n};\n","import axios from \"axios\";\nimport { buildUrl } from \"neetocommons/utils\";\n\nimport { FIELD_VALUES_URL, FIELD_VALUE_URL } from \"src/constants\";\n\nconst fieldValueUrl = fieldValueId =>\n buildUrl(FIELD_VALUE_URL, { fieldValueId });\n\nconst create = payload => axios.post(FIELD_VALUES_URL, payload);\n\nconst fetch = payload => axios.get(FIELD_VALUES_URL, payload);\n\nconst destroy = ({ id, payload }) =>\n axios.delete(fieldValueUrl(id), { data: payload });\n\nconst update = ({ id, payload }) => axios.patch(fieldValueUrl(id), payload);\n\nconst fieldValuesApi = { create, fetch, destroy, update };\n\nexport default fieldValuesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport fieldValuesApi from \"apis/field_values\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useFetchFieldValues = params =>\n useQuery({\n queryKey: [QUERY_KEYS.FIELD_VALUES, params.resource],\n queryFn: () => fieldValuesApi.fetch({ params }),\n });\n\nconst useCreateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.create, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useUpdateFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.update, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nconst useDeleteFieldValue = options =>\n useMutationWithInvalidation(fieldValuesApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.FIELD_VALUES]],\n ...options,\n });\n\nexport {\n useCreateFieldValue,\n useFetchFieldValues,\n useUpdateFieldValue,\n useDeleteFieldValue,\n};\n","import { useState } from \"react\";\n\nimport {\n assoc,\n head,\n values as getValues,\n isEmpty,\n omit,\n mergeDeepLeft,\n} from \"ramda\";\n\nimport { isFieldValueEmpty } from \"components/FieldValuesContainer/utils\";\nimport { getTimezone } from \"components/utils\";\nimport { SUBMIT_FIELD_STATUS } from \"src/constants\";\n\nimport {\n useCreateFieldValue,\n useDeleteFieldValue,\n useUpdateFieldValue,\n} from \"./reactQuery/useFieldValuesApi\";\nimport { isDateTime } from \"./utils\";\n\nconst useFieldValues = ({\n resourceId,\n resourceType,\n ownerId,\n queryOptions = {},\n}) => {\n const [submittingFieldDetails, setSubmittingFieldDetails] = useState({});\n\n const onMutationSuccess = (...callbackArguments) => {\n const [response = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(response.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.SUCCESS,\n })\n );\n queryOptions.onSuccess?.(...callbackArguments);\n };\n\n const onMutationError = (...callbackArguments) => {\n const [_, payload = {}] = callbackArguments;\n\n setSubmittingFieldDetails(\n assoc(payload.payload?.fieldValue?.fieldId, {\n status: SUBMIT_FIELD_STATUS.FAILED,\n })\n );\n queryOptions.onError?.(...callbackArguments);\n };\n\n const onSettled = (...callbackArguments) => {\n const [response = {}, _, request = {}] = callbackArguments;\n const fieldId =\n response.fieldValue?.fieldId || request.payload?.fieldValue?.fieldId;\n\n setTimeout(() => setSubmittingFieldDetails(omit([fieldId])), 5000);\n queryOptions.onSettled?.(...callbackArguments);\n };\n\n const updatedQueryOptions = {\n ...queryOptions,\n onSuccess: onMutationSuccess,\n onError: onMutationError,\n onSettled,\n };\n\n const { mutate: createFieldValue } = useCreateFieldValue(updatedQueryOptions);\n const { mutate: updateFieldValue } = useUpdateFieldValue(updatedQueryOptions);\n const { mutate: deleteFieldValue } = useDeleteFieldValue(updatedQueryOptions);\n\n const handleSubmit = (field, values) => {\n const fieldValue = head(getValues(values));\n setSubmittingFieldDetails(\n assoc(fieldValue.fieldId, { status: SUBMIT_FIELD_STATUS.SUBMITTING })\n );\n\n const fieldKind = field.kind;\n const additionalData = isDateTime(fieldKind)\n ? { timezone: getTimezone() }\n : {};\n\n const payload = {\n fieldValue: mergeDeepLeft({ data: additionalData }, fieldValue),\n resource: resourceType,\n resourceId,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n };\n\n if (isFieldValueEmpty(fieldKind, fieldValue.data)) {\n deleteFieldValue({ id: fieldValue.id, payload });\n } else {\n fieldValue.id\n ? updateFieldValue({ id: fieldValue.id, payload })\n : createFieldValue(payload);\n }\n };\n\n return { handleSubmit, submittingFieldDetails };\n};\n\nexport default useFieldValues;\n","import classnames from \"classnames\";\nimport { Form as NeetoUIForm } from \"neetoui/formik\";\n\nimport { getInitialFieldValue } from \"components/utils\";\n\nconst FieldValueInputWrapper = ({\n field,\n fieldValues,\n children,\n onSubmit,\n className = \"\",\n}) => (\n <NeetoUIForm\n scrollToErrorField\n className={classnames(\"flex w-full\", className)}\n formikProps={{\n initialValues: getInitialFieldValue({ field, fieldValues }),\n onSubmit,\n enableReinitialize: true,\n }}\n >\n {children}\n </NeetoUIForm>\n);\n\nexport default FieldValueInputWrapper;\n"],"names":["isFieldValueEmpty","fieldKind","fieldValueData","KINDS","multiOption","isEmpty","values","timeRange","dateRange","includes","value","fieldValueUrl","fieldValueId","buildUrl","FIELD_VALUE_URL","create","payload","axios","post","FIELD_VALUES_URL","fetch","get","destroy","_ref","id","data","update","_ref2","patch","fieldValuesApi","useCreateFieldValue","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","FIELD_VALUES","useUpdateFieldValue","useDeleteFieldValue","useFieldValues","resourceId","resourceType","ownerId","_ref$queryOptions","queryOptions","_useState","useState","_useState2","_slicedToArray","submittingFieldDetails","setSubmittingFieldDetails","onMutationSuccess","_response$fieldValue","_queryOptions$onSucce","_len","arguments","length","callbackArguments","Array","_key","_callbackArguments$","response","assoc","fieldValue","fieldId","status","SUBMIT_FIELD_STATUS","SUCCESS","onSuccess","call","apply","concat","onMutationError","_payload$payload","_queryOptions$onError","_len2","_key2","_callbackArguments$2","FAILED","onError","onSettled","_response$fieldValue2","_request$payload","_queryOptions$onSettl","_len3","_key3","_callbackArguments$3","_","_callbackArguments$4","request","setTimeout","omit","updatedQueryOptions","_useCreateFieldValue","createFieldValue","mutate","_useUpdateFieldValue","updateFieldValue","_useDeleteFieldValue","deleteFieldValue","handleSubmit","field","head","getValues","SUBMITTING","kind","additionalData","isDateTime","timezone","getTimezone","mergeDeepLeft","resource","undefined","FieldValueInputWrapper","fieldValues","children","onSubmit","_ref$className","className","_jsx","NeetoUIForm","scrollToErrorField","classnames","formikProps","initialValues","getInitialFieldValue","enableReinitialize"],"mappings":"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"}
@@ -5,8 +5,8 @@ import Spinner from '@bigbinary/neetoui/Spinner';
5
5
  import Typography from '@bigbinary/neetoui/Typography';
6
6
  import { isNil, isEmpty } from 'ramda';
7
7
  import { useTranslation } from 'react-i18next';
8
- import { g as getNonSystemFields, a as getFieldInput } from './utils-DTT7cQxQ.js';
9
- import { u as useFieldValues, F as FieldValueInputWrapper } from './FieldValueInputWrapper-qNij6ngj.js';
8
+ import { g as getNonSystemFields, a as getFieldInput } from './utils-BBFK9qDC.js';
9
+ import { u as useFieldValues, F as FieldValueInputWrapper } from './FieldValueInputWrapper-D_HtxLWU.js';
10
10
  import { u as useFetchFields } from './useFieldsApi-D2gk4zd9.js';
11
11
  import { useFormikContext } from 'formik';
12
12
  import Alert from '@bigbinary/neetoui/Alert';
@@ -147,6 +147,8 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
147
147
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
148
148
  isRequiredColumnName = _ref.isRequiredColumnName,
149
149
  fieldClassName = _ref.fieldClassName,
150
+ _ref$onMutate = _ref.onMutate,
151
+ _onMutate = _ref$onMutate === void 0 ? noop : _ref$onMutate,
150
152
  _ref$onMutationSucces = _ref.onMutationSuccess,
151
153
  onMutationSuccess = _ref$onMutationSucces === void 0 ? noop : _ref$onMutationSucces,
152
154
  _ref$blockNavigation = _ref.blockNavigation,
@@ -156,6 +158,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
156
158
  var _useTranslation = useTranslation(),
157
159
  t = _useTranslation.t;
158
160
  var queryOptions = {
161
+ onMutate: function onMutate(variables) {
162
+ return _onMutate(variables.payload || variables);
163
+ },
159
164
  onSuccess: onMutationSuccess
160
165
  };
161
166
  var _useFetchFields = useFetchFields({
@@ -1 +1 @@
1
- {"version":3,"file":"FieldValuesContainer.js","sources":["../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","title","t","message","submitButtonLabel","cancelButtonLabel","BlockNavigation","_ref","blockNavigation","blockNavigationAlertProps","_useFormikContext","useFormikContext","dirty","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","_objectSpread","_jsx","Alert","isOpen","onClose","onSubmit","FieldValuesContainer","_ref$resourceType","resourceType","fieldValues","propFields","fields","_ref$ownerId","ownerId","resourceId","_ref$customComponents","customComponents","_ref$className","className","_ref$showBorder","showBorder","formRefs","_ref$disabled","disabled","isRequiredColumnName","fieldClassName","_ref$onMutationSucces","onMutationSuccess","noop","_ref$blockNavigation","_ref$blockNavigationA","_useTranslation","useTranslation","queryOptions","onSuccess","_useFetchFields","useFetchFields","isEmpty","undefined","state","enabled","isNil","_useFetchFields$data","data","_useFetchFields$data2","_useFetchFields$data3","fetchedFields","isFieldsLoading","isLoading","_useFieldValues","useFieldValues","handleSubmit","submittingFieldDetails","classnames","children","Spinner","getNonSystemFields","map","field","Field","getFieldInput","_submittingFieldDetai","FieldValueInputWrapper","values","_jsxs","individualSubmit","submissionStatus","id","status","BlockNavigationAlert","Typography","style"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"FieldValuesContainer.js","sources":["../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../app/javascript/src/components/FieldValuesContainer/constants.js","../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutate = noop,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: onMutationSuccess,\n };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","title","t","message","submitButtonLabel","cancelButtonLabel","BlockNavigation","_ref","blockNavigation","blockNavigationAlertProps","_useFormikContext","useFormikContext","dirty","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","_objectSpread","_jsx","Alert","isOpen","onClose","onSubmit","FieldValuesContainer","_ref$resourceType","resourceType","fieldValues","propFields","fields","_ref$ownerId","ownerId","resourceId","_ref$customComponents","customComponents","_ref$className","className","_ref$showBorder","showBorder","formRefs","_ref$disabled","disabled","isRequiredColumnName","fieldClassName","_ref$onMutate","onMutate","noop","_ref$onMutationSucces","onMutationSuccess","_ref$blockNavigation","_ref$blockNavigationA","_useTranslation","useTranslation","queryOptions","variables","payload","onSuccess","_useFetchFields","useFetchFields","isEmpty","undefined","state","enabled","isNil","_useFetchFields$data","data","_useFetchFields$data2","_useFetchFields$data3","fetchedFields","isFieldsLoading","isLoading","_useFieldValues","useFieldValues","handleSubmit","submittingFieldDetails","classnames","children","Spinner","getNonSystemFields","map","field","Field","getFieldInput","_submittingFieldDetai","FieldValueInputWrapper","values","_jsxs","individualSubmit","submissionStatus","id","status","BlockNavigationAlert","Typography","style"],"mappings":"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","x_google_ignoreList":[0]}
@@ -4,8 +4,8 @@ import { useState } from 'react';
4
4
  import classnames from 'classnames';
5
5
  import { findBy, isNotEmpty, noop } from '@bigbinary/neeto-cist';
6
6
  import { dateFormat, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
7
- import { u as useFieldValues, F as FieldValueInputWrapper } from './FieldValueInputWrapper-qNij6ngj.js';
8
- import { b as getValueFromBool, a as getFieldInput, D as DIRECT_EDIT_INPUT_FIELDS, M as MISSING_VALUE_PLACEHOLDER, c as DISPLAY_COMPONENT_MAP } from './utils-DTT7cQxQ.js';
7
+ import { u as useFieldValues, F as FieldValueInputWrapper } from './FieldValueInputWrapper-D_HtxLWU.js';
8
+ import { b as getValueFromBool, a as getFieldInput, D as DIRECT_EDIT_INPUT_FIELDS, M as MISSING_VALUE_PLACEHOLDER, c as DISPLAY_COMPONENT_MAP } from './utils-BBFK9qDC.js';
9
9
  import Typography from '@bigbinary/neetoui/Typography';
10
10
  import { jsx } from 'react/jsx-runtime';
11
11
  import { K as KINDS } from './constants-B3mMmVVx.js';
@@ -3,7 +3,7 @@
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
5
5
  var Typography = require('@bigbinary/neetoui/Typography');
6
- var utils = require('../utils-Gj07FNOW.js');
6
+ var utils = require('../utils-f6fwkcvD.js');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  require('@babel/runtime/helpers/toConsumableArray');
9
9
  require('@bigbinary/neeto-cist');
@@ -7,8 +7,8 @@ var Spinner = require('@bigbinary/neetoui/Spinner');
7
7
  var Typography = require('@bigbinary/neetoui/Typography');
8
8
  var ramda = require('ramda');
9
9
  var reactI18next = require('react-i18next');
10
- var utils = require('../utils-Gj07FNOW.js');
11
- var FieldValueInputWrapper = require('../FieldValueInputWrapper-xUIY5q4-.js');
10
+ var utils = require('../utils-f6fwkcvD.js');
11
+ var FieldValueInputWrapper = require('../FieldValueInputWrapper-D7lOxWHu.js');
12
12
  var useFieldsApi = require('../useFieldsApi-EzwO7aKF.js');
13
13
  var formik = require('formik');
14
14
  var Alert = require('@bigbinary/neetoui/Alert');
@@ -149,6 +149,8 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
149
149
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
150
150
  isRequiredColumnName = _ref.isRequiredColumnName,
151
151
  fieldClassName = _ref.fieldClassName,
152
+ _ref$onMutate = _ref.onMutate,
153
+ _onMutate = _ref$onMutate === void 0 ? neetoCist.noop : _ref$onMutate,
152
154
  _ref$onMutationSucces = _ref.onMutationSuccess,
153
155
  onMutationSuccess = _ref$onMutationSucces === void 0 ? neetoCist.noop : _ref$onMutationSucces,
154
156
  _ref$blockNavigation = _ref.blockNavigation,
@@ -158,6 +160,9 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
158
160
  var _useTranslation = reactI18next.useTranslation(),
159
161
  t = _useTranslation.t;
160
162
  var queryOptions = {
163
+ onMutate: function onMutate(variables) {
164
+ return _onMutate(variables.payload || variables);
165
+ },
161
166
  onSuccess: onMutationSuccess
162
167
  };
163
168
  var _useFetchFields = useFieldsApi.useFetchFields({
@@ -1 +1 @@
1
- {"version":3,"file":"FieldValuesContainer.js","sources":["../../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../../app/javascript/src/components/FieldValuesContainer/constants.js","../../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = { onSuccess: onMutationSuccess };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["useHistory","useRef","useState","useEffect","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","title","t","message","submitButtonLabel","cancelButtonLabel","BlockNavigation","_ref","blockNavigation","blockNavigationAlertProps","_useFormikContext","useFormikContext","dirty","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","_objectSpread","_jsx","Alert","isOpen","onClose","onSubmit","FieldValuesContainer","_ref$resourceType","resourceType","fieldValues","propFields","fields","_ref$ownerId","ownerId","resourceId","_ref$customComponents","customComponents","_ref$className","className","_ref$showBorder","showBorder","formRefs","_ref$disabled","disabled","isRequiredColumnName","fieldClassName","_ref$onMutationSucces","onMutationSuccess","noop","_ref$blockNavigation","_ref$blockNavigationA","_useTranslation","useTranslation","queryOptions","onSuccess","_useFetchFields","useFetchFields","isEmpty","undefined","state","enabled","isNil","_useFetchFields$data","data","_useFetchFields$data2","_useFetchFields$data3","fetchedFields","isFieldsLoading","isLoading","_useFieldValues","useFieldValues","handleSubmit","submittingFieldDetails","classnames","children","Spinner","getNonSystemFields","map","field","Field","getFieldInput","_submittingFieldDetai","FieldValueInputWrapper","values","_jsxs","individualSubmit","submissionStatus","id","status","BlockNavigationAlert","Typography","style"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"FieldValuesContainer.js","sources":["../../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../../app/javascript/src/components/FieldValuesContainer/constants.js","../../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues,\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutate = noop,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: onMutationSuccess,\n };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["useHistory","useRef","useState","useEffect","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","title","t","message","submitButtonLabel","cancelButtonLabel","BlockNavigation","_ref","blockNavigation","blockNavigationAlertProps","_useFormikContext","useFormikContext","dirty","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","_objectSpread","_jsx","Alert","isOpen","onClose","onSubmit","FieldValuesContainer","_ref$resourceType","resourceType","fieldValues","propFields","fields","_ref$ownerId","ownerId","resourceId","_ref$customComponents","customComponents","_ref$className","className","_ref$showBorder","showBorder","formRefs","_ref$disabled","disabled","isRequiredColumnName","fieldClassName","_ref$onMutate","onMutate","noop","_ref$onMutationSucces","onMutationSuccess","_ref$blockNavigation","_ref$blockNavigationA","_useTranslation","useTranslation","queryOptions","variables","payload","onSuccess","_useFetchFields","useFetchFields","isEmpty","undefined","state","enabled","isNil","_useFetchFields$data","data","_useFetchFields$data2","_useFetchFields$data3","fetchedFields","isFieldsLoading","isLoading","_useFieldValues","useFieldValues","handleSubmit","submittingFieldDetails","classnames","children","Spinner","getNonSystemFields","map","field","Field","getFieldInput","_submittingFieldDetai","FieldValueInputWrapper","values","_jsxs","individualSubmit","submissionStatus","id","status","BlockNavigationAlert","Typography","style"],"mappings":"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","x_google_ignoreList":[0]}
@@ -6,8 +6,8 @@ var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var neetoCist = require('@bigbinary/neeto-cist');
8
8
  var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
9
- var FieldValueInputWrapper = require('../FieldValueInputWrapper-xUIY5q4-.js');
10
- var utils = require('../utils-Gj07FNOW.js');
9
+ var FieldValueInputWrapper = require('../FieldValueInputWrapper-D7lOxWHu.js');
10
+ var utils = require('../utils-f6fwkcvD.js');
11
11
  var Typography = require('@bigbinary/neetoui/Typography');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
  var constants = require('../constants-C4kiF-ZI.js');
package/dist/cjs/index.js CHANGED
@@ -6,7 +6,7 @@ var FieldDeleteAlert = require('../DeleteAlert-BYMsWFXL.js');
6
6
  var FieldsPane = require('./FieldsPane.js');
7
7
  var FieldValuesContainer = require('./FieldValuesContainer.js');
8
8
  var InlineFieldValueInput = require('./InlineFieldValueInput.js');
9
- var utils = require('../utils-Gj07FNOW.js');
9
+ var utils = require('../utils-f6fwkcvD.js');
10
10
  var useFieldsApi = require('../useFieldsApi-EzwO7aKF.js');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
12
  require('@bigbinary/neeto-commons-frontend/react-utils');
@@ -56,7 +56,7 @@ require('@bigbinary/neetoui/formik/Select');
56
56
  require('@bigbinary/neetoui/formik/Switch');
57
57
  require('@babel/runtime/helpers/toConsumableArray');
58
58
  require('@bigbinary/neeto-icons/Delete');
59
- require('../FieldValueInputWrapper-xUIY5q4-.js');
59
+ require('../FieldValueInputWrapper-D7lOxWHu.js');
60
60
  require('@bigbinary/neeto-molecules/CopyToClipboardButton');
61
61
  require('@bigbinary/neeto-icons/Redirect');
62
62
  require('@bigbinary/neeto-molecules/PhoneNumber');
package/dist/cjs/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('../utils-Gj07FNOW.js');
3
+ var utils = require('../utils-f6fwkcvD.js');
4
4
  require('@babel/runtime/helpers/toConsumableArray');
5
5
  require('@babel/runtime/helpers/defineProperty');
6
6
  require('@bigbinary/neeto-cist');
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { D as FieldDeleteAlert } from './DeleteAlert-DDSmPxHn.js';
4
4
  export { default as FieldsPane } from './FieldsPane.js';
5
5
  export { default as FieldValuesContainer } from './FieldValuesContainer.js';
6
6
  export { default as InlineFieldValueInput } from './InlineFieldValueInput.js';
7
- export { n as neetoFieldsUtils } from './utils-DTT7cQxQ.js';
7
+ export { n as neetoFieldsUtils } from './utils-BBFK9qDC.js';
8
8
  export { c as useCreateField, b as useDestroyField, u as useFetchFields, d as useShowField, a as useUpdateField } from './useFieldsApi-D2gk4zd9.js';
9
9
  import '@babel/runtime/helpers/defineProperty';
10
10
  import '@bigbinary/neeto-commons-frontend/react-utils';
@@ -54,7 +54,7 @@ import '@bigbinary/neetoui/formik/Select';
54
54
  import '@bigbinary/neetoui/formik/Switch';
55
55
  import '@babel/runtime/helpers/toConsumableArray';
56
56
  import '@bigbinary/neeto-icons/Delete';
57
- import './FieldValueInputWrapper-qNij6ngj.js';
57
+ import './FieldValueInputWrapper-D_HtxLWU.js';
58
58
  import '@bigbinary/neeto-molecules/CopyToClipboardButton';
59
59
  import '@bigbinary/neeto-icons/Redirect';
60
60
  import '@bigbinary/neeto-molecules/PhoneNumber';
@@ -2,7 +2,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
3
  import { isNotEmpty, renameKeys, capitalize, findBy, noop, notEquals, filterBy, isPresent } from '@bigbinary/neeto-cist';
4
4
  import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
5
- import { includes, __, isNotNil, isNil, isEmpty, pluck, clone, pipe, prop, when, mergeDeepLeft, mergeAll, omit, map, pick } from 'ramda';
5
+ import { includes, __, isNotNil, isNil, isEmpty, pluck, clone, mergeDeepLeft, mergeAll, omit, has, pathSatisfies, hasPath, propEq, map, pick } from 'ramda';
6
6
  import { K as KINDS, b as DATE_TIME_KINDS, c as DROPDOWN_KINDS, T as TEXT_KINDS } from './constants-B3mMmVVx.js';
7
7
  import { t } from 'i18next';
8
8
  import CopyToClipboardButton from '@bigbinary/neeto-molecules/CopyToClipboardButton';
@@ -832,10 +832,13 @@ var getFieldInput = function getFieldInput(_ref) {
832
832
  }
833
833
  return null;
834
834
  };
835
- var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
836
- return fieldValues.filter(function (item) {
837
- return !isNil(prop("data", item));
838
- });
835
+ var shouldPersistChange = function shouldPersistChange(fieldValue, kind) {
836
+ var valuePath = ["data", getKeyInData(kind)];
837
+ var isCreating = !has("id", fieldValue);
838
+ var hasData = isCreating ? pathSatisfies(isPresent, valuePath, fieldValue) : hasPath(valuePath, fieldValue);
839
+ var isDefault = propEq(buildDefaultFieldValueData(kind), "data", fieldValue);
840
+ var isModified = !isCreating || !isDefault;
841
+ return hasData && isModified;
839
842
  };
840
843
  var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
841
844
  return map(pick(["id", "fieldId", "data"]), fieldValues);
@@ -854,14 +857,15 @@ var transformValues = function transformValues(_ref2) {
854
857
  var additionalData = isDateTime(kind) ? {
855
858
  timezone: getTimezone()
856
859
  } : {};
857
- var hasData = pipe(prop("data"), isPresent);
858
- var finalFieldValue = when(hasData, mergeDeepLeft({
859
- data: additionalData
860
- }), fieldValue);
861
- neetoFieldValues.push(finalFieldValue);
860
+ if (shouldPersistChange(fieldValue, kind)) {
861
+ var finalFieldValue = mergeDeepLeft({
862
+ data: additionalData
863
+ }, fieldValue);
864
+ neetoFieldValues.push(finalFieldValue);
865
+ }
862
866
  delete allFieldValues[fieldPath];
863
867
  });
864
- var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
868
+ var cleanedFieldValues = removeNoiseFromValues(neetoFieldValues);
865
869
  return _objectSpread(_objectSpread({}, allFieldValues), {}, {
866
870
  fieldValuesAttributes: cleanedFieldValues
867
871
  });
@@ -878,19 +882,22 @@ var getDefaultInitialValue = function getDefaultInitialValue(kind) {
878
882
  return "";
879
883
  }
880
884
  };
881
- var getInitialFieldValue = function getInitialFieldValue(_ref4) {
882
- var field = _ref4.field,
883
- _ref4$fieldValues = _ref4.fieldValues,
884
- fieldValues = _ref4$fieldValues === void 0 ? [] : _ref4$fieldValues,
885
- _ref4$isIndividualFie = _ref4.isIndividualFieldForm,
886
- isIndividualFieldForm = _ref4$isIndividualFie === void 0 ? false : _ref4$isIndividualFie;
885
+ var getKeyInData = function getKeyInData(kind) {
886
+ return kind === KINDS.multiOption ? "values" : "value";
887
+ };
888
+ var buildDefaultFieldValueData = function buildDefaultFieldValueData(kind) {
889
+ return _defineProperty({}, getKeyInData(kind), getDefaultInitialValue(kind));
890
+ };
891
+ var getInitialFieldValue = function getInitialFieldValue(_ref5) {
892
+ var field = _ref5.field,
893
+ _ref5$fieldValues = _ref5.fieldValues,
894
+ fieldValues = _ref5$fieldValues === void 0 ? [] : _ref5$fieldValues;
887
895
  var existingFieldValueData = findBy({
888
896
  fieldId: field.id
889
897
  }, fieldValues);
890
- var keyInData = field.kind === KINDS.multiOption ? "values" : "value";
891
898
  var newFieldValueData = {
892
899
  fieldId: field.id,
893
- data: isIndividualFieldForm ? _defineProperty({}, keyInData, getDefaultInitialValue(field.kind)) : null
900
+ data: buildDefaultFieldValueData(field.kind)
894
901
  };
895
902
  return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
896
903
  };
@@ -930,4 +937,4 @@ var getTimezone = function getTimezone() {
930
937
  };
931
938
 
932
939
  export { DIRECT_EDIT_INPUT_FIELDS as D, MISSING_VALUE_PLACEHOLDER as M, getFieldInput as a, getValueFromBool as b, DISPLAY_COMPONENT_MAP as c, getTimezone as d, getInitialFieldValue as e, getNonSystemFields as g, isDateTime as i, neetoFieldsUtils as n };
933
- //# sourceMappingURL=utils-DTT7cQxQ.js.map
940
+ //# sourceMappingURL=utils-BBFK9qDC.js.map