@blaze-cms/plugin-data-ui 0.146.0-rc-eagle-3.12 → 0.146.0-rc-eagle-3.14

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.
@@ -65,6 +65,26 @@ const Entity = ({
65
65
  const [suppressPrompt, setSuppressPrompt] = (0, _react.useState)(false);
66
66
  const [isRightSidebarOpen, setIsRightSidebarOpen] = (0, _react.useState)(true);
67
67
  const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);
68
+ const isRightSidebarOpenRef = (0, _react.useRef)(isRightSidebarOpen);
69
+ isRightSidebarOpenRef.current = isRightSidebarOpen;
70
+ (0, _react.useEffect)(() => {
71
+ let openBeforeFullScreen = null;
72
+ const onFullScreen = ({
73
+ detail: {
74
+ isFullScreen
75
+ }
76
+ }) => {
77
+ if (isFullScreen) {
78
+ openBeforeFullScreen = isRightSidebarOpenRef.current;
79
+ setIsRightSidebarOpen(false);
80
+ } else if (openBeforeFullScreen !== null) {
81
+ setIsRightSidebarOpen(openBeforeFullScreen);
82
+ openBeforeFullScreen = null;
83
+ }
84
+ };
85
+ window.addEventListener(_constants.EDITOR_FULL_SCREEN_EVENT, onFullScreen);
86
+ return () => window.removeEventListener(_constants.EDITOR_FULL_SCREEN_EVENT, onFullScreen);
87
+ }, []);
68
88
  const isCreatePage = history.location.pathname.includes('create');
69
89
  const [isNewEntity, setIsNewEntity] = (0, _react.useState)(isCreatePage);
70
90
  const client = (0, _client.useApolloClient)();
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_client","_propTypes","_interopRequireDefault","_pluginRenderHooksUi","_adminUiUtils","_reactFormBuilder","_admin","_toaster","_lodash","_dataMappers","_actionsHandlers","_SideBarRelations","_useCallbackDebounce","_constants","_EntityHeader","_entity","_useToggle","_InfoBoxes","_RecordEditContext","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","formValues","setFormValues","useState","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","useToggle","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","SAVE_BUTTON_TEXTS","save","externalUpdateTime","setExternalUpdateTime","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","addToast","useToasts","componentIsMounted","useRef","displayProperties","saveOnChange","useCallbackDebounce","onSubmit","useEffect","current","getPageName","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","currentItemId","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties2","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","item","index","findIndex","updatedEntity","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","isViewable","canViewPage","onViewUrlHandler","onViewUrlClick","viewUrlDisabledReason","hasViewableUrl","VIEW_UNPUBLISHED_REASON","onTitleChange","TITLE_FIELD_ID","validate","onTitleChangeHandler","canEditTitle","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","RecordEditContextProvider","updated","className","toggleCopyModal","toggleModal","Prompt","when","message","LEAVE_PAGE_MESSAGE","DeleteAction","onClose","deleteAction","itemName","CopyDataFromAction","copyAction","RenderHook","hookKey","FormBuilder","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","propTypes","PropTypes","object","string","isRequired","func","defaultProps","_default","exports","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues, validate } 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 availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\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 VIEW_UNPUBLISHED_REASON,\n TITLE_FIELD_ID\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canEditTitle,\n canViewPage,\n hasViewableUrl,\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 [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 const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\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 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 currentItemId: entity ? entity.id : null\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 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 isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && 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 if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\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 // Unpublished keeps the button, disabled with a reason, rather than hiding it.\n const isViewable = canViewPage(entity, schema, entityIsPublished);\n const onViewUrlHandler = isViewable ? () => onViewUrlClick(getFullUrl) : onViewUrl;\n const viewUrlDisabledReason =\n !isViewable && hasViewableUrl(entity, schema) ? VIEW_UNPUBLISHED_REASON : null;\n\n const onTitleChange = value => {\n if (!componentIsMounted.current) return;\n const updatedFormValues = getUpdatedFormValues({ id: TITLE_FIELD_ID, value, formValues });\n const [isValid, valuesChecked] = validate({\n values: updatedFormValues,\n schema,\n currentField: TITLE_FIELD_ID\n });\n\n setFormValues(valuesChecked);\n setPageTitle(value);\n setIsFormValid(isValid);\n setIsSaveButtonAvailable(isValid);\n isValid && setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n };\n\n const onTitleChangeHandler = canEditTitle(schema, formValues) ? onTitleChange : null;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\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 viewUrlDisabledReason={viewUrlDisabledReason}\n onTitleChange={onTitleChangeHandler}\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\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\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 <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 mode={isNewEntity ? 'create' : 'update'}\n />\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\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\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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","ignoreList":[]}
1
+ {"version":3,"file":"Entity.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_client","_propTypes","_interopRequireDefault","_pluginRenderHooksUi","_adminUiUtils","_reactFormBuilder","_admin","_toaster","_lodash","_dataMappers","_actionsHandlers","_SideBarRelations","_useCallbackDebounce","_constants","_EntityHeader","_entity","_useToggle","_InfoBoxes","_RecordEditContext","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","formValues","setFormValues","useState","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","useToggle","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","SAVE_BUTTON_TEXTS","save","externalUpdateTime","setExternalUpdateTime","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isRightSidebarOpenRef","useRef","current","useEffect","openBeforeFullScreen","onFullScreen","detail","isFullScreen","window","addEventListener","EDITOR_FULL_SCREEN_EVENT","removeEventListener","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","addToast","useToasts","componentIsMounted","displayProperties","saveOnChange","useCallbackDebounce","onSubmit","getPageName","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","currentItemId","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties2","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","item","index","findIndex","updatedEntity","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","isViewable","canViewPage","onViewUrlHandler","onViewUrlClick","viewUrlDisabledReason","hasViewableUrl","VIEW_UNPUBLISHED_REASON","onTitleChange","TITLE_FIELD_ID","validate","onTitleChangeHandler","canEditTitle","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","RecordEditContextProvider","updated","className","toggleCopyModal","toggleModal","Prompt","when","message","LEAVE_PAGE_MESSAGE","DeleteAction","onClose","deleteAction","itemName","CopyDataFromAction","copyAction","RenderHook","hookKey","FormBuilder","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","propTypes","PropTypes","object","string","isRequired","func","defaultProps","_default","exports","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues, validate } 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 availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\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 VIEW_UNPUBLISHED_REASON,\n TITLE_FIELD_ID,\n EDITOR_FULL_SCREEN_EVENT\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canEditTitle,\n canViewPage,\n hasViewableUrl,\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 [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 const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\n const isRightSidebarOpenRef = useRef(isRightSidebarOpen);\n isRightSidebarOpenRef.current = isRightSidebarOpen;\n\n useEffect(() => {\n let openBeforeFullScreen = null;\n\n const onFullScreen = ({ detail: { isFullScreen } }) => {\n if (isFullScreen) {\n openBeforeFullScreen = isRightSidebarOpenRef.current;\n setIsRightSidebarOpen(false);\n } else if (openBeforeFullScreen !== null) {\n setIsRightSidebarOpen(openBeforeFullScreen);\n openBeforeFullScreen = null;\n }\n };\n\n window.addEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);\n return () => window.removeEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);\n }, []);\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 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 currentItemId: entity ? entity.id : null\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 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 isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && 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 if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\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 // Unpublished keeps the button, disabled with a reason, rather than hiding it.\n const isViewable = canViewPage(entity, schema, entityIsPublished);\n const onViewUrlHandler = isViewable ? () => onViewUrlClick(getFullUrl) : onViewUrl;\n const viewUrlDisabledReason =\n !isViewable && hasViewableUrl(entity, schema) ? VIEW_UNPUBLISHED_REASON : null;\n\n const onTitleChange = value => {\n if (!componentIsMounted.current) return;\n const updatedFormValues = getUpdatedFormValues({ id: TITLE_FIELD_ID, value, formValues });\n const [isValid, valuesChecked] = validate({\n values: updatedFormValues,\n schema,\n currentField: TITLE_FIELD_ID\n });\n\n setFormValues(valuesChecked);\n setPageTitle(value);\n setIsFormValid(isValid);\n setIsSaveButtonAvailable(isValid);\n isValid && setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n };\n\n const onTitleChangeHandler = canEditTitle(schema, formValues) ? onTitleChange : null;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\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 viewUrlDisabledReason={viewUrlDisabledReason}\n onTitleChange={onTitleChangeHandler}\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\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\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 <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 mode={isNewEntity ? 'create' : 'update'}\n />\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\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\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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","ignoreList":[]}
@@ -80,7 +80,7 @@ const EntityManager = ({
80
80
  history.push(`/data-listing/${entityIdentifier}`);
81
81
  }
82
82
  })();
