@blaze-cms/plugin-data-ui 0.141.0-core-styles.3 → 0.141.0-core-styles.5

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.
Files changed (22) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/components/EntityManager/Entity/Entity.js +2 -1
  3. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  4. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js +13 -1
  5. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  6. package/lib/components/ListingTable/ListingTable.js +19 -6
  7. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  8. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +5 -2
  9. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  10. package/lib-es/components/EntityManager/Entity/Entity.js +2 -1
  11. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  12. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js +13 -1
  13. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  14. package/lib-es/components/ListingTable/ListingTable.js +19 -6
  15. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  16. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +5 -2
  17. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  18. package/package.json +2 -2
  19. package/src/components/EntityManager/Entity/Entity.js +1 -0
  20. package/src/components/EntityManager/Entity/EntityHeader/EntityHeader.js +15 -6
  21. package/src/components/ListingTable/ListingTable.js +38 -23
  22. package/src/components/ListingTable/ListingTableContent/ListingTableContent.js +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","useCallbackDebounce","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_schema$interfaces","_schema$interfaces2","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","externalUpdateTime","setExternalUpdateTime","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","displayProperties","saveOnChange","onSubmit","current","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","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties","_excluded","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","_objectSpread","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","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","createElement","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","enabled","onTabChange","tabId","currentTabId","getIsFormValid","onChange","onExternalUpdate","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\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';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\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 const [externalUpdateTime, setExternalUpdateTime] = useState(null);\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\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\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\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 <RecordEditContextProvider value={{ externalUpdateTime }}>\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"page__content--fixed\">\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n onExternalUpdate={setExternalUpdateTime}\n />\n </Tabs>\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar page-sidebar--relations\">\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 </RecordEditContextProvider>\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","RenderHook","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","useCallbackDebounce","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_schema$interfaces","_schema$interfaces2","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","externalUpdateTime","setExternalUpdateTime","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","displayProperties","saveOnChange","onSubmit","current","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","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties","_excluded","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","_objectSpread","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","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","createElement","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","enabled","onTabChange","tabId","currentTabId","getIsFormValid","onChange","onExternalUpdate","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\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';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\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 const [externalUpdateTime, setExternalUpdateTime] = useState(null);\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\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\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\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 <RecordEditContextProvider value={{ externalUpdateTime }}>\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n entitySchema={entitySchema}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"page__content--fixed\">\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n onExternalUpdate={setExternalUpdateTime}\n />\n </Tabs>\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar page-sidebar--relations\">\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 </RecordEditContextProvider>\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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"}
