@blaze-cms/plugin-data-ui 0.124.1 → 0.125.0-alpha.1

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/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.125.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.0...v0.125.0-alpha.1) (2022-09-15)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/plugin-data-ui
9
+
10
+
11
+
12
+
13
+
14
+ ## [0.124.2-alpha.0](https://github.com/thebyte9/blaze/compare/v0.124.1...v0.124.2-alpha.0) (2022-09-06)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * copy data from functionality ([#3567](https://github.com/thebyte9/blaze/issues/3567)) ([e3e1faf](https://github.com/thebyte9/blaze/commit/e3e1faf758661ac9e1555f1b3963f472c93edd36))
20
+
21
+
22
+
23
+
24
+
6
25
  ## [0.124.1](https://github.com/thebyte9/blaze/compare/v0.124.1-alpha.5...v0.124.1) (2022-09-06)
7
26
 
8
27
  **Note:** Version bump only for package @blaze-cms/plugin-data-ui
@@ -466,7 +466,7 @@ var Entity = function Entity(_ref) {
466
466
  var handleUpdateFormData = function handleUpdateFormData() {
467
467
  return updateFormData({
468
468
  values: _objectSpread(_objectSpread({}, updatedFormValues), parsedFormValues)
469
- });
469
+ }, true);
470
470
  };
471
471
 
472
472
  var submitParams = {
@@ -546,8 +546,6 @@ var Entity = function Entity(_ref) {
546
546
  if (formDataFromCopy.values.name) {
547
547
  setPageTitle(formDataFromCopy.values.name);
548
548
  }
549
-
550
- setFormDataFromCopy(null);
551
549
  }
552
550
  };
553
551
 
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","useState","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","useToggle","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","useToasts","addToast","componentIsMounted","useRef","useEffect","current","getPageName","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasNewFormValues","isFormEmpty","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData({\n values: { ...updatedFormValues, ...parsedFormValues }\n });\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n setFormDataFromCopy(null);\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","useState","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","useToggle","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","useToasts","addToast","componentIsMounted","useRef","useEffect","current","getPageName","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasNewFormValues","isFormEmpty","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
@@ -169,8 +169,8 @@ var EntityManager = function EntityManager(_ref) {
169
169
  }))();
170
170
  }, [action, client, entityIdentifier, id, schema, shouldRefetch]);
171
171
 
