@blaze-cms/plugin-data-ui 0.122.1 → 0.123.0-alpha.0

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,17 @@
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.123.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.122.1...v0.123.0-alpha.0) (2022-03-21)
7
+
8
+
9
+ ### Features
10
+
11
+ * version admin ui package ([#3352](https://github.com/thebyte9/blaze/issues/3352)) ([cf3cf2b](https://github.com/thebyte9/blaze/commit/cf3cf2b53aebfceb358c92c27e7f379e67e0077e))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [0.122.1](https://github.com/thebyte9/blaze/compare/v0.122.1-alpha.0...v0.122.1) (2022-03-21)
7
18
 
8
19
  **Note:** Version bump only for package @blaze-cms/plugin-data-ui
@@ -704,6 +704,7 @@ var Entity = function Entity(_ref) {
704
704
  }))))), /*#__PURE__*/_react["default"].createElement("div", {
705
705
  className: "column column--one-third"
706
706
  }, showSideBarRelations && /*#__PURE__*/_react["default"].createElement(_SideBarRelations["default"], {
707
+ entity: entity,
707
708
  formData: formData.values,
708
709
  schema: schema,
709
710
  onChange: onChangeSideBarRelations
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","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","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","shouldActiveSaveButton","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","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","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps"],"mappings":"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","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 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"],"file":"Entity.js"}
1
+ {"version":3,"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","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","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","shouldActiveSaveButton","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","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","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps"],"mappings":"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","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"],"file":"Entity.js"}
@@ -49,6 +49,10 @@ var _reactFormBuilder = require("@blaze-cms/react-form-builder");
49
49
 
50
50
  var _badge = _interopRequireDefault(require("@blaze-react/badge"));
51
51
 
52
+ var _button = _interopRequireDefault(require("@blaze-react/button"));
53
+
54
+ var _versioningUi = require("@blaze-cms/versioning-ui");
55
+
52
56
  var _constants = require("../../../../constants");
53
57
 
54
58
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -58,7 +62,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
58
62
  var SideBarRelations = function SideBarRelations(_ref) {
59
63
  var schema = _ref.schema,
60
64
  onChange = _ref.onChange,
61
- formData = _ref.formData;
65
+ formData = _ref.formData,
66
+ entity = _ref.entity;
62
67
  var RelationComponent = _reactFormBuilder.formFieldTypes.relation;
63
68
  var formattedStatus = formData.formattedStatus,
64
69
  formattedUpdated = formData.formattedUpdated,
@@ -71,6 +76,11 @@ var SideBarRelations = function SideBarRelations(_ref) {
71
76
  relationsComponents = _useState2[0],
72
77
  setRelationsComponents = _useState2[1];
73
78
 
79
+ var _useState3 = (0, _react.useState)(false),
80
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
81
+ displayVersions = _useState4[0],
82
+ setDisplayVersions = _useState4[1];
83
+
74
84
  (0, _react.useEffect)(function () {
75
85
  (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
76
86
  var fetchRelationSchema, allRelationComponents;
@@ -177,6 +187,10 @@ var SideBarRelations = function SideBarRelations(_ref) {
177
187
  }, _callee3);
178
188
  }))();
179
189
  }, [client, relationsComponents, schema, schema.relations]);
