@blaze-cms/plugin-data-ui 0.126.0 → 0.127.0-admin-updates.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/components/EntityDataListing/EntityDataListing.js +4 -4
  3. package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
  4. package/lib/components/EntityManager/Entity/Entity.js +184 -189
  5. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  6. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  7. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +26 -28
  8. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  9. package/lib/components/EntityManager/Entity/SideBarRelations/index.js +89 -89
  10. package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  11. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +40 -42
  12. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  13. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +31 -33
  14. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
  15. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +40 -42
  16. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
  17. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +43 -45
  18. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
  19. package/lib/components/EntityManager/EntityManager.js +65 -69
  20. package/lib/components/EntityManager/EntityManager.js.map +1 -1
  21. package/lib/components/EntityManager/utils/entity.js +10 -12
  22. package/lib/components/EntityManager/utils/entity.js.map +1 -1
  23. package/lib/components/EntityManager/utils/entityAvailableActions.js +62 -66
  24. package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
  25. package/lib/components/ListingTable/ListingTable.js +121 -129
  26. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  27. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  28. package/lib/components/ListingTable/TableActions/TableActions.js.map +1 -1
  29. package/lib/components/ListingTable/service/index.js +17 -19
  30. package/lib/components/ListingTable/service/index.js.map +1 -1
  31. package/lib/components/Tabs/index.js +18 -2
  32. package/lib/components/Tabs/index.js.map +1 -1
  33. package/lib/index.js +56 -60
  34. package/lib/index.js.map +1 -1
  35. package/lib/utils/add-content-menu-items.js +25 -27
  36. package/lib/utils/add-content-menu-items.js.map +1 -1
  37. package/lib-es/components/EntityManager/Entity/Entity.js +19 -17
  38. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  39. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  40. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  41. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +13 -7
  42. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  43. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  44. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  45. package/lib-es/components/ListingTable/TableActions/TableActions.js.map +1 -1
  46. package/lib-es/components/Tabs/index.js +5 -2
  47. package/lib-es/components/Tabs/index.js.map +1 -1
  48. package/package.json +7 -7
  49. package/src/components/EntityManager/Entity/Entity.js +61 -59
  50. package/src/components/EntityManager/Entity/SideBarRelations/index.js +23 -9
  51. package/src/components/Tabs/index.js +3 -2
