@blaze-cms/plugin-data-ui 0.146.0-core-styles.63 → 0.146.0-core-styles.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/lib/components/EntityManager/Entity/Entity.js +40 -31
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +10 -10
- package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js +42 -26
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +12 -12
- package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +12 -12
- package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +15 -15
- package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
- package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +11 -11
- package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
- package/lib/components/EntityManager/EntityManager.js +20 -20
- package/lib/components/EntityManager/EntityManager.js.map +1 -1
- package/lib/components/EntityManager/utils/entity.js +4 -4
- package/lib/components/EntityManager/utils/entity.js.map +1 -1
- package/lib/components/EntityManager/utils/entityAvailableActions.js +14 -14
- package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
- package/lib/components/ListingTable/ListingTable.js +26 -33
- package/lib/components/ListingTable/ListingTable.js.map +1 -1
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +27 -2
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib/components/ListingTable/SearchFilter/SearchContainer.js +22 -22
- package/lib/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
- package/lib/components/ListingTable/service/index.js +6 -6
- package/lib/components/ListingTable/service/index.js.map +1 -1
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/utils/add-content-menu-items.js +6 -6
- package/lib/utils/add-content-menu-items.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/Entity.js +7 -3
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +19 -4
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTable.js +1 -8
- package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +17 -2
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/package.json +2 -2
- package/src/components/EntityManager/Entity/Entity.js +12 -2
- package/src/components/EntityManager/Entity/SideBarRelations/index.js +17 -5
- package/src/components/ListingTable/ListingTable.js +0 -9
- package/src/components/ListingTable/ListingTableContent/ListingTableContent.js +25 -3
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_reactFormBuilder","require","_react","_interopRequireDefault","_package","_constants","_addContentMenuItems","_icons","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof2","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EntityDataListing","React","lazy","Promise","resolve","then","EntityManager","load","_x","_load","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","app","entityDataListingRoute","editEntityRoute","addEntityRoute","wrap","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_reactFormBuilder","require","_react","_interopRequireDefault","_package","_constants","_addContentMenuItems","_icons","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof2","has","get","set","_t2","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EntityDataListing","React","lazy","Promise","resolve","then","EntityManager","load","_x","_load","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee2","app","entityDataListingRoute","editEntityRoute","addEntityRoute","wrap","_context2","prev","next","events","once","getAddContentMenuItems","addFieldType","keys","formFieldTypes","forEach","type","component","_callee","_context","emitAsync","getFormBuilderLookup","stop","_ref2","addConfig","main","items","content","label","loadOpen","icon","ContentIcon","order","taxonomy","TaxonomyIcon","user","UserIcon","settings","SettingsIcon","path","concat","DATA_LISTING_PREFIX","key","exact","addRoute","abrupt","name","PLUGIN_NAME","version","pkg","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import { getFormBuilderLookup, formFieldTypes } from '@blaze-cms/react-form-builder';\nimport React from 'react';\nimport pkg from '../package.json';\nimport { DATA_LISTING_PREFIX, PLUGIN_NAME } from './constants';\nimport getAddContentMenuItems from './utils/add-content-menu-items';\nimport { UserIcon, TaxonomyIcon, ContentIcon, SettingsIcon } from './icons';\n\nconst EntityDataListing = React.lazy(() =>\n import(/* webpackChunkName: 'EntityDataListing' */ './components/EntityDataListing')\n);\nconst EntityManager = React.lazy(() =>\n import(/* webpackChunkName: 'EntityManager' */ './components/EntityManager')\n);\n\nexport default async function load(app) {\n app.events.once('admin:menu:config:load', getAddContentMenuItems(app));\n\n app.events.once('load:custom:field:type', addFieldType => {\n Object.keys(formFieldTypes).forEach(type => {\n addFieldType({ type, component: formFieldTypes[type] });\n });\n });\n\n app.events.once('plugin:data-ui:load:loaded', async () => {\n await app.events.emitAsync('load:custom:field:type', getFormBuilderLookup.addFieldType);\n });\n\n app.events.once('admin:menu:config:load', ({ addConfig }) => {\n addConfig({\n main: {\n items: {\n content: {\n label: 'content',\n loadOpen: true,\n items: {},\n icon: ContentIcon,\n order: 10\n },\n taxonomy: {\n label: 'Taxonomy',\n items: {},\n icon: TaxonomyIcon,\n order: 40\n },\n user: {\n label: 'User',\n items: {},\n icon: UserIcon,\n order: 90\n },\n settings: {\n label: 'Settings',\n items: {},\n icon: SettingsIcon,\n order: 100\n }\n }\n }\n });\n });\n\n const entityDataListingRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier`,\n key: 'entityDataListing',\n component: EntityDataListing,\n exact: true\n };\n\n const editEntityRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier/:action/:id`,\n key: 'editEntity',\n component: EntityManager,\n exact: true\n };\n\n const addEntityRoute = {\n path: `${DATA_LISTING_PREFIX}/:entityIdentifier/:action`,\n key: 'createEntity',\n component: EntityManager,\n exact: true\n };\n\n app.addRoute(entityDataListingRoute);\n app.addRoute(editEntityRoute);\n app.addRoute(addEntityRoute);\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,12 +20,12 @@ function getAddContentMenuItems(app) {
|
|
|
20
20
|
return /*#__PURE__*/function () {
|
|
21
21
|
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
|
|
22
22
|
var addConfig, client, _yield$client$query, getEntitySchemas, menuItems, sectionMenuItems, menuConfig;
|
|
23
|
-
return _regenerator["default"].wrap(function
|
|
23
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
24
24
|
while (1) switch (_context.prev = _context.next) {
|
|
25
25
|
case 0:
|
|
26
26
|
addConfig = _ref.addConfig;
|
|
27
27
|
client = app.getClient();
|
|
28
|
-
_context.next =
|
|
28
|
+
_context.next = 1;
|
|
29
29
|
return client.query({
|
|
30
30
|
query: (0, _adminUiUtils.getQuery)('GET_USER_EDITABLE_ENTITIES'),
|
|
31
31
|
variables: {
|
|
@@ -33,15 +33,15 @@ function getAddContentMenuItems(app) {
|
|
|
33
33
|
canDoActions: MENU_PERMISSIONS
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
case
|
|
36
|
+
case 1:
|
|
37
37
|
_yield$client$query = _context.sent;
|
|
38
38
|
getEntitySchemas = _yield$client$query.data.getEntitySchemas;
|
|
39
39
|
if (!(!getEntitySchemas || !getEntitySchemas.length)) {
|
|
40
|
-
_context.next =
|
|
40
|
+
_context.next = 2;
|
|
41
41
|
break;
|
|
42
42
|
}
|
|
43
43
|
return _context.abrupt("return");
|
|
44
|
-
case
|
|
44
|
+
case 2:
|
|
45
45
|
// no items so don't add section
|
|
46
46
|
menuItems = {};
|
|
47
47
|
sectionMenuItems = {
|
|
@@ -89,7 +89,7 @@ function getAddContentMenuItems(app) {
|
|
|
89
89
|
};
|
|
90
90
|
});
|
|
91
91
|
addConfig(menuConfig);
|
|
92
|
-
case
|
|
92
|
+
case 3:
|
|
93
93
|
case "end":
|
|
94
94
|
return _context.stop();
|
|
95
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-content-menu-items.js","names":["_adminUiUtils","require","_require","MENU_PERMISSIONS","getAddContentMenuItems","app","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_ref","addConfig","client","_yield$client$query","getEntitySchemas","menuItems","sectionMenuItems","menuConfig","wrap","
|
|
1
|
+
{"version":3,"file":"add-content-menu-items.js","names":["_adminUiUtils","require","_require","MENU_PERMISSIONS","getAddContentMenuItems","app","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","_ref","addConfig","client","_yield$client$query","getEntitySchemas","menuItems","sectionMenuItems","menuConfig","wrap","_context","prev","next","getClient","query","getQuery","variables","canDoActions","sent","data","length","abrupt","settings","forEach","_ref3","id","displayName","displayProperties","_displayProperties$ad","adminMenu","_displayProperties$ad2","_displayProperties$ad3","sectionKey","sectionItems","label","uri","concat","main","items","Object","entries","_ref4","_ref5","_slicedToArray2","sectionConfig","_ref6","stop","_x","apply","arguments","_default","exports"],"sources":["../../src/utils/add-content-menu-items.js"],"sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\n\nconst { MENU_PERMISSIONS } = require('../constants');\n\nfunction getAddContentMenuItems(app) {\n return async ({ addConfig }) => {\n const client = app.getClient();\n const {\n data: { getEntitySchemas }\n } = await client.query({\n query: getQuery('GET_USER_EDITABLE_ENTITIES'),\n variables: {\n // only return entities that the current user can do the following actions on\n canDoActions: MENU_PERMISSIONS\n }\n });\n\n if (!getEntitySchemas || !getEntitySchemas.length) return; // no items so don't add section\n\n const menuItems = {};\n const sectionMenuItems = { settings: {} };\n\n getEntitySchemas.forEach(({ id, displayName, displayProperties }) => {\n if (!displayProperties) return null;\n\n const { adminMenu: { sectionKey = 'settings' } = {} } = displayProperties;\n const sectionItems = sectionMenuItems[sectionKey] || {};\n sectionItems[id] = {\n label: displayName,\n uri: `/data-listing/${id}`\n };\n sectionMenuItems[sectionKey] = sectionItems;\n });\n\n const menuConfig = {\n main: {\n items: {\n settings: {\n items: menuItems\n }\n }\n }\n };\n\n Object.entries(sectionMenuItems).forEach(([sectionKey, sectionItems]) => {\n const sectionConfig = menuConfig.main.items[sectionKey] || {};\n sectionConfig.items = sectionItems;\n menuConfig.main.items[sectionKey] = sectionConfig;\n });\n\n getEntitySchemas.forEach(({ id, displayName }) => {\n menuItems[id] = {\n label: displayName,\n uri: `/data-listing/${id}`\n };\n });\n\n addConfig(menuConfig);\n };\n}\n\nexport default getAddContentMenuItems;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -57,6 +57,8 @@ const Entity = ({
|
|
|
57
57
|
const [newUpdatedDate, setNewUpdatedDate] = useState(null);
|
|
58
58
|
const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);
|
|
59
59
|
const [externalUpdateTime, setExternalUpdateTime] = useState(null);
|
|
60
|
+
const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);
|
|
61
|
+
const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);
|
|
60
62
|
const isCreatePage = history.location.pathname.includes('create');
|
|
61
63
|
const [isNewEntity, setIsNewEntity] = useState(isCreatePage);
|
|
62
64
|
const client = useApolloClient();
|
|
@@ -391,7 +393,7 @@ const Entity = ({
|
|
|
391
393
|
copyAction: onCopy,
|
|
392
394
|
getFormData: getFormData
|
|
393
395
|
}), /*#__PURE__*/React.createElement("div", {
|
|
394
|
-
className:
|
|
396
|
+
className: `page__content--fixed${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`
|
|
395
397
|
}, /*#__PURE__*/React.createElement("div", {
|
|
396
398
|
className: "page__content"
|
|
397
399
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -430,12 +432,14 @@ const Entity = ({
|
|
|
430
432
|
entity: entity,
|
|
431
433
|
schema: schema
|
|
432
434
|
}))))), /*#__PURE__*/React.createElement("div", {
|
|
433
|
-
className:
|
|
435
|
+
className: `column column--one-third page-sidebar page-sidebar--relations${!isRightSidebarOpen ? ' sidebar--collapsed' : ''}`
|
|
434
436
|
}, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
|
|
435
437
|
entity: entity,
|
|
436
438
|
formData: formData.values,
|
|
437
439
|
schema: schema,
|
|
438
|
-
onChange: onChangeSideBarRelations
|
|
440
|
+
onChange: onChangeSideBarRelations,
|
|
441
|
+
isOpen: isRightSidebarOpen,
|
|
442
|
+
onToggle: handleToggleRightSidebar
|
|
439
443
|
})))));
|
|
440
444
|
};
|
|
441
445
|
Entity.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","useCallbackDebounce","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_schema$interfaces","_schema$interfaces2","_formData$values","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","externalUpdateTime","setExternalUpdateTime","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","displayProperties","saveOnChange","onSubmit","current","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties","_excluded","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","_objectSpread","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","createElement","updated","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","enabled","onTabChange","tabId","currentTabId","getIsFormValid","onChange","onExternalUpdate","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n const [externalUpdateTime, setExternalUpdateTime] = useState(null);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, 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 saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n entitySchema={entitySchema}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"page__content--fixed\">\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n onExternalUpdate={setExternalUpdateTime}\n />\n </Tabs>\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar page-sidebar--relations\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n </RecordEditContextProvider>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","RenderHook","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","useCallbackDebounce","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","InfoBoxes","RecordEditContextProvider","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_schema$interfaces","_schema$interfaces2","_formData$values","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","externalUpdateTime","setExternalUpdateTime","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","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties","_excluded","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","_objectSpread","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","createElement","updated","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","enabled","onTabChange","tabId","currentTabId","getIsFormValid","onChange","onExternalUpdate","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, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n const [externalUpdateTime, setExternalUpdateTime] = useState(null);\n 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 () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, 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 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--fixed${\n !isRightSidebarOpen ? ' right-sidebar-collapsed' : ''\n }`}>\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n onExternalUpdate={setExternalUpdateTime}\n />\n </Tabs>\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div\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":[]}
|
|
@@ -13,7 +13,9 @@ const SideBarRelations = ({
|
|
|
13
13
|
schema,
|
|
14
14
|
onChange,
|
|
15
15
|
formData,
|
|
16
|
-
entity
|
|
16
|
+
entity,
|
|
17
|
+
isOpen,
|
|
18
|
+
onToggle
|
|
17
19
|
}) => {
|
|
18
20
|
const {
|
|
19
21
|
relation: RelationComponent
|
|
@@ -71,9 +73,18 @@ const SideBarRelations = ({
|
|
|
71
73
|
'sidebar__status__badge--unpublished': status === UNPUBLISHED
|
|
72
74
|
});
|
|
73
75
|
return /*#__PURE__*/React.createElement("div", {
|
|
74
|
-
className:
|
|
76
|
+
className: classnames('sidebar', {
|
|
77
|
+
'sidebar--collapsed': !isOpen
|
|
78
|
+
}),
|
|
75
79
|
"data-testid": "sideBarRelations-main-div"
|
|
76
80
|
}, /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: "sidebar__toggle-button",
|
|
82
|
+
onClick: onToggle,
|
|
83
|
+
role: "button",
|
|
84
|
+
"aria-label": isOpen ? 'Collapse sidebar' : 'Expand sidebar'
|
|
85
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
86
|
+
className: "material-icons"
|
|
87
|
+
}, isOpen ? 'keyboard_arrow_right' : 'keyboard_arrow_left')), /*#__PURE__*/React.createElement("div", {
|
|
77
88
|
className: "sidebar__content"
|
|
78
89
|
}, /*#__PURE__*/React.createElement("div", {
|
|
79
90
|
className: "sidebar__status"
|
|
@@ -109,10 +120,14 @@ SideBarRelations.propTypes = {
|
|
|
109
120
|
schema: PropTypes.object.isRequired,
|
|
110
121
|
onChange: PropTypes.func.isRequired,
|
|
111
122
|
formData: PropTypes.object.isRequired,
|
|
112
|
-
entity: PropTypes.object
|
|
123
|
+
entity: PropTypes.object,
|
|
124
|
+
isOpen: PropTypes.bool,
|
|
125
|
+
onToggle: PropTypes.func
|
|
113
126
|
};
|
|
114
127
|
SideBarRelations.defaultProps = {
|
|
115
|
-
entity: {}
|
|
128
|
+
entity: {},
|
|
129
|
+
isOpen: true,
|
|
130
|
+
onToggle: () => {}
|
|
116
131
|
};
|
|
117
132
|
export default SideBarRelations;
|
|
118
133
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","classnames","VersionsList","PUBLISHED","UNPUBLISHED","CustomSidebarInfoContainer","EntityNavLinks","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","updatedBy","status","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","statusClassName","createElement","className","displayProperties","disableDefaultAdminInfo","Fragment","name","entitySchema","key","onSelect","propTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\nimport CustomSidebarInfoContainer from './container/CustomSidebarInfoContainer';\nimport EntityNavLinks from '../EntitiyNavLinks';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n updatedBy,\n status\n } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\n });\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n <div className=\"sidebar__status\">\n {formattedCreated && (\n <div className=\"sidebar__top\">\n <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n </div>\n )}\n {!schema.displayProperties.disableDefaultAdminInfo &&\n formattedCreated && (\n <>\n <>\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n {updatedBy && (\n <p>\n Updated by: <span>{updatedBy.name}</span>\n </p>\n )}\n </>\n </>\n )}\n\n <CustomSidebarInfoContainer\n id={itemId}\n schema={schema}\n displayProperties={schema.displayProperties}\n />\n </div>\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n <EntityNavLinks schema={schema} />\n\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","classnames","VersionsList","PUBLISHED","UNPUBLISHED","CustomSidebarInfoContainer","EntityNavLinks","SideBarRelations","schema","onChange","formData","entity","isOpen","onToggle","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","updatedBy","status","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","statusClassName","createElement","className","onClick","role","displayProperties","disableDefaultAdminInfo","Fragment","name","entitySchema","key","onSelect","propTypes","object","isRequired","func","bool","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\nimport CustomSidebarInfoContainer from './container/CustomSidebarInfoContainer';\nimport EntityNavLinks from '../EntitiyNavLinks';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity, isOpen, onToggle }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n updatedBy,\n status\n } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\n });\n\n return (\n <div\n className={classnames('sidebar', { 'sidebar--collapsed': !isOpen })}\n data-testid=\"sideBarRelations-main-div\">\n <div\n className=\"sidebar__toggle-button\"\n onClick={onToggle}\n role=\"button\"\n aria-label={isOpen ? 'Collapse sidebar' : 'Expand sidebar'}>\n <i className=\"material-icons\">{isOpen ? 'keyboard_arrow_right' : 'keyboard_arrow_left'}</i>\n </div>\n <div className=\"sidebar__content\">\n <div className=\"sidebar__status\">\n {formattedCreated && (\n <div className=\"sidebar__top\">\n <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n </div>\n )}\n {!schema.displayProperties.disableDefaultAdminInfo &&\n formattedCreated && (\n <>\n <>\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n {updatedBy && (\n <p>\n Updated by: <span>{updatedBy.name}</span>\n </p>\n )}\n </>\n </>\n )}\n\n <CustomSidebarInfoContainer\n id={itemId}\n schema={schema}\n displayProperties={schema.displayProperties}\n />\n </div>\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n <EntityNavLinks schema={schema} />\n\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object,\n isOpen: PropTypes.bool,\n onToggle: PropTypes.func\n};\nSideBarRelations.defaultProps = {\n entity: {},\n isOpen: true,\n onToggle: () => {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,6 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import React, { useEffect, useState, Fragment } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import More from '@blaze-react/more';
|
|
7
6
|
import { useApolloClient } from '@apollo/client';
|
|
8
7
|
import { withRouter, Link, useLocation } from 'react-router-dom';
|
|
9
8
|
import { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';
|
|
@@ -175,13 +174,7 @@ const ListingTable = ({
|
|
|
175
174
|
"data-testid": "addEntity",
|
|
176
175
|
className: "button button--small",
|
|
177
176
|
to: `${match.url}/create`
|
|
178
|
-
}, "Add"),
|
|
179
|
-
isMoreMenu: true
|
|
180
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
181
|
-
className: "material-icons"
|
|
182
|
-
}, "more_vert")), /*#__PURE__*/React.createElement(More.Content, {
|
|
183
|
-
isMoreMenu: true
|
|
184
|
-
}))))), showAddButton ? /*#__PURE__*/React.createElement(CardPrompt, null, /*#__PURE__*/React.createElement(Link, {
|
|
177
|
+
}, "Add"))), showAddButton ? /*#__PURE__*/React.createElement(CardPrompt, null, /*#__PURE__*/React.createElement(Link, {
|
|
185
178
|
className: "button button--rounded button--cta",
|
|
186
179
|
to: `${match.url}/create`,
|
|
187
180
|
"data-testid": "add-button"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListingTable.js","names":["React","useEffect","useState","Fragment","PropTypes","More","useApolloClient","withRouter","Link","useLocation","PageHeader","DeleteAction","CardPrompt","useToasts","RenderHook","ListingTableContent","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","displayName","subtitle","to","Actions","Avatar","isMoreMenu","Content","hookKey","schema","onSort","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport 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\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus &&\n _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active &&\n !showAddButton && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n {showAddButton ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\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","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","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\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus &&\n _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active &&\n !showAddButton && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n </Fragment>\n )}\n </PageHeader>\n {showAddButton ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\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,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect, useRef } from 'react';
|
|
2
2
|
import Table from '@blaze-react/table';
|
|
3
3
|
import Pagination from '@blaze-react/pagination';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
@@ -11,17 +11,32 @@ const ListingTableContent = ({
|
|
|
11
11
|
currentPage,
|
|
12
12
|
totalItems
|
|
13
13
|
}) => {
|
|
14
|
+
const ref = useRef(null);
|
|
14
15
|
const displayTable = tableData && tableData.rows && !!tableData.rows.length;
|
|
15
16
|
const {
|
|
16
17
|
isEnquiry
|
|
17
18
|
} = tableData;
|
|
18
19
|
const className = `page__content${isEnquiry ? ' array-table' : ''}`;
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
// set table head to match body column widths to handle dynamic content
|
|
22
|
+
if (ref.current) {
|
|
23
|
+
const tableHeadCells = ref.current.querySelectorAll('.table-head .table-cell');
|
|
24
|
+
const firstRowCells = ref.current.querySelectorAll('.table-body .table-row:first-child .table-cell');
|
|
25
|
+
firstRowCells.forEach((element, i) => {
|
|
26
|
+
const styles = window.getComputedStyle(element);
|
|
27
|
+
if (tableHeadCells[i]) {
|
|
28
|
+
tableHeadCells[i].style.flex = styles.flex;
|
|
29
|
+
tableHeadCells[i].style['justify-content'] = styles['justify-content'];
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}, [tableData]);
|
|
19
34
|
return /*#__PURE__*/React.createElement(React.Fragment, null, displayTable ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
35
|
+
ref: ref,
|
|
20
36
|
className: className
|
|
21
37
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
22
38
|
onSort: onSort,
|
|
23
39
|
data: tableData,
|
|
24
|
-
checkboxes: !isEnquiry,
|
|
25
40
|
onSelect: handleSelect,
|
|
26
41
|
"data-testid": "listing-table-content"
|
|
27
42
|
}), /*#__PURE__*/React.createElement(Pagination, {
|