@blaze-cms/plugin-data-ui 0.125.0-alpha.3 → 0.125.0-f-admin-updates.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,28 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [0.125.0-alpha.3](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.2...v0.125.0-alpha.3) (2022-09-27)
7
-
8
- **Note:** Version bump only for package @blaze-cms/plugin-data-ui
9
-
10
-
11
-
12
-
13
-
14
- # [0.125.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.125.0-alpha.0...v0.125.0-alpha.1) (2022-09-15)
15
-
16
- **Note:** Version bump only for package @blaze-cms/plugin-data-ui
17
-
18
-
6
+ # [0.125.0-f-admin-updates.0](https://github.com/thebyte9/blaze/compare/v0.124.1...v0.125.0-f-admin-updates.0) (2022-10-06)
19
7
 
20
8
 
9
+ ### Bug Fixes
21
10
 
22
- ## [0.124.2-alpha.0](https://github.com/thebyte9/blaze/compare/v0.124.1...v0.124.2-alpha.0) (2022-09-06)
11
+ * copy data from functionality ([#3567](https://github.com/thebyte9/blaze/issues/3567)) ([e3e1faf](https://github.com/thebyte9/blaze/commit/e3e1faf758661ac9e1555f1b3963f472c93edd36))
12
+ * update snapshots ([d490e17](https://github.com/thebyte9/blaze/commit/d490e1746d63ed5842799d15d6696c287f9b0d10))
23
13
 
24
14
 
25
- ### Bug Fixes
15
+ ### Features
26
16
 
27
- * copy data from functionality ([#3567](https://github.com/thebyte9/blaze/issues/3567)) ([e3e1faf](https://github.com/thebyte9/blaze/commit/e3e1faf758661ac9e1555f1b3963f472c93edd36))
17
+ * add admin style feedback ([3f8b9a1](https://github.com/thebyte9/blaze/commit/3f8b9a1416a8a7977631583cff62fddb43cd2e9d))
18
+ * style sidebar and add updated snapshots. Bz2 2870 ([#3539](https://github.com/thebyte9/blaze/issues/3539)) ([60640e5](https://github.com/thebyte9/blaze/commit/60640e5b65b4ed426ceefabc00c3beddb2113676))
28
19
 
29
20
 
30
21
 
@@ -643,22 +643,7 @@ var Entity = function Entity(_ref) {
643
643
  var showSideBarRelations = (0, _entity.checkFulfilConditions)(schema, formData);
644
644
  var showPageBuilderTabs = (schema === null || schema === void 0 ? void 0 : (_schema$interfaces = schema.interfaces) === null || _schema$interfaces === void 0 ? void 0 : _schema$interfaces.includes('page-builder/page-builder-template')) || (schema === null || schema === void 0 ? void 0 : (_schema$interfaces2 = schema.interfaces) === null || _schema$interfaces2 === void 0 ? void 0 : _schema$interfaces2.includes('page-builder/page-builder'));
645
645
  return /*#__PURE__*/_react["default"].createElement("div", {
646
- className: "page"
647
- }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Prompt, {
648
- when: hasToDisplayPrompt,
649
- message: _constants.LEAVE_PAGE_MESSAGE
650
- }), showModal && /*#__PURE__*/_react["default"].createElement(_admin.DeleteAction, {
651
- onClose: setModalStatus,
652
- deleteAction: onDelete,
653
- itemName: formData.values.name
654
- }), copyModalStatus && /*#__PURE__*/_react["default"].createElement(_admin.CopyDataFromAction, {
655
- onClose: handleCopyDataFromClose,
656
- copyAction: onCopy,
657
- getFormData: getFormData
658
- }), /*#__PURE__*/_react["default"].createElement("div", {
659
- className: "row row--display-row"
660
- }, /*#__PURE__*/_react["default"].createElement("div", {
661
- className: "column column--three-quarters"
646
+ className: "page-wrapper"
662
647
  }, /*#__PURE__*/_react["default"].createElement(_EntityHeader["default"], {
663
648
  entityData: entityData,
664
649
  entityIdentifier: entityIdentifier,
@@ -675,6 +660,25 @@ var Entity = function Entity(_ref) {
675
660
  onViewUrl: onViewUrlHandler,
676
661
  saveButtonText: saveButtonText
677
662
  }), /*#__PURE__*/_react["default"].createElement("div", {
663
+ className: "page-wrapper__content"
664
+ }, /*#__PURE__*/_react["default"].createElement("div", {
665
+ className: "page page__tab"
666
+ }, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Prompt, {
667
+ when: hasToDisplayPrompt,
668
+ message: _constants.LEAVE_PAGE_MESSAGE
669
+ }), showModal && /*#__PURE__*/_react["default"].createElement(_admin.DeleteAction, {
670
+ onClose: setModalStatus,
671
+ deleteAction: onDelete,
672
+ itemName: formData.values.name
673
+ }), copyModalStatus && /*#__PURE__*/_react["default"].createElement(_admin.CopyDataFromAction, {
674
+ onClose: handleCopyDataFromClose,
675
+ copyAction: onCopy,
676
+ getFormData: getFormData
677
+ }), /*#__PURE__*/_react["default"].createElement("div", {
678
+ className: "row row--display-row"
679
+ }, /*#__PURE__*/_react["default"].createElement("div", {
680
+ className: "column"
681
+ }, /*#__PURE__*/_react["default"].createElement("div", {
678
682
  className: "page__content"
679
683
  }, /*#__PURE__*/_react["default"].createElement("div", {
680
684
  className: "content"
@@ -699,8 +703,8 @@ var Entity = function Entity(_ref) {
699
703
  updateCopyData: updateCopyData,
700
704
  formValues: formValues,
701
705
  isNewEntity: isNewEntity
702
- }))))), /*#__PURE__*/_react["default"].createElement("div", {
703
- className: "column column--one-third"
706
+ }))))))), /*#__PURE__*/_react["default"].createElement("div", {
707
+ className: "column column--one-third page-sidebar"
704
708
  }, showSideBarRelations && /*#__PURE__*/_react["default"].createElement(_SideBarRelations["default"], {
705
709
  entity: entity,
706
710
  formData: formData.values,
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","useState","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","useToggle","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","useToasts","addToast","componentIsMounted","useRef","useEffect","current","getPageName","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasNewFormValues","isFormEmpty","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","useState","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","useToggle","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","useToasts","addToast","componentIsMounted","useRef","useEffect","current","getPageName","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasNewFormValues","isFormEmpty","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page-wrapper\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"page page__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column\">\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
@@ -47,7 +47,7 @@ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
47
47
 
48
48
  var _reactFormBuilder = require("@blaze-cms/react-form-builder");
49
49
 
50
- var _badge = _interopRequireDefault(require("@blaze-react/badge"));
50
+ var _classnames = _interopRequireDefault(require("classnames"));
51
51
 
52
52
  var _versioningUi = require("@blaze-cms/versioning-ui");
53
53
 
@@ -66,7 +66,8 @@ var SideBarRelations = function SideBarRelations(_ref) {
66
66
  var formattedStatus = formData.formattedStatus,
67
67
  formattedUpdated = formData.formattedUpdated,
68
68
  formattedCreated = formData.formattedCreated,
69
- formattedPublished = formData.formattedPublished;
69
+ formattedPublished = formData.formattedPublished,
70
+ status = formData.status;
70
71
  var client = (0, _client.useApolloClient)();
71
72
 
72
73
  var _useState = (0, _react.useState)(null),
@@ -183,6 +184,10 @@ var SideBarRelations = function SideBarRelations(_ref) {
183
184
  var itemId = entity.id;
184
185
  var itemEntity = schema.identifier,
185
186
  interfaces = schema.interfaces;
187
+ var statusClassName = (0, _classnames["default"])('sidebar__status__badge', {
188
+ 'sidebar__status__badge--published': status === _constants.PUBLISHED,
189
+ 'sidebar__status__badge--unpublished': status === _constants.UNPUBLISHED
190
+ });
186
191
  return /*#__PURE__*/_react["default"].createElement("div", {
187
192
  className: "sidebar",
188
193
  "data-testid": "sideBarRelations-main-div"
@@ -190,10 +195,11 @@ var SideBarRelations = function SideBarRelations(_ref) {
190
195
  className: "sidebar__content"
191
196
  }, formattedCreated && /*#__PURE__*/_react["default"].createElement("div", {
192
197
  className: "sidebar__status"
193
- }, formattedStatus && /*#__PURE__*/_react["default"].createElement(_badge["default"], {
194
- type: "status",
195
- modifiers: formattedStatus
196
- }, formattedStatus, formattedStatus === _constants.PUBLISHED && ": ".concat(formattedPublished)), /*#__PURE__*/_react["default"].createElement("p", null, "Created: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedCreated)), /*#__PURE__*/_react["default"].createElement("p", null, "Updated: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedUpdated))), /*#__PURE__*/_react["default"].createElement(_versioningUi.VersionsList, {
198
+ }, /*#__PURE__*/_react["default"].createElement("div", {
199
+ className: "sidebar__status__wrapper"
200
+ }, /*#__PURE__*/_react["default"].createElement("b", null, "Status"), /*#__PURE__*/_react["default"].createElement("span", {
201
+ className: statusClassName
202
+ }, formattedStatus)), formattedStatus === _constants.PUBLISHED && /*#__PURE__*/_react["default"].createElement("p", null, formattedStatus, " on: ", /*#__PURE__*/_react["default"].createElement("span", null, " ", formattedPublished)), /*#__PURE__*/_react["default"].createElement("p", null, "Created: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedCreated)), /*#__PURE__*/_react["default"].createElement("p", null, "Updated: ", /*#__PURE__*/_react["default"].createElement("span", null, formattedUpdated))), /*#__PURE__*/_react["default"].createElement(_versioningUi.VersionsList, {
197
203
  itemEntity: itemEntity,
198
204
  itemId: itemId,
199
205
  interfaces: interfaces
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SideBarRelations","schema","onChange","formData","entity","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","useApolloClient","useState","relationsComponents","setRelationsComponents","useEffect","fetchRelationSchema","entityIdentifier","query","getQuery","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","uuidv1","id","staticData","allRelationComponents","itemId","itemEntity","interfaces","PUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["SideBarRelations","schema","onChange","formData","entity","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","status","client","useApolloClient","useState","relationsComponents","setRelationsComponents","useEffect","fetchRelationSchema","entityIdentifier","query","getQuery","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","uuidv1","id","staticData","allRelationComponents","itemId","itemEntity","interfaces","statusClassName","classnames","PUBLISHED","UNPUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n status\n } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\n });\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
@@ -383,22 +383,7 @@ const Entity = ({
383
383
  const showSideBarRelations = checkFulfilConditions(schema, formData);
384
384
  const showPageBuilderTabs = (schema === null || schema === void 0 ? void 0 : (_schema$interfaces = schema.interfaces) === null || _schema$interfaces === void 0 ? void 0 : _schema$interfaces.includes('page-builder/page-builder-template')) || (schema === null || schema === void 0 ? void 0 : (_schema$interfaces2 = schema.interfaces) === null || _schema$interfaces2 === void 0 ? void 0 : _schema$interfaces2.includes('page-builder/page-builder'));
385
385
  return /*#__PURE__*/React.createElement("div", {
386
- className: "page"
387
- }, /*#__PURE__*/React.createElement(Prompt, {
388
- when: hasToDisplayPrompt,
389
- message: LEAVE_PAGE_MESSAGE
390
- }), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
391
- onClose: setModalStatus,
392
- deleteAction: onDelete,
393
- itemName: formData.values.name
394
- }), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
395
- onClose: handleCopyDataFromClose,
396
- copyAction: onCopy,
397
- getFormData: getFormData
398
- }), /*#__PURE__*/React.createElement("div", {
399
- className: "row row--display-row"
400
- }, /*#__PURE__*/React.createElement("div", {
401
- className: "column column--three-quarters"
386
+ className: "page-wrapper"
402
387
  }, /*#__PURE__*/React.createElement(EntityHeader, {
403
388
  entityData: entityData,
404
389
  entityIdentifier: entityIdentifier,
@@ -415,6 +400,25 @@ const Entity = ({
415
400
  onViewUrl: onViewUrlHandler,
416
401
  saveButtonText: saveButtonText
417
402
  }), /*#__PURE__*/React.createElement("div", {
403
+ className: "page-wrapper__content"
404
+ }, /*#__PURE__*/React.createElement("div", {
405
+ className: "page page__tab"
406
+ }, /*#__PURE__*/React.createElement(Prompt, {
407
+ when: hasToDisplayPrompt,
408
+ message: LEAVE_PAGE_MESSAGE
409
+ }), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
410
+ onClose: setModalStatus,
411
+ deleteAction: onDelete,
412
+ itemName: formData.values.name
413
+ }), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
414
+ onClose: handleCopyDataFromClose,
415
+ copyAction: onCopy,
416
+ getFormData: getFormData
417
+ }), /*#__PURE__*/React.createElement("div", {
418
+ className: "row row--display-row"
419
+ }, /*#__PURE__*/React.createElement("div", {
420
+ className: "column"
421
+ }, /*#__PURE__*/React.createElement("div", {
418
422
  className: "page__content"
419
423
  }, /*#__PURE__*/React.createElement("div", {
420
424
  className: "content"
@@ -439,8 +443,8 @@ const Entity = ({
439
443
  updateCopyData: updateCopyData,
440
444
  formValues: formValues,
441
445
  isNewEntity: isNewEntity
442
- }))))), /*#__PURE__*/React.createElement("div", {
443
- className: "column column--one-third"
446
+ }))))))), /*#__PURE__*/React.createElement("div", {
447
+ className: "column column--one-third page-sidebar"
444
448
  }, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
445
449
  entity: entity,
446
450
  formData: formData.values,
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page-wrapper\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"page page__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column\">\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
@@ -4,9 +4,9 @@ import uuidv1 from 'uuid/v1';
4
4
  import { useApolloClient } from '@apollo/client';
5
5
  import { getQuery } from '@blaze-cms/admin-ui-utils';
6
6
  import { formFieldTypes } from '@blaze-cms/react-form-builder';
7
- import Badge from '@blaze-react/badge';
7
+ import classnames from 'classnames';
8
8
  import { VersionsList } from '@blaze-cms/versioning-ui';
9
- import { PUBLISHED } from '../../../../constants';
9
+ import { PUBLISHED, UNPUBLISHED } from '../../../../constants';
10
10
 
11
11
  const SideBarRelations = ({
12
12
  schema,
@@ -21,7 +21,8 @@ const SideBarRelations = ({
21
21
  formattedStatus,
22
22
  formattedUpdated,
23
23
  formattedCreated,
24
- formattedPublished
24
+ formattedPublished,
25
+ status
25
26
  } = formData;
26
27
  const client = useApolloClient();
27
28
  const [relationsComponents, setRelationsComponents] = useState(null);
@@ -64,6 +65,10 @@ const SideBarRelations = ({
64
65
  identifier: itemEntity,
65
66
  interfaces
66
67
  } = schema;
68
+ const statusClassName = classnames('sidebar__status__badge', {
69
+ 'sidebar__status__badge--published': status === PUBLISHED,
70
+ 'sidebar__status__badge--unpublished': status === UNPUBLISHED
71
+ });
67
72
  return /*#__PURE__*/React.createElement("div", {
68
73
  className: "sidebar",
69
74
  "data-testid": "sideBarRelations-main-div"
@@ -71,10 +76,11 @@ const SideBarRelations = ({
71
76
  className: "sidebar__content"
72
77
  }, formattedCreated && /*#__PURE__*/React.createElement("div", {
73
78
  className: "sidebar__status"
74
- }, formattedStatus && /*#__PURE__*/React.createElement(Badge, {
75
- type: "status",
76
- modifiers: formattedStatus
77
- }, formattedStatus, formattedStatus === PUBLISHED && `: ${formattedPublished}`), /*#__PURE__*/React.createElement("p", null, "Created: ", /*#__PURE__*/React.createElement("span", null, formattedCreated)), /*#__PURE__*/React.createElement("p", null, "Updated: ", /*#__PURE__*/React.createElement("span", null, formattedUpdated))), /*#__PURE__*/React.createElement(VersionsList, {
79
+ }, /*#__PURE__*/React.createElement("div", {
80
+ className: "sidebar__status__wrapper"
81
+ }, /*#__PURE__*/React.createElement("b", null, "Status"), /*#__PURE__*/React.createElement("span", {
82
+ className: statusClassName
83
+ }, formattedStatus)), formattedStatus === PUBLISHED && /*#__PURE__*/React.createElement("p", null, formattedStatus, " on: ", /*#__PURE__*/React.createElement("span", null, " ", formattedPublished)), /*#__PURE__*/React.createElement("p", null, "Created: ", /*#__PURE__*/React.createElement("span", null, formattedCreated)), /*#__PURE__*/React.createElement("p", null, "Updated: ", /*#__PURE__*/React.createElement("span", null, formattedUpdated))), /*#__PURE__*/React.createElement(VersionsList, {
78
84
  itemEntity: itemEntity,
79
85
  itemId: itemId,
80
86
  interfaces: interfaces
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","Badge","VersionsList","PUBLISHED","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","entitySchema","propTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,SAA1B,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,SAAnB;AACA,SAASC,eAAT,QAAgC,gBAAhC;AACA,SAASC,QAAT,QAAyB,2BAAzB;AACA,SAASC,cAAT,QAA+B,+BAA/B;AACA,OAAOC,KAAP,MAAkB,oBAAlB;AACA,SAASC,YAAT,QAA6B,0BAA7B;AACA,SAASC,SAAT,QAA0B,uBAA1B;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;EAAEC,MAAF;EAAUC,QAAV;EAAoBC,QAApB;EAA8BC;AAA9B,CAAD,KAA4C;EACnE,MAAM;IAAEC,QAAQ,EAAEC;EAAZ,IAAkCV,cAAxC;EACA,MAAM;IAAEW,eAAF;IAAmBC,gBAAnB;IAAqCC,gBAArC;IAAuDC;EAAvD,IAA8EP,QAApF;EACA,MAAMQ,MAAM,GAAGjB,eAAe,EAA9B;EACA,MAAM,CAACkB,mBAAD,EAAsBC,sBAAtB,IAAgDvB,QAAQ,CAAC,IAAD,CAA9D;EAEAC,SAAS,CACP,MAAM;IACJ,CAAC,YAAY;MACX,MAAMuB,mBAAmB,GAAG,OAAO;QAAEC;MAAF,CAAP,KAAgC;QAC1D,IAAI,CAACA,gBAAL,EAAuB,OAAO,IAAP;QAEvB,MAAM;UACJC,IAAI,EAAE;YACJC,gBAAgB,EAAE,CAACC,cAAD;UADd;QADF,IAIF,MAAMP,MAAM,CAACQ,KAAP,CAAa;UACrBA,KAAK,EAAExB,QAAQ,CAAC,mBAAD,CADM;UAErByB,SAAS,EAAE;YAAEC,UAAU,EAAEN;UAAd;QAFU,CAAb,CAJV;QAQA,OAAOG,cAAP;MACD,CAZD;;MAcA,IAAI,CAACN,mBAAD,IAAwBX,MAA5B,EAAoC;QAClC,MAAMqB,qBAAqB,GAAG,MAAMC,OAAO,CAACC,GAAR,CAClCvB,MAAM,CAACwB,SAAP,CACGC,MADH,CACU,CAAC;UAAEC,UAAF;UAAcC;QAAd,CAAD,KAAgCD,UAAU,IAAI1B,MAAM,CAAC4B,UAAP,CAAkBD,UAAlB,CADxD,EAEGE,GAFH,CAEO,MAAMzB,QAAN,KAAmB;UACtB0B,EAAE,EAAEtC,MAAM,EADY;UAEtBuC,UAAU,EAAE3B,QAFU;UAGtBJ,MAAM,EAAE,MAAMa,mBAAmB,CAACT,QAAD;QAHX,CAAnB,CAFP,CADkC,CAApC;QAUAQ,sBAAsB,CAACS,qBAAD,CAAtB;MACD;IACF,CA5BD;EA6BD,CA/BM,EAgCP,CAACX,MAAD,EAASC,mBAAT,EAA8BX,MAA9B,EAAsCA,MAAM,CAACwB,SAA7C,CAhCO,CAAT;EAkCA,MAAM;IAAEM,EAAE,EAAEE;EAAN,IAAiB7B,MAAvB;EACA,MAAM;IAAEiB,UAAU,EAAEa,UAAd;IAA0BC;EAA1B,IAAyClC,MAA/C;EAEA,oBACE;IAAK,SAAS,EAAC,SAAf;IAAyB,eAAY;EAArC,gBACE;IAAK,SAAS,EAAC;EAAf,GACGQ,gBAAgB,iBACf;IAAK,SAAS,EAAC;EAAf,GACGF,eAAe,iBACd,oBAAC,KAAD;IAAO,IAAI,EAAC,QAAZ;IAAqB,SAAS,EAAEA;EAAhC,GACGA,eADH,EAEGA,eAAe,KAAKR,SAApB,IAAkC,KAAIW,kBAAmB,EAF5D,CAFJ,eAOE,yDACW,kCAAOD,gBAAP,CADX,CAPF,eAUE,yDACW,kCAAOD,gBAAP,CADX,CAVF,CAFJ,eAkBE,oBAAC,YAAD;IAAc,UAAU,EAAE0B,UAA1B;IAAsC,MAAM,EAAED,MAA9C;IAAsD,UAAU,EAAEE;EAAlE,EAlBF,EAmBGvB,mBAAmB,IAClBA,mBAAmB,CAACkB,GAApB,CAAwB,CAAC;IAAEC,EAAF;IAAMC,UAAN;IAAkB/B,MAAM,EAAEmC;EAA1B,CAAD,kBACtB,oBAAC,iBAAD;IACE,QAAQ,EAAEjC,QADZ;IAEE,MAAM,EAAEiC,YAFV;IAGE,GAAG,EAAEL,EAHP;IAIE,UAAU,EAAEC,UAJd;IAKE,QAAQ,EAAE9B;EALZ,EADF,CApBJ,CADF,CADF;AAkCD,CA7ED;;AA+EAF,gBAAgB,CAACqC,SAAjB,GAA6B;EAC3BpC,MAAM,EAAET,SAAS,CAAC8C,MAAV,CAAiBC,UADE;EAE3BrC,QAAQ,EAAEV,SAAS,CAACgD,IAAV,CAAeD,UAFE;EAG3BpC,QAAQ,EAAEX,SAAS,CAAC8C,MAAV,CAAiBC,UAHA;EAI3BnC,MAAM,EAAEZ,SAAS,CAAC8C;AAJS,CAA7B;AAOAtC,gBAAgB,CAACyC,YAAjB,GAAgC;EAC9BrC,MAAM,EAAE;AADsB,CAAhC;AAIA,eAAeJ,gBAAf"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","classnames","VersionsList","PUBLISHED","UNPUBLISHED","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","status","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","statusClassName","entitySchema","propTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n status\n } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\n });\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.125.0-alpha.3",
3
+ "version": "0.125.0-f-admin-updates.0",
4
4
  "description": "Blaze plugin data ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,12 +27,12 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-utils": "^0.124.0",
30
+ "@blaze-cms/admin-ui-utils": "^0.125.0-f-admin-updates.0",
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
- "@blaze-cms/react-form-builder": "^0.124.0",
33
- "@blaze-cms/react-page-builder": "^0.125.0-alpha.3",
32
+ "@blaze-cms/react-form-builder": "^0.125.0-f-admin-updates.0",
33
+ "@blaze-cms/react-page-builder": "^0.125.0-f-admin-updates.0",
34
34
  "@blaze-cms/setup-ui": "^0.92.0",
35
- "@blaze-cms/versioning-ui": "^0.124.0",
35
+ "@blaze-cms/versioning-ui": "^0.125.0-f-admin-updates.0",
36
36
  "@blaze-react/button": "0.5.19",
37
37
  "@blaze-react/more": "0.5.19",
38
38
  "@blaze-react/multiselect": "0.6.6",
@@ -65,5 +65,5 @@
65
65
  "lib/*",
66
66
  "lib-es/*"
67
67
  ],
68
- "gitHead": "6dd2cf1e5dcf86ad90a48d333e1e517fdd208800"
68
+ "gitHead": "aaa8fdc973cbae5af6cfc5668ce792ffa456cc62"
69
69
  }
@@ -402,69 +402,73 @@ const Entity = ({
402
402
  schema?.interfaces?.includes('page-builder/page-builder');
403
403
 
404
404
  return (
405
- <div className="page">
406
- <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />
407
- {showModal && (
408
- <DeleteAction
409
- onClose={setModalStatus}
410
- deleteAction={onDelete}
411
- itemName={formData.values.name}
412
- />
413
- )}
414
- {copyModalStatus && (
415
- <CopyDataFromAction
416
- onClose={handleCopyDataFromClose}
417
- copyAction={onCopy}
418
- getFormData={getFormData}
419
- />
420
- )}
421
-
422
- <div className="row row--display-row">
423
- <div className="column column--three-quarters">
424
- <EntityHeader
425
- entityData={entityData}
426
- entityIdentifier={entityIdentifier}
427
- pageTitle={pageTitle}
428
- pageName={pageName}
429
- onSubmit={onSubmit}
430
- handlePublishAndUnpublish={handlePublishAndUnpublish}
431
- isSaveButtonAvailable={isSaveButtonAvailable}
432
- isEnablePublishButton={isEnablePublishButton}
433
- isEnablePreviewButton={isEnablePreviewButton}
434
- toggleCopyModal={setCopyModalStatus}
435
- toggleModal={setModalStatus}
436
- formData={formData}
437
- onViewUrl={onViewUrlHandler}
438
- saveButtonText={saveButtonText}
439
- />
440
-
441
- <div className="page__content">
442
- <div className="content">
443
- <Tabs
444
- enabled={showPageBuilderTabs}
445
- onTabChange={tabId => {
446
- client.writeQuery({
447
- query: GET_CURRENT_TAB_ID,
448
- data: { currentTabId: tabId }
449
- });
450
- setCurrentTabId(tabId);
451
- }}>
452
- <FormBuilder
453
- getIsFormValid={setIsFormValid}
454
- getFormValues={getFormValues}
455
- schema={schema}
456
- data={clonedFormData}
457
- onChange={onChangeFormValues}
458
- shouldCopyData={shouldCopyData}
459
- updateCopyData={updateCopyData}
460
- formValues={formValues}
461
- isNewEntity={isNewEntity}
462
- />
463
- </Tabs>
405
+ <div className="page-wrapper">
406
+ <EntityHeader
407
+ entityData={entityData}
408
+ entityIdentifier={entityIdentifier}
409
+ pageTitle={pageTitle}
410
+ pageName={pageName}
411
+ onSubmit={onSubmit}
412
+ handlePublishAndUnpublish={handlePublishAndUnpublish}
413
+ isSaveButtonAvailable={isSaveButtonAvailable}
414
+ isEnablePublishButton={isEnablePublishButton}
415
+ isEnablePreviewButton={isEnablePreviewButton}
416
+ toggleCopyModal={setCopyModalStatus}
417
+ toggleModal={setModalStatus}
418
+ formData={formData}
419
+ onViewUrl={onViewUrlHandler}
420
+ saveButtonText={saveButtonText}
421
+ />
422
+ <div className="page-wrapper__content">
423
+ <div className="page page__tab">
424
+ <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />
425
+ {showModal && (
426
+ <DeleteAction
427
+ onClose={setModalStatus}
428
+ deleteAction={onDelete}
429
+ itemName={formData.values.name}
430
+ />
431
+ )}
432
+ {copyModalStatus && (
433
+ <CopyDataFromAction
434
+ onClose={handleCopyDataFromClose}
435
+ copyAction={onCopy}
436
+ getFormData={getFormData}
437
+ />
438
+ )}
439
+
440
+ <div className="row row--display-row">
441
+ <div className="column">
442
+ <div className="page__content">
443
+ <div className="content">
444
+ <Tabs
445
+ enabled={showPageBuilderTabs}
446
+ onTabChange={tabId => {
447
+ client.writeQuery({
448
+ query: GET_CURRENT_TAB_ID,
449
+ data: { currentTabId: tabId }
450
+ });
451
+ setCurrentTabId(tabId);
452
+ }}>
453
+ <FormBuilder
454
+ getIsFormValid={setIsFormValid}
455
+ getFormValues={getFormValues}
456
+ schema={schema}
457
+ data={clonedFormData}
458
+ onChange={onChangeFormValues}
459
+ shouldCopyData={shouldCopyData}
460
+ updateCopyData={updateCopyData}
461
+ formValues={formValues}
462
+ isNewEntity={isNewEntity}
463
+ />
464
+ </Tabs>
465
+ </div>
466
+ </div>
464
467
  </div>
465
468
  </div>
466
469
  </div>
467
- <div className="column column--one-third">
470
+
471
+ <div className="column column--one-third page-sidebar">
468
472
  {showSideBarRelations && (
469
473
  <SideBarRelations
470
474
  entity={entity}
@@ -4,16 +4,21 @@ import uuidv1 from 'uuid/v1';
4
4
  import { useApolloClient } from '@apollo/client';
5
5
  import { getQuery } from '@blaze-cms/admin-ui-utils';
6
6
  import { formFieldTypes } from '@blaze-cms/react-form-builder';
7
- import Badge from '@blaze-react/badge';
7
+ import classnames from 'classnames';
8
8
  import { VersionsList } from '@blaze-cms/versioning-ui';
9
- import { PUBLISHED } from '../../../../constants';
9
+ import { PUBLISHED, UNPUBLISHED } from '../../../../constants';
10
10
 
11
11
  const SideBarRelations = ({ schema, onChange, formData, entity }) => {
12
12
  const { relation: RelationComponent } = formFieldTypes;
13
- const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;
13
+ const {
14
+ formattedStatus,
15
+ formattedUpdated,
16
+ formattedCreated,
17
+ formattedPublished,
18
+ status
19
+ } = formData;
14
20
  const client = useApolloClient();
15
21
  const [relationsComponents, setRelationsComponents] = useState(null);
16
-
17
22
  useEffect(
18
23
  () => {
19
24
  (async () => {
@@ -51,17 +56,26 @@ const SideBarRelations = ({ schema, onChange, formData, entity }) => {
51
56
  const { id: itemId } = entity;
52
57
  const { identifier: itemEntity, interfaces } = schema;
53
58
 
59
+ const statusClassName = classnames('sidebar__status__badge', {
60
+ 'sidebar__status__badge--published': status === PUBLISHED,
61
+ 'sidebar__status__badge--unpublished': status === UNPUBLISHED
62
+ });
63
+
54
64
  return (
55
65
  <div className="sidebar" data-testid="sideBarRelations-main-div">
56
66
  <div className="sidebar__content">
57
67
  {formattedCreated && (
58
68
  <div className="sidebar__status">
59
- {formattedStatus && (
60
- <Badge type="status" modifiers={formattedStatus}>
61
- {formattedStatus}
62
- {formattedStatus === PUBLISHED && `: ${formattedPublished}`}
63
- </Badge>
69
+ <div className="sidebar__status__wrapper">
70
+ <b>Status</b>
71
+ <span className={statusClassName}>{formattedStatus}</span>
72
+ </div>
73
+ {formattedStatus === PUBLISHED && (
74
+ <p>
75
+ {formattedStatus} on: <span> {formattedPublished}</span>
76
+ </p>
64
77
  )}
78
+
65
79
  <p>
66
80
  Created: <span>{formattedCreated}</span>
67
81
  </p>