172
- var updateFormData = function updateFormData(updatedFormData) {
173
- setShouldRefetch(true);
172
+ var updateFormData = function updateFormData(updatedFormData, shouldRefresh) {
173
+ if (shouldRefresh) setShouldRefetch(true);
174
174
  setFormData(updatedFormData);
175
175
  }; // Reset when entity/record changes
176
176
 
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.js","names":["EntityManager","match","useState","formData","setFormData","entity","setEntity","id","schema","setSchema","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","useApolloClient","params","action","entityIdentifier","onViewUrl","useEffect","entityAvailableActions","identifier","entitySchema","data","requestedQuery","localData","isPageBuilderTemplateSet","getPageBuilderComponents","pageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","recordHasChanged","propTypes","PropTypes","shape","string","func","isRequired","withRouter","actionName","actions","getAll","query","getAction","variables","where","fetchPolicy","pageBuilderData","length","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = updatedFormData => {\n setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EntityManager.js","names":["EntityManager","match","useState","formData","setFormData","entity","setEntity","id","schema","setSchema","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","useApolloClient","params","action","entityIdentifier","onViewUrl","useEffect","entityAvailableActions","identifier","entitySchema","data","requestedQuery","localData","isPageBuilderTemplateSet","getPageBuilderComponents","pageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","shouldRefresh","recordHasChanged","propTypes","PropTypes","shape","string","func","isRequired","withRouter","actionName","actions","getAll","query","getAction","variables","where","fetchPolicy","pageBuilderData","length","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = (updatedFormData, shouldRefresh) => {\n if (shouldRefresh) setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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"}
@@ -256,7 +256,7 @@ const Entity = ({
256
256
 
257
257
  const handleUpdateFormData = () => updateFormData({
258
258
  values: _objectSpread(_objectSpread({}, updatedFormValues), parsedFormValues)
259
- });
259
+ }, true);
260
260
 
261
261
  const submitParams = {
262
262
  update: {
@@ -318,8 +318,6 @@ const Entity = ({
318
318
  if (formDataFromCopy.values.name) {
319
319
  setPageTitle(formDataFromCopy.values.name);
320
320
  }
321
-
322
- setFormDataFromCopy(null);
323
321
  }
324
322
  };
325
323
 
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData({\n values: { ...updatedFormValues, ...parsedFormValues }\n });\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n setFormDataFromCopy(null);\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
@@ -59,8 +59,8 @@ const EntityManager = ({
59
59
  })();
60
60
  }, [action, client, entityIdentifier, id, schema, shouldRefetch]);
61
61
 
62
- const updateFormData = updatedFormData => {
63
- setShouldRefetch(true);
62
+ const updateFormData = (updatedFormData, shouldRefresh) => {
63
+ if (shouldRefresh) setShouldRefetch(true);
64
64
  setFormData(updatedFormData);
65
65
  }; // Reset when entity/record changes
66
66
 
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.js","names":["React","useEffect","useState","withRouter","useApolloClient","PropTypes","entityAvailableActions","Entity","getAction","EntityManager","match","formData","setFormData","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","action","entityIdentifier","onViewUrl","params","entitySchema","data","requestedQuery","identifier","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","recordHasChanged","propTypes","shape","string","func","isRequired","actionName","actions","getAll","pageBuilderData","query","variables","where","fetchPolicy","length","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = updatedFormData => {\n setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"EntityManager.js","names":["React","useEffect","useState","withRouter","useApolloClient","PropTypes","entityAvailableActions","Entity","getAction","EntityManager","match","formData","setFormData","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","action","entityIdentifier","onViewUrl","params","entitySchema","data","requestedQuery","identifier","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","shouldRefresh","recordHasChanged","propTypes","shape","string","func","isRequired","actionName","actions","getAll","pageBuilderData","query","variables","where","fetchPolicy","length","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = (updatedFormData, shouldRefresh) => {\n if (shouldRefresh) setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.124.1",
3
+ "version": "0.125.0-alpha.1",
4
4
  "description": "Blaze plugin data ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -30,7 +30,7 @@
30
30
  "@blaze-cms/admin-ui-utils": "^0.124.0",
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
32
  "@blaze-cms/react-form-builder": "^0.124.0",
33
- "@blaze-cms/react-page-builder": "^0.124.1",
33
+ "@blaze-cms/react-page-builder": "^0.125.0-alpha.1",
34
34
  "@blaze-cms/setup-ui": "^0.92.0",
35
35
  "@blaze-cms/versioning-ui": "^0.124.0",
36
36
  "@blaze-react/button": "0.5.19",
@@ -65,5 +65,5 @@
65
65
  "lib/*",
66
66
  "lib-es/*"
67
67
  ],
68
- "gitHead": "39d71595e55f54590430121381bdc236ca4341fd"
68
+ "gitHead": "f6c0fe99043bee13dbdf0847af793c118614e7c0"
69
69
  }
@@ -261,9 +261,12 @@ const Entity = ({
261
261
  : { ...formData.values };
262
262
 
263
263
  const handleUpdateFormData = () =>
264
- updateFormData({
265
- values: { ...updatedFormValues, ...parsedFormValues }
266
- });
264
+ updateFormData(
265
+ {
266
+ values: { ...updatedFormValues, ...parsedFormValues }
267
+ },
268
+ true
269
+ );
267
270
 
268
271
  const submitParams = {
269
272
  update: {
@@ -325,7 +328,6 @@ const Entity = ({
325
328
  if (formDataFromCopy.values.name) {
326
329
  setPageTitle(formDataFromCopy.values.name);
327
330
  }
328
- setFormDataFromCopy(null);
329
331
  }
330
332
  };
331
333
 
@@ -51,8 +51,8 @@ const EntityManager = ({ match }) => {
51
51
  [action, client, entityIdentifier, id, schema, shouldRefetch]
52
52
  );
53
53
 
54
- const updateFormData = updatedFormData => {
55
- setShouldRefetch(true);
54
+ const updateFormData = (updatedFormData, shouldRefresh) => {
55
+ if (shouldRefresh) setShouldRefetch(true);
56
56
  setFormData(updatedFormData);
57
57
  };
58
58