@blaze-cms/plugin-data-ui 0.125.0-alpha.3 → 0.125.0-f-admin-updates.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 +7 -16
- package/lib/components/EntityManager/Entity/Entity.js +22 -18
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js +12 -6
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/Entity.js +22 -18
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +13 -7
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/package.json +6 -6
- package/src/components/EntityManager/Entity/Entity.js +64 -60
- package/src/components/EntityManager/Entity/SideBarRelations/index.js +23 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,28 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
# [0.125.0-
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @blaze-cms/plugin-data-ui
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# [0.125.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.0...v0.125.0-alpha.1) (2022-09-15)
|
|
15
|
-
|
|
16
|
-
**Note:** Version bump only for package @blaze-cms/plugin-data-ui
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
# [0.125.0-f-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.124.1...v0.125.0-f-admin-updates.0) (2022-10-06)
|
|
19
7
|
|
|
20
8
|
|
|
9
|
+
### Bug Fixes
|
|
21
10
|
|
|
22
|
-
|
|
11
|
+
* copy data from functionality ([#3567](https://github.com/thebyte9/blaze/issues/3567)) ([e3e1faf](https://github.com/thebyte9/blaze/commit/e3e1faf758661ac9e1555f1b3963f472c93edd36))
|
|
12
|
+
* update snapshots ([d490e17](https://github.com/thebyte9/blaze/commit/d490e1746d63ed5842799d15d6696c287f9b0d10))
|
|
23
13
|
|
|
24
14
|
|
|
25
|
-
###
|
|
15
|
+
### Features
|
|
26
16
|
|
|
27
|
-
*
|
|
17
|
+
* add admin style feedback ([3f8b9a1](https://github.com/thebyte9/blaze/commit/3f8b9a1416a8a7977631583cff62fddb43cd2e9d))
|
|
18
|
+
* style sidebar and add updated snapshots. Bz2 2870 ([#3539](https://github.com/thebyte9/blaze/issues/3539)) ([60640e5](https://github.com/thebyte9/blaze/commit/60640e5b65b4ed426ceefabc00c3beddb2113676))
|
|
28
19
|
|
|
29
20
|
|
|
30
21
|
|
|
@@ -643,22 +643,7 @@ var Entity = function Entity(_ref) {
|
|
|
643
643
|
var showSideBarRelations = (0, _entity.checkFulfilConditions)(schema, formData);
|
|
644
644
|
var showPageBuilderTabs = (schema === null || schema === void 0 ? void 0 : (_schema$interfaces = schema.interfaces) === null || _schema$interfaces === void 0 ? void 0 : _schema$interfaces.includes('page-builder/page-builder-template')) || (schema === null || schema === void 0 ? void 0 : (_schema$interfaces2 = schema.interfaces) === null || _schema$interfaces2 === void 0 ? void 0 : _schema$interfaces2.includes('page-builder/page-builder'));
|
|
645
645
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
646
|
-
className: "page"
|
|
647
|
-
}, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Prompt, {
|
|
648
|
-
when: hasToDisplayPrompt,
|
|
649
|
-
message: _constants.LEAVE_PAGE_MESSAGE
|
|
650
|
-
}), showModal && /*#__PURE__*/_react["default"].createElement(_admin.DeleteAction, {
|
|
651
|
-
onClose: setModalStatus,
|
|
652
|
-
deleteAction: onDelete,
|
|
653
|
-
itemName: formData.values.name
|
|
654
|
-
}), copyModalStatus && /*#__PURE__*/_react["default"].createElement(_admin.CopyDataFromAction, {
|
|
655
|
-
onClose: handleCopyDataFromClose,
|
|
656
|
-
copyAction: onCopy,
|
|
657
|
-
getFormData: getFormData
|
|
658
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
659
|
-
className: "row row--display-row"
|
|
660
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
661
|
-
className: "column column--three-quarters"
|
|
646
|
+
className: "page-wrapper"
|
|
662
647
|
}, /*#__PURE__*/_react["default"].createElement(_EntityHeader["default"], {
|
|
663
648
|
entityData: entityData,
|
|
664
649
|
entityIdentifier: entityIdentifier,
|
|
@@ -675,6 +660,25 @@ var Entity = function Entity(_ref) {
|
|
|
675
660
|
onViewUrl: onViewUrlHandler,
|
|
676
661
|
saveButtonText: saveButtonText
|
|
677
662
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
663
|
+
className: "page-wrapper__content"
|
|
664
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
665
|
+
className: "page page__tab"
|
|
666
|
+
}, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Prompt, {
|
|
667
|
+
when: hasToDisplayPrompt,
|
|
668
|
+
message: _constants.LEAVE_PAGE_MESSAGE
|
|
669
|
+
}), showModal && /*#__PURE__*/_react["default"].createElement(_admin.DeleteAction, {
|
|
670
|
+
onClose: setModalStatus,
|
|
671
|
+
deleteAction: onDelete,
|
|
672
|
+
itemName: formData.values.name
|
|
673
|
+
}), copyModalStatus && /*#__PURE__*/_react["default"].createElement(_admin.CopyDataFromAction, {
|
|
674
|
+
onClose: handleCopyDataFromClose,
|
|
675
|
+
copyAction: onCopy,
|
|
676
|
+
getFormData: getFormData
|
|
677
|
+
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
678
|
+
className: "row row--display-row"
|
|
679
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
680
|
+
className: "column"
|
|
681
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
678
682
|
className: "page__content"
|
|
679
683
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
680
684
|
className: "content"
|
|
@@ -699,8 +703,8 @@ var Entity = function Entity(_ref) {
|
|
|
699
703
|
updateCopyData: updateCopyData,
|
|
700
704
|
formValues: formValues,
|
|
701
705
|
isNewEntity: isNewEntity
|
|
702
|
-
}))))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
703
|
-
className: "column column--one-third"
|
|
706
|
+
}))))))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
707
|
+
className: "column column--one-third page-sidebar"
|
|
704
708
|
}, showSideBarRelations && /*#__PURE__*/_react["default"].createElement(_SideBarRelations["default"], {
|
|
705
709
|
entity: entity,
|
|
706
710
|
formData: formData.values,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","useState","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","useToggle","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","useToasts","addToast","componentIsMounted","useRef","useEffect","current","getPageName","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasNewFormValues","isFormEmpty","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Entity.js","names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","useState","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","useToggle","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","useToasts","addToast","componentIsMounted","useRef","useEffect","current","getPageName","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasNewFormValues","isFormEmpty","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page-wrapper\">\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 <div className=\"page-wrapper__content\">\n <div className=\"page page__tab\">\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\">\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>\n </div>\n\n <div className=\"column column--one-third page-sidebar\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
|
|
@@ -47,7 +47,7 @@ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
|
47
47
|
|
|
48
48
|
var _reactFormBuilder = require("@blaze-cms/react-form-builder");
|
|
49
49
|
|
|
50
|
-
var
|
|
50
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
51
51
|
|
|
52
52
|
var _versioningUi = require("@blaze-cms/versioning-ui");
|
|
53
53
|
|
|
@@ -66,7 +66,8 @@ var SideBarRelations = function SideBarRelations(_ref) {
|
|
|
66
66
|
var formattedStatus = formData.formattedStatus,
|
|
67
67
|
formattedUpdated = formData.formattedUpdated,
|
|
68
68
|
formattedCreated = formData.formattedCreated,
|
|
69
|
-
formattedPublished = formData.formattedPublished
|
|
69
|
+
formattedPublished = formData.formattedPublished,
|
|
70
|
+
status = formData.status;
|
|
70
71
|
var client = (0, _client.useApolloClient)();
|
|
71
72
|
|
|
72
73
|
var _useState = (0, _react.useState)(null),
|
|
@@ -183,6 +184,10 @@ var SideBarRelations = function SideBarRelations(_ref) {
|
|
|
183
184
|
var itemId = entity.id;
|
|
184
185
|
var itemEntity = schema.identifier,
|
|
185
186
|
interfaces = schema.interfaces;
|
|
187
|
+
var statusClassName = (0, _classnames["default"])('sidebar__status__badge', {
|
|
188
|
+
'sidebar__status__badge--published': status === _constants.PUBLISHED,
|
|
189
|
+
'sidebar__status__badge--unpublished': status === _constants.UNPUBLISHED
|
|
190
|
+
});
|
|
186
191
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
187
192
|
className: "sidebar",
|
|
188
193
|
"data-testid": "sideBarRelations-main-div"
|
|
@@ -190,10 +195,11 @@ var SideBarRelations = function SideBarRelations(_ref) {
|
|
|
190
195
|
className: "sidebar__content"
|
|
191
196
|
}, formattedCreated && /*#__PURE__*/_react["default"].createElement("div", {
|
|
192
197
|
className: "sidebar__status"
|
|
193
|
-
},
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
198
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
199
|
+
className: "sidebar__status__wrapper"
|
|
200
|
+
}, /*#__PURE__*/_react["default"].createElement("b", null, "Status"), /*#__PURE__*/_react["default"].createElement("span", {
|
|
201
|
+
className: statusClassName
|
|
202
|
+
}, formattedStatus)), formattedStatus === _constants.PUBLISHED && /*#__PURE__*/_react["default"].createElement("p", null, formattedStatus, " on: ", /*#__PURE__*/_react["default"].createElement("span", null, " ", 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(_versioningUi.VersionsList, {
|
|
197
203
|
itemEntity: itemEntity,
|
|
198
204
|
itemId: itemId,
|
|
199
205
|
interfaces: interfaces
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["SideBarRelations","schema","onChange","formData","entity","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","useApolloClient","useState","relationsComponents","setRelationsComponents","useEffect","fetchRelationSchema","entityIdentifier","query","getQuery","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","uuidv1","id","staticData","allRelationComponents","itemId","itemEntity","interfaces","PUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["SideBarRelations","schema","onChange","formData","entity","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","status","client","useApolloClient","useState","relationsComponents","setRelationsComponents","useEffect","fetchRelationSchema","entityIdentifier","query","getQuery","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","uuidv1","id","staticData","allRelationComponents","itemId","itemEntity","interfaces","statusClassName","classnames","PUBLISHED","UNPUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"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 classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n status\n } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\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 { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\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 <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\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 entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
|
|
@@ -383,22 +383,7 @@ const Entity = ({
|
|
|
383
383
|
const showSideBarRelations = checkFulfilConditions(schema, formData);
|
|
384
384
|
const showPageBuilderTabs = (schema === null || schema === void 0 ? void 0 : (_schema$interfaces = schema.interfaces) === null || _schema$interfaces === void 0 ? void 0 : _schema$interfaces.includes('page-builder/page-builder-template')) || (schema === null || schema === void 0 ? void 0 : (_schema$interfaces2 = schema.interfaces) === null || _schema$interfaces2 === void 0 ? void 0 : _schema$interfaces2.includes('page-builder/page-builder'));
|
|
385
385
|
return /*#__PURE__*/React.createElement("div", {
|
|
386
|
-
className: "page"
|
|
387
|
-
}, /*#__PURE__*/React.createElement(Prompt, {
|
|
388
|
-
when: hasToDisplayPrompt,
|
|
389
|
-
message: LEAVE_PAGE_MESSAGE
|
|
390
|
-
}), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
|
|
391
|
-
onClose: setModalStatus,
|
|
392
|
-
deleteAction: onDelete,
|
|
393
|
-
itemName: formData.values.name
|
|
394
|
-
}), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
|
|
395
|
-
onClose: handleCopyDataFromClose,
|
|
396
|
-
copyAction: onCopy,
|
|
397
|
-
getFormData: getFormData
|
|
398
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
399
|
-
className: "row row--display-row"
|
|
400
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
401
|
-
className: "column column--three-quarters"
|
|
386
|
+
className: "page-wrapper"
|
|
402
387
|
}, /*#__PURE__*/React.createElement(EntityHeader, {
|
|
403
388
|
entityData: entityData,
|
|
404
389
|
entityIdentifier: entityIdentifier,
|
|
@@ -415,6 +400,25 @@ const Entity = ({
|
|
|
415
400
|
onViewUrl: onViewUrlHandler,
|
|
416
401
|
saveButtonText: saveButtonText
|
|
417
402
|
}), /*#__PURE__*/React.createElement("div", {
|
|
403
|
+
className: "page-wrapper__content"
|
|
404
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
405
|
+
className: "page page__tab"
|
|
406
|
+
}, /*#__PURE__*/React.createElement(Prompt, {
|
|
407
|
+
when: hasToDisplayPrompt,
|
|
408
|
+
message: LEAVE_PAGE_MESSAGE
|
|
409
|
+
}), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
|
|
410
|
+
onClose: setModalStatus,
|
|
411
|
+
deleteAction: onDelete,
|
|
412
|
+
itemName: formData.values.name
|
|
413
|
+
}), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
|
|
414
|
+
onClose: handleCopyDataFromClose,
|
|
415
|
+
copyAction: onCopy,
|
|
416
|
+
getFormData: getFormData
|
|
417
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
418
|
+
className: "row row--display-row"
|
|
419
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
420
|
+
className: "column"
|
|
421
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
418
422
|
className: "page__content"
|
|
419
423
|
}, /*#__PURE__*/React.createElement("div", {
|
|
420
424
|
className: "content"
|
|
@@ -439,8 +443,8 @@ const Entity = ({
|
|
|
439
443
|
updateCopyData: updateCopyData,
|
|
440
444
|
formValues: formValues,
|
|
441
445
|
isNewEntity: isNewEntity
|
|
442
|
-
}))))), /*#__PURE__*/React.createElement("div", {
|
|
443
|
-
className: "column column--one-third"
|
|
446
|
+
}))))))), /*#__PURE__*/React.createElement("div", {
|
|
447
|
+
className: "column column--one-third page-sidebar"
|
|
444
448
|
}, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
|
|
445
449
|
entity: entity,
|
|
446
450
|
formData: formData.values,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page-wrapper\">\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 <div className=\"page-wrapper__content\">\n <div className=\"page page__tab\">\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\">\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>\n </div>\n\n <div className=\"column column--one-third page-sidebar\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import uuidv1 from 'uuid/v1';
|
|
|
4
4
|
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
|
-
import
|
|
7
|
+
import classnames from 'classnames';
|
|
8
8
|
import { VersionsList } from '@blaze-cms/versioning-ui';
|
|
9
|
-
import { PUBLISHED } from '../../../../constants';
|
|
9
|
+
import { PUBLISHED, UNPUBLISHED } from '../../../../constants';
|
|
10
10
|
|
|
11
11
|
const SideBarRelations = ({
|
|
12
12
|
schema,
|
|
@@ -21,7 +21,8 @@ const SideBarRelations = ({
|
|
|
21
21
|
formattedStatus,
|
|
22
22
|
formattedUpdated,
|
|
23
23
|
formattedCreated,
|
|
24
|
-
formattedPublished
|
|
24
|
+
formattedPublished,
|
|
25
|
+
status
|
|
25
26
|
} = formData;
|
|
26
27
|
const client = useApolloClient();
|
|
27
28
|
const [relationsComponents, setRelationsComponents] = useState(null);
|
|
@@ -64,6 +65,10 @@ const SideBarRelations = ({
|
|
|
64
65
|
identifier: itemEntity,
|
|
65
66
|
interfaces
|
|
66
67
|
} = schema;
|
|
68
|
+
const statusClassName = classnames('sidebar__status__badge', {
|
|
69
|
+
'sidebar__status__badge--published': status === PUBLISHED,
|
|
70
|
+
'sidebar__status__badge--unpublished': status === UNPUBLISHED
|
|
71
|
+
});
|
|
67
72
|
return /*#__PURE__*/React.createElement("div", {
|
|
68
73
|
className: "sidebar",
|
|
69
74
|
"data-testid": "sideBarRelations-main-div"
|
|
@@ -71,10 +76,11 @@ const SideBarRelations = ({
|
|
|
71
76
|
className: "sidebar__content"
|
|
72
77
|
}, formattedCreated && /*#__PURE__*/React.createElement("div", {
|
|
73
78
|
className: "sidebar__status"
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
79
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
80
|
+
className: "sidebar__status__wrapper"
|
|
81
|
+
}, /*#__PURE__*/React.createElement("b", null, "Status"), /*#__PURE__*/React.createElement("span", {
|
|
82
|
+
className: statusClassName
|
|
83
|
+
}, formattedStatus)), formattedStatus === PUBLISHED && /*#__PURE__*/React.createElement("p", null, formattedStatus, " on: ", /*#__PURE__*/React.createElement("span", null, " ", 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(VersionsList, {
|
|
78
84
|
itemEntity: itemEntity,
|
|
79
85
|
itemId: itemId,
|
|
80
86
|
interfaces: interfaces
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","classnames","VersionsList","PUBLISHED","UNPUBLISHED","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","status","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","statusClassName","entitySchema","propTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"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 classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n status\n } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\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 { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\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 <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\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 entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-data-ui",
|
|
3
|
-
"version": "0.125.0-
|
|
3
|
+
"version": "0.125.0-f-admin-updates.0",
|
|
4
4
|
"description": "Blaze plugin data ui",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
},
|
|
28
28
|
"license": "GPL-3.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/admin-ui-utils": "^0.
|
|
30
|
+
"@blaze-cms/admin-ui-utils": "^0.125.0-f-admin-updates.0",
|
|
31
31
|
"@blaze-cms/core-errors": "^0.118.0",
|
|
32
|
-
"@blaze-cms/react-form-builder": "^0.
|
|
33
|
-
"@blaze-cms/react-page-builder": "^0.125.0-
|
|
32
|
+
"@blaze-cms/react-form-builder": "^0.125.0-f-admin-updates.0",
|
|
33
|
+
"@blaze-cms/react-page-builder": "^0.125.0-f-admin-updates.0",
|
|
34
34
|
"@blaze-cms/setup-ui": "^0.92.0",
|
|
35
|
-
"@blaze-cms/versioning-ui": "^0.
|
|
35
|
+
"@blaze-cms/versioning-ui": "^0.125.0-f-admin-updates.0",
|
|
36
36
|
"@blaze-react/button": "0.5.19",
|
|
37
37
|
"@blaze-react/more": "0.5.19",
|
|
38
38
|
"@blaze-react/multiselect": "0.6.6",
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"lib/*",
|
|
66
66
|
"lib-es/*"
|
|
67
67
|
],
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "aaa8fdc973cbae5af6cfc5668ce792ffa456cc62"
|
|
69
69
|
}
|
|
@@ -402,69 +402,73 @@ const Entity = ({
|
|
|
402
402
|
schema?.interfaces?.includes('page-builder/page-builder');
|
|
403
403
|
|
|
404
404
|
return (
|
|
405
|
-
<div className="page">
|
|
406
|
-
<
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
<div className="
|
|
423
|
-
<div className="
|
|
424
|
-
<
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
405
|
+
<div className="page-wrapper">
|
|
406
|
+
<EntityHeader
|
|
407
|
+
entityData={entityData}
|
|
408
|
+
entityIdentifier={entityIdentifier}
|
|
409
|
+
pageTitle={pageTitle}
|
|
410
|
+
pageName={pageName}
|
|
411
|
+
onSubmit={onSubmit}
|
|
412
|
+
handlePublishAndUnpublish={handlePublishAndUnpublish}
|
|
413
|
+
isSaveButtonAvailable={isSaveButtonAvailable}
|
|
414
|
+
isEnablePublishButton={isEnablePublishButton}
|
|
415
|
+
isEnablePreviewButton={isEnablePreviewButton}
|
|
416
|
+
toggleCopyModal={setCopyModalStatus}
|
|
417
|
+
toggleModal={setModalStatus}
|
|
418
|
+
formData={formData}
|
|
419
|
+
onViewUrl={onViewUrlHandler}
|
|
420
|
+
saveButtonText={saveButtonText}
|
|
421
|
+
/>
|
|
422
|
+
<div className="page-wrapper__content">
|
|
423
|
+
<div className="page page__tab">
|
|
424
|
+
<Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />
|
|
425
|
+
{showModal && (
|
|
426
|
+
<DeleteAction
|
|
427
|
+
onClose={setModalStatus}
|
|
428
|
+
deleteAction={onDelete}
|
|
429
|
+
itemName={formData.values.name}
|
|
430
|
+
/>
|
|
431
|
+
)}
|
|
432
|
+
{copyModalStatus && (
|
|
433
|
+
<CopyDataFromAction
|
|
434
|
+
onClose={handleCopyDataFromClose}
|
|
435
|
+
copyAction={onCopy}
|
|
436
|
+
getFormData={getFormData}
|
|
437
|
+
/>
|
|
438
|
+
)}
|
|
439
|
+
|
|
440
|
+
<div className="row row--display-row">
|
|
441
|
+
<div className="column">
|
|
442
|
+
<div className="page__content">
|
|
443
|
+
<div className="content">
|
|
444
|
+
<Tabs
|
|
445
|
+
enabled={showPageBuilderTabs}
|
|
446
|
+
onTabChange={tabId => {
|
|
447
|
+
client.writeQuery({
|
|
448
|
+
query: GET_CURRENT_TAB_ID,
|
|
449
|
+
data: { currentTabId: tabId }
|
|
450
|
+
});
|
|
451
|
+
setCurrentTabId(tabId);
|
|
452
|
+
}}>
|
|
453
|
+
<FormBuilder
|
|
454
|
+
getIsFormValid={setIsFormValid}
|
|
455
|
+
getFormValues={getFormValues}
|
|
456
|
+
schema={schema}
|
|
457
|
+
data={clonedFormData}
|
|
458
|
+
onChange={onChangeFormValues}
|
|
459
|
+
shouldCopyData={shouldCopyData}
|
|
460
|
+
updateCopyData={updateCopyData}
|
|
461
|
+
formValues={formValues}
|
|
462
|
+
isNewEntity={isNewEntity}
|
|
463
|
+
/>
|
|
464
|
+
</Tabs>
|
|
465
|
+
</div>
|
|
466
|
+
</div>
|
|
464
467
|
</div>
|
|
465
468
|
</div>
|
|
466
469
|
</div>
|
|
467
|
-
|
|
470
|
+
|
|
471
|
+
<div className="column column--one-third page-sidebar">
|
|
468
472
|
{showSideBarRelations && (
|
|
469
473
|
<SideBarRelations
|
|
470
474
|
entity={entity}
|
|
@@ -4,16 +4,21 @@ import uuidv1 from 'uuid/v1';
|
|
|
4
4
|
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
|
-
import
|
|
7
|
+
import classnames from 'classnames';
|
|
8
8
|
import { VersionsList } from '@blaze-cms/versioning-ui';
|
|
9
|
-
import { PUBLISHED } from '../../../../constants';
|
|
9
|
+
import { PUBLISHED, UNPUBLISHED } from '../../../../constants';
|
|
10
10
|
|
|
11
11
|
const SideBarRelations = ({ schema, onChange, formData, entity }) => {
|
|
12
12
|
const { relation: RelationComponent } = formFieldTypes;
|
|
13
|
-
const {
|
|
13
|
+
const {
|
|
14
|
+
formattedStatus,
|
|
15
|
+
formattedUpdated,
|
|
16
|
+
formattedCreated,
|
|
17
|
+
formattedPublished,
|
|
18
|
+
status
|
|
19
|
+
} = formData;
|
|
14
20
|
const client = useApolloClient();
|
|
15
21
|
const [relationsComponents, setRelationsComponents] = useState(null);
|
|
16
|
-
|
|
17
22
|
useEffect(
|
|
18
23
|
() => {
|
|
19
24
|
(async () => {
|
|
@@ -51,17 +56,26 @@ const SideBarRelations = ({ schema, onChange, formData, entity }) => {
|
|
|
51
56
|
const { id: itemId } = entity;
|
|
52
57
|
const { identifier: itemEntity, interfaces } = schema;
|
|
53
58
|
|
|
59
|
+
const statusClassName = classnames('sidebar__status__badge', {
|
|
60
|
+
'sidebar__status__badge--published': status === PUBLISHED,
|
|
61
|
+
'sidebar__status__badge--unpublished': status === UNPUBLISHED
|
|
62
|
+
});
|
|
63
|
+
|
|
54
64
|
return (
|
|
55
65
|
<div className="sidebar" data-testid="sideBarRelations-main-div">
|
|
56
66
|
<div className="sidebar__content">
|
|
57
67
|
{formattedCreated && (
|
|
58
68
|
<div className="sidebar__status">
|
|
59
|
-
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
69
|
+
<div className="sidebar__status__wrapper">
|
|
70
|
+
<b>Status</b>
|
|
71
|
+
<span className={statusClassName}>{formattedStatus}</span>
|
|
72
|
+
</div>
|
|
73
|
+
{formattedStatus === PUBLISHED && (
|
|
74
|
+
<p>
|
|
75
|
+
{formattedStatus} on: <span> {formattedPublished}</span>
|
|
76
|
+
</p>
|
|
64
77
|
)}
|
|
78
|
+
|
|
65
79
|
<p>
|
|
66
80
|
Created: <span>{formattedCreated}</span>
|
|
67
81
|
</p>
|