@@ -8,6 +8,7 @@ import { SAVE_BUTTON_TEXTS } from '../../../../constants';
8
8
  const EntityHeader = ({
9
9
  saveButtonText,
10
10
  entityData,
11
+ entitySchema,
11
12
  entityIdentifier,
12
13
  pageTitle,
13
14
  onSubmit,
@@ -25,6 +26,16 @@ const EntityHeader = ({
25
26
  const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];
26
27
  const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;
27
28
  const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;
29
+ const {
30
+ displayProperties: {
31
+ adminCrudActions: {
32
+ delete: deleteAction = {
33
+ active: true
34
+ }
35
+ } = {}
36
+ } = {}
37
+ } = entitySchema || {};
38
+ const showDeleteButton = deleteAction.active && formData && Object.keys(formData.values).length !== 0;
28
39
  return /*#__PURE__*/React.createElement(PageHeader, {
29
40
  title: pageTitle,
30
41
  pageName: pageName,
@@ -57,7 +68,7 @@ const EntityHeader = ({
57
68
  }, "Copy data from"), onViewUrl && /*#__PURE__*/React.createElement(Button, {
58
69
  className: "more-menu__link",
59
70
  onClick: onViewUrl
60
- }, "View"), formData && Object.keys(formData.values).length !== 0 && /*#__PURE__*/React.createElement(Button, {
71
+ }, "View"), showDeleteButton && /*#__PURE__*/React.createElement(Button, {
61
72
  className: "more-menu__link",
62
73
  onClick: toggleModal
63
74
  }, "Delete")))));
@@ -65,6 +76,7 @@ const EntityHeader = ({
65
76
  EntityHeader.propTypes = {
66
77
  entityData: PropTypes.object,
67
78
  entityIdentifier: PropTypes.string,
79
+ entitySchema: PropTypes.object.isRequired,
68
80
  pageTitle: PropTypes.string.isRequired,
69
81
  pageName: PropTypes.string,
70
82
  onSubmit: PropTypes.func.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"EntityHeader.js","names":["React","PageHeader","Button","More","PropTypes","HeaderPreviewButton","SAVE_BUTTON_TEXTS","EntityHeader","saveButtonText","entityData","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","saveOnChange","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","saving","createElement","title","Actions","onClick","modifiers","disabled","Avatar","isMoreMenu","className","Content","itemId","itemEntity","Object","keys","values","length","propTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl,\n saveOnChange\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n {!saveOnChange && (\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n )}\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {formData &&\n Object.keys(formData.values).length !== 0 && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string,\n saveOnChange: PropTypes.bool.isRequired\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"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"}
1
+ {"version":3,"file":"EntityHeader.js","names":["React","PageHeader","Button","More","PropTypes","HeaderPreviewButton","SAVE_BUTTON_TEXTS","EntityHeader","saveButtonText","entityData","entitySchema","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","saveOnChange","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","saving","displayProperties","adminCrudActions","delete","deleteAction","active","showDeleteButton","Object","keys","values","length","createElement","title","Actions","onClick","modifiers","disabled","Avatar","isMoreMenu","className","Content","itemId","itemEntity","propTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entitySchema,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl,\n saveOnChange\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n const {\n displayProperties: { adminCrudActions: { delete: deleteAction = { active: true } } = {} } = {}\n } =\n entitySchema || {};\n\n const showDeleteButton =\n deleteAction.active && formData && Object.keys(formData.values).length !== 0;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n {!saveOnChange && (\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n )}\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {showDeleteButton && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n entitySchema: PropTypes.object.isRequired,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string,\n saveOnChange: PropTypes.bool.isRequired\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"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"}
@@ -142,17 +142,30 @@ const ListingTable = ({
142
142
  history.push('?page=1');
143
143
  };
144
144
  if (!tableData || !tableData.rows) return 'loading';
145
- const showAddButton = !!tableData.rows.length;
145
+ const {
146
+ displayProperties: {
147
+ adminCrudActions: {
148
+ create: createAction = {
149
+ active: true
150
+ },
151
+ delete: _deleteAction = {
152
+ active: true
153
+ }
154
+ } = {}
155
+ } = {}
156
+ } = entitySchema;
157
+ const showAddButton = !!tableData.rows.length && listFilters.length === 0;
146
158
  return /*#__PURE__*/React.createElement("div", {
147
159
  className: "page"
148
- }, modalStatus && /*#__PURE__*/React.createElement(DeleteAction, {
160
+ }, modalStatus && _deleteAction.active && /*#__PURE__*/React.createElement(DeleteAction, {
161
+ "data-testid": "deleteEntity",
149
162
  onClose: toggleModal,
150
163
  deleteAction: deleteAction,
151
164
  itemName: itemToDelete.name
152
165
  }), /*#__PURE__*/React.createElement(PageHeader, {
153
166
  title: entitySchema.displayName,
154
167
  subtitle: ""
155
- }, showAddButton && /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Link, {
168
+ }, createAction.active && /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Link, {
156
169
  "data-testid": "addEntity",
157
170
  className: "button button--small",
158
171
  to: `${match.url}/create`
@@ -162,11 +175,11 @@ const ListingTable = ({
162
175
  className: "material-icons"
163
176
  }, "more_vert")), /*#__PURE__*/React.createElement(More.Content, {
164
177
  isMoreMenu: true
165
- }))))), !showAddButton && /*#__PURE__*/React.createElement(CardPrompt, null, /*#__PURE__*/React.createElement(Link, {
178
+ }))))), !showAddButton && listFilters.length === 0 ? /*#__PURE__*/React.createElement(CardPrompt, null, /*#__PURE__*/React.createElement(Link, {
166
179
  className: "button button--rounded button--cta",
167
180
  to: `${match.url}/create`,
168
181
  "data-testid": "add-button"
169
- }, "Add")), /*#__PURE__*/React.createElement(RenderHook, {
182
+ }, "Add")) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RenderHook, {
170
183
  hookKey: "entity:listing:main:top",
171
184
  schema: entitySchema,
172
185
  setListFilters: updateListingFilters
@@ -177,7 +190,7 @@ const ListingTable = ({
177
190
  handleOnPageChange: handleOnPageChange,
178
191
  tableData: tableData,
179
192
  onCloseCardPrompt: onCloseCardPrompt
180
- }));
193
+ })));
181
194
  };