83
- }, [action, addToast, client, entityIdentifier, history, history.push, id, schema, shouldRefetch]);
83
+ }, [action, addToast, client, entityIdentifier, history, history.push, id, shouldRefetch]);
84
84
  const updateFormData = (updatedFormData, shouldRefresh) => {
85
85
  if (shouldRefresh) setShouldRefetch(true);
86
86
  setFormData(updatedFormData);
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_client","_propTypes","_interopRequireDefault","_toaster","_entityAvailableActions","_Entity","_query","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","EntityManager","match","history","formData","setFormData","useState","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","useApolloClient","addToast","useToasts","action","entityIdentifier","onViewUrl","params","useEffect","entitySchema","data","requestedQuery","entityAvailableActions","identifier","PAGE_NOT_FOUND","appearance","ERROR","autoDismiss","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","pageBuilder","values","error","message","updateFormData","updatedFormData","shouldRefresh","recordHasChanged","createElement","refetchRecord","propTypes","PropTypes","shape","string","func","isRequired","object","_default","exports","withRouter","actionName","actions","getAll","pageBuilderData","query","getAction","variables","where","fetchPolicy","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\nimport { ERROR, PAGE_NOT_FOUND } from '../../constants';\n\nconst EntityManager = ({ match, history }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(() => {\n (async () => {\n try {\n const [entitySchema, data = {}, requestedQuery] = await entityAvailableActions[action]({\n client,\n identifier: entityIdentifier,\n id\n });\n\n if (!data) {\n addToast(PAGE_NOT_FOUND, {\n appearance: ERROR,\n autoDismiss: true\n });\n\n history.push(`/data-listing/${entityIdentifier}`);\n }\n\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n } catch (error) {\n addToast(error.message, {\n appearance: ERROR,\n autoDismiss: true\n });\n history.push(`/data-listing/${entityIdentifier}`);\n }\n })();\n }, [\n action,\n addToast,\n client,\n entityIdentifier,\n history,\n history.push,\n id,\n schema,\n shouldRefetch\n ]);\n\n const updateFormData = (updatedFormData, shouldRefresh) => {\n if (shouldRefresh) setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EntityManager.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_client","_propTypes","_interopRequireDefault","_toaster","_entityAvailableActions","_Entity","_query","_constants","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","EntityManager","match","history","formData","setFormData","useState","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","useApolloClient","addToast","useToasts","action","entityIdentifier","onViewUrl","params","useEffect","entitySchema","data","requestedQuery","entityAvailableActions","identifier","PAGE_NOT_FOUND","appearance","ERROR","autoDismiss","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","pageBuilder","values","error","message","updateFormData","updatedFormData","shouldRefresh","recordHasChanged","createElement","refetchRecord","propTypes","PropTypes","shape","string","func","isRequired","object","_default","exports","withRouter","actionName","actions","getAll","pageBuilderData","query","getAction","variables","where","fetchPolicy","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\nimport { ERROR, PAGE_NOT_FOUND } from '../../constants';\n\nconst EntityManager = ({ match, history }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(() => {\n (async () => {\n try {\n const [entitySchema, data = {}, requestedQuery] = await entityAvailableActions[action]({\n client,\n identifier: entityIdentifier,\n id\n });\n\n if (!data) {\n addToast(PAGE_NOT_FOUND, {\n appearance: ERROR,\n autoDismiss: true\n });\n\n history.push(`/data-listing/${entityIdentifier}`);\n }\n\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n } catch (error) {\n addToast(error.message, {\n appearance: ERROR,\n autoDismiss: true\n });\n history.push(`/data-listing/${entityIdentifier}`);\n }\n })();\n }, [action, addToast, client, entityIdentifier, history, history.push, id, shouldRefetch]);\n\n const updateFormData = (updatedFormData, shouldRefresh) => {\n if (shouldRefresh) setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,uBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,OAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AAAwD,SAAAD,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAkB,QAAAnB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAI,IAAA,CAAApB,CAAA,OAAAgB,MAAA,CAAAK,qBAAA,QAAAf,CAAA,GAAAU,MAAA,CAAAK,qBAAA,CAAArB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAgB,MAAA,WAAAnB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAoB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAyB,cAAA1B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAF,CAAA,WAAA0B,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAH,MAAA,CAAAf,CAAA,OAAA4B,OAAA,WAAA1B,CAAA,QAAA2B,gBAAA,CAAApB,OAAA,EAAAV,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAhC,CAAA,EAAAgB,MAAA,CAAAe,yBAAA,CAAA9B,CAAA,KAAAkB,OAAA,CAAAH,MAAA,CAAAf,CAAA,GAAA4B,OAAA,WAAA1B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAExD,MAAMiC,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC;AAAQ,CAAC,KAAK;EAC5C,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAC9C,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAF,eAAQ,EAAC,IAAI,CAAC;EAC1C,MAAM,CAACG,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAJ,eAAQ,EAAC;IAAEK,EAAE,EAAE;EAAK,CAAC,CAAC;EAClD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAP,eAAQ,EAAC,IAAI,CAAC;EACxD,MAAM,CAACQ,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAT,eAAQ,EAAC,KAAK,CAAC;EACzD,MAAMU,MAAM,GAAG,IAAAC,uBAAe,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAS,EAAC,CAAC;EAEhC,MAAM;IAAEC,MAAM;IAAEC,gBAAgB;IAAEV,EAAE,GAAG,IAAI;IAAEW;EAAU,CAAC,GAAGpB,KAAK,CAACqB,MAAM;EAEvE,IAAAC,gBAAS,EAAC,MAAM;IACd,CAAC,YAAY;MACX,IAAI;QACF,MAAM,CAACC,YAAY,EAAEC,IAAI,GAAG,CAAC,CAAC,EAAEC,cAAc,CAAC,GAAG,MAAMC,+BAAsB,CAACR,MAAM,CAAC,CAAC;UACrFJ,MAAM;UACNa,UAAU,EAAER,gBAAgB;UAC5BV;QACF,CAAC,CAAC;QAEF,IAAI,CAACe,IAAI,EAAE;UACTR,QAAQ,CAACY,yBAAc,EAAE;YACvBC,UAAU,EAAEC,gBAAK;YACjBC,WAAW,EAAE;UACf,CAAC,CAAC;UAEF9B,OAAO,CAACX,IAAI,CAAC,iBAAiB6B,gBAAgB,EAAE,CAAC;QACnD;QAEA,IAAIa,SAAS,GAAGR,IAAI;QAEpB,IAAIS,wBAAwB,CAACT,IAAI,CAAC,EAAE;UAClC,MAAMU,qBAAqB,GAAG,MAAMC,wBAAwB,CAAC;YAC3DZ,YAAY;YACZT,MAAM;YACNL;UACF,CAAC,CAAC;UAEFuB,SAAS,GAAAxC,aAAA,CAAAA,aAAA,KACJwC,SAAS;YACZI,WAAW,EAAEF,qBAAqB,IAAIF,SAAS,CAACI;UAAW,EAC5D;QACH;QAEAjC,WAAW,CAAC;UAAEkC,MAAM,EAAEL;QAAU,CAAC,CAAC;QAClC1B,SAAS,CAACkB,IAAI,CAAC;QACfhB,SAAS,CAACe,YAAY,CAAC;QACvBZ,gBAAgB,CAACc,cAAc,CAAC;QAChCZ,gBAAgB,CAAC,KAAK,CAAC;MACzB,CAAC,CAAC,OAAOyB,KAAK,EAAE;QACdtB,QAAQ,CAACsB,KAAK,CAACC,OAAO,EAAE;UACtBV,UAAU,EAAEC,gBAAK;UACjBC,WAAW,EAAE;QACf,CAAC,CAAC;QACF9B,OAAO,CAACX,IAAI,CAAC,iBAAiB6B,gBAAgB,EAAE,CAAC;MACnD;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACD,MAAM,EAAEF,QAAQ,EAAEF,MAAM,EAAEK,gBAAgB,EAAElB,OAAO,EAAEA,OAAO,CAACX,IAAI,EAAEmB,EAAE,EAAEG,aAAa,CAAC,CAAC;EAE1F,MAAM4B,cAAc,GAAGA,CAACC,eAAe,EAAEC,aAAa,KAAK;IACzD,IAAIA,aAAa,EAAE7B,gBAAgB,CAAC,IAAI,CAAC;IACzCV,WAAW,CAACsC,eAAe,CAAC;EAC9B,CAAC;;EAED;EACA,IAAI,CAACvC,QAAQ,IAAI,CAACK,MAAM,CAACE,EAAE,IAAIkC,gBAAgB,CAACtC,MAAM,EAAEI,EAAE,EAAEF,MAAM,CAACE,EAAE,EAAEU,gBAAgB,CAAC,EAAE;IACxF,OAAO,IAAI;EACb;EAEA,oBACEjE,MAAA,CAAAsB,OAAA,CAAAoE,aAAA,CAACjF,OAAA,CAAAa,OAAM;IACL0C,MAAM,EAAElB,KAAK,CAACqB,MAAM,CAACH,MAAO;IAC5BhB,QAAQ,EAAEA,QAAS;IACnBsC,cAAc,EAAEA,cAAe;IAC/BnC,MAAM,EAAEA,MAAO;IACfE,MAAM,EAAEA,MAAO;IACfG,aAAa,EAAEA,aAAc;IAC7BU,SAAS,EAAEA,SAAU;IACrByB,aAAa,EAAEhC;EAAiB,CACjC,CAAC;AAEN,CAAC;AAEDd,aAAa,CAAC+C,SAAS,GAAG;EACxB9C,KAAK,EAAE+C,kBAAS,CAACC,KAAK,CAAC;IACrB3B,MAAM,EAAE0B,kBAAS,CAACC,KAAK,CAAC;MACtB9B,MAAM,EAAE6B,kBAAS,CAACE,MAAM;MACxB9B,gBAAgB,EAAE4B,kBAAS,CAACE,MAAM;MAClCxC,EAAE,EAAEsC,kBAAS,CAACE,MAAM;MACpB7B,SAAS,EAAE2B,kBAAS,CAACG;IACvB,CAAC;EACH,CAAC,CAAC,CAACC,UAAU;EACblD,OAAO,EAAE8C,kBAAS,CAACK,MAAM,CAACD;AAC5B,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAA9E,OAAA,GAEa,IAAA+E,0BAAU,EAACxD,aAAa,CAAC;AAExC,eAAeoC,wBAAwBA,CAAC;EAAEZ,YAAY;EAAET,MAAM;EAAEL;AAAG,CAAC,EAAE;EACpE,MAAM+C,UAAU,GAAIjC,YAAY,IAAIA,YAAY,CAACkC,OAAO,CAACC,MAAM,IAAK,KAAK;EACzE,MAAM;IAAElC,IAAI,EAAEmC,eAAe,GAAG,CAAC;EAAE,CAAC,GAAG,MAAM7C,MAAM,CAAC8C,KAAK,CAAC;IACxDA,KAAK,EAAE,IAAAC,gBAAS,EAACL,UAAU,EAAE,uBAAuB,CAAC;IACrDM,SAAS,EAAE;MACTC,KAAK,EAAE;QACLtD;MACF;IACF,CAAC;IACDuD,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,OAAOL,eAAe,CAACH,UAAU,CAAC,IAAIG,eAAe,CAACH,UAAU,CAAC,CAAC9D,MAAM,GACpEiE,eAAe,CAACH,UAAU,CAAC,CAAC,CAAC,CAAC,CAACtB,qBAAqB,GACpD,IAAI;AACV;AAEA,SAASD,wBAAwBA,CAACT,IAAI,EAAE;EACtC,OAAOA,IAAI,IAAIA,IAAI,CAACyC,qBAAqB,IAAIzC,IAAI,CAACyC,qBAAqB,KAAK,EAAE;AAChF;AAEA,SAAStB,gBAAgBA,CAACtC,MAAM,EAAEI,EAAE,EAAEyD,uBAAuB,EAAE/C,gBAAgB,EAAE;EAC/E,OACGd,MAAM,IAAIA,MAAM,CAACI,EAAE,IAAIJ,MAAM,CAACI,EAAE,KAAKA,EAAE,IACvCyD,uBAAuB,IAAIA,uBAAuB,KAAK/C,gBAAiB;AAE7E","ignoreList":[]}
@@ -13,6 +13,7 @@ var _reactRouterDom = require("react-router-dom");
13
13
  var _admin = require("@blaze-cms/admin");
14
14
  var _toaster = require("@blaze-react/toaster");
15
15
  var _pluginRenderHooksUi = require("@blaze-cms/plugin-render-hooks-ui");
16
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
16
17
  var _ListingTableContent = _interopRequireDefault(require("./ListingTableContent"));
17
18
  var _SearchFilter = _interopRequireDefault(require("./SearchFilter/SearchFilter"));
18
19
  var _actionsHandlers = _interopRequireDefault(require("../EntityManager/Entity/actions-handlers"));
@@ -88,7 +89,7 @@ const ListingTable = ({
88
89
  });
89
90
  await doQuery(listFilters, updatedQueryParams);
90
91
  history.push(`?page=${pageNumber}`);
91
- document.getElementsByClassName('page')[0].scrollTo(0, 0);
92
+ (0, _adminUiUtils.smoothScrollTo)(document.getElementsByClassName('page')[0], 0);
92
93
  };
93
94
  const updateListingFilters = async filters => {
94
95
  await doQuery(filters);
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTable.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_reactRouterDom","_admin","_toaster","_pluginRenderHooksUi","_ListingTableContent","_SearchFilter","_actionsHandlers","_service","_populateRows","_getDefaultQueryParams","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ListingTable","match","entitySchema","history","tableData","setTableData","useState","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","totalItems","setTotalItems","queryParamsDefault","getDefaultQueryParams","queryParams","setQueryParams","listFilters","setListFilters","client","useApolloClient","addToast","useToasts","location","useLocation","searchParams","URLSearchParams","search","currentPage","Number","useEffect","updatedQueryParams","offset","limit","doQuery","url","filters","params","listingData","totalRecords","fetchData","querySettings","populatedTable","populateRows","toggleModal","rows","handleOnPageChange","pageNumber","_offset","document","getElementsByClassName","scrollTo","updateListingFilters","onCloseCardPrompt","item","deleteAction","availableActions","delete","submit","parsedFormValues","updatedTableData","handleSort","event","property","direction","entries","sortQueryParams","sort","columns","isEnquiry","firstColumn","appliedSort","formatRows","getParsedRowData","displayProperties","adminCrudActions","create","createAction","active","_deleteAction","showAddButton","createElement","className","DeleteAction","onClose","itemName","name","PageHeader","title","displayNamePlural","displayName","subtitle","Link","to","CardPrompt","Fragment","RenderHook","hookKey","schema","onSort","propTypes","PropTypes","object","isRequired","_default","exports","withRouter"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\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 SearchFilter from './SearchFilter/SearchFilter';\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 const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\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 document.getElementsByClassName('page')[0].scrollTo(0, 0);\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 entitySchema\n })\n });\n history.push('?page=1');\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 && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayNamePlural || entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <Link data-testid=\"addEntity\" className=\"button button--small\" to={`${match.url}/create`}>\n Add\n </Link>\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 <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\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 schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\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":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,oBAAA,GAAAP,OAAA;AACA,IAAAQ,oBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,aAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,gBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AACA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,sBAAA,GAAAb,OAAA;AAA6E,SAAAD,wBAAAe,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAe,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAkB,QAAAnB,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAe,MAAA,CAAAI,IAAA,CAAApB,CAAA,OAAAgB,MAAA,CAAAK,qBAAA,QAAAf,CAAA,GAAAU,MAAA,CAAAK,qBAAA,CAAArB,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAAgB,MAAA,WAAAnB,CAAA,WAAAa,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAoB,UAAA,OAAAtB,CAAA,CAAAuB,IAAA,CAAAC,KAAA,CAAAxB,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAyB,cAAA1B,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAwB,SAAA,CAAAC,MAAA,EAAAzB,CAAA,UAAAF,CAAA,WAAA0B,SAAA,CAAAxB,CAAA,IAAAwB,SAAA,CAAAxB,CAAA,QAAAA,CAAA,OAAAgB,OAAA,CAAAH,MAAA,CAAAf,CAAA,OAAA4B,OAAA,WAAA1B,CAAA,QAAA2B,gBAAA,CAAApB,OAAA,EAAAV,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAa,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAhC,CAAA,EAAAgB,MAAA,CAAAe,yBAAA,CAAA9B,CAAA,KAAAkB,OAAA,CAAAH,MAAA,CAAAf,CAAA,GAAA4B,OAAA,WAAA1B,CAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,EAAAa,MAAA,CAAAE,wBAAA,CAAAjB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAE7E,MAAMiC,YAAY,GAAGA,CAAC;EAAEC,KAAK;EAAEC,YAAY;EAAEC;AAAQ,CAAC,KAAK;EACzD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC,CAAC;EAC9C,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACG,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC,CAAC,CAAC;EACpD,MAAM,CAACK,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAN,eAAQ,EAAC;IAAEO,EAAE,EAAE;EAAK,CAAC,CAAC;EAClE,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAT,eAAQ,EAAC,CAAC,CAAC;EAC/C,MAAMU,kBAAkB,GAAG,IAAAC,4CAAqB,EAACf,YAAY,CAAC;EAC9D,MAAM,CAACgB,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAb,eAAQ,EAACU,kBAAkB,CAAC;EAClE,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAf,eAAQ,EAAC,EAAE,CAAC;EAClD,MAAMgB,MAAM,GAAG,IAAAC,uBAAe,EAAC,CAAC;EAChC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,kBAAS,EAAC,CAAC;EAChC,MAAMC,QAAQ,GAAG,IAAAC,2BAAW,EAAC,CAAC;EAC9B,MAAMC,YAAY,GAAG,IAAIC,eAAe,CAACH,QAAQ,CAACI,MAAM,CAAC;EACzD,MAAMC,WAAW,GAAGC,MAAM,CAACJ,YAAY,CAACjD,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;EAEzD,IAAAsD,gBAAS,EACP,MAAM;IACJ,CAAC,YAAY;MACX,IACE/B,YAAY,CAACW,EAAE,KAAKF,cAAc,CAACE,EAAE,IACpCF,cAAc,CAACE,EAAE,KAAK,IAAI,IAAIX,YAAY,CAACW,EAAG,EAC/C;QACA,MAAMqB,kBAAkB,GAAAzC,aAAA,CAAAA,aAAA,KACnByB,WAAW;UACdiB,MAAM,EAAEJ,WAAW,GAAGf,kBAAkB,CAACoB,KAAK,GAAGpB,kBAAkB,CAACoB;QAAK,EAC1E;QACD,MAAMC,OAAO,CAAC,EAAE,EAAEH,kBAAkB,CAAC;QACrCtB,iBAAiB,CAAC;UAAEC,EAAE,EAAEX,YAAY,CAACW;QAAG,CAAC,CAAC;MAC5C;IACF,CAAC,EAAE,CAAC;EACN,CAAC,EACD,CAACS,MAAM,EAAEpB,YAAY,EAAED,KAAK,CAACqC,GAAG,EAAE3B,cAAc,CAACE,EAAE,EAAEK,WAAW,CAAC,CAAC;EACpE,CAAC;EAED,MAAMmB,OAAO,GAAG,MAAAA,CAAOE,OAAO,GAAGnB,WAAW,EAAEoB,MAAM,GAAGxB,kBAAkB,KAAK;IAC5E,MAAM;MAAEyB,WAAW;MAAEC;IAAa,CAAC,GAAG,MAAM,IAAAC,kBAAS,EAAC;MACpDrB,MAAM;MACNsB,aAAa,EAAE;QACb1C,YAAY;QACZgB,WAAW,EAAEsB;MACf,CAAC;MACDpB,WAAW,EAAEmB;IACf,CAAC,CAAC;IAEF,MAAMM,cAAc,GAAG,IAAAC,0BAAY,EAAC;MAClCC,WAAW;MACXT,GAAG,EAAErC,KAAK,CAACqC,GAAG;MACdpC,YAAY;MACZ8C,IAAI,EAAEP;IACR,CAAC,CAAC;IAEFpC,YAAY,CAACwC,cAAc,CAAC;IAC5B9B,aAAa,CAAC2B,YAAY,CAAC;EAC7B,CAAC;EAED,MAAMO,kBAAkB,GAAG,MAAAA,CAAO;IAAEC,UAAU;IAAEf,MAAM,EAAEgB;EAAQ,CAAC,KAAK;IACpE,MAAMjB,kBAAkB,GAAAzC,aAAA,CAAAA,aAAA,KACnByB,WAAW;MACdiB,MAAM,EAAEgB;IAAO,EAChB;IAED,MAAMd,OAAO,CAACjB,WAAW,EAAEc,kBAAkB,CAAC;IAE9C/B,OAAO,CAACZ,IAAI,CAAC,SAAS2D,UAAU,EAAE,CAAC;IACnCE,QAAQ,CAACC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;EAC3D,CAAC;EAED,MAAMC,oBAAoB,GAAG,MAAMhB,OAAO,IAAI;IAC5C,MAAMF,OAAO,CAACE,OAAO,CAAC;IACtBlB,cAAc,CAACkB,OAAO,CAAC;EACzB,CAAC;EAED,MAAMiB,iBAAiB,GAAGA,CAAA,KAAM,IAAI;EAEpC,MAAMT,WAAW,GAAGU,IAAI,IAAI;IAC1BjD,cAAc,CAAC,CAAC,CAACiD,IAAI,CAAC;IACtB/C,eAAe,CAAC+C,IAAI,IAAI,CAAC,CAAC,CAAC;EAC7B,CAAC;EAED,MAAMC,YAAY,GAAG,MAAAA,CAAA,KAAY;IAC/B,MAAMC,wBAAgB,CAACC,MAAM,CAACC,MAAM,CAClC;MACE3D,YAAY;MACZ4D,gBAAgB,EAAE;QAAEjD,EAAE,EAAEJ,YAAY,CAACI;MAAG,CAAC;MACzCS;IACF,CAAC,EACDE,QACF,CAAC;IAEDuB,WAAW,CAAC,CAAC;IAEb,MAAMgB,gBAAgB,GAAAtE,aAAA,CAAAA,aAAA,KACjBW,SAAS;MACZ4C,IAAI,EAAE5C,SAAS,CAAC4C,IAAI,CAAC3D,MAAM,CAAC,CAAC;QAAEwB;MAAG,CAAC,KAAKA,EAAE,KAAKJ,YAAY,CAACI,EAAE;IAAC,EAChE;IAEDR,YAAY,CAAC0D,gBAAgB,CAAC;EAChC,CAAC;EAED,MAAMC,UAAU,GAAG,MAAMC,KAAK,IAAI;IAChC,MAAM,CAAC,CAACC,QAAQ,EAAEC,SAAS,CAAC,CAAC,GAAGpF,MAAM,CAACqF,OAAO,CAACH,KAAK,CAAC;IACrD,MAAMI,eAAe,GAAA5E,aAAA,CAAAA,aAAA,KAChBuB,kBAAkB;MACrBsD,IAAI,EAAE,CAAC;QAAEJ,QAAQ;QAAEC;MAAU,CAAC;IAAC,EAChC;IACDhD,cAAc,CAACkD,eAAe,CAAC;IAE/B,MAAM;MAAE5B;IAAY,CAAC,GAAG,MAAM,IAAAE,kBAAS,EAAC;MACtCrB,MAAM;MACNsB,aAAa,EAAE;QACb1C,YAAY;QACZgB,WAAW,EAAEmD;MACf,CAAC;MACDjD;IACF,CAAC,CAAC;IACF,MAAM;MAAEmD,OAAO;MAAEC;IAAU,CAAC,GAAGpE,SAAS;IACxC,MAAM,CAACqE,WAAW,CAAC,GAAGF,OAAO;IAE7BlE,YAAY,CAAAZ,aAAA,CAAAA,aAAA,KACPW,SAAS;MACZsE,WAAW,EAAE;QAAE,CAACR,QAAQ,GAAGC;MAAU,CAAC;MACtCnB,IAAI,EAAE,IAAA2B,wBAAU,EAAC;QACf3B,IAAI,EAAE,IAAA4B,8BAAgB,EAACnC,WAAW,CAAC;QACnCH,GAAG,EAAErC,KAAK,CAACqC,GAAG;QACdS,WAAW;QACX0B,WAAW;QACXD,SAAS;QACTtE;MACF,CAAC;IAAC,EACH,CAAC;IACFC,OAAO,CAACZ,IAAI,CAAC,SAAS,CAAC;EACzB,CAAC;EACD,IAAI,CAACa,SAAS,IAAI,CAACA,SAAS,CAAC4C,IAAI,EAAE,OAAO,SAAS;EAEnD,MAAM;IACJ6B,iBAAiB,EAAE;MACjBC,gBAAgB,EAAE;QAChBC,MAAM,EAAEC,YAAY,GAAG;UAAEC,MAAM,EAAE;QAAK,CAAC;QACvCrB,MAAM,EAAEsB,aAAa,GAAG;UAAED,MAAM,EAAE;QAAK;MACzC,CAAC,GAAG,CAAC;IACP,CAAC,GAAG,CAAC;EACP,CAAC,GAAG/E,YAAY;EAEhB,MAAMiF,aAAa,GAAG,CAAC/E,SAAS,CAAC4C,IAAI,CAACrD,MAAM,IAAIyB,WAAW,CAACzB,MAAM,KAAK,CAAC;EAExE,oBACE5C,MAAA,CAAA0B,OAAA,CAAA2G,aAAA;IAAKC,SAAS,EAAC;EAAM,GAClB9E,WAAW,IAAI2E,aAAa,CAACD,MAAM,iBAClClI,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC9H,MAAA,CAAAgI,YAAY;IACX,eAAY,cAAc;IAC1BC,OAAO,EAAExC,WAAY;IACrBW,YAAY,EAAEA,YAAa;IAC3B8B,QAAQ,EAAE/E,YAAY,CAACgF;EAAK,CAC7B,CACF,eACD1I,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC9H,MAAA,CAAAoI,UAAU;IAACC,KAAK,EAAEzF,YAAY,CAAC0F,iBAAiB,IAAI1F,YAAY,CAAC2F,WAAY;IAACC,QAAQ,EAAC;EAAE,GACvFd,YAAY,CAACC,MAAM,IAAI,CAACE,aAAa,iBACpCpI,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC/H,eAAA,CAAA0I,IAAI;IAAC,eAAY,WAAW;IAACV,SAAS,EAAC,sBAAsB;IAACW,EAAE,EAAE,GAAG/F,KAAK,CAACqC,GAAG;EAAU,GAAC,KAEpF,CAEE,CAAC,EACZ6C,aAAa,gBACZpI,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC9H,MAAA,CAAA2I,UAAU,qBACTlJ,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC/H,eAAA,CAAA0I,IAAI;IACHV,SAAS,EAAC,oCAAoC;IAC9CW,EAAE,EAAE,GAAG/F,KAAK,CAACqC,GAAG,SAAU;IAC1B,eAAY;EAAY,GAAC,KAErB,CACI,CAAC,gBAEbvF,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAArI,MAAA,CAAA0B,OAAA,CAAAyH,QAAA,qBACEnJ,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC5H,oBAAA,CAAA2I,UAAU;IACTC,OAAO,EAAC,yBAAyB;IACjCC,MAAM,EAAEnG,YAAa;IACrBkB,WAAW,EAAEA,WAAY;IACzBC,cAAc,EAAEkC;EAAqB,CACtC,CAAC,eACFxG,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC1H,aAAA,CAAAe,OAAY;IACX4H,MAAM,EAAEnG,YAAa;IACrBkB,WAAW,EAAEA,WAAY;IACzBC,cAAc,EAAEkC;EAAqB,CACtC,CAAC,eACFxG,MAAA,CAAA0B,OAAA,CAAA2G,aAAA,CAAC3H,oBAAA,CAAAgB,OAAmB;IAClBqC,UAAU,EAAEA,UAAW;IACvBiB,WAAW,EAAEA,WAAY;IACzBuE,MAAM,EAAEtC,UAAW;IACnBf,kBAAkB,EAAEA,kBAAmB;IACvC7C,SAAS,EAAEA,SAAU;IACrBoD,iBAAiB,EAAEA,iBAAkB;IACrC6C,MAAM,EAAEnG,YAAa;IACrBkB,WAAW,EAAEA,WAAY;IACzBC,cAAc,EAAEkC;EAAqB,CACtC,CACD,CAED,CAAC;AAEV,CAAC;AACDvD,YAAY,CAACuG,SAAS,GAAG;EACvBrG,YAAY,EAAEsG,kBAAS,CAACC,MAAM,CAACC,UAAU;EACzCzG,KAAK,EAAEuG,kBAAS,CAACC,MAAM,CAACC,UAAU;EAClCvG,OAAO,EAAEqG,kBAAS,CAACC,MAAM,CAACC;AAC5B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnI,OAAA,GAEa,IAAAoI,0BAAU,EAAC7G,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ListingTable.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_reactRouterDom","_admin","_toaster","_pluginRenderHooksUi","_adminUiUtils","_ListingTableContent","_SearchFilter","_actionsHandlers","_service","_populateRows","_getDefaultQueryParams","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ListingTable","match","entitySchema","history","tableData","setTableData","useState","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","totalItems","setTotalItems","queryParamsDefault","getDefaultQueryParams","queryParams","setQueryParams","listFilters","setListFilters","client","useApolloClient","addToast","useToasts","location","useLocation","searchParams","URLSearchParams","search","currentPage","Number","useEffect","updatedQueryParams","offset","limit","doQuery","url","filters","params","listingData","totalRecords","fetchData","querySettings","populatedTable","populateRows","toggleModal","rows","handleOnPageChange","pageNumber","_offset","smoothScrollTo","document","getElementsByClassName","updateListingFilters","onCloseCardPrompt","item","deleteAction","availableActions","delete","submit","parsedFormValues","updatedTableData","handleSort","event","property","direction","entries","sortQueryParams","sort","columns","isEnquiry","firstColumn","appliedSort","formatRows","getParsedRowData","displayProperties","adminCrudActions","create","createAction","active","_deleteAction","showAddButton","createElement","className","DeleteAction","onClose","itemName","name","PageHeader","title","displayNamePlural","displayName","subtitle","Link","to","CardPrompt","Fragment","RenderHook","hookKey","schema","onSort","propTypes","PropTypes","object","isRequired","_default","exports","withRouter"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\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 { smoothScrollTo } from '@blaze-cms/admin-ui-utils';\nimport ListingTableContent from './ListingTableContent';\nimport SearchFilter from './SearchFilter/SearchFilter';\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 const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\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 smoothScrollTo(document.getElementsByClassName('page')[0], 0);\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 entitySchema\n })\n });\n history.push('?page=1');\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 && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayNamePlural || entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <Link data-testid=\"addEntity\" className=\"button button--small\" to={`${match.url}/create`}>\n Add\n </Link>\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 <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\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 schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\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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","ignoreList":[]}
package/lib/constants.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VIEW_UNPUBLISHED_REASON = exports.UNPUBLISHED_WARNING = exports.UNPUBLISHED = exports.TITLE_FIELD_ID = exports.TEXT_CONTENT_TYPE = exports.SUCCESS = exports.SELECT_DEFAULT_VALUE = exports.SAVE_BUTTON_TEXTS = exports.SAVE_BEFORE_PUBLISH_MESSAGE = exports.PUBLISHED = exports.PREVIEW_INTERFACE = exports.PLUGIN_NAME = exports.PAGE_NOT_FOUND = exports.PAGE_BUILDER_TEMPLATE_FIELD_ID = exports.PAGE_BUILDER_TAB_INDEX = exports.PAGE_BUILDER_TAB = exports.PAGE_BUILDER_FIELD_ID = exports.PAGE_BUILDER = exports.MENU_PERMISSIONS = exports.LEAVE_PAGE_MESSAGE = exports.KEY_TO_CHECK = exports.ICON_SIZE = exports.ICON_COLOR = exports.ERROR = exports.ENTITY_PUBLISHED = exports.ENTER_KEY = exports.EDITOR_VIEW_TAB_INDEX = exports.EDITOR_VIEW_TAB = exports.DEFAULT_FILTER_OPTION_LABEL = exports.DEBUG_PARAM = exports.DATA_LISTING_PREFIX = exports.ACTIONS = void 0;
6
+ exports.VIEW_UNPUBLISHED_REASON = exports.UNPUBLISHED_WARNING = exports.UNPUBLISHED = exports.TITLE_FIELD_ID = exports.TEXT_CONTENT_TYPE = exports.SUCCESS = exports.SELECT_DEFAULT_VALUE = exports.SAVE_BUTTON_TEXTS = exports.SAVE_BEFORE_PUBLISH_MESSAGE = exports.PUBLISHED = exports.PREVIEW_INTERFACE = exports.PLUGIN_NAME = exports.PAGE_NOT_FOUND = exports.PAGE_BUILDER_TEMPLATE_FIELD_ID = exports.PAGE_BUILDER_TAB_INDEX = exports.PAGE_BUILDER_TAB = exports.PAGE_BUILDER_FIELD_ID = exports.PAGE_BUILDER = exports.MENU_PERMISSIONS = exports.LEAVE_PAGE_MESSAGE = exports.KEY_TO_CHECK = exports.ICON_SIZE = exports.ICON_COLOR = exports.ERROR = exports.ENTITY_PUBLISHED = exports.ENTER_KEY = exports.EDITOR_VIEW_TAB_INDEX = exports.EDITOR_VIEW_TAB = exports.EDITOR_FULL_SCREEN_EVENT = exports.DEFAULT_FILTER_OPTION_LABEL = exports.DEBUG_PARAM = exports.DATA_LISTING_PREFIX = exports.ACTIONS = void 0;
7
7
  const PLUGIN_NAME = exports.PLUGIN_NAME = 'data-ui';
8
8
  const DATA_LISTING_PREFIX = exports.DATA_LISTING_PREFIX = '/data-listing';
9
9
  const PAGE_BUILDER = exports.PAGE_BUILDER = 'pageBuilder';
@@ -13,6 +13,7 @@ const SELECT_DEFAULT_VALUE = exports.SELECT_DEFAULT_VALUE = 'Please Choose...';
13
13
  const LEAVE_PAGE_MESSAGE = exports.LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';
14
14
  const KEY_TO_CHECK = exports.KEY_TO_CHECK = 'values.slug';
15
15
  const TITLE_FIELD_ID = exports.TITLE_FIELD_ID = 'name';
16
+ const EDITOR_FULL_SCREEN_EVENT = exports.EDITOR_FULL_SCREEN_EVENT = 'blaze:editor-full-screen';
16
17
  const MENU_PERMISSIONS = exports.MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];
17
18
  const PREVIEW_INTERFACE = exports.PREVIEW_INTERFACE = 'preview/can-preview';
18
19
  const PAGE_BUILDER_FIELD_ID = exports.PAGE_BUILDER_FIELD_ID = 'pageBuilder';
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["PLUGIN_NAME","exports","DATA_LISTING_PREFIX","PAGE_BUILDER","TEXT_CONTENT_TYPE","ENTITY_PUBLISHED","SELECT_DEFAULT_VALUE","LEAVE_PAGE_MESSAGE","KEY_TO_CHECK","TITLE_FIELD_ID","MENU_PERMISSIONS","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SUCCESS","PUBLISHED","UNPUBLISHED","SAVE_BUTTON_TEXTS","save","saved","saving","ACTIONS","UNPUBLISHED_WARNING","PAGE_NOT_FOUND","VIEW_UNPUBLISHED_REASON","SAVE_BEFORE_PUBLISH_MESSAGE","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","ENTER_KEY","ICON_SIZE","WIDTH","HEIGHT","ICON_COLOR","STROKE","FILL","DEFAULT_FILTER_OPTION_LABEL","DEBUG_PARAM"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'data-ui';\nconst DATA_LISTING_PREFIX = '/data-listing';\nconst PAGE_BUILDER = 'pageBuilder';\nconst TEXT_CONTENT_TYPE = 'Publish';\nconst ENTITY_PUBLISHED = 'published';\nconst SELECT_DEFAULT_VALUE = 'Please Choose...';\nconst LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';\nconst KEY_TO_CHECK = 'values.slug';\nconst TITLE_FIELD_ID = 'name';\nconst MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];\nconst PREVIEW_INTERFACE = 'preview/can-preview';\nconst PAGE_BUILDER_FIELD_ID = 'pageBuilder';\nconst PAGE_BUILDER_TEMPLATE_FIELD_ID = 'pageBuilderTemplateId';\nconst ERROR = 'error';\nconst SUCCESS = 'success';\nconst PUBLISHED = 'published';\nconst UNPUBLISHED = 'unpublished';\nconst SAVE_BUTTON_TEXTS = { save: 'save', saved: 'saved', saving: 'saving' };\nconst ACTIONS = 'actions';\nconst UNPUBLISHED_WARNING = 'Page already unpublished';\nconst PAGE_NOT_FOUND = 'Page not found';\nconst VIEW_UNPUBLISHED_REASON = 'Not published yet - publish to view it on the site';\nconst SAVE_BEFORE_PUBLISH_MESSAGE =\n 'You have to click save to create the record before you can publish';\n\nconst PAGE_BUILDER_TAB = 'Page builder';\nconst PAGE_BUILDER_TAB_INDEX = 1;\nconst EDITOR_VIEW_TAB = 'Editor view';\nconst EDITOR_VIEW_TAB_INDEX = 0;\n\nconst ENTER_KEY = 'Enter';\n\nconst ICON_SIZE = {\n WIDTH: '25px',\n HEIGHT: '25px'\n};\n\nconst ICON_COLOR = {\n STROKE: '#63779C',\n FILL: '#63779C'\n};\n\nconst DEFAULT_FILTER_OPTION_LABEL = 'Any';\nconst DEBUG_PARAM = 'blaze_debug=1';\n\nexport {\n DATA_LISTING_PREFIX,\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n TITLE_FIELD_ID,\n LEAVE_PAGE_MESSAGE,\n MENU_PERMISSIONS,\n PAGE_BUILDER,\n PLUGIN_NAME,\n PREVIEW_INTERFACE,\n SELECT_DEFAULT_VALUE,\n TEXT_CONTENT_TYPE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SUCCESS,\n PUBLISHED,\n UNPUBLISHED,\n SAVE_BUTTON_TEXTS,\n ACTIONS,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB_INDEX,\n EDITOR_VIEW_TAB,\n PAGE_BUILDER_TAB,\n UNPUBLISHED_WARNING,\n SAVE_BEFORE_PUBLISH_MESSAGE,\n ICON_SIZE,\n ICON_COLOR,\n PAGE_NOT_FOUND,\n VIEW_UNPUBLISHED_REASON,\n ENTER_KEY,\n DEFAULT_FILTER_OPTION_LABEL\n};\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAS;AAC7B,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,eAAe;AAC3C,MAAMC,YAAY,GAAAF,OAAA,CAAAE,YAAA,GAAG,aAAa;AAClC,MAAMC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAAG,SAAS;AACnC,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,WAAW;AACpC,MAAMC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,GAAG,kBAAkB;AAC/C,MAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,wEAAwE;AACnG,MAAMC,YAAY,GAAAP,OAAA,CAAAO,YAAA,GAAG,aAAa;AAClC,MAAMC,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAG,MAAM;AAC7B,MAAMC,gBAAgB,GAAAT,OAAA,CAAAS,gBAAA,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;AACjF,MAAMC,iBAAiB,GAAAV,OAAA,CAAAU,iBAAA,GAAG,qBAAqB;AAC/C,MAAMC,qBAAqB,GAAAX,OAAA,CAAAW,qBAAA,GAAG,aAAa;AAC3C,MAAMC,8BAA8B,GAAAZ,OAAA,CAAAY,8BAAA,GAAG,uBAAuB;AAC9D,MAAMC,KAAK,GAAAb,OAAA,CAAAa,KAAA,GAAG,OAAO;AACrB,MAAMC,OAAO,GAAAd,OAAA,CAAAc,OAAA,GAAG,SAAS;AACzB,MAAMC,SAAS,GAAAf,OAAA,CAAAe,SAAA,GAAG,WAAW;AAC7B,MAAMC,WAAW,GAAAhB,OAAA,CAAAgB,WAAA,GAAG,aAAa;AACjC,MAAMC,iBAAiB,GAAAjB,OAAA,CAAAiB,iBAAA,GAAG;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE,OAAO;EAAEC,MAAM,EAAE;AAAS,CAAC;AAC5E,MAAMC,OAAO,GAAArB,OAAA,CAAAqB,OAAA,GAAG,SAAS;AACzB,MAAMC,mBAAmB,GAAAtB,OAAA,CAAAsB,mBAAA,GAAG,0BAA0B;AACtD,MAAMC,cAAc,GAAAvB,OAAA,CAAAuB,cAAA,GAAG,gBAAgB;AACvC,MAAMC,uBAAuB,GAAAxB,OAAA,CAAAwB,uBAAA,GAAG,oDAAoD;AACpF,MAAMC,2BAA2B,GAAAzB,OAAA,CAAAyB,2BAAA,GAC/B,oEAAoE;AAEtE,MAAMC,gBAAgB,GAAA1B,OAAA,CAAA0B,gBAAA,GAAG,cAAc;AACvC,MAAMC,sBAAsB,GAAA3B,OAAA,CAAA2B,sBAAA,GAAG,CAAC;AAChC,MAAMC,eAAe,GAAA5B,OAAA,CAAA4B,eAAA,GAAG,aAAa;AACrC,MAAMC,qBAAqB,GAAA7B,OAAA,CAAA6B,qBAAA,GAAG,CAAC;AAE/B,MAAMC,SAAS,GAAA9B,OAAA,CAAA8B,SAAA,GAAG,OAAO;AAEzB,MAAMC,SAAS,GAAA/B,OAAA,CAAA+B,SAAA,GAAG;EAChBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,UAAU,GAAAlC,OAAA,CAAAkC,UAAA,GAAG;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,2BAA2B,GAAArC,OAAA,CAAAqC,2BAAA,GAAG,KAAK;AACzC,MAAMC,WAAW,GAAAtC,OAAA,CAAAsC,WAAA,GAAG,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["PLUGIN_NAME","exports","DATA_LISTING_PREFIX","PAGE_BUILDER","TEXT_CONTENT_TYPE","ENTITY_PUBLISHED","SELECT_DEFAULT_VALUE","LEAVE_PAGE_MESSAGE","KEY_TO_CHECK","TITLE_FIELD_ID","EDITOR_FULL_SCREEN_EVENT","MENU_PERMISSIONS","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SUCCESS","PUBLISHED","UNPUBLISHED","SAVE_BUTTON_TEXTS","save","saved","saving","ACTIONS","UNPUBLISHED_WARNING","PAGE_NOT_FOUND","VIEW_UNPUBLISHED_REASON","SAVE_BEFORE_PUBLISH_MESSAGE","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","ENTER_KEY","ICON_SIZE","WIDTH","HEIGHT","ICON_COLOR","STROKE","FILL","DEFAULT_FILTER_OPTION_LABEL","DEBUG_PARAM"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'data-ui';\nconst DATA_LISTING_PREFIX = '/data-listing';\nconst PAGE_BUILDER = 'pageBuilder';\nconst TEXT_CONTENT_TYPE = 'Publish';\nconst ENTITY_PUBLISHED = 'published';\nconst SELECT_DEFAULT_VALUE = 'Please Choose...';\nconst LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';\nconst KEY_TO_CHECK = 'values.slug';\nconst TITLE_FIELD_ID = 'name';\nconst EDITOR_FULL_SCREEN_EVENT = 'blaze:editor-full-screen';\nconst MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];\nconst PREVIEW_INTERFACE = 'preview/can-preview';\nconst PAGE_BUILDER_FIELD_ID = 'pageBuilder';\nconst PAGE_BUILDER_TEMPLATE_FIELD_ID = 'pageBuilderTemplateId';\nconst ERROR = 'error';\nconst SUCCESS = 'success';\nconst PUBLISHED = 'published';\nconst UNPUBLISHED = 'unpublished';\nconst SAVE_BUTTON_TEXTS = { save: 'save', saved: 'saved', saving: 'saving' };\nconst ACTIONS = 'actions';\nconst UNPUBLISHED_WARNING = 'Page already unpublished';\nconst PAGE_NOT_FOUND = 'Page not found';\nconst VIEW_UNPUBLISHED_REASON = 'Not published yet - publish to view it on the site';\nconst SAVE_BEFORE_PUBLISH_MESSAGE =\n 'You have to click save to create the record before you can publish';\n\nconst PAGE_BUILDER_TAB = 'Page builder';\nconst PAGE_BUILDER_TAB_INDEX = 1;\nconst EDITOR_VIEW_TAB = 'Editor view';\nconst EDITOR_VIEW_TAB_INDEX = 0;\n\nconst ENTER_KEY = 'Enter';\n\nconst ICON_SIZE = {\n WIDTH: '25px',\n HEIGHT: '25px'\n};\n\nconst ICON_COLOR = {\n STROKE: '#63779C',\n FILL: '#63779C'\n};\n\nconst DEFAULT_FILTER_OPTION_LABEL = 'Any';\nconst DEBUG_PARAM = 'blaze_debug=1';\n\nexport {\n EDITOR_FULL_SCREEN_EVENT,\n DATA_LISTING_PREFIX,\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n TITLE_FIELD_ID,\n LEAVE_PAGE_MESSAGE,\n MENU_PERMISSIONS,\n PAGE_BUILDER,\n PLUGIN_NAME,\n PREVIEW_INTERFACE,\n SELECT_DEFAULT_VALUE,\n TEXT_CONTENT_TYPE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SUCCESS,\n PUBLISHED,\n UNPUBLISHED,\n SAVE_BUTTON_TEXTS,\n ACTIONS,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB_INDEX,\n EDITOR_VIEW_TAB,\n PAGE_BUILDER_TAB,\n UNPUBLISHED_WARNING,\n SAVE_BEFORE_PUBLISH_MESSAGE,\n ICON_SIZE,\n ICON_COLOR,\n PAGE_NOT_FOUND,\n VIEW_UNPUBLISHED_REASON,\n ENTER_KEY,\n DEFAULT_FILTER_OPTION_LABEL\n};\n"],"mappings":";;;;;;AAAA,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAAS;AAC7B,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,eAAe;AAC3C,MAAMC,YAAY,GAAAF,OAAA,CAAAE,YAAA,GAAG,aAAa;AAClC,MAAMC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,GAAG,SAAS;AACnC,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,WAAW;AACpC,MAAMC,oBAAoB,GAAAL,OAAA,CAAAK,oBAAA,GAAG,kBAAkB;AAC/C,MAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,wEAAwE;AACnG,MAAMC,YAAY,GAAAP,OAAA,CAAAO,YAAA,GAAG,aAAa;AAClC,MAAMC,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAG,MAAM;AAC7B,MAAMC,wBAAwB,GAAAT,OAAA,CAAAS,wBAAA,GAAG,0BAA0B;AAC3D,MAAMC,gBAAgB,GAAAV,OAAA,CAAAU,gBAAA,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;AACjF,MAAMC,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,GAAG,qBAAqB;AAC/C,MAAMC,qBAAqB,GAAAZ,OAAA,CAAAY,qBAAA,GAAG,aAAa;AAC3C,MAAMC,8BAA8B,GAAAb,OAAA,CAAAa,8BAAA,GAAG,uBAAuB;AAC9D,MAAMC,KAAK,GAAAd,OAAA,CAAAc,KAAA,GAAG,OAAO;AACrB,MAAMC,OAAO,GAAAf,OAAA,CAAAe,OAAA,GAAG,SAAS;AACzB,MAAMC,SAAS,GAAAhB,OAAA,CAAAgB,SAAA,GAAG,WAAW;AAC7B,MAAMC,WAAW,GAAAjB,OAAA,CAAAiB,WAAA,GAAG,aAAa;AACjC,MAAMC,iBAAiB,GAAAlB,OAAA,CAAAkB,iBAAA,GAAG;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE,OAAO;EAAEC,MAAM,EAAE;AAAS,CAAC;AAC5E,MAAMC,OAAO,GAAAtB,OAAA,CAAAsB,OAAA,GAAG,SAAS;AACzB,MAAMC,mBAAmB,GAAAvB,OAAA,CAAAuB,mBAAA,GAAG,0BAA0B;AACtD,MAAMC,cAAc,GAAAxB,OAAA,CAAAwB,cAAA,GAAG,gBAAgB;AACvC,MAAMC,uBAAuB,GAAAzB,OAAA,CAAAyB,uBAAA,GAAG,oDAAoD;AACpF,MAAMC,2BAA2B,GAAA1B,OAAA,CAAA0B,2BAAA,GAC/B,oEAAoE;AAEtE,MAAMC,gBAAgB,GAAA3B,OAAA,CAAA2B,gBAAA,GAAG,cAAc;AACvC,MAAMC,sBAAsB,GAAA5B,OAAA,CAAA4B,sBAAA,GAAG,CAAC;AAChC,MAAMC,eAAe,GAAA7B,OAAA,CAAA6B,eAAA,GAAG,aAAa;AACrC,MAAMC,qBAAqB,GAAA9B,OAAA,CAAA8B,qBAAA,GAAG,CAAC;AAE/B,MAAMC,SAAS,GAAA/B,OAAA,CAAA+B,SAAA,GAAG,OAAO;AAEzB,MAAMC,SAAS,GAAAhC,OAAA,CAAAgC,SAAA,GAAG;EAChBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,UAAU,GAAAnC,OAAA,CAAAmC,UAAA,GAAG;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,2BAA2B,GAAAtC,OAAA,CAAAsC,2BAAA,GAAG,KAAK;AACzC,MAAMC,WAAW,GAAAvC,OAAA,CAAAuC,WAAA,GAAG,eAAe","ignoreList":[]}
@@ -18,7 +18,7 @@ import { getPageName } from '../utils/data-mappers';
18
18
  import availableActions from './actions-handlers';
19
19
  import SideBarRelations from './SideBarRelations';
20
20
  import useCallbackDebounce from '../../hooks/useCallbackDebounce';
21
- import { 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, VIEW_UNPUBLISHED_REASON, TITLE_FIELD_ID } from '../../../constants';
21
+ import { 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, VIEW_UNPUBLISHED_REASON, TITLE_FIELD_ID, EDITOR_FULL_SCREEN_EVENT } from '../../../constants';
22
22
  import EntityHeader from './EntityHeader';
23
23
  import { validateSideBarRelations, canEditTitle, canViewPage, hasViewableUrl, onViewUrlClick, getUpdatedFormValues, checkFulfilConditions } from '../utils/entity';
24
24
  import useToggle from '../../../utils/hooks/useToggle';
@@ -57,6 +57,26 @@ const Entity = ({
57
57
  const [suppressPrompt, setSuppressPrompt] = useState(false);
58
58
  const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);
59
59
  const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);
60
+ const isRightSidebarOpenRef = useRef(isRightSidebarOpen);
61
+ isRightSidebarOpenRef.current = isRightSidebarOpen;
62
+ useEffect(() => {
63
+ let openBeforeFullScreen = null;
64
+ const onFullScreen = ({
65
+ detail: {
66
+ isFullScreen
67
+ }
68
+ }) => {
69
+ if (isFullScreen) {
70
+ openBeforeFullScreen = isRightSidebarOpenRef.current;
71
+ setIsRightSidebarOpen(false);
72
+ } else if (openBeforeFullScreen !== null) {
73
+ setIsRightSidebarOpen(openBeforeFullScreen);
74
+ openBeforeFullScreen = null;
75
+ }
76
+ };
77
+ window.addEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);
78
+ return () => window.removeEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);
79
+ }, []);
60
80
  const isCreatePage = history.location.pathname.includes('create');
61
81
  const [isNewEntity, setIsNewEntity] = useState(isCreatePage);
62
82
  const client = useApolloClient();
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","FormBuilder","parseFormValues","validate","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","availableActions","SideBarRelations","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","VIEW_UNPUBLISHED_REASON","TITLE_FIELD_ID","EntityHeader","validateSideBarRelations","canEditTitle","canViewPage","hasViewableUrl","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","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","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","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","currentItemId","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","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","isViewable","onViewUrlHandler","viewUrlDisabledReason","onTitleChange","onTitleChangeHandler","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","updated","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","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 } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues, validate } 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 availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\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 VIEW_UNPUBLISHED_REASON,\n TITLE_FIELD_ID\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canEditTitle,\n canViewPage,\n hasViewableUrl,\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 [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 const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\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 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 currentItemId: entity ? entity.id : null\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 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 isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && 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 if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\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 // Unpublished keeps the button, disabled with a reason, rather than hiding it.\n const isViewable = canViewPage(entity, schema, entityIsPublished);\n const onViewUrlHandler = isViewable ? () => onViewUrlClick(getFullUrl) : onViewUrl;\n const viewUrlDisabledReason =\n !isViewable && hasViewableUrl(entity, schema) ? VIEW_UNPUBLISHED_REASON : null;\n\n const onTitleChange = value => {\n if (!componentIsMounted.current) return;\n const updatedFormValues = getUpdatedFormValues({ id: TITLE_FIELD_ID, value, formValues });\n const [isValid, valuesChecked] = validate({\n values: updatedFormValues,\n schema,\n currentField: TITLE_FIELD_ID\n });\n\n setFormValues(valuesChecked);\n setPageTitle(value);\n setIsFormValid(isValid);\n setIsSaveButtonAvailable(isValid);\n isValid && setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n };\n\n const onTitleChangeHandler = canEditTitle(schema, formValues) ? onTitleChange : null;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\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 viewUrlDisabledReason={viewUrlDisabledReason}\n onTitleChange={onTitleChangeHandler}\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\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\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 <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 mode={isNewEntity ? 'create' : 'update'}\n />\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\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\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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","ignoreList":[]}
1
+ {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","FormBuilder","parseFormValues","validate","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","availableActions","SideBarRelations","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","VIEW_UNPUBLISHED_REASON","TITLE_FIELD_ID","EDITOR_FULL_SCREEN_EVENT","EntityHeader","validateSideBarRelations","canEditTitle","canViewPage","hasViewableUrl","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","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","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isRightSidebarOpenRef","current","openBeforeFullScreen","onFullScreen","detail","isFullScreen","window","addEventListener","removeEventListener","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","displayProperties","saveOnChange","onSubmit","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","currentItemId","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","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","isViewable","onViewUrlHandler","viewUrlDisabledReason","onTitleChange","onTitleChangeHandler","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","updated","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","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 } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues, validate } 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 availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\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 VIEW_UNPUBLISHED_REASON,\n TITLE_FIELD_ID,\n EDITOR_FULL_SCREEN_EVENT\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canEditTitle,\n canViewPage,\n hasViewableUrl,\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 [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 const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\n const isRightSidebarOpenRef = useRef(isRightSidebarOpen);\n isRightSidebarOpenRef.current = isRightSidebarOpen;\n\n useEffect(() => {\n let openBeforeFullScreen = null;\n\n const onFullScreen = ({ detail: { isFullScreen } }) => {\n if (isFullScreen) {\n openBeforeFullScreen = isRightSidebarOpenRef.current;\n setIsRightSidebarOpen(false);\n } else if (openBeforeFullScreen !== null) {\n setIsRightSidebarOpen(openBeforeFullScreen);\n openBeforeFullScreen = null;\n }\n };\n\n window.addEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);\n return () => window.removeEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);\n }, []);\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 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 currentItemId: entity ? entity.id : null\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 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 isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && 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 if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\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 // Unpublished keeps the button, disabled with a reason, rather than hiding it.\n const isViewable = canViewPage(entity, schema, entityIsPublished);\n const onViewUrlHandler = isViewable ? () => onViewUrlClick(getFullUrl) : onViewUrl;\n const viewUrlDisabledReason =\n !isViewable && hasViewableUrl(entity, schema) ? VIEW_UNPUBLISHED_REASON : null;\n\n const onTitleChange = value => {\n if (!componentIsMounted.current) return;\n const updatedFormValues = getUpdatedFormValues({ id: TITLE_FIELD_ID, value, formValues });\n const [isValid, valuesChecked] = validate({\n values: updatedFormValues,\n schema,\n currentField: TITLE_FIELD_ID\n });\n\n setFormValues(valuesChecked);\n setPageTitle(value);\n setIsFormValid(isValid);\n setIsSaveButtonAvailable(isValid);\n isValid && setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n };\n\n const onTitleChangeHandler = canEditTitle(schema, formValues) ? onTitleChange : null;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\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 viewUrlDisabledReason={viewUrlDisabledReason}\n onTitleChange={onTitleChangeHandler}\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\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\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 <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 mode={isNewEntity ? 'create' : 'update'}\n />\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\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\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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","ignoreList":[]}
@@ -72,7 +72,7 @@ const EntityManager = ({
72
72
  history.push(`/data-listing/${entityIdentifier}`);
73
73
  }
74
74
  })();