190
+ var buttonToggleText = displayVersions ? 'Show Relations' : 'Show Versions';
191
+ var displayRelations = !displayVersions && relationsComponents;
192
+ var itemId = entity.id;
193
+ var itemEntity = schema.identifier;
180
194
  return /*#__PURE__*/_react["default"].createElement("div", {
181
195
  className: "sidebar",
182
196
  "data-testid": "sideBarRelations-main-div"
@@ -187,7 +201,16 @@ var SideBarRelations = function SideBarRelations(_ref) {
187
201
  }, formattedStatus && /*#__PURE__*/_react["default"].createElement(_badge["default"], {
188
202
  type: "status",
189
203
  modifiers: formattedStatus
190
- }, formattedStatus, formattedStatus === _constants.PUBLISHED && ": ".concat(formattedPublished)), /*#__PURE__*/_react["default"].createElement("p", null, "Created: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedCreated)), /*#__PURE__*/_react["default"].createElement("p", null, "Updated: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedUpdated))), relationsComponents && relationsComponents.map(function (_ref7) {
204
+ }, formattedStatus, formattedStatus === _constants.PUBLISHED && ": ".concat(formattedPublished)), /*#__PURE__*/_react["default"].createElement("p", null, "Created: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedCreated)), /*#__PURE__*/_react["default"].createElement("p", null, "Updated: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedUpdated))), /*#__PURE__*/_react["default"].createElement("div", {
205
+ className: "sidebar__toggle-button"
206
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
207
+ onClick: function onClick() {
208
+ return setDisplayVersions(!displayVersions);
209
+ }
210
+ }, buttonToggleText)), displayVersions && /*#__PURE__*/_react["default"].createElement(_versioningUi.VersionsList, {
211
+ itemEntity: itemEntity,
212
+ itemId: itemId
213
+ }), displayRelations && relationsComponents.map(function (_ref7) {
191
214
  var id = _ref7.id,
192
215
  staticData = _ref7.staticData,
193
216
  entitySchema = _ref7.schema;
@@ -204,7 +227,11 @@ var SideBarRelations = function SideBarRelations(_ref) {
204
227
  SideBarRelations.propTypes = {
205
228
  schema: _propTypes["default"].object.isRequired,
206
229
  onChange: _propTypes["default"].func.isRequired,
207
- formData: _propTypes["default"].object.isRequired
230
+ formData: _propTypes["default"].object.isRequired,
231
+ entity: _propTypes["default"].object
232
+ };
233
+ SideBarRelations.defaultProps = {
234
+ entity: {}
208
235
  };
209
236
  var _default = SideBarRelations;
210
237
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["SideBarRelations","schema","onChange","formData","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","query","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","allRelationComponents","PUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired\n};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["SideBarRelations","schema","onChange","formData","entity","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","displayVersions","setDisplayVersions","fetchRelationSchema","entityIdentifier","query","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","allRelationComponents","buttonToggleText","displayRelations","itemId","itemEntity","PUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport Button from '@blaze-react/button';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n const [displayVersions, setDisplayVersions] = useState(false);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const buttonToggleText = displayVersions ? 'Show Relations' : 'Show Versions';\n const displayRelations = !displayVersions && relationsComponents;\n const { id: itemId } = entity;\n const { identifier: itemEntity } = schema;\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n <div className=\"sidebar__toggle-button\">\n <Button onClick={() => setDisplayVersions(!displayVersions)}>{buttonToggleText}</Button>\n </div>\n\n {displayVersions && <VersionsList itemEntity={itemEntity} itemId={itemId} />}\n {displayRelations &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
@@ -444,6 +444,7 @@ const Entity = ({
444
444
  }))))), /*#__PURE__*/React.createElement("div", {
445
445
  className: "column column--one-third"
446
446
  }, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
447
+ entity: entity,
447
448
  formData: formData.values,
448
449
  schema: schema,
449
450
  onChange: onChangeSideBarRelations
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/EntityManager/Entity/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"],"mappings":"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","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 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"],"file":"Entity.js"}
1
+ {"version":3,"sources":["../../../../src/components/EntityManager/Entity/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"],"mappings":"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","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"],"file":"Entity.js"}
@@ -5,12 +5,15 @@ import { useApolloClient } from '@apollo/client';
5
5
  import { getQuery } from '@blaze-cms/admin-ui-utils';
6
6
  import { formFieldTypes } from '@blaze-cms/react-form-builder';
7
7
  import Badge from '@blaze-react/badge';
8
+ import Button from '@blaze-react/button';
9
+ import { VersionsList } from '@blaze-cms/versioning-ui';
8
10
  import { PUBLISHED } from '../../../../constants';
9
11
 
