@blaze-cms/plugin-data-ui 0.127.0-project-admin-customisations.3 → 0.128.0-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 +10 -29
- package/README.md +0 -2
- package/lib/components/EntityManager/Entity/Entity.js +1 -10
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/Tabs/index.js +18 -2
- package/lib/components/Tabs/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/Entity.js +1 -10
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/Tabs/index.js +5 -2
- package/lib-es/components/Tabs/index.js.map +1 -1
- package/package.json +9 -10
- package/src/components/EntityManager/Entity/Entity.js +0 -4
- package/src/components/Tabs/index.js +3 -2
- package/lib/components/InfoBoxes/InfoBoxes.js +0 -36
- package/lib/components/InfoBoxes/InfoBoxes.js.map +0 -1
- package/lib/components/InfoBoxes/container/InfoBoxContainer.js +0 -44
- package/lib/components/InfoBoxes/container/InfoBoxContainer.js.map +0 -1
- package/lib/components/InfoBoxes/helpers/build-dynamic-query.js +0 -25
- package/lib/components/InfoBoxes/helpers/build-dynamic-query.js.map +0 -1
- package/lib/components/InfoBoxes/hooks/useData.js +0 -42
- package/lib/components/InfoBoxes/hooks/useData.js.map +0 -1
- package/lib/components/InfoBoxes/hooks/useInfoBox.js +0 -26
- package/lib/components/InfoBoxes/hooks/useInfoBox.js.map +0 -1
- package/lib/components/InfoBoxes/index.js +0 -12
- package/lib/components/InfoBoxes/index.js.map +0 -1
- package/lib/components/InfoBoxes/presentational/InfoBox.js +0 -46
- package/lib/components/InfoBoxes/presentational/InfoBox.js.map +0 -1
- package/lib-es/components/InfoBoxes/InfoBoxes.js +0 -28
- package/lib-es/components/InfoBoxes/InfoBoxes.js.map +0 -1
- package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js +0 -30
- package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js.map +0 -1
- package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js +0 -25
- package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +0 -1
- package/lib-es/components/InfoBoxes/hooks/useData.js +0 -37
- package/lib-es/components/InfoBoxes/hooks/useData.js.map +0 -1
- package/lib-es/components/InfoBoxes/hooks/useInfoBox.js +0 -19
- package/lib-es/components/InfoBoxes/hooks/useInfoBox.js.map +0 -1
- package/lib-es/components/InfoBoxes/index.js +0 -3
- package/lib-es/components/InfoBoxes/index.js.map +0 -1
- package/lib-es/components/InfoBoxes/presentational/InfoBox.js +0 -31
- package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +0 -1
- package/src/components/InfoBoxes/InfoBoxes.js +0 -24
- package/src/components/InfoBoxes/container/InfoBoxContainer.js +0 -22
- package/src/components/InfoBoxes/helpers/build-dynamic-query.js +0 -25
- package/src/components/InfoBoxes/hooks/useData.js +0 -20
- package/src/components/InfoBoxes/hooks/useInfoBox.js +0 -13
- package/src/components/InfoBoxes/index.js +0 -3
- package/src/components/InfoBoxes/presentational/InfoBox.js +0 -34
package/CHANGELOG.md
CHANGED
|
@@ -3,27 +3,28 @@
|
|
|
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.
|
|
7
|
-
|
|
8
|
-
**Note:** Version bump only for package @blaze-cms/plugin-data-ui
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
# [0.128.0-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.127.1...v0.128.0-admin-updates.0) (2023-02-16)
|
|
11
7
|
|
|
12
8
|
|
|
9
|
+
### Bug Fixes
|
|
13
10
|
|
|
14
|
-
|
|
11
|
+
* admin updates feedback ([0e69cbb](https://github.com/thebyte9/blaze/commit/0e69cbb0337df371c3e1cfc2f43c0d4ce666f33b))
|
|
12
|
+
* persist menu accordion state ([#3792](https://github.com/thebyte9/blaze/issues/3792)) ([9c60c0a](https://github.com/thebyte9/blaze/commit/9c60c0ae56c541535a73c43c52fcdd8ca7075e84))
|
|
13
|
+
* persist menu accordion state ([#3792](https://github.com/thebyte9/blaze/issues/3792)) ([d41254a](https://github.com/thebyte9/blaze/commit/d41254a2785d04cbef661ca8e17d8f60cb79f525))
|
|
14
|
+
* update snapshots ([c88c8be](https://github.com/thebyte9/blaze/commit/c88c8bec58af59a5707d15f5e212e6b515706676))
|
|
15
|
+
* update snapshots ([d490e17](https://github.com/thebyte9/blaze/commit/d490e1746d63ed5842799d15d6696c287f9b0d10))
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
### Features
|
|
18
19
|
|
|
19
|
-
* add
|
|
20
|
-
*
|
|
20
|
+
* add admin style feedback ([3f8b9a1](https://github.com/thebyte9/blaze/commit/3f8b9a1416a8a7977631583cff62fddb43cd2e9d))
|
|
21
|
+
* style sidebar and add updated snapshots. Bz2 2870 ([#3539](https://github.com/thebyte9/blaze/issues/3539)) ([60640e5](https://github.com/thebyte9/blaze/commit/60640e5b65b4ed426ceefabc00c3beddb2113676))
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
|
|
26
|
-
# [0.127.0
|
|
27
|
+
# [0.127.0](https://github.com/thebyte9/blaze/compare/v0.126.1...v0.127.0) (2023-02-10)
|
|
27
28
|
|
|
28
29
|
**Note:** Version bump only for package @blaze-cms/plugin-data-ui
|
|
29
30
|
|
|
@@ -31,26 +32,6 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
|
|
34
|
-
# [0.127.0-project-admin-customisations.0](https://github.com/thebyte9/blaze/compare/v0.126.1...v0.127.0-project-admin-customisations.0) (2023-01-25)
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
### Bug Fixes
|
|
38
|
-
|
|
39
|
-
* admin updates feedback ([0e69cbb](https://github.com/thebyte9/blaze/commit/0e69cbb0337df371c3e1cfc2f43c0d4ce666f33b))
|
|
40
|
-
* update snapshots ([c88c8be](https://github.com/thebyte9/blaze/commit/c88c8bec58af59a5707d15f5e212e6b515706676))
|
|
41
|
-
* update snapshots ([d490e17](https://github.com/thebyte9/blaze/commit/d490e1746d63ed5842799d15d6696c287f9b0d10))
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
### Features
|
|
45
|
-
|
|
46
|
-
* add admin style feedback ([3f8b9a1](https://github.com/thebyte9/blaze/commit/3f8b9a1416a8a7977631583cff62fddb43cd2e9d))
|
|
47
|
-
* admin-ui info box component ([#3770](https://github.com/thebyte9/blaze/issues/3770)) ([01dff01](https://github.com/thebyte9/blaze/commit/01dff01c8bd2a9e522abf1c98ff32e4a1ca15fd1))
|
|
48
|
-
* style sidebar and add updated snapshots. Bz2 2870 ([#3539](https://github.com/thebyte9/blaze/issues/3539)) ([60640e5](https://github.com/thebyte9/blaze/commit/60640e5b65b4ed426ceefabc00c3beddb2113676))
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
35
|
# [0.126.0](https://github.com/thebyte9/blaze/compare/v0.126.0-alpha.6...v0.126.0) (2023-01-17)
|
|
55
36
|
|
|
56
37
|
**Note:** Version bump only for package @blaze-cms/plugin-data-ui
|
package/README.md
CHANGED
|
@@ -38,5 +38,3 @@ The `displayProperties` property can be set on entity schema in the api to provi
|
|
|
38
38
|
- adminDefaultListingFilter: this is a where query that will be passed to the api to filter records from the admin listing
|
|
39
39
|
- adminLabel: properties to build label when record is showing search listings
|
|
40
40
|
- adminHeader: properties to build admin header
|
|
41
|
-
|
|
42
|
-
-
|
|
@@ -37,7 +37,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
37
37
|
var _reactRouterDom = require("react-router-dom");
|
|
38
38
|
var _client = require("@apollo/client");
|
|
39
39
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
40
|
-
var _pluginRenderHooksUi = require("@blaze-cms/plugin-render-hooks-ui");
|
|
41
40
|
var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
42
41
|
var _reactFormBuilder = require("@blaze-cms/react-form-builder");
|
|
43
42
|
var _admin = require("@blaze-cms/admin");
|
|
@@ -52,7 +51,6 @@ var _constants = require("../../../constants");
|
|
|
52
51
|
var _EntityHeader = _interopRequireDefault(require("./EntityHeader"));
|
|
53
52
|
var _entity = require("../utils/entity");
|
|
54
53
|
var _useToggle5 = _interopRequireDefault(require("../../../utils/hooks/useToggle"));
|
|
55
|
-
var _InfoBoxes = _interopRequireDefault(require("../../InfoBoxes/InfoBoxes"));
|
|
56
54
|
var _excluded = ["isValid", "fields", "isNewValueSet", "valuesChecked", "currentField", "value"];
|
|
57
55
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
58
56
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -541,14 +539,7 @@ var Entity = function Entity(_ref) {
|
|
|
541
539
|
className: "page__content"
|
|
542
540
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
543
541
|
className: "content"
|
|
544
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
545
|
-
hookKey: "entity:".concat(action, ":main:top"),
|
|
546
|
-
entity: entity,
|
|
547
|
-
schema: schema
|
|
548
|
-
}), /*#__PURE__*/_react["default"].createElement(_InfoBoxes["default"], {
|
|
549
|
-
id: entity.id,
|
|
550
|
-
schema: schema
|
|
551
|
-
}), /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
542
|
+
}, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
552
543
|
enabled: showPageBuilderTabs,
|
|
553
544
|
onTabChange: function onTabChange(tabId) {
|
|
554
545
|
client.writeQuery({
|
|
@@ -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 { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\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';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\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 <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=\"tabs-wrapper tabs-wrapper__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=\"page__content--fixed\">\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook hookKey={`entity:${action}:main:top`} entity={entity} schema={schema} />\n <InfoBoxes id={entity.id} schema={schema} />\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\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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"}
|
|
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 <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=\"tabs-wrapper tabs-wrapper__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=\"page__content--fixed\">\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\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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"}
|
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
4
|
+
require("core-js/modules/es.object.to-string.js");
|
|
5
|
+
require("core-js/modules/es.string.iterator.js");
|
|
6
|
+
require("core-js/modules/es.weak-map.js");
|
|
7
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
3
8
|
require("core-js/modules/es.object.define-property.js");
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
4
10
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
12
|
Object.defineProperty(exports, "__esModule", {
|
|
6
13
|
value: true
|
|
7
14
|
});
|
|
8
15
|
exports["default"] = void 0;
|
|
9
|
-
var
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
18
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
19
|
var _tab = require("@blaze-react/tab");
|
|
12
20
|
var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
|
|
13
21
|
var _constants = require("../../constants");
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
24
|
var Tabs = function Tabs(_ref) {
|
|
15
25
|
var children = _ref.children,
|
|
16
26
|
onTabChange = _ref.onTabChange,
|
|
@@ -19,9 +29,15 @@ var Tabs = function Tabs(_ref) {
|
|
|
19
29
|
query: _adminUiUtils.GET_CURRENT_TAB_ID
|
|
20
30
|
}) || _constants.EDITOR_VIEW_TAB_INDEX,
|
|
21
31
|
currentTabId = _ref2.currentTabId;
|
|
32
|
+
var _useState = (0, _react.useState)([]),
|
|
33
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
34
|
+
activeAccordions = _useState2[0],
|
|
35
|
+
setActiveAccordions = _useState2[1];
|
|
22
36
|
return enabled ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.TabsContextProvider, {
|
|
23
37
|
value: {
|
|
24
|
-
currentTabId: currentTabId
|
|
38
|
+
currentTabId: currentTabId,
|
|
39
|
+
activeAccordions: activeAccordions,
|
|
40
|
+
setActiveAccordions: setActiveAccordions
|
|
25
41
|
}
|
|
26
42
|
}, /*#__PURE__*/_react["default"].createElement(_tab.Tab, {
|
|
27
43
|
selected: currentTabId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Tabs","children","onTabChange","enabled","useReadFromCache","query","GET_CURRENT_TAB_ID","EDITOR_VIEW_TAB_INDEX","currentTabId","EDITOR_VIEW_TAB","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","propTypes","PropTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["Tabs","children","onTabChange","enabled","useReadFromCache","query","GET_CURRENT_TAB_ID","EDITOR_VIEW_TAB_INDEX","currentTabId","useState","activeAccordions","setActiveAccordions","EDITOR_VIEW_TAB","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","propTypes","PropTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n const [activeAccordions, setActiveAccordions] = useState([]);\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId, activeAccordions, setActiveAccordions }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAKA;AAKyB;AAAA;AAEzB,IAAMA,IAAI,GAAG,SAAPA,IAAI,OAA2C;EAAA,IAArCC,QAAQ,QAARA,QAAQ;IAAEC,WAAW,QAAXA,WAAW;IAAEC,OAAO,QAAPA,OAAO;EAC5C,YAAyB,IAAAC,8BAAgB,EAAC;MAAEC,KAAK,EAAEC;IAAmB,CAAC,CAAC,IAAIC,gCAAqB;IAAzFC,YAAY,SAAZA,YAAY;EACpB,gBAAgD,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAArDC,gBAAgB;IAAEC,mBAAmB;EAE5C,OAAOR,OAAO,gBACZ,+EACE,gCAAC,iCAAmB;IAAC,KAAK,EAAE;MAAEK,YAAY,EAAZA,YAAY;MAAEE,gBAAgB,EAAhBA,gBAAgB;MAAEC,mBAAmB,EAAnBA;IAAoB;EAAE,gBAClF,gCAAC,QAAG;IAAC,QAAQ,EAAEH;EAAa,gBAC1B,gCAAC,YAAO;IAAC,KAAK,EAAEI,0BAAgB;IAAC,MAAM,EAAE;MAAA,OAAMV,WAAW,CAACK,gCAAqB,CAAC;IAAA;EAAC,GAC/EN,QAAQ,CACD,eACV,gCAAC,YAAO;IAAC,KAAK,EAAEY,2BAAiB;IAAC,MAAM,EAAE;MAAA,OAAMX,WAAW,CAACY,iCAAsB,CAAC;IAAA;EAAC,GACjFb,QAAQ,CACD,CACN,CACc,CACrB,gBAEH,kEAAGA,QAAQ,CACZ;AACH,CAAC;AAEDD,IAAI,CAACe,SAAS,GAAG;EACfd,QAAQ,EAAEe,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,MAAM,EAAEF,qBAAS,CAACG,OAAO,CAACH,qBAAS,CAACE,MAAM,CAAC,CAAC,CAAC,CAACE,UAAU;EACjGlB,WAAW,EAAEc,qBAAS,CAACK,IAAI,CAACD,UAAU;EACtCjB,OAAO,EAAEa,qBAAS,CAACM,IAAI,CAACF;AAC1B,CAAC;AAAC,eAEapB,IAAI;AAAA"}
|
|
@@ -8,7 +8,6 @@ import React, { useEffect, useState, useRef } from 'react';
|
|
|
8
8
|
import { withRouter, Prompt } from 'react-router-dom';
|
|
9
9
|
import { useApolloClient } from '@apollo/client';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
-
import { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';
|
|
12
11
|
import { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';
|
|
13
12
|
import { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';
|
|
14
13
|
import { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';
|
|
@@ -23,7 +22,6 @@ import { ENTITY_PUBLISHED, TEXT_CONTENT_TYPE, LEAVE_PAGE_MESSAGE, PREVIEW_INTERF
|
|
|
23
22
|
import EntityHeader from './EntityHeader';
|
|
24
23
|
import { validateSideBarRelations, canViewPage, onViewUrlClick, getUpdatedFormValues, checkFulfilConditions } from '../utils/entity';
|
|
25
24
|
import useToggle from '../../../utils/hooks/useToggle';
|
|
26
|
-
import InfoBoxes from '../../InfoBoxes/InfoBoxes';
|
|
27
25
|
const Entity = ({
|
|
28
26
|
formData,
|
|
29
27
|
entity,
|
|
@@ -378,14 +376,7 @@ const Entity = ({
|
|
|
378
376
|
className: "page__content"
|
|
379
377
|
}, /*#__PURE__*/React.createElement("div", {
|
|
380
378
|
className: "content"
|
|
381
|
-
}, /*#__PURE__*/React.createElement(
|
|
382
|
-
hookKey: `entity:${action}:main:top`,
|
|
383
|
-
entity: entity,
|
|
384
|
-
schema: schema
|
|
385
|
-
}), /*#__PURE__*/React.createElement(InfoBoxes, {
|
|
386
|
-
id: entity.id,
|
|
387
|
-
schema: schema
|
|
388
|
-
}), /*#__PURE__*/React.createElement(Tabs, {
|
|
379
|
+
}, /*#__PURE__*/React.createElement(Tabs, {
|
|
389
380
|
enabled: showPageBuilderTabs,
|
|
390
381
|
onTabChange: tabId => {
|
|
391
382
|
client.writeQuery({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","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","InfoBoxes","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 { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\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';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\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 <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=\"tabs-wrapper tabs-wrapper__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=\"page__content--fixed\">\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook hookKey={`entity:${action}:main:top`} entity={entity} schema={schema} />\n <InfoBoxes id={entity.id} schema={schema} />\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\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":";;;;;AAAA;AACA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,OAAO;AAC1D,SAASC,UAAU,EAAEC,MAAM,QAAQ,kBAAkB;AACrD,SAASC,eAAe,QAAQ,gBAAgB;AAChD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,mCAAmC;AAC9D,SAASC,QAAQ,EAAEC,kBAAkB,QAAQ,2BAA2B;AACxE,SAASC,WAAW,EAAEC,eAAe,QAAQ,+BAA+B;AAC5E,SAASC,YAAY,EAAEC,kBAAkB,QAAQ,kBAAkB;AACnE,SAASC,SAAS,QAAQ,sBAAsB;AAChD,OAAOC,SAAS,MAAM,kBAAkB;AACxC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,OAAOC,WAAW,MAAM,wBAAwB;AAChD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,IAAI,MAAM,YAAY;AAE7B,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,qBAAqB,EACrBC,8BAA8B,EAC9BC,KAAK,EACLC,iBAAiB,EACjBC,mBAAmB,QACd,oBAAoB;AAC3B,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SACEC,wBAAwB,EACxBC,WAAW,EACXC,cAAc,EACdC,oBAAoB,EACpBC,qBAAqB,QAChB,iBAAiB;AACxB,OAAOC,SAAS,MAAM,gCAAgC;AACtD,OAAOC,SAAS,MAAM,2BAA2B;AAEjD,MAAMC,MAAM,GAAG,CAAC;EACdC,QAAQ;EACRC,MAAM;EACNC,MAAM;EACNC,aAAa;EACbC,MAAM;EACNC,OAAO;EACPC,cAAc;EACdC,SAAS;EACTC;AACF,CAAC,KAAK;EAAA;EACJ,MAAM,GAAGC,eAAe,CAAC,GAAG/C,QAAQ,CAAC,IAAI,CAAC;EAC1C,MAAM,CAACgD,UAAU,EAAEC,aAAa,CAAC,GAAGjD,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACkD,YAAY,EAAEC,eAAe,CAAC,GAAGnD,QAAQ,CAAC,IAAI,CAAC;EACtD,MAAM,CAACoD,UAAU,EAAEC,aAAa,CAAC,GAAGrD,QAAQ,CAAC,IAAI,CAAC;EAClD,MAAM,CAACsD,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGvD,QAAQ,CAAC,IAAI,CAAC;EAC9D,MAAM,CAACwD,SAAS,EAAEC,YAAY,CAAC,GAAGzD,QAAQ,CAAC,EAAE,CAAC;EAC9C,MAAM,CAAC0D,qBAAqB,EAAEC,wBAAwB,CAAC,GAAG3D,QAAQ,CAAC,KAAK,CAAC;EACzE,MAAM,CAAC4D,iBAAiB,EAAEC,kBAAkB,CAAC,GAAG7D,QAAQ,CACtDsC,QAAQ,IAAIA,QAAQ,CAACwB,MAAM,IAAIxB,QAAQ,CAACwB,MAAM,CAACC,MAAM,CACtD;EACD,MAAM,CAACC,qBAAqB,EAAEC,sBAAsB,CAAC,GAAGjE,QAAQ,CAAC,KAAK,CAAC;EACvE,MAAM,CAACkE,qBAAqB,EAAEC,sBAAsB,CAAC,GAAGnE,QAAQ,CAAC,KAAK,CAAC;EACvE,MAAM,CAACoE,WAAW,EAAEC,cAAc,CAAC,GAAGlC,SAAS,CAAC,KAAK,CAAC;EACtD,MAAM,CAACmC,eAAe,EAAEC,kBAAkB,CAAC,GAAGpC,SAAS,CAAC,KAAK,CAAC;EAC9D,MAAM,CAACqC,yBAAyB,EAAEC,4BAA4B,CAAC,GAAGzE,QAAQ,CAAC,IAAI,CAAC;EAChF,MAAM,CAAC0E,cAAc,EAAEC,iBAAiB,CAAC,GAAG3E,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAAC4E,WAAW,EAAEC,cAAc,CAAC,GAAG7E,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC8E,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG/E,QAAQ,CAAC,IAAI,CAAC;EAC9D,MAAM,CAACgF,cAAc,EAAEC,iBAAiB,CAAC,GAAGjF,QAAQ,CAAC,IAAI,CAAC;EAC1D,MAAM,CAACkF,cAAc,EAAEC,iBAAiB,CAAC,GAAGnF,QAAQ,CAAC2B,iBAAiB,CAACyD,IAAI,CAAC;EAE5E,MAAMC,YAAY,GAAG1C,OAAO,CAAC2C,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,QAAQ,CAAC;EACjE,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG1F,QAAQ,CAACqF,YAAY,CAAC;EAE5D,MAAMM,MAAM,GAAGvF,eAAe,EAAE;EAChC,MAAMwF,iBAAiB,GACrB,CAACtC,gBAAgB,IACjBpB,qBAAqB,CAACK,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAE,CAACW,UAAU,CAAC,IAChEA,UAAU,IAAIA,UAAU,CAACyC,EAAE,KAAKtD,MAAM,CAACsD,EAAG;EAC7C,MAAMC,cAAc,GAAGhF,SAAS,CAACwB,QAAQ,CAAC;EAC1C,MAAM;IAAEyD;EAAS,CAAC,GAAGlF,SAAS,EAAE;;EAEhC;EACA,MAAMmF,kBAAkB,GAAG/F,MAAM,CAAC,IAAI,CAAC;EACvCF,SAAS,CACP,MAAM,MAAM;IACViG,kBAAkB,CAACC,OAAO,GAAG,KAAK;EACpC,CAAC,EACD,EAAE,CACH,CAAC,CAAC;;EAEHlG,SAAS,CACP,MAAM;IACJ,IAAI6F,iBAAiB,EAAE;MACrBT,iBAAiB,CAACxD,iBAAiB,CAACyD,IAAI,CAAC;MACzC/B,aAAa,CAACd,MAAM,CAAC;MACrBkB,YAAY,CAAC1C,WAAW,CAACyB,MAAM,CAAC0D,iBAAiB,EAAE3D,MAAM,CAAC,CAAC;MAC3DsB,kBAAkB,CAACtB,MAAM,CAACwB,MAAM,CAAC;MACjCZ,eAAe,CAACX,MAAM,CAAC;MACvByB,sBAAsB,CAACzB,MAAM,CAAC2D,OAAO,CAACC,OAAO,CAAC;MAC9C7C,mBAAmB,CAACf,MAAM,CAAC6D,UAAU,CAAC;MACtClC,sBAAsB,CAAC,CAAC,CAAC3B,MAAM,CAAC8D,UAAU,CAACd,QAAQ,CAACjE,iBAAiB,CAAC,CAAC;IACzE;IAEA,IAAIe,QAAQ,IAAIkC,yBAAyB,EAAE;MACzC,MAAM+B,wBAAwB,GAAG,CAAC,CAACjE,QAAQ,CAACwB,MAAM,CAAC0C,qBAAqB;MACxEb,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAEnG,QAAQ,CAAC,wBAAwB,CAAC;QACzCoG,IAAI,EAAE;UACJC,sBAAsB,EAAEL,wBAAwB;UAChDC,qBAAqB,EAAElE,QAAQ,CAACwB,MAAM,CAAC0C,qBAAqB,IAAI;QAClE;MACF,CAAC,CAAC;IACJ;IACA,IAAIhE,MAAM,EAAE;MACVmD,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAEnG,QAAQ,CAAC,oBAAoB,CAAC;QACrCoG,IAAI,EAAE;UACJE,aAAa,EAAErE,MAAM,CAACqD;QACxB;MACF,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CACEF,MAAM,EACNpD,MAAM,EACNa,UAAU,EACVd,QAAQ,EACRU,UAAU,EACVwB,yBAAyB,EACzB/B,aAAa,EACbD,MAAM,EACNoD,iBAAiB,CAClB,CACF;EAED,MAAMkB,UAAU,GAAG,YAAY;IAC7B,MAAMJ,KAAK,GAAGnG,QAAQ,CAAC,gBAAgB,CAAC;IACxC,MAAM;MAAEoG,IAAI,EAAE;QAAEI,YAAY,GAAG;MAAG,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,MAAMpB,MAAM,CAACe,KAAK,CAAC;MAC9DA,KAAK;MACLM,SAAS,EAAE;QAAEC,MAAM,EAAE1E,MAAM,CAACsD,EAAE;QAAEqB,UAAU,EAAE1E,MAAM,CAACqD,EAAE;QAAEsB,OAAO,EAAE;MAAK,CAAC;MACtEC,WAAW,EAAE;IACf,CAAC,CAAC;IACF,OAAOL,YAAY;EACrB,CAAC;EAED,MAAMM,aAAa,GAAGvD,MAAM,IAAI;IAC9B,IAAIkC,kBAAkB,CAACC,OAAO,EAAE;MAC9BhD,aAAa,CAACa,MAAM,CAAC;IACvB;EACF,CAAC;EAED,MAAMwD,wBAAwB,GAAG,CAAC;IAAEzB,EAAE;IAAE0B;EAAM,CAAC,EAAEC,kBAAkB,KAAK;IACtE,MAAMC,iBAAiB,GAAGxF,oBAAoB,CAAC;MAAE4D,EAAE;MAAE0B,KAAK;MAAEC,kBAAkB;MAAExE;IAAW,CAAC,CAAC;IAE7F,MAAM0E,sBAAsB,GAAG5F,wBAAwB,CAAC2F,iBAAiB,EAAED,kBAAkB,CAAC;IAE9F,IAAI5C,WAAW,IAAI8C,sBAAsB,IAAI1B,kBAAkB,CAACC,OAAO,EAAE;MACvEtC,wBAAwB,CAAC,IAAI,CAAC;MAC9BwB,iBAAiB,CAACxD,iBAAiB,CAACyD,IAAI,CAAC;IAC3C,CAAC,MAAM,IAAIY,kBAAkB,CAACC,OAAO,EAAE;MACrCtC,wBAAwB,CAAC,KAAK,CAAC;IACjC;IAEA,IAAIqC,kBAAkB,CAACC,OAAO,EAAE;MAC9BhD,aAAa,CAACwE,iBAAiB,CAAC;IAClC;EACF,CAAC;EAED,MAAME,kBAAkB,GAAG,cAQrB;IAAA,IAR4B;QAChCC,OAAO;QACPC,MAAM;QACNC,aAAa;QACbC,aAAa;QACbC,YAAY;QACZT,KAAK,EAAEU;MAET,CAAC;MADIC,UAAU;IAEb,IAAIT,iBAAiB,GAAGM,aAAa,GAAGA,aAAa,CAACI,KAAK,EAAE,GAAG,EAAE;IAClE,IAAIH,YAAY,KAAKvG,8BAA8B,EAAE;MACnD,MAAM+E,qBAAqB,GAAGyB,UAAU;MACxCtC,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAEnG,QAAQ,CAAC,wBAAwB,CAAC;QACzCoG,IAAI,EAAE;UACJC,sBAAsB,EAAE,CAAC,CAACJ,qBAAqB;UAC/CA;QACF;MACF,CAAC,CAAC;MAEF,IAAIR,kBAAkB,CAACC,OAAO,EAAE;QAC9BxB,4BAA4B,CAAC,KAAK,CAAC;MACrC;MAEA,MAAM2D,WAAW,GAAGX,iBAAiB,CAACY,MAAM,CAC1CC,SAAS,IAAIA,SAAS,CAACzC,EAAE,KAAKrE,qBAAqB,CACpD;MAED,IAAIgF,qBAAqB,EAAE;QACzB,MAAM;UAAEG,IAAI,GAAG,CAAC;QAAE,CAAC,GAAG,MAAMhB,MAAM,CAACe,KAAK,CAAC;UACvCA,KAAK,EAAEnG,QAAQ,CAAC,2BAA2B,CAAC;UAC5CyG,SAAS,EAAE;YACTuB,MAAM,EAAE;cACNH,WAAW,EAAEA,WAAW,CAAC,CAAC,CAAC,CAACb,KAAK;cACjCf;YACF,CAAC;YACDlD;UACF;QACF,CAAC,CAAC;QAEF,IAAIqD,IAAI,IAAIA,IAAI,CAAC6B,+BAA+B,EAAE;UAChDf,iBAAiB,GAAGA,iBAAiB,CAACgB,GAAG,CAACC,gBAAgB,IAAI;YAC5D,IAAIA,gBAAgB,CAAC7C,EAAE,KAAKrE,qBAAqB,EAAE;cACjD,uCACKkH,gBAAgB;gBACnBnB,KAAK,EAAEZ,IAAI,CAAC6B;cAA+B;YAE/C;YACA,OAAOE,gBAAgB;UACzB,CAAC,CAAC;QACJ;MACF;IACF;IACA,MAAMC,UAAU,GAAG,EAAE;IACrB,IAAI3F,UAAU,IAAIA,UAAU,CAAC4F,MAAM,GAAGnB,iBAAiB,CAACmB,MAAM,EAAE;MAC9D,CAAC,GAAGnB,iBAAiB,EAAE,GAAGzE,UAAU,CAAC,CAAC6F,OAAO,CAACC,IAAI,IAAI;QACpD,MAAMC,KAAK,GAAGtB,iBAAiB,CAACuB,SAAS,CAACzB,KAAK,IAAIA,KAAK,CAAC1B,EAAE,KAAKiD,IAAI,CAACjD,EAAE,CAAC;QACxE,IAAIkD,KAAK,KAAK,CAAC,CAAC,EAAE;UAChBJ,UAAU,CAACM,IAAI,CAACH,IAAI,CAAC;QACvB;MACF,CAAC,CAAC;IACJ;IAEA,MAAM,CAACI,aAAa,GAAG,IAAI,CAAC,GAAGrB,MAAM,CAACQ,MAAM,CAAC,CAAC;MAAExC;IAAG,CAAC,KAAKA,EAAE,KAAK,MAAM,CAAC;IACvEqD,aAAa,IAAIzF,YAAY,CAACyF,aAAa,CAAC3B,KAAK,CAAC;IAElD,MAAM4B,qBAAqB,GAAGvB,OAAO,IAAIE,aAAa;IACtD,MAAMsB,0BAA0B,GAAG,CAACxB,OAAO,IAAI,CAACE,aAAa;IAC7D,IAAI9B,kBAAkB,CAACC,OAAO,EAAE;MAC9BpB,cAAc,CAAC+C,OAAO,CAAC;IACzB;IACA,IAAIuB,qBAAqB,IAAInD,kBAAkB,CAACC,OAAO,EAAE;MACvDtC,wBAAwB,CAAC,IAAI,CAAC;MAC9BwB,iBAAiB,CAACxD,iBAAiB,CAACyD,IAAI,CAAC;IAC3C;IAEA,IAAIgE,0BAA0B,IAAIpD,kBAAkB,CAACC,OAAO,EAAE;MAC5DtC,wBAAwB,CAAC,KAAK,CAAC;IACjC;IAEA,IAAIqC,kBAAkB,CAACC,OAAO,EAAE;MAC9BhD,aAAa,CAAC,CAAC,GAAGwE,iBAAiB,EAAE,GAAGkB,UAAU,CAAC,CAAC;IACtD;EACF,CAAC;EAED,MAAMU,QAAQ,GAAGC,KAAK,IAAI;IACxBA,KAAK,IAAIA,KAAK,CAACC,cAAc,EAAE;IAE/B,IAAI,CAAC7F,qBAAqB,EAAE,OAAO,IAAI;IACvC,MAAM8F,gBAAgB,GAAG9I,eAAe,CAACsC,UAAU,CAAC;IAEpD,MAAMyE,iBAAiB,GAAGzC,cAAc,mCAC/B1C,QAAQ,CAACwB,MAAM;MAAE2F,MAAM,EAAEzE;IAAc,uBACvC1C,QAAQ,CAACwB,MAAM,CAAE;IAE1B,MAAM4F,oBAAoB,GAAG,MAC3B9G,cAAc,CACZ;MACEkB,MAAM,kCAAO2D,iBAAiB,GAAK+B,gBAAgB;IACrD,CAAC,EACD,IAAI,CACL;IAEH,MAAMG,YAAY,GAAG;MACnBF,MAAM,EAAE;QACNvG,YAAY;QACZE,UAAU;QACVoG,gBAAgB;QAChB7D,MAAM;QACNhC,wBAAwB;QACxBsB,iBAAiB;QACjBD,cAAc;QACdvC,aAAa;QACb0C,iBAAiB;QACjBuE;MACF,CAAC;MACDE,MAAM,EAAE;QACN1G,YAAY;QACZsG,gBAAgB;QAChB7D,MAAM;QACNtC,aAAa;QACbM,wBAAwB;QACxBhB,OAAO;QACP+C,cAAc;QACdP,iBAAiB;QACjBuE;MACF;IACF,CAAC;IAED,MAAMG,aAAa,GAAGF,YAAY,CAACjH,MAAM,CAAC;IAC1C,OAAOzB,gBAAgB,CAACyB,MAAM,CAAC,CAACoH,MAAM,CAACD,aAAa,EAAE9D,QAAQ,CAAC;EACjE,CAAC;EAED,MAAMgE,QAAQ,GAAG,YAAY;IAC3B,MAAM;MACJjG,MAAM,EAAE;QAAE+B;MAAG;IACf,CAAC,GAAGvD,QAAQ;IAEZ,IAAI0D,kBAAkB,CAACC,OAAO,EAAE;MAC9BtC,wBAAwB,CAAC,KAAK,CAAC;IACjC;IAEA,MAAM1C,gBAAgB,CAAC+I,MAAM,CAACF,MAAM,CAClC;MACE5G,YAAY;MACZyC,MAAM;MACN6D,gBAAgB,EAAE;QAAE3D;MAAG;IACzB,CAAC,EACDE,QAAQ,CACT;IAEDpD,OAAO,CAACsG,IAAI,CAAE,iBAAgB/F,YAAY,CAAC2C,EAAG,EAAC,CAAC;EAClD,CAAC;EAED,MAAMoE,MAAM,GAAG,MAAM;IACnB,IAAInF,gBAAgB,IAAIkB,kBAAkB,CAACC,OAAO,EAAE;MAClDrD,cAAc,CAACkC,gBAAgB,CAAC;MAChCH,iBAAiB,CAAC,IAAI,CAAC;MACvBhB,wBAAwB,CAAC,IAAI,CAAC;MAC9BwB,iBAAiB,CAACxD,iBAAiB,CAACyD,IAAI,CAAC;MACzC,IAAIN,gBAAgB,CAAChB,MAAM,CAACoG,IAAI,EAAE;QAChCzG,YAAY,CAACqB,gBAAgB,CAAChB,MAAM,CAACoG,IAAI,CAAC;MAC5C;IACF;EACF,CAAC;EAED,MAAMC,cAAc,GAAG,MAAM;IAC3B5F,kBAAkB,CAAC,CAACD,eAAe,CAAC;IACpCK,iBAAiB,CAAC,KAAK,CAAC;EAC1B,CAAC;EAED,MAAMyF,uBAAuB,GAAG,MAAM;IACpC7F,kBAAkB,CAAC,KAAK,CAAC;IACzBQ,mBAAmB,CAAC,IAAI,CAAC;EAC3B,CAAC;EAED,MAAMsF,WAAW,GAAGC,cAAc,IAAI;IACpC,MAAMC,eAAe,GAAG;MACtBzG,MAAM,oBAAOwG,cAAc;IAC7B,CAAC;IACDvF,mBAAmB,CAACwF,eAAe,CAAC;EACtC,CAAC;EAED,MAAMC,yBAAyB,GAAG,OAAO;IAAEC,MAAM,EAAE;MAAEC;IAAY;EAAE,CAAC,KAAK;IACvE,MAAMC,eAAe,GAAGD,WAAW,KAAKrJ,iBAAiB;IACzD,MAAMuJ,WAAW,GAAGhH,iBAAiB,KAAKxC,gBAAgB;IAE1D,MAAMyJ,WAAW,GAAG3I,qBAAqB,CAAC,CAACyI,eAAe,EAAE,CAACC,WAAW,CAAC;IAEzE,IAAIC,WAAW,EAAE;MACf,OAAO9E,QAAQ,CAACnE,mBAAmB,EAAE;QACnCkJ,UAAU,EAAE,SAAS;QACrBC,WAAW,EAAE;MACf,CAAC,CAAC;IACJ;IAEA,IAAI7I,qBAAqB,CAACyI,eAAe,EAAEjH,qBAAqB,CAAC,EAAE;MACjE,MAAMsH,gBAAgB,GAAG,MAAM3B,QAAQ,EAAE;MAEzC,IAAI2B,gBAAgB,KAAKtJ,KAAK,EAAE;QAC9B,OAAOqE,QAAQ,CAAE,uBAAsB,EAAE;UACvC+E,UAAU,EAAEpJ,KAAK;UACjBqJ,WAAW,EAAE;QACf,CAAC,CAAC;MACJ;IACF;IAEA,OAAO9J,gBAAgB,CAACgK,MAAM,CAACC,cAAc,CAC3C;MACE9H,UAAU;MACVuC,MAAM;MACN9B,kBAAkB;MAClBX,YAAY;MACZwH,WAAW;MACX5H;IACF,CAAC,EACDiD,QAAQ,CACT;EACH,CAAC;EAED,MAAMoF,SAAS,GAAGjJ,qBAAqB,CAACI,QAAQ,EAAE8B,WAAW,CAAC;EAE9D,MAAMgH,gBAAgB,GAAGrJ,WAAW,CAACO,QAAQ,EAAEC,MAAM,EAAEC,MAAM,EAAEoB,iBAAiB,CAAC,GAC7E,MAAM5B,cAAc,CAAC8E,UAAU,CAAC,GAChCjE,SAAS;EAEb,MAAMwI,QAAQ,GAAG/I,QAAQ,IAAIA,QAAQ,CAACwB,MAAM,IAAIxB,QAAQ,CAACwB,MAAM,CAACoG,IAAI;EAEpE,MAAMoB,gBAAgB,GAAGpJ,qBAAqB,CAACuD,WAAW,EAAE,CAACzE,WAAW,CAACgC,UAAU,CAAC,CAAC;EACrF,MAAMuI,kBAAkB,GAAG7H,qBAAqB,IAAI4H,gBAAgB;EAEpE,MAAME,oBAAoB,GAAGtJ,qBAAqB,CAACM,MAAM,EAAEF,QAAQ,CAAC;EACpE,MAAMmJ,mBAAmB,GACvB,CAAAjJ,MAAM,aAANA,MAAM,6CAANA,MAAM,CAAE8D,UAAU,uDAAlB,mBAAoBd,QAAQ,CAAC,oCAAoC,CAAC,MAClEhD,MAAM,aAANA,MAAM,8CAANA,MAAM,CAAE8D,UAAU,wDAAlB,oBAAoBd,QAAQ,CAAC,2BAA2B,CAAC;EAE3D,oBACE;IAAK,SAAS,EAAC;EAAM,gBACnB,oBAAC,YAAY;IACX,UAAU,EAAEpC,UAAW;IACvB,gBAAgB,EAAEE,gBAAiB;IACnC,SAAS,EAAEE,SAAU;IACrB,QAAQ,EAAE6H,QAAS;IACnB,QAAQ,EAAEhC,QAAS;IACnB,yBAAyB,EAAEmB,yBAA0B;IACrD,qBAAqB,EAAE9G,qBAAsB;IAC7C,qBAAqB,EAAEM,qBAAsB;IAC7C,qBAAqB,EAAEE,qBAAsB;IAC7C,eAAe,EAAEK,kBAAmB;IACpC,WAAW,EAAEF,cAAe;IAC5B,QAAQ,EAAE/B,QAAS;IACnB,SAAS,EAAE8I,gBAAiB;IAC5B,cAAc,EAAElG;EAAe,EAC/B,eACF;IAAK,SAAS,EAAC;EAAuB,gBACpC;IAAK,SAAS,EAAC;EAAgC,gBAC7C,oBAAC,MAAM;IAAC,IAAI,EAAEqG,kBAAmB;IAAC,OAAO,EAAEjK;EAAmB,EAAG,EAChE6J,SAAS,iBACR,oBAAC,YAAY;IACX,OAAO,EAAE9G,cAAe;IACxB,YAAY,EAAE0F,QAAS;IACvB,QAAQ,EAAEzH,QAAQ,CAACwB,MAAM,CAACoG;EAAK,EAElC,EACA5F,eAAe,iBACd,oBAAC,kBAAkB;IACjB,OAAO,EAAE8F,uBAAwB;IACjC,UAAU,EAAEH,MAAO;IACnB,WAAW,EAAEI;EAAY,EAE5B,eAED;IAAK,SAAS,EAAC;EAAsB,gBACnC;IAAK,SAAS,EAAC;EAAe,gBAC5B;IAAK,SAAS,EAAC;EAAS,gBACtB,oBAAC,UAAU;IAAC,OAAO,EAAG,UAAS3H,MAAO,WAAW;IAAC,MAAM,EAAEH,MAAO;IAAC,MAAM,EAAEC;EAAO,EAAG,eACpF,oBAAC,SAAS;IAAC,EAAE,EAAED,MAAM,CAACsD,EAAG;IAAC,MAAM,EAAErD;EAAO,EAAG,eAC5C,oBAAC,IAAI;IACH,OAAO,EAAEiJ,mBAAoB;IAC7B,WAAW,EAAEC,KAAK,IAAI;MACpB/F,MAAM,CAACc,UAAU,CAAC;QAChBC,KAAK,EAAElG,kBAAkB;QACzBmG,IAAI,EAAE;UAAEgF,YAAY,EAAED;QAAM;MAC9B,CAAC,CAAC;MACF3I,eAAe,CAAC2I,KAAK,CAAC;IACxB;EAAE,gBACF,oBAAC,WAAW;IACV,cAAc,EAAE7G,cAAe;IAC/B,aAAa,EAAEwC,aAAc;IAC7B,MAAM,EAAE7E,MAAO;IACf,IAAI,EAAEsD,cAAe;IACrB,QAAQ,EAAE6B,kBAAmB;IAC7B,cAAc,EAAEjD,cAAe;IAC/B,cAAc,EAAEyF,cAAe;IAC/B,UAAU,EAAEnH,UAAW;IACvB,WAAW,EAAEyC;EAAY,EACzB,CACG,CACH,CACF,CACF,CACF,eAEN;IAAK,SAAS,EAAC;EAAuC,GACnD+F,oBAAoB,iBACnB,oBAAC,gBAAgB;IACf,MAAM,EAAEjJ,MAAO;IACf,QAAQ,EAAED,QAAQ,CAACwB,MAAO;IAC1B,MAAM,EAAEtB,MAAO;IACf,QAAQ,EAAE8E;EAAyB,EAEtC,CACG,CACF,CACF;AAEV,CAAC;AAEDjF,MAAM,CAACuJ,SAAS,GAAG;EACjBrJ,MAAM,EAAElC,SAAS,CAACwL,MAAM;EACxBrJ,MAAM,EAAEnC,SAAS,CAACwL,MAAM;EACxBpJ,aAAa,EAAEpC,SAAS,CAACwL,MAAM;EAC/BnJ,MAAM,EAAErC,SAAS,CAACyL,MAAM,CAACC,UAAU;EACnCpJ,OAAO,EAAEtC,SAAS,CAACwL,MAAM,CAACE,UAAU;EACpCzJ,QAAQ,EAAEjC,SAAS,CAACwL,MAAM;EAC1BjJ,cAAc,EAAEvC,SAAS,CAAC2L,IAAI,CAACD,UAAU;EACzClJ,SAAS,EAAExC,SAAS,CAAC2L,IAAI;EACzBlJ,aAAa,EAAEzC,SAAS,CAAC2L,IAAI,CAACD;AAChC,CAAC;AAED1J,MAAM,CAAC4J,YAAY,GAAG;EACpBxJ,aAAa,EAAE,IAAI;EACnBD,MAAM,EAAE,IAAI;EACZD,MAAM,EAAE,IAAI;EACZD,QAAQ,EAAE,IAAI;EACdO,SAAS,EAAE;AACb,CAAC;AAED,eAAe3C,UAAU,CAACmC,MAAM,CAAC"}
|
|
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 <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=\"tabs-wrapper tabs-wrapper__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=\"page__content--fixed\">\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\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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { Tab, TabItem } from '@blaze-react/tab';
|
|
4
4
|
import { useReadFromCache, GET_CURRENT_TAB_ID, TabsContextProvider } from '@blaze-cms/admin-ui-utils';
|
|
@@ -13,9 +13,12 @@ const Tabs = ({
|
|
|
13
13
|
} = useReadFromCache({
|
|
14
14
|
query: GET_CURRENT_TAB_ID
|
|
15
15
|
}) || EDITOR_VIEW_TAB_INDEX;
|
|
16
|
+
const [activeAccordions, setActiveAccordions] = useState([]);
|
|
16
17
|
return enabled ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TabsContextProvider, {
|
|
17
18
|
value: {
|
|
18
|
-
currentTabId
|
|
19
|
+
currentTabId,
|
|
20
|
+
activeAccordions,
|
|
21
|
+
setActiveAccordions
|
|
19
22
|
}
|
|
20
23
|
}, /*#__PURE__*/React.createElement(Tab, {
|
|
21
24
|
selected: currentTabId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","Tab","TabItem","useReadFromCache","GET_CURRENT_TAB_ID","TabsContextProvider","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","Tabs","children","onTabChange","enabled","currentTabId","query","propTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":"AAAA,OAAOA,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","PropTypes","Tab","TabItem","useReadFromCache","GET_CURRENT_TAB_ID","TabsContextProvider","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","Tabs","children","onTabChange","enabled","currentTabId","query","activeAccordions","setActiveAccordions","propTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n const [activeAccordions, setActiveAccordions] = useState([]);\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId, activeAccordions, setActiveAccordions }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,GAAG,EAAEC,OAAO,QAAQ,kBAAkB;AAC/C,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,QACd,2BAA2B;AAClC,SACEC,gBAAgB,EAChBC,sBAAsB,EACtBC,eAAe,EACfC,qBAAqB,QAChB,iBAAiB;AAExB,MAAMC,IAAI,GAAG,CAAC;EAAEC,QAAQ;EAAEC,WAAW;EAAEC;AAAQ,CAAC,KAAK;EACnD,MAAM;IAAEC;EAAa,CAAC,GAAGX,gBAAgB,CAAC;IAAEY,KAAK,EAAEX;EAAmB,CAAC,CAAC,IAAIK,qBAAqB;EACjG,MAAM,CAACO,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGlB,QAAQ,CAAC,EAAE,CAAC;EAE5D,OAAOc,OAAO,gBACZ,uDACE,oBAAC,mBAAmB;IAAC,KAAK,EAAE;MAAEC,YAAY;MAAEE,gBAAgB;MAAEC;IAAoB;EAAE,gBAClF,oBAAC,GAAG;IAAC,QAAQ,EAAEH;EAAa,gBAC1B,oBAAC,OAAO;IAAC,KAAK,EAAEN,eAAgB;IAAC,MAAM,EAAE,MAAMI,WAAW,CAACH,qBAAqB;EAAE,GAC/EE,QAAQ,CACD,eACV,oBAAC,OAAO;IAAC,KAAK,EAAEL,gBAAiB;IAAC,MAAM,EAAE,MAAMM,WAAW,CAACL,sBAAsB;EAAE,GACjFI,QAAQ,CACD,CACN,CACc,CACrB,gBAEH,0CAAGA,QAAQ,CACZ;AACH,CAAC;AAEDD,IAAI,CAACQ,SAAS,GAAG;EACfP,QAAQ,EAAEX,SAAS,CAACmB,SAAS,CAAC,CAACnB,SAAS,CAACoB,MAAM,EAAEpB,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACoB,MAAM,CAAC,CAAC,CAAC,CAACE,UAAU;EACjGV,WAAW,EAAEZ,SAAS,CAACuB,IAAI,CAACD,UAAU;EACtCT,OAAO,EAAEb,SAAS,CAACwB,IAAI,CAACF;AAC1B,CAAC;AAED,eAAeZ,IAAI"}
|