182
195
  ListingTable.propTypes = {
183
196
  entitySchema: PropTypes.object.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","More","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","ListingTableContent","availableActions","fetchData","populateRows","formatRows","getParsedRowData","getDefaultQueryParams","ListingTable","match","entitySchema","history","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","totalItems","setTotalItems","queryParamsDefault","queryParams","setQueryParams","listFilters","setListFilters","client","addToast","location","searchParams","URLSearchParams","search","currentPage","Number","get","doQuery","url","filters","params","listingData","totalRecords","querySettings","populatedTable","toggleModal","rows","handleOnPageChange","pageNumber","offset","_offset","updatedQueryParams","_objectSpread","push","updateListingFilters","onCloseCardPrompt","item","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","isEnquiry","firstColumn","appliedSort","showAddButton","length","createElement","className","onClose","itemName","name","title","displayName","subtitle","to","Actions","Avatar","isMoreMenu","Content","hookKey","schema","onSort","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows, getParsedRowData } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst ListingTable = ({ match, entitySchema, history }) => {\n const [tableData, setTableData] = useState({});\n const [modalStatus, setModalStatus] = useState(false);\n const [itemToDelete, setItemToDelete] = useState({});\n const [previousSchema, setPreviousSchema] = useState({ id: null });\n const [totalItems, setTotalItems] = useState(0);\n const queryParamsDefault = getDefaultQueryParams(entitySchema);\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const [listFilters, setListFilters] = useState([]);\n const client = useApolloClient();\n const { addToast } = useToasts();\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const currentPage = Number(searchParams.get('page')) || 1;\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n await doQuery();\n setPreviousSchema({ id: entitySchema.id });\n }\n })();\n },\n [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const doQuery = async (filters = listFilters, params = queryParamsDefault) => {\n const { listingData, totalRecords } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: params\n },\n listFilters: filters\n });\n\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: listingData\n });\n\n setTableData(populatedTable);\n setTotalItems(totalRecords);\n };\n\n const handleOnPageChange = async ({ pageNumber, offset: _offset }) => {\n const updatedQueryParams = {\n ...queryParams,\n offset: _offset\n };\n\n await doQuery(listFilters, updatedQueryParams);\n\n history.push(`?page=${pageNumber}`);\n };\n\n const updateListingFilters = async filters => {\n await doQuery(filters);\n setListFilters(filters);\n };\n\n const onCloseCardPrompt = () => null;\n\n const toggleModal = item => {\n setModalStatus(!!item);\n setItemToDelete(item || {});\n };\n\n const deleteAction = async () => {\n await availableActions.delete.submit(\n {\n entitySchema,\n parsedFormValues: { id: itemToDelete.id },\n client\n },\n addToast\n );\n\n toggleModal();\n\n const updatedTableData = {\n ...tableData,\n rows: tableData.rows.filter(({ id }) => id !== itemToDelete.id)\n };\n\n setTableData(updatedTableData);\n };\n\n const handleSort = async event => {\n const [[property, direction]] = Object.entries(event);\n const sortQueryParams = {\n ...queryParamsDefault,\n sort: [{ property, direction }]\n };\n setQueryParams(sortQueryParams);\n\n const { listingData } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n },\n listFilters\n });\n const { columns, isEnquiry } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({\n rows: getParsedRowData(listingData),\n url: match.url,\n toggleModal,\n firstColumn,\n isEnquiry\n })\n });\n history.push('?page=1');\n };\n\n if (!tableData || !tableData.rows) return 'loading';\n const showAddButton = !!tableData.rows.length;\n\n return (\n <div className=\"page\">\n {modalStatus && (\n <DeleteAction\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {showAddButton && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n {!showAddButton && (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n )}\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n setListFilters={updateListingFilters}\n />\n <ListingTableContent\n totalItems={totalItems}\n currentPage={currentPage}\n onSort={handleSort}\n handleOnPageChange={handleOnPageChange}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n />\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","More","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","ListingTableContent","availableActions","fetchData","populateRows","formatRows","getParsedRowData","getDefaultQueryParams","ListingTable","match","entitySchema","history","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","totalItems","setTotalItems","queryParamsDefault","queryParams","setQueryParams","listFilters","setListFilters","client","addToast","location","searchParams","URLSearchParams","search","currentPage","Number","get","doQuery","url","filters","params","listingData","totalRecords","querySettings","populatedTable","toggleModal","rows","handleOnPageChange","pageNumber","offset","_offset","updatedQueryParams","_objectSpread","push","updateListingFilters","onCloseCardPrompt","item","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","isEnquiry","firstColumn","appliedSort","displayProperties","adminCrudActions","create","createAction","active","_deleteAction","showAddButton","length","createElement","className","onClose","itemName","name","title","displayName","subtitle","to","Actions","Avatar","isMoreMenu","Content","hookKey","schema","onSort","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows, getParsedRowData } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst ListingTable = ({ match, entitySchema, history }) => {\n const [tableData, setTableData] = useState({});\n const [modalStatus, setModalStatus] = useState(false);\n const [itemToDelete, setItemToDelete] = useState({});\n const [previousSchema, setPreviousSchema] = useState({ id: null });\n const [totalItems, setTotalItems] = useState(0);\n const queryParamsDefault = getDefaultQueryParams(entitySchema);\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const [listFilters, setListFilters] = useState([]);\n const client = useApolloClient();\n const { addToast } = useToasts();\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const currentPage = Number(searchParams.get('page')) || 1;\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n await doQuery();\n setPreviousSchema({ id: entitySchema.id });\n }\n })();\n },\n [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const doQuery = async (filters = listFilters, params = queryParamsDefault) => {\n const { listingData, totalRecords } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: params\n },\n listFilters: filters\n });\n\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: listingData\n });\n\n setTableData(populatedTable);\n setTotalItems(totalRecords);\n };\n\n const handleOnPageChange = async ({ pageNumber, offset: _offset }) => {\n const updatedQueryParams = {\n ...queryParams,\n offset: _offset\n };\n\n await doQuery(listFilters, updatedQueryParams);\n\n history.push(`?page=${pageNumber}`);\n };\n\n const updateListingFilters = async filters => {\n await doQuery(filters);\n setListFilters(filters);\n };\n\n const onCloseCardPrompt = () => null;\n\n const toggleModal = item => {\n setModalStatus(!!item);\n setItemToDelete(item || {});\n };\n\n const deleteAction = async () => {\n await availableActions.delete.submit(\n {\n entitySchema,\n parsedFormValues: { id: itemToDelete.id },\n client\n },\n addToast\n );\n\n toggleModal();\n\n const updatedTableData = {\n ...tableData,\n rows: tableData.rows.filter(({ id }) => id !== itemToDelete.id)\n };\n\n setTableData(updatedTableData);\n };\n\n const handleSort = async event => {\n const [[property, direction]] = Object.entries(event);\n const sortQueryParams = {\n ...queryParamsDefault,\n sort: [{ property, direction }]\n };\n setQueryParams(sortQueryParams);\n\n const { listingData } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n },\n listFilters\n });\n const { columns, isEnquiry } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({\n rows: getParsedRowData(listingData),\n url: match.url,\n toggleModal,\n firstColumn,\n isEnquiry\n })\n });\n history.push('?page=1');\n };\n\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !!tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus &&\n _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n {!showAddButton && listFilters.length === 0 ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n setListFilters={updateListingFilters}\n />\n <ListingTableContent\n totalItems={totalItems}\n currentPage={currentPage}\n onSort={handleSort}\n handleOnPageChange={handleOnPageChange}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n />\n </>\n )}\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ const ListingTableContent = ({
16
16
  isEnquiry
17
17
  } = tableData;