@@ -13,25 +13,23 @@ var fetchData = /*#__PURE__*/function () {
13
13
  var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
14
14
  var client, _ref$querySettings, entitySchema, queryParams, query, _yield$client$query, listingData;
15
15
  return _regenerator["default"].wrap(function _callee$(_context) {
16
- while (1) {
17
- switch (_context.prev = _context.next) {
18
- case 0:
19
- client = _ref.client, _ref$querySettings = _ref.querySettings, entitySchema = _ref$querySettings.entitySchema, queryParams = _ref$querySettings.queryParams;
20
- query = (0, _buildListingQuery["default"])(entitySchema);
21
- _context.next = 4;
22
- return client.query({
23
- query: query,
24
- variables: queryParams,
25
- fetchPolicy: 'network-only'
26
- });
27
- case 4:
28
- _yield$client$query = _context.sent;
29
- listingData = _yield$client$query.data.listingData;
30
- return _context.abrupt("return", listingData);
31
- case 7:
32
- case "end":
33
- return _context.stop();
34
- }
16
+ while (1) switch (_context.prev = _context.next) {
17
+ case 0:
18
+ client = _ref.client, _ref$querySettings = _ref.querySettings, entitySchema = _ref$querySettings.entitySchema, queryParams = _ref$querySettings.queryParams;
19
+ query = (0, _buildListingQuery["default"])(entitySchema);
20
+ _context.next = 4;
21
+ return client.query({
22
+ query: query,
23
+ variables: queryParams,
24
+ fetchPolicy: 'network-only'
25
+ });
26
+ case 4:
27
+ _yield$client$query = _context.sent;
28
+ listingData = _yield$client$query.data.listingData;
29
+ return _context.abrupt("return", listingData);
30
+ case 7:
31
+ case "end":
32
+ return _context.stop();
35
33
  }
36
34
  }, _callee);
37
35
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fetchData","client","querySettings","entitySchema","queryParams","query","buildListingQuery","variables","fetchPolicy","listingData","data"],"sources":["../../../../src/components/ListingTable/service/index.js"],"sourcesContent":["import buildListingQuery from '../../../utils/build-listing-query';\n\nconst fetchData = async ({ client, querySettings: { entitySchema, queryParams } }) => {\n const query = buildListingQuery(entitySchema);\n const {\n data: { listingData }\n } = await client.query({ query, variables: queryParams, fetchPolicy: 'network-only' });\n\n return listingData;\n};\n\nexport { fetchData };\n"],"mappings":";;;;;;;;;;AAAA;AAEA,IAAMA,SAAS;EAAA,0FAAG;IAAA;IAAA;MAAA;QAAA;UAAA;YAASC,MAAM,QAANA,MAAM,4BAAEC,aAAa,EAAIC,YAAY,sBAAZA,YAAY,EAAEC,WAAW,sBAAXA,WAAW;YACrEC,KAAK,GAAG,IAAAC,6BAAiB,EAACH,YAAY,CAAC;YAAA;YAAA,OAGnCF,MAAM,CAACI,KAAK,CAAC;cAAEA,KAAK,EAALA,KAAK;cAAEE,SAAS,EAAEH,WAAW;cAAEI,WAAW,EAAE;YAAe,CAAC,CAAC;UAAA;YAAA;YAD5EC,WAAW,uBAAnBC,IAAI,CAAID,WAAW;YAAA,iCAGdA,WAAW;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CACnB;EAAA,gBAPKT,SAAS;IAAA;EAAA;AAAA,GAOd;AAAC"}
1
+ {"version":3,"file":"index.js","names":["fetchData","client","querySettings","entitySchema","queryParams","query","buildListingQuery","variables","fetchPolicy","listingData","data"],"sources":["../../../../src/components/ListingTable/service/index.js"],"sourcesContent":["import buildListingQuery from '../../../utils/build-listing-query';\n\nconst fetchData = async ({ client, querySettings: { entitySchema, queryParams } }) => {\n const query = buildListingQuery(entitySchema);\n const {\n data: { listingData }\n } = await client.query({ query, variables: queryParams, fetchPolicy: 'network-only' });\n\n return listingData;\n};\n\nexport { fetchData };\n"],"mappings":";;;;;;;;;;AAAA;AAEA,IAAMA,SAAS;EAAA,0FAAG;IAAA;IAAA;MAAA;QAAA;UAASC,MAAM,QAANA,MAAM,4BAAEC,aAAa,EAAIC,YAAY,sBAAZA,YAAY,EAAEC,WAAW,sBAAXA,WAAW;UACrEC,KAAK,GAAG,IAAAC,6BAAiB,EAACH,YAAY,CAAC;UAAA;UAAA,OAGnCF,MAAM,CAACI,KAAK,CAAC;YAAEA,KAAK,EAALA,KAAK;YAAEE,SAAS,EAAEH,WAAW;YAAEI,WAAW,EAAE;UAAe,CAAC,CAAC;QAAA;UAAA;UAD5EC,WAAW,uBAAnBC,IAAI,CAAID,WAAW;UAAA,iCAGdA,WAAW;QAAA;QAAA;UAAA;MAAA;IAAA;EAAA,CACnB;EAAA,gBAPKT,SAAS;IAAA;EAAA;AAAA,GAOd;AAAC"}
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.to-string.js");
5
+ require("core-js/modules/es.string.iterator.js");
6
+ require("core-js/modules/es.weak-map.js");
7
+ require("core-js/modules/web.dom-collections.iterator.js");
3
8
  require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
4
10
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
12
  Object.defineProperty(exports, "__esModule", {
6
13
  value: true
7
14
  });
8
15
  exports["default"] = void 0;
9
- var _react = _interopRequireDefault(require("react"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _react = _interopRequireWildcard(require("react"));
10
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
19
  var _tab = require("@blaze-react/tab");
12
20
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
13
21
  var _constants = require("../../constants");
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
24
  var Tabs = function Tabs(_ref) {
15
25
  var children = _ref.children,
16
26
  onTabChange = _ref.onTabChange,
@@ -19,9 +29,15 @@ var Tabs = function Tabs(_ref) {
19
29
  query: _adminUiUtils.GET_CURRENT_TAB_ID
20
30
  }) || _constants.EDITOR_VIEW_TAB_INDEX,
21
31
  currentTabId = _ref2.currentTabId;
32
+ var _useState = (0, _react.useState)([]),
33
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
+ activeAccordions = _useState2[0],
35
+ setActiveAccordions = _useState2[1];
22
36
  return enabled ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_adminUiUtils.TabsContextProvider, {
23
37
  value: {
24
- currentTabId: currentTabId
38
+ currentTabId: currentTabId,
39
+ activeAccordions: activeAccordions,
40
+ setActiveAccordions: setActiveAccordions
25
41
  }
26
42
  }, /*#__PURE__*/_react["default"].createElement(_tab.Tab, {
27
43
  selected: currentTabId
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Tabs","children","onTabChange","enabled","useReadFromCache","query","GET_CURRENT_TAB_ID","EDITOR_VIEW_TAB_INDEX","currentTabId","EDITOR_VIEW_TAB","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","propTypes","PropTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AAKA;AAOA,IAAMA,IAAI,GAAG,SAAPA,IAAI,OAA2C;EAAA,IAArCC,QAAQ,QAARA,QAAQ;IAAEC,WAAW,QAAXA,WAAW;IAAEC,OAAO,QAAPA,OAAO;EAC5C,YAAyB,IAAAC,8BAAgB,EAAC;MAAEC,KAAK,EAAEC;IAAmB,CAAC,CAAC,IAAIC,gCAAqB;IAAzFC,YAAY,SAAZA,YAAY;EAEpB,OAAOL,OAAO,gBACZ,+EACE,gCAAC,iCAAmB;IAAC,KAAK,EAAE;MAAEK,YAAY,EAAZA;IAAa;EAAE,gBAC3C,gCAAC,QAAG;IAAC,QAAQ,EAAEA;EAAa,gBAC1B,gCAAC,YAAO;IAAC,KAAK,EAAEC,0BAAgB;IAAC,MAAM,EAAE;MAAA,OAAMP,WAAW,CAACK,gCAAqB,CAAC;IAAA;EAAC,GAC/EN,QAAQ,CACD,eACV,gCAAC,YAAO;IAAC,KAAK,EAAES,2BAAiB;IAAC,MAAM,EAAE;MAAA,OAAMR,WAAW,CAACS,iCAAsB,CAAC;IAAA;EAAC,GACjFV,QAAQ,CACD,CACN,CACc,CACrB,gBAEH,kEAAGA,QAAQ,CACZ;AACH,CAAC;AAEDD,IAAI,CAACY,SAAS,GAAG;EACfX,QAAQ,EAAEY,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,MAAM,EAAEF,qBAAS,CAACG,OAAO,CAACH,qBAAS,CAACE,MAAM,CAAC,CAAC,CAAC,CAACE,UAAU;EACjGf,WAAW,EAAEW,qBAAS,CAACK,IAAI,CAACD,UAAU;EACtCd,OAAO,EAAEU,qBAAS,CAACM,IAAI,CAACF;AAC1B,CAAC;AAAC,eAEajB,IAAI;AAAA"}
1
+ {"version":3,"file":"index.js","names":["Tabs","children","onTabChange","enabled","useReadFromCache","query","GET_CURRENT_TAB_ID","EDITOR_VIEW_TAB_INDEX","currentTabId","useState","activeAccordions","setActiveAccordions","EDITOR_VIEW_TAB","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","propTypes","PropTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n const [activeAccordions, setActiveAccordions] = useState([]);\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId, activeAccordions, setActiveAccordions }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AAKA;AAKyB;AAAA;AAEzB,IAAMA,IAAI,GAAG,SAAPA,IAAI,OAA2C;EAAA,IAArCC,QAAQ,QAARA,QAAQ;IAAEC,WAAW,QAAXA,WAAW;IAAEC,OAAO,QAAPA,OAAO;EAC5C,YAAyB,IAAAC,8BAAgB,EAAC;MAAEC,KAAK,EAAEC;IAAmB,CAAC,CAAC,IAAIC,gCAAqB;IAAzFC,YAAY,SAAZA,YAAY;EACpB,gBAAgD,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAA;IAArDC,gBAAgB;IAAEC,mBAAmB;EAE5C,OAAOR,OAAO,gBACZ,+EACE,gCAAC,iCAAmB;IAAC,KAAK,EAAE;MAAEK,YAAY,EAAZA,YAAY;MAAEE,gBAAgB,EAAhBA,gBAAgB;MAAEC,mBAAmB,EAAnBA;IAAoB;EAAE,gBAClF,gCAAC,QAAG;IAAC,QAAQ,EAAEH;EAAa,gBAC1B,gCAAC,YAAO;IAAC,KAAK,EAAEI,0BAAgB;IAAC,MAAM,EAAE;MAAA,OAAMV,WAAW,CAACK,gCAAqB,CAAC;IAAA;EAAC,GAC/EN,QAAQ,CACD,eACV,gCAAC,YAAO;IAAC,KAAK,EAAEY,2BAAiB;IAAC,MAAM,EAAE;MAAA,OAAMX,WAAW,CAACY,iCAAsB,CAAC;IAAA;EAAC,GACjFb,QAAQ,CACD,CACN,CACc,CACrB,gBAEH,kEAAGA,QAAQ,CACZ;AACH,CAAC;AAEDD,IAAI,CAACe,SAAS,GAAG;EACfd,QAAQ,EAAEe,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,MAAM,EAAEF,qBAAS,CAACG,OAAO,CAACH,qBAAS,CAACE,MAAM,CAAC,CAAC,CAAC,CAACE,UAAU;EACjGlB,WAAW,EAAEc,qBAAS,CAACK,IAAI,CAACD,UAAU;EACtCjB,OAAO,EAAEa,qBAAS,CAACM,IAAI,CAACF;AAC1B,CAAC;AAAC,eAEapB,IAAI;AAAA"}
package/lib/index.js CHANGED
@@ -43,69 +43,65 @@ function _load() {
43
43
  _load = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(app) {
44
44
  var sectionKey, entityDataListingRoute, editEntityRoute, addEntityRoute;
45
45
  return _regenerator["default"].wrap(function _callee2$(_context2) {
46
- while (1) {
47
- switch (_context2.prev = _context2.next) {
48
- case 0:
49
- // To load different plugin information into menu
50
- sectionKey = 'content';
51
- app.events.once('load:menu-section', function (addSection) {
52
- addSection(sectionKey, {
53
- header: 'content',
54
- order: 100
55
- });
46
+ while (1) switch (_context2.prev = _context2.next) {
47
+ case 0:
48
+ // To load different plugin information into menu
49
+ sectionKey = 'content';
50
+ app.events.once('load:menu-section', function (addSection) {
51
+ addSection(sectionKey, {
52
+ header: 'content',
53
+ order: 100
56
54
  });
57
- app.events.once('load:menu-items', (0, _addContentMenuItems["default"])(app, sectionKey));
58
- app.events.once('load:custom:field:type', function (addFieldType) {
59
- Object.keys(_reactFormBuilder.formFieldTypes).forEach(function (type) {
60
- addFieldType({
61
- type: type,
62
- component: _reactFormBuilder.formFieldTypes[type]
63
- });
55
+ });
56
+ app.events.once('load:menu-items', (0, _addContentMenuItems["default"])(app, sectionKey));
57
+ app.events.once('load:custom:field:type', function (addFieldType) {
58
+ Object.keys(_reactFormBuilder.formFieldTypes).forEach(function (type) {
59
+ addFieldType({
60
+ type: type,
61
+ component: _reactFormBuilder.formFieldTypes[type]
64
62
  });
65
63
  });
66
- app.events.once('plugin:data-ui:load:loaded', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
67
- return _regenerator["default"].wrap(function _callee$(_context) {
68
- while (1) {
69
- switch (_context.prev = _context.next) {
70
- case 0:
71
- _context.next = 2;
72
- return app.events.emitAsync('load:custom:field:type', _reactFormBuilder.getFormBuilderLookup.addFieldType);
73
- case 2:
74
- case "end":
75
- return _context.stop();
76
- }
77
- }
78
- }, _callee);
79
- })));
80
- entityDataListingRoute = {
81
- path: "".concat(_constants.DATA_LISTING_PREFIX, "/:entityIdentifier"),
82
- key: 'entityDataListing',
83
- component: EntityDataListing,
84
- exact: true
85
- };
86
- editEntityRoute = {
87
- path: "".concat(_constants.DATA_LISTING_PREFIX, "/:entityIdentifier/:action/:id"),
88
- key: 'editEntity',
89
- component: EntityManager,
90
- exact: true
91
- };
92
- addEntityRoute = {
93
- path: "".concat(_constants.DATA_LISTING_PREFIX, "/:entityIdentifier/:action"),
94
- key: 'createEntity',
95
- component: EntityManager,
96
- exact: true
97
- };
98
- app.addRoute(entityDataListingRoute);
99
- app.addRoute(editEntityRoute);
100
- app.addRoute(addEntityRoute);
101
- return _context2.abrupt("return", {
102
- name: _constants.PLUGIN_NAME,
103
- version: _package["default"].version
104
- });
105
- case 12:
106
- case "end":
107
- return _context2.stop();
108
- }
64
+ });
65
+ app.events.once('plugin:data-ui:load:loaded', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
66
+ return _regenerator["default"].wrap(function _callee$(_context) {
67
+ while (1) switch (_context.prev = _context.next) {
68
+ case 0:
69
+ _context.next = 2;
70
+ return app.events.emitAsync('load:custom:field:type', _reactFormBuilder.getFormBuilderLookup.addFieldType);
71
+ case 2:
72
+ case "end":
73
+ return _context.stop();
74
+ }
75
+ }, _callee);
76
+ })));
77
+ entityDataListingRoute = {
78
+ path: "".concat(_constants.DATA_LISTING_PREFIX, "/:entityIdentifier"),
79
+ key: 'entityDataListing',
80
+ component: EntityDataListing,
81
+ exact: true
82
+ };
83
+ editEntityRoute = {
84
+ path: "".concat(_constants.DATA_LISTING_PREFIX, "/:entityIdentifier/:action/:id"),
85
+ key: 'editEntity',
86
+ component: EntityManager,
87
+ exact: true
88
+ };
89
+ addEntityRoute = {
90
+ path: "".concat(_constants.DATA_LISTING_PREFIX, "/:entityIdentifier/:action"),
91
+ key: 'createEntity',
92
+ component: EntityManager,
93
+ exact: true
94
+ };
95
+ app.addRoute(entityDataListingRoute);
96
+ app.addRoute(editEntityRoute);
97
+ app.addRoute(addEntityRoute);
98
+ return _context2.abrupt("return", {
99
+ name: _constants.PLUGIN_NAME,
100
+ version: _package["default"].version
101
+ });
102
+ case 12:
103
+ case "end":
104
+ return _context2.stop();
109
105
  }
110
106
  }, _callee2);
111
107
  }));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["EntityDataListing","React","lazy","EntityManager","load","app","sectionKey","events","once","addSection","header","order","getAddContentMenuItems","addFieldType","Object","keys","formFieldTypes","forEach","type","component","emitAsync","getFormBuilderLookup","entityDataListingRoute","path","DATA_LISTING_PREFIX","key","exact","editEntityRoute","addEntityRoute","addRoute","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';\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 // To load different plugin information into menu\n const sectionKey = 'content';\n\n app.events.once('load:menu-section', addSection => {\n addSection(sectionKey, { header: 'content', order: 100 });\n });\n\n app.events.once('load:menu-items', getAddContentMenuItems(app, sectionKey));\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 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":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAoE;AAAA;AAEpE,IAAMA,iBAAiB,gBAAGC,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCAC5B,2CAA4C,gCAAgC;EAAA;AAAA,CAAC,CACrF;AACD,IAAMC,aAAa,gBAAGF,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCACxB,uCAAwC,4BAA4B;EAAA;AAAA,CAAC,CAC7E;AAAC,SAE4BE,IAAI;EAAA;AAAA;AAAA;EAAA,sFAAnB,kBAAoBC,GAAG;IAAA;IAAA;MAAA;QAAA;UAAA;YACpC;YACMC,UAAU,GAAG,SAAS;YAE5BD,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,mBAAmB,EAAE,UAAAC,UAAU,EAAI;cACjDA,UAAU,CAACH,UAAU,EAAE;gBAAEI,MAAM,EAAE,SAAS;gBAAEC,KAAK,EAAE;cAAI,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEFN,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,iBAAiB,EAAE,IAAAI,+BAAsB,EAACP,GAAG,EAAEC,UAAU,CAAC,CAAC;YAE3ED,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,UAAAK,YAAY,EAAI;cACxDC,MAAM,CAACC,IAAI,CAACC,gCAAc,CAAC,CAACC,OAAO,CAAC,UAAAC,IAAI,EAAI;gBAC1CL,YAAY,CAAC;kBAAEK,IAAI,EAAJA,IAAI;kBAAEC,SAAS,EAAEH,gCAAc,CAACE,IAAI;gBAAE,CAAC,CAAC;cACzD,CAAC,CAAC;YACJ,CAAC,CAAC;YAEFb,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,4BAA4B,6FAAE;cAAA;gBAAA;kBAAA;oBAAA;sBAAA;sBAAA,OACtCH,GAAG,CAACE,MAAM,CAACa,SAAS,CAAC,wBAAwB,EAAEC,sCAAoB,CAACR,YAAY,CAAC;oBAAA;oBAAA;sBAAA;kBAAA;gBAAA;cAAA;YAAA,CACxF,GAAC;YAEIS,sBAAsB,GAAG;cAC7BC,IAAI,YAAKC,8BAAmB,uBAAoB;cAChDC,GAAG,EAAE,mBAAmB;cACxBN,SAAS,EAAEnB,iBAAiB;cAC5B0B,KAAK,EAAE;YACT,CAAC;YAEKC,eAAe,GAAG;cACtBJ,IAAI,YAAKC,8BAAmB,mCAAgC;cAC5DC,GAAG,EAAE,YAAY;cACjBN,SAAS,EAAEhB,aAAa;cACxBuB,KAAK,EAAE;YACT,CAAC;YAEKE,cAAc,GAAG;cACrBL,IAAI,YAAKC,8BAAmB,+BAA4B;cACxDC,GAAG,EAAE,cAAc;cACnBN,SAAS,EAAEhB,aAAa;cACxBuB,KAAK,EAAE;YACT,CAAC;YAEDrB,GAAG,CAACwB,QAAQ,CAACP,sBAAsB,CAAC;YACpCjB,GAAG,CAACwB,QAAQ,CAACF,eAAe,CAAC;YAC7BtB,GAAG,CAACwB,QAAQ,CAACD,cAAc,CAAC;YAAC,kCAEtB;cACLE,IAAI,EAAEC,sBAAW;cACjBC,OAAO,EAAEC,mBAAG,CAACD;YACf,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CACF;EAAA;AAAA;AAED5B,IAAI,CAAC8B,UAAU,GAAGH,sBAAW"}
1
+ {"version":3,"file":"index.js","names":["EntityDataListing","React","lazy","EntityManager","load","app","sectionKey","events","once","addSection","header","order","getAddContentMenuItems","addFieldType","Object","keys","formFieldTypes","forEach","type","component","emitAsync","getFormBuilderLookup","entityDataListingRoute","path","DATA_LISTING_PREFIX","key","exact","editEntityRoute","addEntityRoute","addRoute","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';\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 // To load different plugin information into menu\n const sectionKey = 'content';\n\n app.events.once('load:menu-section', addSection => {\n addSection(sectionKey, { header: 'content', order: 100 });\n });\n\n app.events.once('load:menu-items', getAddContentMenuItems(app, sectionKey));\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 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":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAoE;AAAA;AAEpE,IAAMA,iBAAiB,gBAAGC,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCAC5B,2CAA4C,gCAAgC;EAAA;AAAA,CAAC,CACrF;AACD,IAAMC,aAAa,gBAAGF,iBAAK,CAACC,IAAI,CAAC;EAAA;IAAA,wCACxB,uCAAwC,4BAA4B;EAAA;AAAA,CAAC,CAC7E;AAAC,SAE4BE,IAAI;EAAA;AAAA;AAAA;EAAA,sFAAnB,kBAAoBC,GAAG;IAAA;IAAA;MAAA;QAAA;UACpC;UACMC,UAAU,GAAG,SAAS;UAE5BD,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,mBAAmB,EAAE,UAAAC,UAAU,EAAI;YACjDA,UAAU,CAACH,UAAU,EAAE;cAAEI,MAAM,EAAE,SAAS;cAAEC,KAAK,EAAE;YAAI,CAAC,CAAC;UAC3D,CAAC,CAAC;UAEFN,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,iBAAiB,EAAE,IAAAI,+BAAsB,EAACP,GAAG,EAAEC,UAAU,CAAC,CAAC;UAE3ED,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,wBAAwB,EAAE,UAAAK,YAAY,EAAI;YACxDC,MAAM,CAACC,IAAI,CAACC,gCAAc,CAAC,CAACC,OAAO,CAAC,UAAAC,IAAI,EAAI;cAC1CL,YAAY,CAAC;gBAAEK,IAAI,EAAJA,IAAI;gBAAEC,SAAS,EAAEH,gCAAc,CAACE,IAAI;cAAE,CAAC,CAAC;YACzD,CAAC,CAAC;UACJ,CAAC,CAAC;UAEFb,GAAG,CAACE,MAAM,CAACC,IAAI,CAAC,4BAA4B,6FAAE;YAAA;cAAA;gBAAA;kBAAA;kBAAA,OACtCH,GAAG,CAACE,MAAM,CAACa,SAAS,CAAC,wBAAwB,EAAEC,sCAAoB,CAACR,YAAY,CAAC;gBAAA;gBAAA;kBAAA;cAAA;YAAA;UAAA,CACxF,GAAC;UAEIS,sBAAsB,GAAG;YAC7BC,IAAI,YAAKC,8BAAmB,uBAAoB;YAChDC,GAAG,EAAE,mBAAmB;YACxBN,SAAS,EAAEnB,iBAAiB;YAC5B0B,KAAK,EAAE;UACT,CAAC;UAEKC,eAAe,GAAG;YACtBJ,IAAI,YAAKC,8BAAmB,mCAAgC;YAC5DC,GAAG,EAAE,YAAY;YACjBN,SAAS,EAAEhB,aAAa;YACxBuB,KAAK,EAAE;UACT,CAAC;UAEKE,cAAc,GAAG;YACrBL,IAAI,YAAKC,8BAAmB,+BAA4B;YACxDC,GAAG,EAAE,cAAc;YACnBN,SAAS,EAAEhB,aAAa;YACxBuB,KAAK,EAAE;UACT,CAAC;UAEDrB,GAAG,CAACwB,QAAQ,CAACP,sBAAsB,CAAC;UACpCjB,GAAG,CAACwB,QAAQ,CAACF,eAAe,CAAC;UAC7BtB,GAAG,CAACwB,QAAQ,CAACD,cAAc,CAAC;UAAC,kCAEtB;YACLE,IAAI,EAAEC,sBAAW;YACjBC,OAAO,EAAEC,mBAAG,CAACD;UACf,CAAC;QAAA;QAAA;UAAA;MAAA;IAAA;EAAA,CACF;EAAA;AAAA;AAED5B,IAAI,CAAC8B,UAAU,GAAGH,sBAAW"}
@@ -19,33 +19,31 @@ function getAddContentMenuItems(app, sectionKey) {
19
19
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(addItem) {
20
20
  var client, _yield$client$query, getEntitySchemas;
21
21
  return _regenerator["default"].wrap(function _callee$(_context) {
22
- while (1) {
23
- switch (_context.prev = _context.next) {
24
- case 0:
25
- client = app.getClient();
26
- _context.next = 3;
27
- return client.query({
28
- query: (0, _adminUiUtils.getQuery)('GET_USER_EDITABLE_ENTITIES'),
29
- variables: {
30
- // only return entities that the current user can do the following actions on
31
- canDoActions: MENU_PERMISSIONS
32
- }
33
- });
34
- case 3:
35
- _yield$client$query = _context.sent;
36
- getEntitySchemas = _yield$client$query.data.getEntitySchemas;
37
- getEntitySchemas.forEach(function (_ref2) {
38
- var id = _ref2.id,
39
- displayName = _ref2.displayName;
40
- addItem({
41
- name: displayName,
42
- uri: "/data-listing/".concat(id)
43
- }, sectionKey);
44
- });
45
- case 6:
46
- case "end":
47
- return _context.stop();
48
- }
22
+ while (1) switch (_context.prev = _context.next) {
23
+ case 0:
24
+ client = app.getClient();
25
+ _context.next = 3;
26
+ return client.query({
27
+ query: (0, _adminUiUtils.getQuery)('GET_USER_EDITABLE_ENTITIES'),
28
+ variables: {
29
+ // only return entities that the current user can do the following actions on
30
+ canDoActions: MENU_PERMISSIONS
31
+ }
32
+ });
33
+ case 3:
34
+ _yield$client$query = _context.sent;
35
+ getEntitySchemas = _yield$client$query.data.getEntitySchemas;
36
+ getEntitySchemas.forEach(function (_ref2) {
37
+ var id = _ref2.id,
38
+ displayName = _ref2.displayName;
39
+ addItem({
40
+ name: displayName,
41
+ uri: "/data-listing/".concat(id)
42
+ }, sectionKey);
43
+ });
44
+ case 6:
45
+ case "end":
46
+ return _context.stop();
49
47
  }
50
48
  }, _callee);
51
49
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"add-content-menu-items.js","names":["require","MENU_PERMISSIONS","getAddContentMenuItems","app","sectionKey","addItem","client","getClient","query","getQuery","variables","canDoActions","getEntitySchemas","data","forEach","id","displayName","name","uri"],"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, sectionKey) {\n return async addItem => {\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 getEntitySchemas.forEach(({ id, displayName }) => {\n addItem({ name: displayName, uri: `/data-listing/${id}` }, sectionKey);\n });\n };\n}\n\nexport default getAddContentMenuItems;\n"],"mappings":";;;;;;;;;;;;;AAAA;AAEA,eAA6BA,OAAO,CAAC,cAAc,CAAC;EAA5CC,gBAAgB,YAAhBA,gBAAgB;AAExB,SAASC,sBAAsB,CAACC,GAAG,EAAEC,UAAU,EAAE;EAC/C;IAAA,yFAAO,iBAAMC,OAAO;MAAA;MAAA;QAAA;UAAA;YAAA;cACZC,MAAM,GAAGH,GAAG,CAACI,SAAS,EAAE;cAAA;cAAA,OAGpBD,MAAM,CAACE,KAAK,CAAC;gBACrBA,KAAK,EAAE,IAAAC,sBAAQ,EAAC,4BAA4B,CAAC;gBAC7CC,SAAS,EAAE;kBACT;kBACAC,YAAY,EAAEV;gBAChB;cACF,CAAC,CAAC;YAAA;cAAA;cAPQW,gBAAgB,uBAAxBC,IAAI,CAAID,gBAAgB;cAQ1BA,gBAAgB,CAACE,OAAO,CAAC,iBAAyB;gBAAA,IAAtBC,EAAE,SAAFA,EAAE;kBAAEC,WAAW,SAAXA,WAAW;gBACzCX,OAAO,CAAC;kBAAEY,IAAI,EAAED,WAAW;kBAAEE,GAAG,0BAAmBH,EAAE;gBAAG,CAAC,EAAEX,UAAU,CAAC;cACxE,CAAC,CAAC;YAAC;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CACJ;IAAA;MAAA;IAAA;EAAA;AACH;AAAC,eAEcF,sBAAsB;AAAA"}
1
+ {"version":3,"file":"add-content-menu-items.js","names":["require","MENU_PERMISSIONS","getAddContentMenuItems","app","sectionKey","addItem","client","getClient","query","getQuery","variables","canDoActions","getEntitySchemas","data","forEach","id","displayName","name","uri"],"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, sectionKey) {\n return async addItem => {\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 getEntitySchemas.forEach(({ id, displayName }) => {\n addItem({ name: displayName, uri: `/data-listing/${id}` }, sectionKey);\n });\n };\n}\n\nexport default getAddContentMenuItems;\n"],"mappings":";;;;;;;;;;;;;AAAA;AAEA,eAA6BA,OAAO,CAAC,cAAc,CAAC;EAA5CC,gBAAgB,YAAhBA,gBAAgB;AAExB,SAASC,sBAAsB,CAACC,GAAG,EAAEC,UAAU,EAAE;EAC/C;IAAA,yFAAO,iBAAMC,OAAO;MAAA;MAAA;QAAA;UAAA;YACZC,MAAM,GAAGH,GAAG,CAACI,SAAS,EAAE;YAAA;YAAA,OAGpBD,MAAM,CAACE,KAAK,CAAC;cACrBA,KAAK,EAAE,IAAAC,sBAAQ,EAAC,4BAA4B,CAAC;cAC7CC,SAAS,EAAE;gBACT;gBACAC,YAAY,EAAEV;cAChB;YACF,CAAC,CAAC;UAAA;YAAA;YAPQW,gBAAgB,uBAAxBC,IAAI,CAAID,gBAAgB;YAQ1BA,gBAAgB,CAACE,OAAO,CAAC,iBAAyB;cAAA,IAAtBC,EAAE,SAAFA,EAAE;gBAAEC,WAAW,SAAXA,WAAW;cACzCX,OAAO,CAAC;gBAAEY,IAAI,EAAED,WAAW;gBAAEE,GAAG,0BAAmBH,EAAE;cAAG,CAAC,EAAEX,UAAU,CAAC;YACxE,CAAC,CAAC;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA,CACJ;IAAA;MAAA;IAAA;EAAA;AACH;AAAC,eAEcF,sBAAsB;AAAA"}
@@ -340,21 +340,6 @@ const Entity = ({
340
340
  const showPageBuilderTabs = (schema === null || schema === void 0 ? void 0 : (_schema$interfaces = schema.interfaces) === null || _schema$interfaces === void 0 ? void 0 : _schema$interfaces.includes('page-builder/page-builder-template')) || (schema === null || schema === void 0 ? void 0 : (_schema$interfaces2 = schema.interfaces) === null || _schema$interfaces2 === void 0 ? void 0 : _schema$interfaces2.includes('page-builder/page-builder'));
341
341
  return /*#__PURE__*/React.createElement("div", {
342
342
  className: "page"
343
- }, /*#__PURE__*/React.createElement(Prompt, {
344
- when: hasToDisplayPrompt,
345
- message: LEAVE_PAGE_MESSAGE
346
- }), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
347
- onClose: setModalStatus,
348
- deleteAction: onDelete,
349
- itemName: formData.values.name
350
- }), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
351
- onClose: handleCopyDataFromClose,
352
- copyAction: onCopy,
353
- getFormData: getFormData
354
- }), /*#__PURE__*/React.createElement("div", {
355
- className: "row row--display-row"
356
- }, /*#__PURE__*/React.createElement("div", {
357
- className: "column column--three-quarters"
358
343
  }, /*#__PURE__*/React.createElement(EntityHeader, {
359
344
  entityData: entityData,
360
345
  entityIdentifier: entityIdentifier,
@@ -371,6 +356,23 @@ const Entity = ({
371
356
  onViewUrl: onViewUrlHandler,
372
357
  saveButtonText: saveButtonText
373
358
  }), /*#__PURE__*/React.createElement("div", {
359
+ className: "page-wrapper__content"
360
+ }, /*#__PURE__*/React.createElement("div", {
361
+ className: "tabs-wrapper tabs-wrapper__tab"
362
+ }, /*#__PURE__*/React.createElement(Prompt, {
363
+ when: hasToDisplayPrompt,
364
+ message: LEAVE_PAGE_MESSAGE
365
+ }), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
366
+ onClose: setModalStatus,
367
+ deleteAction: onDelete,
368
+ itemName: formData.values.name
369
+ }), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
370
+ onClose: handleCopyDataFromClose,
371
+ copyAction: onCopy,
372
+ getFormData: getFormData
373
+ }), /*#__PURE__*/React.createElement("div", {
374
+ className: "page__content--fixed"
375
+ }, /*#__PURE__*/React.createElement("div", {
374
376
  className: "page__content"
375
377
  }, /*#__PURE__*/React.createElement("div", {
376
378
  className: "content"
@@ -395,8 +397,8 @@ const Entity = ({
395
397
  updateCopyData: updateCopyData,
396
398
  formValues: formValues,
397
399
  isNewEntity: isNewEntity
398
- }))))), /*#__PURE__*/React.createElement("div", {
399
- className: "column column--one-third"
400
+ })))))), /*#__PURE__*/React.createElement("div", {
401
+ className: "column column--one-third page-sidebar"
400
402
  }, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
401
403
  entity: entity,
402
404
  formData: formData.values,
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","names":["React","useEffect","useState","useRef","withRouter","Prompt","useApolloClient","PropTypes","getQuery","GET_CURRENT_TAB_ID","FormBuilder","parseFormValues","DeleteAction","CopyDataFromAction","useToasts","cloneDeep","getPageName","isFormEmpty","availableActions","SideBarRelations","Tabs","ENTITY_PUBLISHED","TEXT_CONTENT_TYPE","LEAVE_PAGE_MESSAGE","PREVIEW_INTERFACE","PAGE_BUILDER_FIELD_ID","PAGE_BUILDER_TEMPLATE_FIELD_ID","ERROR","SAVE_BUTTON_TEXTS","UNPUBLISHED_WARNING","EntityHeader","validateSideBarRelations","canViewPage","onViewUrlClick","getUpdatedFormValues","checkFulfilConditions","useToggle","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","pageBuilder","filter","formValue","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","isPublished","isUnpublish","appearance","autoDismiss","savedPageMessage","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","tabId","currentTabId","propTypes","object","string","isRequired","func","defaultProps"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"page__content--fixed\">\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"column column--one-third page-sidebar\">\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityHeader.js","names":["React","PageHeader","Button","More","PropTypes","HeaderPreviewButton","SAVE_BUTTON_TEXTS","EntityHeader","saveButtonText","entityData","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","saving","Object","keys","values","length","propTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {formData &&\n Object.keys(formData.values).length !== 0 && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAMC,YAAY,GAAG,CAAC;EACpBC,cAAc;EACdC,UAAU;EACVC,gBAAgB;EAChBC,SAAS;EACTC,QAAQ;EACRC,yBAAyB;EACzBC,qBAAqB;EACrBC,qBAAqB;EACrBC,qBAAqB;EACrBC,eAAe;EACfC,WAAW;EACXC,QAAQ;EACRC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAMC,mBAAmB,GAAGR,qBAAqB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC;EACrF,MAAMS,iBAAiB,GAAGP,qBAAqB,IAAIN,gBAAgB,IAAID,UAAU,CAACe,EAAE;EACpF,MAAMC,qBAAqB,GAAGjB,cAAc,KAAKF,iBAAiB,CAACoB,MAAM;EAEzE,oBACE,oBAAC,UAAU;IAAC,KAAK,EAAEf,SAAU;IAAC,QAAQ,EAAES,QAAS;IAAC,SAAS,EAAEC;EAAU,gBACrE,oBAAC,UAAU,CAAC,OAAO,qBACjB,oBAAC,MAAM;IAAC,OAAO,EAAET,QAAS;IAAC,SAAS,EAAEU,mBAAoB;IAAC,eAAY;EAAa,GACjFd,cAAc,CACR,eACT,oBAAC,IAAI;IAAC,QAAQ,EAAEiB;EAAsB,gBACpC,oBAAC,IAAI,CAAC,MAAM;IAAC,eAAc,iBAAgBL,QAAS,EAAE;IAAC,UAAU;EAAA,gBAC/D;IAAM,SAAS,EAAC;EAAgB,eAAiB,CACrC,eACd,oBAAC,IAAI,CAAC,OAAO;IAAC,UAAU;EAAA,GACrBL,qBAAqB,iBACpB,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEF;EAA0B,aAGxE,EACAE,qBAAqB,iBACpB,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEF;EAA0B,eAGxE,EACAU,iBAAiB,iBAChB,oBAAC,mBAAmB;IAAC,MAAM,EAAEd,UAAU,CAACe,EAAG;IAAC,UAAU,EAAEd;EAAiB,EAC1E,eACD,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEO;EAAgB,oBAEpD,EACRI,SAAS,iBACR,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEA;EAAU,UAGxD,EACAF,QAAQ,IACPQ,MAAM,CAACC,IAAI,CAACT,QAAQ,CAACU,MAAM,CAAC,CAACC,MAAM,KAAK,CAAC,iBACvC,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEZ;EAAY,YAG1D,CACU,CACV,CACY,CACV;AAEjB,CAAC;AAEDX,YAAY,CAACwB,SAAS,GAAG;EACvBtB,UAAU,EAAEL,SAAS,CAAC4B,MAAM;EAC5BtB,gBAAgB,EAAEN,SAAS,CAAC6B,MAAM;EAClCtB,SAAS,EAAEP,SAAS,CAAC6B,MAAM,CAACC,UAAU;EACtCd,QAAQ,EAAEhB,SAAS,CAAC6B,MAAM;EAC1BrB,QAAQ,EAAER,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACnCrB,yBAAyB,EAAET,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACpDpB,qBAAqB,EAAEV,SAAS,CAACgC,IAAI,CAACF,UAAU;EAChDnB,qBAAqB,EAAEX,SAAS,CAACiC,SAAS,CAAC,CAACjC,SAAS,CAAC6B,MAAM,EAAE7B,SAAS,CAACgC,IAAI,CAAC,CAAC,CAACF,UAAU;EACzFlB,qBAAqB,EAAEZ,SAAS,CAACgC,IAAI,CAACF,UAAU;EAChDjB,eAAe,EAAEb,SAAS,CAAC+B,IAAI,CAACD,UAAU;EAC1ChB,WAAW,EAAEd,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACtCf,QAAQ,EAAEf,SAAS,CAAC4B,MAAM;EAC1BX,SAAS,EAAEjB,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACpC1B,cAAc,EAAEJ,SAAS,CAAC6B;AAC5B,CAAC;AAED1B,YAAY,CAAC+B,YAAY,GAAG;EAC1B7B,UAAU,EAAE,CAAC,CAAC;EACdC,gBAAgB,EAAE,EAAE;EACpBS,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,EAAE;EACZZ,cAAc,EAAE;AAClB,CAAC;AAEDD,YAAY,CAACgC,WAAW,GAAG,cAAc;AAEzC,eAAehC,YAAY"}
1
+ {"version":3,"file":"EntityHeader.js","names":["React","PageHeader","Button","More","PropTypes","HeaderPreviewButton","SAVE_BUTTON_TEXTS","EntityHeader","saveButtonText","entityData","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","saving","Object","keys","values","length","propTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {formData &&\n Object.keys(formData.values).length !== 0 && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,MAAM,MAAM,qBAAqB;AACxC,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,mBAAmB,MAAM,uBAAuB;AACvD,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,MAAMC,YAAY,GAAG,CAAC;EACpBC,cAAc;EACdC,UAAU;EACVC,gBAAgB;EAChBC,SAAS;EACTC,QAAQ;EACRC,yBAAyB;EACzBC,qBAAqB;EACrBC,qBAAqB;EACrBC,qBAAqB;EACrBC,eAAe;EACfC,WAAW;EACXC,QAAQ;EACRC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAMC,mBAAmB,GAAGR,qBAAqB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC;EACrF,MAAMS,iBAAiB,GAAGP,qBAAqB,IAAIN,gBAAgB,IAAID,UAAU,CAACe,EAAE;EACpF,MAAMC,qBAAqB,GAAGjB,cAAc,KAAKF,iBAAiB,CAACoB,MAAM;EAEzE,oBACE,oBAAC,UAAU;IAAC,KAAK,EAAEf,SAAU;IAAC,QAAQ,EAAES,QAAS;IAAC,SAAS,EAAEC;EAAU,gBACrE,oBAAC,UAAU,CAAC,OAAO,qBACjB,oBAAC,MAAM;IAAC,OAAO,EAAET,QAAS;IAAC,SAAS,EAAEU,mBAAoB;IAAC,eAAY;EAAa,GACjFd,cAAc,CACR,eACT,oBAAC,IAAI;IAAC,QAAQ,EAAEiB;EAAsB,gBACpC,oBAAC,IAAI,CAAC,MAAM;IAAC,eAAc,iBAAgBL,QAAS,EAAE;IAAC,UAAU;EAAA,gBAC/D;IAAM,SAAS,EAAC;EAAgB,GAAC,WAAS,CAAO,CACrC,eACd,oBAAC,IAAI,CAAC,OAAO;IAAC,UAAU;EAAA,GACrBL,qBAAqB,iBACpB,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEF;EAA0B,GAAC,SAExE,CACD,EACAE,qBAAqB,iBACpB,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEF;EAA0B,GAAC,WAExE,CACD,EACAU,iBAAiB,iBAChB,oBAAC,mBAAmB;IAAC,MAAM,EAAEd,UAAU,CAACe,EAAG;IAAC,UAAU,EAAEd;EAAiB,EAC1E,eACD,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEO;EAAgB,GAAC,gBAE9D,CAAS,EACRI,SAAS,iBACR,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEA;EAAU,GAAC,MAExD,CACD,EACAF,QAAQ,IACPQ,MAAM,CAACC,IAAI,CAACT,QAAQ,CAACU,MAAM,CAAC,CAACC,MAAM,KAAK,CAAC,iBACvC,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEZ;EAAY,GAAC,QAE1D,CACD,CACU,CACV,CACY,CACV;AAEjB,CAAC;AAEDX,YAAY,CAACwB,SAAS,GAAG;EACvBtB,UAAU,EAAEL,SAAS,CAAC4B,MAAM;EAC5BtB,gBAAgB,EAAEN,SAAS,CAAC6B,MAAM;EAClCtB,SAAS,EAAEP,SAAS,CAAC6B,MAAM,CAACC,UAAU;EACtCd,QAAQ,EAAEhB,SAAS,CAAC6B,MAAM;EAC1BrB,QAAQ,EAAER,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACnCrB,yBAAyB,EAAET,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACpDpB,qBAAqB,EAAEV,SAAS,CAACgC,IAAI,CAACF,UAAU;EAChDnB,qBAAqB,EAAEX,SAAS,CAACiC,SAAS,CAAC,CAACjC,SAAS,CAAC6B,MAAM,EAAE7B,SAAS,CAACgC,IAAI,CAAC,CAAC,CAACF,UAAU;EACzFlB,qBAAqB,EAAEZ,SAAS,CAACgC,IAAI,CAACF,UAAU;EAChDjB,eAAe,EAAEb,SAAS,CAAC+B,IAAI,CAACD,UAAU;EAC1ChB,WAAW,EAAEd,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACtCf,QAAQ,EAAEf,SAAS,CAAC4B,MAAM;EAC1BX,SAAS,EAAEjB,SAAS,CAAC+B,IAAI,CAACD,UAAU;EACpC1B,cAAc,EAAEJ,SAAS,CAAC6B;AAC5B,CAAC;AAED1B,YAAY,CAAC+B,YAAY,GAAG;EAC1B7B,UAAU,EAAE,CAAC,CAAC;EACdC,gBAAgB,EAAE,EAAE;EACpBS,QAAQ,EAAE,IAAI;EACdC,QAAQ,EAAE,EAAE;EACZZ,cAAc,EAAE;AAClB,CAAC;AAEDD,YAAY,CAACgC,WAAW,GAAG,cAAc;AAEzC,eAAehC,YAAY"}