10
12
  const SideBarRelations = ({
11
13
  schema,
12
14
  onChange,
13
- formData
15
+ formData,
16
+ entity
14
17
  }) => {
15
18
  const {
16
19
  relation: RelationComponent
@@ -23,6 +26,7 @@ const SideBarRelations = ({
23
26
  } = formData;
24
27
  const client = useApolloClient();
25
28
  const [relationsComponents, setRelationsComponents] = useState(null);
29
+ const [displayVersions, setDisplayVersions] = useState(false);
26
30
  useEffect(() => {
27
31
  (async () => {
28
32
  const fetchRelationSchema = async ({
@@ -55,6 +59,14 @@ const SideBarRelations = ({
55
59
  }
56
60
  })();
57
61
  }, [client, relationsComponents, schema, schema.relations]);
62
+ const buttonToggleText = displayVersions ? 'Show Relations' : 'Show Versions';
63
+ const displayRelations = !displayVersions && relationsComponents;
64
+ const {
65
+ id: itemId
66
+ } = entity;
67
+ const {
68
+ identifier: itemEntity
69
+ } = schema;
58
70
  return /*#__PURE__*/React.createElement("div", {
59
71
  className: "sidebar",
60
72
  "data-testid": "sideBarRelations-main-div"
@@ -65,7 +77,14 @@ const SideBarRelations = ({
65
77
  }, formattedStatus && /*#__PURE__*/React.createElement(Badge, {
66
78
  type: "status",
67
79
  modifiers: formattedStatus
68
- }, formattedStatus, formattedStatus === PUBLISHED && `: ${formattedPublished}`), /*#__PURE__*/React.createElement("p", null, "Created: ", /*#__PURE__*/React.createElement("span", null, formattedCreated)), /*#__PURE__*/React.createElement("p", null, "Updated: ", /*#__PURE__*/React.createElement("span", null, formattedUpdated))), relationsComponents && relationsComponents.map(({
80
+ }, formattedStatus, formattedStatus === PUBLISHED && `: ${formattedPublished}`), /*#__PURE__*/React.createElement("p", null, "Created: ", /*#__PURE__*/React.createElement("span", null, formattedCreated)), /*#__PURE__*/React.createElement("p", null, "Updated: ", /*#__PURE__*/React.createElement("span", null, formattedUpdated))), /*#__PURE__*/React.createElement("div", {
81
+ className: "sidebar__toggle-button"
82
+ }, /*#__PURE__*/React.createElement(Button, {
83
+ onClick: () => setDisplayVersions(!displayVersions)
84
+ }, buttonToggleText)), displayVersions && /*#__PURE__*/React.createElement(VersionsList, {
85
+ itemEntity: itemEntity,
86
+ itemId: itemId
87
+ }), displayRelations && relationsComponents.map(({
69
88
  id,
70
89
  staticData,
71
90
  schema: entitySchema
@@ -81,7 +100,11 @@ const SideBarRelations = ({
81
100
  SideBarRelations.propTypes = {
82
101
  schema: PropTypes.object.isRequired,
83
102
  onChange: PropTypes.func.isRequired,
84
- formData: PropTypes.object.isRequired
103
+ formData: PropTypes.object.isRequired,
104
+ entity: PropTypes.object
105
+ };
106
+ SideBarRelations.defaultProps = {
107
+ entity: {}
85
108
  };
86
109
  export default SideBarRelations;
87
110
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","Badge","PUBLISHED","SideBarRelations","schema","onChange","formData","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","entitySchema","propTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired\n};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","Badge","Button","VersionsList","PUBLISHED","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","displayVersions","setDisplayVersions","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","buttonToggleText","displayRelations","itemId","itemEntity","entitySchema","propTypes","object","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport Button from '@blaze-react/button';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n const [displayVersions, setDisplayVersions] = useState(false);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const buttonToggleText = displayVersions ? 'Show Relations' : 'Show Versions';\n const displayRelations = !displayVersions && relationsComponents;\n const { id: itemId } = entity;\n const { identifier: itemEntity } = schema;\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n <div className=\"sidebar__toggle-button\">\n <Button onClick={() => setDisplayVersions(!displayVersions)}>{buttonToggleText}</Button>\n </div>\n\n {displayVersions && <VersionsList itemEntity={itemEntity} itemId={itemId} />}\n {displayRelations &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.122.1",
3
+ "version": "0.123.0-alpha.0",
4
4
  "description": "Blaze plugin data ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,6 +32,7 @@
32
32
  "@blaze-cms/react-form-builder": "^0.121.0",
33
33
  "@blaze-cms/react-page-builder": "^0.122.1",
34
34
  "@blaze-cms/setup-ui": "^0.92.0",
35
+ "@blaze-cms/versioning-ui": "^0.123.0-alpha.0",
35
36
  "@blaze-react/button": "0.5.19",
36
37
  "@blaze-react/more": "0.5.19",
37
38
  "@blaze-react/multiselect": "0.6.6",
@@ -64,5 +65,5 @@
64
65
  "lib/*",
65
66
  "lib-es/*"
66
67
  ],
67
- "gitHead": "e0f65e11ac8aca235f572dd61e9110bbbd2666a9"
68
+ "gitHead": "18fc9d9ff21a015517fbf68ef679b6b4341470c3"
68
69
  }
@@ -465,6 +465,7 @@ const Entity = ({
465
465
  <div className="column column--one-third">
466
466
  {showSideBarRelations && (
467
467
  <SideBarRelations
468
+ entity={entity}
468
469
  formData={formData.values}
469
470
  schema={schema}
470
471
  onChange={onChangeSideBarRelations}
@@ -5,14 +5,17 @@ import { useApolloClient } from '@apollo/client';
5
5
  import { getQuery } from '@blaze-cms/admin-ui-utils';
6
6
  import { formFieldTypes } from '@blaze-cms/react-form-builder';
7
7
  import Badge from '@blaze-react/badge';
8
+ import Button from '@blaze-react/button';
9
+ import { VersionsList } from '@blaze-cms/versioning-ui';
8
10
  import { PUBLISHED } from '../../../../constants';
9
11
 
10
- const SideBarRelations = ({ schema, onChange, formData }) => {
12
+ const SideBarRelations = ({ schema, onChange, formData, entity }) => {
11
13
  const { relation: RelationComponent } = formFieldTypes;
12
14
  const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;
13
15
  const client = useApolloClient();
14
16
 
15
17
  const [relationsComponents, setRelationsComponents] = useState(null);
18
+ const [displayVersions, setDisplayVersions] = useState(false);
16
19
 
17
20
  useEffect(
18
21
  () => {
@@ -48,6 +51,10 @@ const SideBarRelations = ({ schema, onChange, formData }) => {
48
51
  },
49
52
  [client, relationsComponents, schema, schema.relations]
50
53
  );
54
+ const buttonToggleText = displayVersions ? 'Show Relations' : 'Show Versions';
55
+ const displayRelations = !displayVersions && relationsComponents;
56
+ const { id: itemId } = entity;
57
+ const { identifier: itemEntity } = schema;
51
58
 
52
59
  return (
53
60
  <div className="sidebar" data-testid="sideBarRelations-main-div">
@@ -68,7 +75,12 @@ const SideBarRelations = ({ schema, onChange, formData }) => {
68
75
  </p>
69
76
  </div>
70
77
  )}
71
- {relationsComponents &&
78
+ <div className="sidebar__toggle-button">
79
+ <Button onClick={() => setDisplayVersions(!displayVersions)}>{buttonToggleText}</Button>
80
+ </div>
81
+
82
+ {displayVersions && <VersionsList itemEntity={itemEntity} itemId={itemId} />}
83
+ {displayRelations &&
72
84
  relationsComponents.map(({ id, staticData, schema: entitySchema }) => (
73
85
  <RelationComponent
74
86
  formData={formData}
@@ -86,7 +98,12 @@ const SideBarRelations = ({ schema, onChange, formData }) => {
86
98
  SideBarRelations.propTypes = {
87
99
  schema: PropTypes.object.isRequired,
88
100
  onChange: PropTypes.func.isRequired,
89
- formData: PropTypes.object.isRequired
101
+ formData: PropTypes.object.isRequired,
102
+ entity: PropTypes.object
103
+ };
104
+
105
+ SideBarRelations.defaultProps = {
106
+ entity: {}
90
107
  };
91
108
 
92
109
  export default SideBarRelations;