18
18
  const className = `page__content${isEnquiry ? ' array-table' : ''}`;
19
- return /*#__PURE__*/React.createElement(React.Fragment, null, displayTable && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
19
+ return /*#__PURE__*/React.createElement(React.Fragment, null, displayTable ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
20
20
  className: className
21
21
  }, /*#__PURE__*/React.createElement(Table, {
22
22
  onSort: onSort,
@@ -29,7 +29,10 @@ const ListingTableContent = ({
29
29
  totalItems: totalItems,
30
30
  currentPage: currentPage,
31
31
  onPageChange: handleOnPageChange
32
- }))));
32
+ }))) : /*#__PURE__*/React.createElement("span", {
33
+ className: "table-no-results",
34
+ "data-testid": "no-results"
35
+ }, "No results"));
33
36
  };
34
37
  ListingTableContent.propTypes = {
35
38
  tableData: PropTypes.object.isRequired,
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTableContent.js","names":["React","Table","Pagination","PropTypes","withRouter","ListingTableContent","tableData","handleSelect","onSort","handleOnPageChange","currentPage","totalItems","displayTable","rows","length","isEnquiry","className","createElement","Fragment","data","checkboxes","onSelect","visiblePages","onPageChange","propTypes","object","isRequired","match","shape","url","string","func","number","defaultProps"],"sources":["../../../../src/components/ListingTable/ListingTableContent/ListingTableContent.js"],"sourcesContent":["import React from 'react';\nimport Table from '@blaze-react/table';\nimport Pagination from '@blaze-react/pagination';\n\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nconst ListingTableContent = ({\n tableData,\n handleSelect,\n onSort,\n handleOnPageChange,\n currentPage,\n totalItems\n}) => {\n const displayTable = tableData && tableData.rows && !!tableData.rows.length;\n const { isEnquiry } = tableData;\n const className = `page__content${isEnquiry ? ' array-table' : ''}`;\n\n return (\n <>\n {displayTable && (\n <>\n <div className={className}>\n <Table\n onSort={onSort}\n data={tableData}\n checkboxes={!isEnquiry}\n onSelect={handleSelect}\n data-testid=\"listing-table-content\"\n />\n <Pagination\n visiblePages={10}\n totalItems={totalItems}\n currentPage={currentPage}\n onPageChange={handleOnPageChange}\n />\n </div>\n </>\n )}\n </>\n );\n};\n\nListingTableContent.propTypes = {\n tableData: PropTypes.object.isRequired,\n match: PropTypes.shape({\n url: PropTypes.string\n }).isRequired,\n handleSelect: PropTypes.func,\n onSort: PropTypes.func,\n handleOnPageChange: PropTypes.func,\n currentPage: PropTypes.number.isRequired,\n totalItems: PropTypes.number.isRequired\n};\n\nListingTableContent.defaultProps = {\n handleSelect: () => {},\n onSort: () => {},\n handleOnPageChange: () => {}\n};\n\nexport default withRouter(ListingTableContent);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,UAAU,MAAM,yBAAyB;AAEhD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,SAAS;EACTC,YAAY;EACZC,MAAM;EACNC,kBAAkB;EAClBC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGN,SAAS,IAAIA,SAAS,CAACO,IAAI,IAAI,CAAC,CAACP,SAAS,CAACO,IAAI,CAACC,MAAM;EAC3E,MAAM;IAAEC;EAAU,CAAC,GAAGT,SAAS;EAC/B,MAAMU,SAAS,GAAI,gBAAeD,SAAS,GAAG,cAAc,GAAG,EAAG,EAAC;EAEnE,oBACEf,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAkB,QAAA,QACGN,YAAY,iBACXZ,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAkB,QAAA,qBACElB,KAAA,CAAAiB,aAAA;IAAKD,SAAS,EAAEA;EAAU,gBACxBhB,KAAA,CAAAiB,aAAA,CAAChB,KAAK;IACJO,MAAM,EAAEA,MAAO;IACfW,IAAI,EAAEb,SAAU;IAChBc,UAAU,EAAE,CAACL,SAAU;IACvBM,QAAQ,EAAEd,YAAa;IACvB,eAAY;EAAuB,CACpC,CAAC,eACFP,KAAA,CAAAiB,aAAA,CAACf,UAAU;IACToB,YAAY,EAAE,EAAG;IACjBX,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA,WAAY;IACzBa,YAAY,EAAEd;EAAmB,CAClC,CACE,CACL,CAEJ,CAAC;AAEP,CAAC;AAEDJ,mBAAmB,CAACmB,SAAS,GAAG;EAC9BlB,SAAS,EAAEH,SAAS,CAACsB,MAAM,CAACC,UAAU;EACtCC,KAAK,EAAExB,SAAS,CAACyB,KAAK,CAAC;IACrBC,GAAG,EAAE1B,SAAS,CAAC2B;EACjB,CAAC,CAAC,CAACJ,UAAU;EACbnB,YAAY,EAAEJ,SAAS,CAAC4B,IAAI;EAC5BvB,MAAM,EAAEL,SAAS,CAAC4B,IAAI;EACtBtB,kBAAkB,EAAEN,SAAS,CAAC4B,IAAI;EAClCrB,WAAW,EAAEP,SAAS,CAAC6B,MAAM,CAACN,UAAU;EACxCf,UAAU,EAAER,SAAS,CAAC6B,MAAM,CAACN;AAC/B,CAAC;AAEDrB,mBAAmB,CAAC4B,YAAY,GAAG;EACjC1B,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChBC,kBAAkB,EAAEA,CAAA,KAAM,CAAC;AAC7B,CAAC;AAED,eAAeL,UAAU,CAACC,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ListingTableContent.js","names":["React","Table","Pagination","PropTypes","withRouter","ListingTableContent","tableData","handleSelect","onSort","handleOnPageChange","currentPage","totalItems","displayTable","rows","length","isEnquiry","className","createElement","Fragment","data","checkboxes","onSelect","visiblePages","onPageChange","propTypes","object","isRequired","match","shape","url","string","func","number","defaultProps"],"sources":["../../../../src/components/ListingTable/ListingTableContent/ListingTableContent.js"],"sourcesContent":["import React from 'react';\nimport Table from '@blaze-react/table';\nimport Pagination from '@blaze-react/pagination';\n\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nconst ListingTableContent = ({\n tableData,\n handleSelect,\n onSort,\n handleOnPageChange,\n currentPage,\n totalItems\n}) => {\n const displayTable = tableData && tableData.rows && !!tableData.rows.length;\n const { isEnquiry } = tableData;\n const className = `page__content${isEnquiry ? ' array-table' : ''}`;\n\n return (\n <>\n {displayTable ? (\n <>\n <div className={className}>\n <Table\n onSort={onSort}\n data={tableData}\n checkboxes={!isEnquiry}\n onSelect={handleSelect}\n data-testid=\"listing-table-content\"\n />\n <Pagination\n visiblePages={10}\n totalItems={totalItems}\n currentPage={currentPage}\n onPageChange={handleOnPageChange}\n />\n </div>\n </>\n ) : (\n <span className=\"table-no-results\" data-testid=\"no-results\">\n No results\n </span>\n )}\n </>\n );\n};\n\nListingTableContent.propTypes = {\n tableData: PropTypes.object.isRequired,\n match: PropTypes.shape({\n url: PropTypes.string\n }).isRequired,\n handleSelect: PropTypes.func,\n onSort: PropTypes.func,\n handleOnPageChange: PropTypes.func,\n currentPage: PropTypes.number.isRequired,\n totalItems: PropTypes.number.isRequired\n};\n\nListingTableContent.defaultProps = {\n handleSelect: () => {},\n onSort: () => {},\n handleOnPageChange: () => {}\n};\n\nexport default withRouter(ListingTableContent);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,UAAU,MAAM,yBAAyB;AAEhD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,MAAMC,mBAAmB,GAAGA,CAAC;EAC3BC,SAAS;EACTC,YAAY;EACZC,MAAM;EACNC,kBAAkB;EAClBC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGN,SAAS,IAAIA,SAAS,CAACO,IAAI,IAAI,CAAC,CAACP,SAAS,CAACO,IAAI,CAACC,MAAM;EAC3E,MAAM;IAAEC;EAAU,CAAC,GAAGT,SAAS;EAC/B,MAAMU,SAAS,GAAI,gBAAeD,SAAS,GAAG,cAAc,GAAG,EAAG,EAAC;EAEnE,oBACEf,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAkB,QAAA,QACGN,YAAY,gBACXZ,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAkB,QAAA,qBACElB,KAAA,CAAAiB,aAAA;IAAKD,SAAS,EAAEA;EAAU,gBACxBhB,KAAA,CAAAiB,aAAA,CAAChB,KAAK;IACJO,MAAM,EAAEA,MAAO;IACfW,IAAI,EAAEb,SAAU;IAChBc,UAAU,EAAE,CAACL,SAAU;IACvBM,QAAQ,EAAEd,YAAa;IACvB,eAAY;EAAuB,CACpC,CAAC,eACFP,KAAA,CAAAiB,aAAA,CAACf,UAAU;IACToB,YAAY,EAAE,EAAG;IACjBX,UAAU,EAAEA,UAAW;IACvBD,WAAW,EAAEA,WAAY;IACzBa,YAAY,EAAEd;EAAmB,CAClC,CACE,CACL,CAAC,gBAEHT,KAAA,CAAAiB,aAAA;IAAMD,SAAS,EAAC,kBAAkB;IAAC,eAAY;EAAY,GAAC,YAEtD,CAER,CAAC;AAEP,CAAC;AAEDX,mBAAmB,CAACmB,SAAS,GAAG;EAC9BlB,SAAS,EAAEH,SAAS,CAACsB,MAAM,CAACC,UAAU;EACtCC,KAAK,EAAExB,SAAS,CAACyB,KAAK,CAAC;IACrBC,GAAG,EAAE1B,SAAS,CAAC2B;EACjB,CAAC,CAAC,CAACJ,UAAU;EACbnB,YAAY,EAAEJ,SAAS,CAAC4B,IAAI;EAC5BvB,MAAM,EAAEL,SAAS,CAAC4B,IAAI;EACtBtB,kBAAkB,EAAEN,SAAS,CAAC4B,IAAI;EAClCrB,WAAW,EAAEP,SAAS,CAAC6B,MAAM,CAACN,UAAU;EACxCf,UAAU,EAAER,SAAS,CAAC6B,MAAM,CAACN;AAC/B,CAAC;AAEDrB,mBAAmB,CAAC4B,YAAY,GAAG;EACjC1B,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,MAAM,EAAEA,CAAA,KAAM,CAAC,CAAC;EAChBC,kBAAkB,EAAEA,CAAA,KAAM,CAAC;AAC7B,CAAC;AAED,eAAeL,UAAU,CAACC,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.141.0-core-styles.3",
3
+ "version": "0.141.0-core-styles.5",
4
4
  "description": "Blaze plugin data ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -67,5 +67,5 @@
67
67
  "lib/*",
68
68
  "lib-es/*"
69
69
  ],
70
- "gitHead": "d0eaddbf6a1e2cca4c955c0e95345354c24e7fd0"
70
+ "gitHead": "11cbeb7641fdfaef8f6a0d0f9ec7a03f701e2962"
71
71
  }
@@ -441,6 +441,7 @@ const Entity = ({
441
441
  onViewUrl={onViewUrlHandler}
442
442
  saveButtonText={saveButtonText}
443
443
  saveOnChange={saveOnChange}
444
+ entitySchema={entitySchema}
444
445
  />
445
446
  <div className="page-wrapper__content">
446
447
  <div className="tabs-wrapper tabs-wrapper__tab">
@@ -9,6 +9,7 @@ import { SAVE_BUTTON_TEXTS } from '../../../../constants';
9
9
  const EntityHeader = ({
10
10
  saveButtonText,
11
11
  entityData,
12
+ entitySchema,
12
13
  entityIdentifier,
13
14
  pageTitle,
14
15
  onSubmit,
@@ -27,6 +28,14 @@ const EntityHeader = ({
27
28
  const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;
28
29
  const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;
29
30
 
31
+ const {
32
+ displayProperties: { adminCrudActions: { delete: deleteAction = { active: true } } = {} } = {}
33
+ } =
34
+ entitySchema || {};
35
+
36
+ const showDeleteButton =
37
+ deleteAction.active && formData && Object.keys(formData.values).length !== 0;
38
+
30
39
  return (
31
40
  <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>
32
41
  <PageHeader.Actions>
@@ -61,12 +70,11 @@ const EntityHeader = ({
61
70
  View
62
71
  </Button>
63
72
  )}
64
- {formData &&
65
- Object.keys(formData.values).length !== 0 && (
66
- <Button className="more-menu__link" onClick={toggleModal}>
67
- Delete
68
- </Button>
69
- )}
73
+ {showDeleteButton && (
74
+ <Button className="more-menu__link" onClick={toggleModal}>
75
+ Delete
76
+ </Button>
77
+ )}
70
78
  </More.Content>
71
79
  </More>
72
80
  </PageHeader.Actions>
@@ -77,6 +85,7 @@ const EntityHeader = ({
77
85
  EntityHeader.propTypes = {
78
86
  entityData: PropTypes.object,
79
87
  entityIdentifier: PropTypes.string,
88
+ entitySchema: PropTypes.object.isRequired,
80
89
  pageTitle: PropTypes.string.isRequired,
81
90
  pageName: PropTypes.string,
82
91
  onSubmit: PropTypes.func.isRequired,
@@ -140,19 +140,31 @@ const ListingTable = ({ match, entitySchema, history }) => {
140
140
  };
141
141
 
142
142
  if (!tableData || !tableData.rows) return 'loading';
143
- const showAddButton = !!tableData.rows.length;
143
+
144
+ const {
145
+ displayProperties: {
146
+ adminCrudActions: {
147
+ create: createAction = { active: true },
148
+ delete: _deleteAction = { active: true }
149
+ } = {}
150
+ } = {}
151
+ } = entitySchema;
152
+
153
+ const showAddButton = !!tableData.rows.length && listFilters.length === 0;
144
154
 
145
155
  return (
146
156
  <div className="page">
147
- {modalStatus && (
148
- <DeleteAction
149
- onClose={toggleModal}
150
- deleteAction={deleteAction}
151
- itemName={itemToDelete.name}
152
- />
153
- )}
157
+ {modalStatus &&
158
+ _deleteAction.active && (
159
+ <DeleteAction
160
+ data-testid="deleteEntity"
161
+ onClose={toggleModal}
162
+ deleteAction={deleteAction}
163
+ itemName={itemToDelete.name}
164
+ />
165
+ )}
154
166
  <PageHeader title={entitySchema.displayName} subtitle="">
155
- {showAddButton && (
167
+ {createAction.active && (
156
168
  <Fragment>
157
169
  <Link
158
170
  data-testid="addEntity"
@@ -171,7 +183,7 @@ const ListingTable = ({ match, entitySchema, history }) => {
171
183
  </Fragment>
172
184
  )}
173
185
  </PageHeader>
174
- {!showAddButton && (
186
+ {!showAddButton && listFilters.length === 0 ? (
175
187
  <CardPrompt>
176
188
  <Link
177
189
  className="button button--rounded button--cta"
@@ -180,20 +192,23 @@ const ListingTable = ({ match, entitySchema, history }) => {
180
192
  Add
181
193
  </Link>
182
194
  </CardPrompt>
195
+ ) : (
196
+ <>
197
+ <RenderHook
198
+ hookKey="entity:listing:main:top"
199
+ schema={entitySchema}
200
+ setListFilters={updateListingFilters}
201
+ />
202
+ <ListingTableContent
203
+ totalItems={totalItems}
204
+ currentPage={currentPage}
205
+ onSort={handleSort}
206
+ handleOnPageChange={handleOnPageChange}
207
+ tableData={tableData}
208
+ onCloseCardPrompt={onCloseCardPrompt}
209
+ />
210
+ </>
183
211
  )}
184
- <RenderHook
185
- hookKey="entity:listing:main:top"
186
- schema={entitySchema}
187
- setListFilters={updateListingFilters}
188
- />
189
- <ListingTableContent
190
- totalItems={totalItems}
191
- currentPage={currentPage}
192
- onSort={handleSort}
193
- handleOnPageChange={handleOnPageChange}
194
- tableData={tableData}
195
- onCloseCardPrompt={onCloseCardPrompt}
196
- />
197
212
  </div>
198
213
  );
199
214
  };