75
- }, [action, addToast, client, entityIdentifier, history, history.push, id, schema, shouldRefetch]);
75
+ }, [action, addToast, client, entityIdentifier, history, history.push, id, shouldRefetch]);
76
76
  const updateFormData = (updatedFormData, shouldRefresh) => {
77
77
  if (shouldRefresh) setShouldRefetch(true);
78
78
  setFormData(updatedFormData);
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.js","names":["React","useEffect","useState","withRouter","useApolloClient","PropTypes","useToasts","entityAvailableActions","Entity","getAction","ERROR","PAGE_NOT_FOUND","EntityManager","match","history","formData","setFormData","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","addToast","action","entityIdentifier","onViewUrl","params","entitySchema","data","requestedQuery","identifier","appearance","autoDismiss","push","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","_objectSpread","pageBuilder","values","error","message","updateFormData","updatedFormData","shouldRefresh","recordHasChanged","createElement","refetchRecord","propTypes","shape","string","func","isRequired","object","actionName","actions","getAll","pageBuilderData","query","variables","where","fetchPolicy","length","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\nimport { ERROR, PAGE_NOT_FOUND } from '../../constants';\n\nconst EntityManager = ({ match, history }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(() => {\n (async () => {\n try {\n const [entitySchema, data = {}, requestedQuery] = await entityAvailableActions[action]({\n client,\n identifier: entityIdentifier,\n id\n });\n\n if (!data) {\n addToast(PAGE_NOT_FOUND, {\n appearance: ERROR,\n autoDismiss: true\n });\n\n history.push(`/data-listing/${entityIdentifier}`);\n }\n\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n } catch (error) {\n addToast(error.message, {\n appearance: ERROR,\n autoDismiss: true\n });\n history.push(`/data-listing/${entityIdentifier}`);\n }\n })();\n }, [\n action,\n addToast,\n client,\n entityIdentifier,\n history,\n history.push,\n id,\n schema,\n shouldRefetch\n ]);\n\n const updateFormData = (updatedFormData, shouldRefresh) => {\n if (shouldRefresh) setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EntityManager.js","names":["React","useEffect","useState","withRouter","useApolloClient","PropTypes","useToasts","entityAvailableActions","Entity","getAction","ERROR","PAGE_NOT_FOUND","EntityManager","match","history","formData","setFormData","entity","setEntity","schema","setSchema","id","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","addToast","action","entityIdentifier","onViewUrl","params","entitySchema","data","requestedQuery","identifier","appearance","autoDismiss","push","localData","isPageBuilderTemplateSet","pageBuilderComponents","getPageBuilderComponents","_objectSpread","pageBuilder","values","error","message","updateFormData","updatedFormData","shouldRefresh","recordHasChanged","createElement","refetchRecord","propTypes","shape","string","func","isRequired","object","actionName","actions","getAll","pageBuilderData","query","variables","where","fetchPolicy","length","pageBuilderTemplateId","currentEntityIdentifier"],"sources":["../../../src/components/EntityManager/EntityManager.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { useToasts } from '@blaze-react/toaster';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\nimport { ERROR, PAGE_NOT_FOUND } from '../../constants';\n\nconst EntityManager = ({ match, history }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(() => {\n (async () => {\n try {\n const [entitySchema, data = {}, requestedQuery] = await entityAvailableActions[action]({\n client,\n identifier: entityIdentifier,\n id\n });\n\n if (!data) {\n addToast(PAGE_NOT_FOUND, {\n appearance: ERROR,\n autoDismiss: true\n });\n\n history.push(`/data-listing/${entityIdentifier}`);\n }\n\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n } catch (error) {\n addToast(error.message, {\n appearance: ERROR,\n autoDismiss: true\n });\n history.push(`/data-listing/${entityIdentifier}`);\n }\n })();\n }, [action, addToast, client, entityIdentifier, history, history.push, id, shouldRefetch]);\n\n const updateFormData = (updatedFormData, shouldRefresh) => {\n if (shouldRefresh) setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ import { withRouter, Link, useLocation } from 'react-router-dom';
8
8
  import { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';
9
9
  import { useToasts } from '@blaze-react/toaster';
10
10
  import { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';
11
+ import { smoothScrollTo } from '@blaze-cms/admin-ui-utils';
11
12
  import ListingTableContent from './ListingTableContent';
12
13
  import SearchFilter from './SearchFilter/SearchFilter';
13
14
  import availableActions from '../EntityManager/Entity/actions-handlers';
@@ -80,7 +81,7 @@ const ListingTable = ({
80
81
  });
81
82
  await doQuery(listFilters, updatedQueryParams);
82
83
  history.push(`?page=${pageNumber}`);
83
- document.getElementsByClassName('page')[0].scrollTo(0, 0);
84
+ smoothScrollTo(document.getElementsByClassName('page')[0], 0);
84
85
  };
85
86
  const updateListingFilters = async filters => {
86
87
  await doQuery(filters);
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","ListingTableContent","SearchFilter","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","updatedQueryParams","_objectSpread","offset","limit","doQuery","url","filters","params","listingData","totalRecords","querySettings","populatedTable","toggleModal","rows","handleOnPageChange","pageNumber","_offset","push","document","getElementsByClassName","scrollTo","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","displayNamePlural","displayName","subtitle","to","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 { 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 SearchFilter from './SearchFilter/SearchFilter';\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 const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\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 document.getElementsByClassName('page')[0].scrollTo(0, 0);\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 entitySchema\n })\n });\n history.push('?page=1');\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 && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayNamePlural || entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <Link data-testid=\"addEntity\" className=\"button button--small\" to={`${match.url}/create`}>\n Add\n </Link>\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 <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\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 schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\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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","ignoreList":[]}
1
+ {"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","smoothScrollTo","ListingTableContent","SearchFilter","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","updatedQueryParams","_objectSpread","offset","limit","doQuery","url","filters","params","listingData","totalRecords","querySettings","populatedTable","toggleModal","rows","handleOnPageChange","pageNumber","_offset","push","document","getElementsByClassName","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","displayNamePlural","displayName","subtitle","to","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 { 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 { smoothScrollTo } from '@blaze-cms/admin-ui-utils';\nimport ListingTableContent from './ListingTableContent';\nimport SearchFilter from './SearchFilter/SearchFilter';\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 const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\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 smoothScrollTo(document.getElementsByClassName('page')[0], 0);\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 entitySchema\n })\n });\n history.push('?page=1');\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 && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayNamePlural || entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <Link data-testid=\"addEntity\" className=\"button button--small\" to={`${match.url}/create`}>\n Add\n </Link>\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 <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\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 schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\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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","ignoreList":[]}
@@ -7,6 +7,7 @@ const SELECT_DEFAULT_VALUE = 'Please Choose...';
7
7
  const LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';
8
8
  const KEY_TO_CHECK = 'values.slug';
9
9
  const TITLE_FIELD_ID = 'name';
10
+ const EDITOR_FULL_SCREEN_EVENT = 'blaze:editor-full-screen';
10
11
  const MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];
11
12
  const PREVIEW_INTERFACE = 'preview/can-preview';
12
13
  const PAGE_BUILDER_FIELD_ID = 'pageBuilder';
@@ -40,5 +41,5 @@ const ICON_COLOR = {
40
41
  };
41
42
  const DEFAULT_FILTER_OPTION_LABEL = 'Any';
42
43
  const DEBUG_PARAM = 'blaze_debug=1';
43
- export { DATA_LISTING_PREFIX, DEBUG_PARAM, ENTITY_PUBLISHED, KEY_TO_CHECK, TITLE_FIELD_ID, LEAVE_PAGE_MESSAGE, MENU_PERMISSIONS, PAGE_BUILDER, PLUGIN_NAME, PREVIEW_INTERFACE, SELECT_DEFAULT_VALUE, TEXT_CONTENT_TYPE, PAGE_BUILDER_FIELD_ID, PAGE_BUILDER_TEMPLATE_FIELD_ID, ERROR, SUCCESS, PUBLISHED, UNPUBLISHED, SAVE_BUTTON_TEXTS, ACTIONS, PAGE_BUILDER_TAB_INDEX, EDITOR_VIEW_TAB_INDEX, EDITOR_VIEW_TAB, PAGE_BUILDER_TAB, UNPUBLISHED_WARNING, SAVE_BEFORE_PUBLISH_MESSAGE, ICON_SIZE, ICON_COLOR, PAGE_NOT_FOUND, VIEW_UNPUBLISHED_REASON, ENTER_KEY, DEFAULT_FILTER_OPTION_LABEL };
44
+ export { EDITOR_FULL_SCREEN_EVENT, DATA_LISTING_PREFIX, DEBUG_PARAM, ENTITY_PUBLISHED, KEY_TO_CHECK, TITLE_FIELD_ID, LEAVE_PAGE_MESSAGE, MENU_PERMISSIONS, PAGE_BUILDER, PLUGIN_NAME, PREVIEW_INTERFACE, SELECT_DEFAULT_VALUE, TEXT_CONTENT_TYPE, PAGE_BUILDER_FIELD_ID, PAGE_BUILDER_TEMPLATE_FIELD_ID, ERROR, SUCCESS, PUBLISHED, UNPUBLISHED, SAVE_BUTTON_TEXTS, ACTIONS, PAGE_BUILDER_TAB_INDEX, EDITOR_VIEW_TAB_INDEX, EDITOR_VIEW_TAB, PAGE_BUILDER_TAB, UNPUBLISHED_WARNING, SAVE_BEFORE_PUBLISH_MESSAGE, ICON_SIZE, ICON_COLOR, PAGE_NOT_FOUND, VIEW_UNPUBLISHED_REASON, ENTER_KEY, DEFAULT_FILTER_OPTION_LABEL };
44
45
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["PLUGIN_NAME","DATA_LISTING_PREFIX","PAGE_BUILDER","TEXT_CONTENT_TYPE","ENTITY_PUBLISHED","SELECT_DEFAULT_VALUE","LEAVE_PAGE_MESSAGE","KEY_TO_CHECK","TITLE_FIELD_ID","MENU_PERMISSIONS","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SUCCESS","PUBLISHED","UNPUBLISHED","SAVE_BUTTON_TEXTS","save","saved","saving","ACTIONS","UNPUBLISHED_WARNING","PAGE_NOT_FOUND","VIEW_UNPUBLISHED_REASON","SAVE_BEFORE_PUBLISH_MESSAGE","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","ENTER_KEY","ICON_SIZE","WIDTH","HEIGHT","ICON_COLOR","STROKE","FILL","DEFAULT_FILTER_OPTION_LABEL","DEBUG_PARAM"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'data-ui';\nconst DATA_LISTING_PREFIX = '/data-listing';\nconst PAGE_BUILDER = 'pageBuilder';\nconst TEXT_CONTENT_TYPE = 'Publish';\nconst ENTITY_PUBLISHED = 'published';\nconst SELECT_DEFAULT_VALUE = 'Please Choose...';\nconst LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';\nconst KEY_TO_CHECK = 'values.slug';\nconst TITLE_FIELD_ID = 'name';\nconst MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];\nconst PREVIEW_INTERFACE = 'preview/can-preview';\nconst PAGE_BUILDER_FIELD_ID = 'pageBuilder';\nconst PAGE_BUILDER_TEMPLATE_FIELD_ID = 'pageBuilderTemplateId';\nconst ERROR = 'error';\nconst SUCCESS = 'success';\nconst PUBLISHED = 'published';\nconst UNPUBLISHED = 'unpublished';\nconst SAVE_BUTTON_TEXTS = { save: 'save', saved: 'saved', saving: 'saving' };\nconst ACTIONS = 'actions';\nconst UNPUBLISHED_WARNING = 'Page already unpublished';\nconst PAGE_NOT_FOUND = 'Page not found';\nconst VIEW_UNPUBLISHED_REASON = 'Not published yet - publish to view it on the site';\nconst SAVE_BEFORE_PUBLISH_MESSAGE =\n 'You have to click save to create the record before you can publish';\n\nconst PAGE_BUILDER_TAB = 'Page builder';\nconst PAGE_BUILDER_TAB_INDEX = 1;\nconst EDITOR_VIEW_TAB = 'Editor view';\nconst EDITOR_VIEW_TAB_INDEX = 0;\n\nconst ENTER_KEY = 'Enter';\n\nconst ICON_SIZE = {\n WIDTH: '25px',\n HEIGHT: '25px'\n};\n\nconst ICON_COLOR = {\n STROKE: '#63779C',\n FILL: '#63779C'\n};\n\nconst DEFAULT_FILTER_OPTION_LABEL = 'Any';\nconst DEBUG_PARAM = 'blaze_debug=1';\n\nexport {\n DATA_LISTING_PREFIX,\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n TITLE_FIELD_ID,\n LEAVE_PAGE_MESSAGE,\n MENU_PERMISSIONS,\n PAGE_BUILDER,\n PLUGIN_NAME,\n PREVIEW_INTERFACE,\n SELECT_DEFAULT_VALUE,\n TEXT_CONTENT_TYPE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SUCCESS,\n PUBLISHED,\n UNPUBLISHED,\n SAVE_BUTTON_TEXTS,\n ACTIONS,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB_INDEX,\n EDITOR_VIEW_TAB,\n PAGE_BUILDER_TAB,\n UNPUBLISHED_WARNING,\n SAVE_BEFORE_PUBLISH_MESSAGE,\n ICON_SIZE,\n ICON_COLOR,\n PAGE_NOT_FOUND,\n VIEW_UNPUBLISHED_REASON,\n ENTER_KEY,\n DEFAULT_FILTER_OPTION_LABEL\n};\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,SAAS;AAC7B,MAAMC,mBAAmB,GAAG,eAAe;AAC3C,MAAMC,YAAY,GAAG,aAAa;AAClC,MAAMC,iBAAiB,GAAG,SAAS;AACnC,MAAMC,gBAAgB,GAAG,WAAW;AACpC,MAAMC,oBAAoB,GAAG,kBAAkB;AAC/C,MAAMC,kBAAkB,GAAG,wEAAwE;AACnG,MAAMC,YAAY,GAAG,aAAa;AAClC,MAAMC,cAAc,GAAG,MAAM;AAC7B,MAAMC,gBAAgB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;AACjF,MAAMC,iBAAiB,GAAG,qBAAqB;AAC/C,MAAMC,qBAAqB,GAAG,aAAa;AAC3C,MAAMC,8BAA8B,GAAG,uBAAuB;AAC9D,MAAMC,KAAK,GAAG,OAAO;AACrB,MAAMC,OAAO,GAAG,SAAS;AACzB,MAAMC,SAAS,GAAG,WAAW;AAC7B,MAAMC,WAAW,GAAG,aAAa;AACjC,MAAMC,iBAAiB,GAAG;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE,OAAO;EAAEC,MAAM,EAAE;AAAS,CAAC;AAC5E,MAAMC,OAAO,GAAG,SAAS;AACzB,MAAMC,mBAAmB,GAAG,0BAA0B;AACtD,MAAMC,cAAc,GAAG,gBAAgB;AACvC,MAAMC,uBAAuB,GAAG,oDAAoD;AACpF,MAAMC,2BAA2B,GAC/B,oEAAoE;AAEtE,MAAMC,gBAAgB,GAAG,cAAc;AACvC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,eAAe,GAAG,aAAa;AACrC,MAAMC,qBAAqB,GAAG,CAAC;AAE/B,MAAMC,SAAS,GAAG,OAAO;AAEzB,MAAMC,SAAS,GAAG;EAChBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,UAAU,GAAG;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,2BAA2B,GAAG,KAAK;AACzC,MAAMC,WAAW,GAAG,eAAe;AAEnC,SACErC,mBAAmB,EACnBqC,WAAW,EACXlC,gBAAgB,EAChBG,YAAY,EACZC,cAAc,EACdF,kBAAkB,EAClBG,gBAAgB,EAChBP,YAAY,EACZF,WAAW,EACXU,iBAAiB,EACjBL,oBAAoB,EACpBF,iBAAiB,EACjBQ,qBAAqB,EACrBC,8BAA8B,EAC9BC,KAAK,EACLC,OAAO,EACPC,SAAS,EACTC,WAAW,EACXC,iBAAiB,EACjBI,OAAO,EACPM,sBAAsB,EACtBE,qBAAqB,EACrBD,eAAe,EACfF,gBAAgB,EAChBJ,mBAAmB,EACnBG,2BAA2B,EAC3BM,SAAS,EACTG,UAAU,EACVX,cAAc,EACdC,uBAAuB,EACvBM,SAAS,EACTO,2BAA2B","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["PLUGIN_NAME","DATA_LISTING_PREFIX","PAGE_BUILDER","TEXT_CONTENT_TYPE","ENTITY_PUBLISHED","SELECT_DEFAULT_VALUE","LEAVE_PAGE_MESSAGE","KEY_TO_CHECK","TITLE_FIELD_ID","EDITOR_FULL_SCREEN_EVENT","MENU_PERMISSIONS","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SUCCESS","PUBLISHED","UNPUBLISHED","SAVE_BUTTON_TEXTS","save","saved","saving","ACTIONS","UNPUBLISHED_WARNING","PAGE_NOT_FOUND","VIEW_UNPUBLISHED_REASON","SAVE_BEFORE_PUBLISH_MESSAGE","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","ENTER_KEY","ICON_SIZE","WIDTH","HEIGHT","ICON_COLOR","STROKE","FILL","DEFAULT_FILTER_OPTION_LABEL","DEBUG_PARAM"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'data-ui';\nconst DATA_LISTING_PREFIX = '/data-listing';\nconst PAGE_BUILDER = 'pageBuilder';\nconst TEXT_CONTENT_TYPE = 'Publish';\nconst ENTITY_PUBLISHED = 'published';\nconst SELECT_DEFAULT_VALUE = 'Please Choose...';\nconst LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';\nconst KEY_TO_CHECK = 'values.slug';\nconst TITLE_FIELD_ID = 'name';\nconst EDITOR_FULL_SCREEN_EVENT = 'blaze:editor-full-screen';\nconst MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];\nconst PREVIEW_INTERFACE = 'preview/can-preview';\nconst PAGE_BUILDER_FIELD_ID = 'pageBuilder';\nconst PAGE_BUILDER_TEMPLATE_FIELD_ID = 'pageBuilderTemplateId';\nconst ERROR = 'error';\nconst SUCCESS = 'success';\nconst PUBLISHED = 'published';\nconst UNPUBLISHED = 'unpublished';\nconst SAVE_BUTTON_TEXTS = { save: 'save', saved: 'saved', saving: 'saving' };\nconst ACTIONS = 'actions';\nconst UNPUBLISHED_WARNING = 'Page already unpublished';\nconst PAGE_NOT_FOUND = 'Page not found';\nconst VIEW_UNPUBLISHED_REASON = 'Not published yet - publish to view it on the site';\nconst SAVE_BEFORE_PUBLISH_MESSAGE =\n 'You have to click save to create the record before you can publish';\n\nconst PAGE_BUILDER_TAB = 'Page builder';\nconst PAGE_BUILDER_TAB_INDEX = 1;\nconst EDITOR_VIEW_TAB = 'Editor view';\nconst EDITOR_VIEW_TAB_INDEX = 0;\n\nconst ENTER_KEY = 'Enter';\n\nconst ICON_SIZE = {\n WIDTH: '25px',\n HEIGHT: '25px'\n};\n\nconst ICON_COLOR = {\n STROKE: '#63779C',\n FILL: '#63779C'\n};\n\nconst DEFAULT_FILTER_OPTION_LABEL = 'Any';\nconst DEBUG_PARAM = 'blaze_debug=1';\n\nexport {\n EDITOR_FULL_SCREEN_EVENT,\n DATA_LISTING_PREFIX,\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n TITLE_FIELD_ID,\n LEAVE_PAGE_MESSAGE,\n MENU_PERMISSIONS,\n PAGE_BUILDER,\n PLUGIN_NAME,\n PREVIEW_INTERFACE,\n SELECT_DEFAULT_VALUE,\n TEXT_CONTENT_TYPE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SUCCESS,\n PUBLISHED,\n UNPUBLISHED,\n SAVE_BUTTON_TEXTS,\n ACTIONS,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB_INDEX,\n EDITOR_VIEW_TAB,\n PAGE_BUILDER_TAB,\n UNPUBLISHED_WARNING,\n SAVE_BEFORE_PUBLISH_MESSAGE,\n ICON_SIZE,\n ICON_COLOR,\n PAGE_NOT_FOUND,\n VIEW_UNPUBLISHED_REASON,\n ENTER_KEY,\n DEFAULT_FILTER_OPTION_LABEL\n};\n"],"mappings":"AAAA,MAAMA,WAAW,GAAG,SAAS;AAC7B,MAAMC,mBAAmB,GAAG,eAAe;AAC3C,MAAMC,YAAY,GAAG,aAAa;AAClC,MAAMC,iBAAiB,GAAG,SAAS;AACnC,MAAMC,gBAAgB,GAAG,WAAW;AACpC,MAAMC,oBAAoB,GAAG,kBAAkB;AAC/C,MAAMC,kBAAkB,GAAG,wEAAwE;AACnG,MAAMC,YAAY,GAAG,aAAa;AAClC,MAAMC,cAAc,GAAG,MAAM;AAC7B,MAAMC,wBAAwB,GAAG,0BAA0B;AAC3D,MAAMC,gBAAgB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;AACjF,MAAMC,iBAAiB,GAAG,qBAAqB;AAC/C,MAAMC,qBAAqB,GAAG,aAAa;AAC3C,MAAMC,8BAA8B,GAAG,uBAAuB;AAC9D,MAAMC,KAAK,GAAG,OAAO;AACrB,MAAMC,OAAO,GAAG,SAAS;AACzB,MAAMC,SAAS,GAAG,WAAW;AAC7B,MAAMC,WAAW,GAAG,aAAa;AACjC,MAAMC,iBAAiB,GAAG;EAAEC,IAAI,EAAE,MAAM;EAAEC,KAAK,EAAE,OAAO;EAAEC,MAAM,EAAE;AAAS,CAAC;AAC5E,MAAMC,OAAO,GAAG,SAAS;AACzB,MAAMC,mBAAmB,GAAG,0BAA0B;AACtD,MAAMC,cAAc,GAAG,gBAAgB;AACvC,MAAMC,uBAAuB,GAAG,oDAAoD;AACpF,MAAMC,2BAA2B,GAC/B,oEAAoE;AAEtE,MAAMC,gBAAgB,GAAG,cAAc;AACvC,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,eAAe,GAAG,aAAa;AACrC,MAAMC,qBAAqB,GAAG,CAAC;AAE/B,MAAMC,SAAS,GAAG,OAAO;AAEzB,MAAMC,SAAS,GAAG;EAChBC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,UAAU,GAAG;EACjBC,MAAM,EAAE,SAAS;EACjBC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,2BAA2B,GAAG,KAAK;AACzC,MAAMC,WAAW,GAAG,eAAe;AAEnC,SACE9B,wBAAwB,EACxBR,mBAAmB,EACnBsC,WAAW,EACXnC,gBAAgB,EAChBG,YAAY,EACZC,cAAc,EACdF,kBAAkB,EAClBI,gBAAgB,EAChBR,YAAY,EACZF,WAAW,EACXW,iBAAiB,EACjBN,oBAAoB,EACpBF,iBAAiB,EACjBS,qBAAqB,EACrBC,8BAA8B,EAC9BC,KAAK,EACLC,OAAO,EACPC,SAAS,EACTC,WAAW,EACXC,iBAAiB,EACjBI,OAAO,EACPM,sBAAsB,EACtBE,qBAAqB,EACrBD,eAAe,EACfF,gBAAgB,EAChBJ,mBAAmB,EACnBG,2BAA2B,EAC3BM,SAAS,EACTG,UAAU,EACVX,cAAc,EACdC,uBAAuB,EACvBM,SAAS,EACTO,2BAA2B","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.146.0-rc-eagle-3.12",
3
+ "version": "0.146.0-rc-eagle-3.14",
4
4
  "description": "Blaze plugin data ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,11 +32,11 @@
32
32
  },
33
33
  "license": "GPL-3.0",
34
34
  "dependencies": {
35
- "@blaze-cms/admin-ui-utils": "0.146.0-rc-eagle-3.12",
35
+ "@blaze-cms/admin-ui-utils": "0.146.0-rc-eagle-3.13",
36
36
  "@blaze-cms/core-errors": "0.146.0-rc-eagle-3.0",
37
37
  "@blaze-cms/plugin-render-hooks-ui": "0.146.0-rc-eagle-3.0",
38
- "@blaze-cms/react-form-builder": "0.146.0-rc-eagle-3.12",
39
- "@blaze-cms/react-page-builder": "0.146.0-rc-eagle-3.12",
38
+ "@blaze-cms/react-form-builder": "0.146.0-rc-eagle-3.13",
39
+ "@blaze-cms/react-page-builder": "0.146.0-rc-eagle-3.13",
40
40
  "@blaze-cms/setup-ui": "0.146.0-rc-eagle-3.0",
41
41
  "@blaze-cms/versioning-ui": "0.146.0-rc-eagle-3.0",
42
42
  "@blaze-react/button": "0.8.0-alpha.82",
@@ -72,5 +72,5 @@
72
72
  "lib/*",
73
73
  "lib-es/*"
74
74
  ],
75
- "gitHead": "28b4d0a1e8d39802de5f95281746036809cb1c45"
75
+ "gitHead": "0d21c95fc0c37d3a5d1b9da35d12612cf44816c9"
76
76
  }
@@ -25,7 +25,8 @@ import {
25
25
  SAVE_BUTTON_TEXTS,
26
26
  UNPUBLISHED_WARNING,
27
27
  VIEW_UNPUBLISHED_REASON,
28
- TITLE_FIELD_ID
28
+ TITLE_FIELD_ID,
29
+ EDITOR_FULL_SCREEN_EVENT
29
30
  } from '../../../constants';
30
31
  import EntityHeader from './EntityHeader';
31
32
 
@@ -76,6 +77,25 @@ const Entity = ({
76
77
  const [suppressPrompt, setSuppressPrompt] = useState(false);
77
78
  const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);
78
79
  const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);
80
+ const isRightSidebarOpenRef = useRef(isRightSidebarOpen);
81
+ isRightSidebarOpenRef.current = isRightSidebarOpen;
82
+
83
+ useEffect(() => {
84
+ let openBeforeFullScreen = null;
85
+
86
+ const onFullScreen = ({ detail: { isFullScreen } }) => {
87
+ if (isFullScreen) {
88
+ openBeforeFullScreen = isRightSidebarOpenRef.current;
89
+ setIsRightSidebarOpen(false);
90
+ } else if (openBeforeFullScreen !== null) {
91
+ setIsRightSidebarOpen(openBeforeFullScreen);
92
+ openBeforeFullScreen = null;
93
+ }
94
+ };
95
+
96
+ window.addEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);
97
+ return () => window.removeEventListener(EDITOR_FULL_SCREEN_EVENT, onFullScreen);
98
+ }, []);
79
99
 
80
100
  const isCreatePage = history.location.pathname.includes('create');
81
101
  const [isNewEntity, setIsNewEntity] = useState(isCreatePage);
@@ -65,17 +65,7 @@ const EntityManager = ({ match, history }) => {
65
65
  history.push(`/data-listing/${entityIdentifier}`);
66
66
  }
67
67
  })();
68
- }, [
69
- action,
70
- addToast,
71
- client,
72
- entityIdentifier,
73
- history,
74
- history.push,
75
- id,
76
- schema,
77
- shouldRefetch
78
- ]);
68
+ }, [action, addToast, client, entityIdentifier, history, history.push, id, shouldRefetch]);
79
69
 
80
70
  const updateFormData = (updatedFormData, shouldRefresh) => {
81
71
  if (shouldRefresh) setShouldRefetch(true);
@@ -5,6 +5,7 @@ import { withRouter, Link, useLocation } from 'react-router-dom';
5
5
  import { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';
6
6
  import { useToasts } from '@blaze-react/toaster';
7
7
  import { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';
8
+ import { smoothScrollTo } from '@blaze-cms/admin-ui-utils';
8
9
  import ListingTableContent from './ListingTableContent';
9
10
  import SearchFilter from './SearchFilter/SearchFilter';
10
11
  import availableActions from '../EntityManager/Entity/actions-handlers';
@@ -76,7 +77,7 @@ const ListingTable = ({ match, entitySchema, history }) => {
76
77
  await doQuery(listFilters, updatedQueryParams);
77
78
 
78
79
  history.push(`?page=${pageNumber}`);
79
- document.getElementsByClassName('page')[0].scrollTo(0, 0);
80
+ smoothScrollTo(document.getElementsByClassName('page')[0], 0);
80
81
  };
81
82
 
82
83
  const updateListingFilters = async filters => {
package/src/constants.js CHANGED
@@ -7,6 +7,7 @@ const SELECT_DEFAULT_VALUE = 'Please Choose...';
7
7
  const LEAVE_PAGE_MESSAGE = 'You are going to leave without saving. Are you sure you want to leave?';
8
8
  const KEY_TO_CHECK = 'values.slug';
9
9
  const TITLE_FIELD_ID = 'name';
10
+ const EDITOR_FULL_SCREEN_EVENT = 'blaze:editor-full-screen';
10
11
  const MENU_PERMISSIONS = ['update:any', 'update:own', 'create:any', 'create:own'];
11
12
  const PREVIEW_INTERFACE = 'preview/can-preview';
12
13
  const PAGE_BUILDER_FIELD_ID = 'pageBuilder';
@@ -44,6 +45,7 @@ const DEFAULT_FILTER_OPTION_LABEL = 'Any';
44
45
  const DEBUG_PARAM = 'blaze_debug=1';
45
46
 
46
47
  export {
48
+ EDITOR_FULL_SCREEN_EVENT,
47
49
  DATA_LISTING_PREFIX,
48
50
  DEBUG_PARAM,
49
51
  ENTITY_PUBLISHED,