@blaze-cms/plugin-data-ui 0.133.0 → 0.134.0-project-admin-customisations.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/README.md +42 -0
- package/lib/components/EntityDataListing/EntityDataListing.js +3 -24
- package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
- package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +39 -0
- package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +1 -0
- package/lib/components/EntityManager/Entity/EntitiyNavLinks/index.js +12 -0
- package/lib/components/EntityManager/Entity/EntitiyNavLinks/index.js.map +1 -0
- package/lib/components/EntityManager/Entity/Entity.js +32 -17
- package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +44 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js.map +1 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +32 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +45 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +1 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js +23 -7
- package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +38 -0
- package/lib/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +1 -0
- package/lib/components/InfoBoxes/InfoBoxes.js +36 -0
- package/lib/components/InfoBoxes/InfoBoxes.js.map +1 -0
- package/lib/components/InfoBoxes/container/InfoBoxContainer.js +44 -0
- package/lib/components/InfoBoxes/container/InfoBoxContainer.js.map +1 -0
- package/lib/components/InfoBoxes/helpers/build-dynamic-query.js +25 -0
- package/lib/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -0
- package/lib/components/InfoBoxes/hooks/useData.js +42 -0
- package/lib/components/InfoBoxes/hooks/useData.js.map +1 -0
- package/lib/components/InfoBoxes/hooks/useInfoBox.js +26 -0
- package/lib/components/InfoBoxes/hooks/useInfoBox.js.map +1 -0
- package/lib/components/InfoBoxes/index.js +12 -0
- package/lib/components/InfoBoxes/index.js.map +1 -0
- package/lib/components/InfoBoxes/presentational/InfoBox.js +46 -0
- package/lib/components/InfoBoxes/presentational/InfoBox.js.map +1 -0
- package/lib/components/ListingTable/ListingTable.js +113 -80
- package/lib/components/ListingTable/ListingTable.js.map +1 -1
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +8 -20
- package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib/components/ListingTable/mappers/populate-rows.js +92 -26
- package/lib/components/ListingTable/mappers/populate-rows.js.map +1 -1
- package/lib/components/ListingTable/service/index.js +73 -11
- package/lib/components/ListingTable/service/index.js.map +1 -1
- package/lib/index.js +3 -11
- package/lib/index.js.map +1 -1
- package/lib/utils/add-content-menu-items.js +64 -13
- package/lib/utils/add-content-menu-items.js.map +1 -1
- package/lib/utils/build-listing-query.js +11 -2
- package/lib/utils/build-listing-query.js.map +1 -1
- package/lib/utils/get-default-query-params.js +3 -4
- package/lib/utils/get-default-query-params.js.map +1 -1
- package/lib-es/components/EntityDataListing/EntityDataListing.js +3 -14
- package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +30 -0
- package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +1 -0
- package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js +3 -0
- package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js.map +1 -0
- package/lib-es/components/EntityManager/Entity/Entity.js +32 -17
- package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +30 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js.map +1 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +26 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +39 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +1 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +24 -8
- package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
- package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +24 -0
- package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +1 -0
- package/lib-es/components/InfoBoxes/InfoBoxes.js +28 -0
- package/lib-es/components/InfoBoxes/InfoBoxes.js.map +1 -0
- package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js +30 -0
- package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js.map +1 -0
- package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js +25 -0
- package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -0
- package/lib-es/components/InfoBoxes/hooks/useData.js +37 -0
- package/lib-es/components/InfoBoxes/hooks/useData.js.map +1 -0
- package/lib-es/components/InfoBoxes/hooks/useInfoBox.js +19 -0
- package/lib-es/components/InfoBoxes/hooks/useInfoBox.js.map +1 -0
- package/lib-es/components/InfoBoxes/index.js +3 -0
- package/lib-es/components/InfoBoxes/index.js.map +1 -0
- package/lib-es/components/InfoBoxes/presentational/InfoBox.js +31 -0
- package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +1 -0
- package/lib-es/components/ListingTable/ListingTable.js +46 -49
- package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +11 -19
- package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
- package/lib-es/components/ListingTable/mappers/populate-rows.js +76 -24
- package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -1
- package/lib-es/components/ListingTable/service/index.js +65 -7
- package/lib-es/components/ListingTable/service/index.js.map +1 -1
- package/lib-es/index.js +1 -9
- package/lib-es/index.js.map +1 -1
- package/lib-es/utils/add-content-menu-items.js +49 -5
- package/lib-es/utils/add-content-menu-items.js.map +1 -1
- package/lib-es/utils/build-listing-query.js +10 -1
- package/lib-es/utils/build-listing-query.js.map +1 -1
- package/lib-es/utils/get-default-query-params.js +1 -3
- package/lib-es/utils/get-default-query-params.js.map +1 -1
- package/package.json +10 -9
- package/src/components/EntityDataListing/EntityDataListing.js +3 -12
- package/src/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +26 -0
- package/src/components/EntityManager/Entity/EntitiyNavLinks/index.js +3 -0
- package/src/components/EntityManager/Entity/Entity.js +68 -57
- package/src/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +22 -0
- package/src/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +33 -0
- package/src/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +28 -0
- package/src/components/EntityManager/Entity/SideBarRelations/index.js +51 -19
- package/src/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +33 -0
- package/src/components/InfoBoxes/InfoBoxes.js +24 -0
- package/src/components/InfoBoxes/container/InfoBoxContainer.js +22 -0
- package/src/components/InfoBoxes/helpers/build-dynamic-query.js +25 -0
- package/src/components/InfoBoxes/hooks/useData.js +20 -0
- package/src/components/InfoBoxes/hooks/useInfoBox.js +13 -0
- package/src/components/InfoBoxes/index.js +3 -0
- package/src/components/InfoBoxes/presentational/InfoBox.js +34 -0
- package/src/components/ListingTable/ListingTable.js +57 -38
- package/src/components/ListingTable/ListingTableContent/ListingTableContent.js +8 -22
- package/src/components/ListingTable/mappers/populate-rows.js +83 -18
- package/src/components/ListingTable/service/index.js +42 -5
- package/src/index.js +1 -8
- package/src/utils/add-content-menu-items.js +45 -3
- package/src/utils/build-listing-query.js +11 -1
- package/src/utils/get-default-query-params.js +1 -1
|
@@ -5,11 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.getDefaultQueryParams = void 0;
|
|
8
|
-
var getDefaultQueryParams = function getDefaultQueryParams(
|
|
9
|
-
var schema = _ref.schema;
|
|
8
|
+
var getDefaultQueryParams = function getDefaultQueryParams(schema) {
|
|
10
9
|
var updated = schema.properties && schema.properties.updated;
|
|
11
|
-
var
|
|
12
|
-
where =
|
|
10
|
+
var _ref = schema.displayProperties || {},
|
|
11
|
+
where = _ref.adminDefaultListingFilter;
|
|
13
12
|
return {
|
|
14
13
|
where: where,
|
|
15
14
|
limit: 40,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-default-query-params.js","names":["getDefaultQueryParams","
|
|
1
|
+
{"version":3,"file":"get-default-query-params.js","names":["getDefaultQueryParams","schema","updated","properties","_ref","displayProperties","where","adminDefaultListingFilter","limit","offset","sort","property","direction","exports"],"sources":["../../src/utils/get-default-query-params.js"],"sourcesContent":["const getDefaultQueryParams = schema => {\n const updated = schema.properties && schema.properties.updated;\n const { adminDefaultListingFilter: where } = schema.displayProperties || {};\n\n return {\n where,\n limit: 40,\n offset: 0,\n sort: updated\n ? [\n {\n property: 'updated',\n direction: 'desc'\n }\n ]\n : []\n };\n};\n\nexport { getDefaultQueryParams };\n"],"mappings":";;;;;;;AAAA,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,MAAM,EAAI;EACtC,IAAMC,OAAO,GAAGD,MAAM,CAACE,UAAU,IAAIF,MAAM,CAACE,UAAU,CAACD,OAAO;EAC9D,IAAAE,IAAA,GAA6CH,MAAM,CAACI,iBAAiB,IAAI,CAAC,CAAC;IAAxCC,KAAK,GAAAF,IAAA,CAAhCG,yBAAyB;EAEjC,OAAO;IACLD,KAAK,EAALA,KAAK;IACLE,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAER,OAAO,GACT,CACE;MACES,QAAQ,EAAE,SAAS;MACnBC,SAAS,EAAE;IACb,CAAC,CACF,GACD;EACN,CAAC;AACH,CAAC;AAACC,OAAA,CAAAb,qBAAA,GAAAA,qBAAA"}
|
|
@@ -5,22 +5,13 @@ import { getQuery } from '@blaze-cms/admin-ui-utils';
|
|
|
5
5
|
import ListingTable from '../ListingTable/ListingTable';
|
|
6
6
|
import { withContext } from '../../utils/hoc/withContext';
|
|
7
7
|
const EntityDataListing = ({
|
|
8
|
-
match
|
|
9
|
-
menuItems
|
|
8
|
+
match
|
|
10
9
|
}) => {
|
|
11
10
|
const {
|
|
12
11
|
params: {
|
|
13
12
|
entityIdentifier: identifier
|
|
14
13
|
}
|
|
15
14
|
} = match;
|
|
16
|
-
const [[selectedMenuItem]] = menuItems.map(([_, {
|
|
17
|
-
items
|
|
18
|
-
}]) => {
|
|
19
|
-
const item = items.filter(({
|
|
20
|
-
uri
|
|
21
|
-
}) => uri.endsWith(`/${identifier}`));
|
|
22
|
-
return item.length ? item : null;
|
|
23
|
-
}).filter(Boolean);
|
|
24
15
|
const {
|
|
25
16
|
data: {
|
|
26
17
|
getEntitySchemas = []
|
|
@@ -32,13 +23,11 @@ const EntityDataListing = ({
|
|
|
32
23
|
});
|
|
33
24
|
if (!getEntitySchemas.length) return '';
|
|
34
25
|
return /*#__PURE__*/React.createElement(ListingTable, {
|
|
35
|
-
entitySchema: getEntitySchemas[0]
|
|
36
|
-
selectedMenuItem: selectedMenuItem
|
|
26
|
+
entitySchema: getEntitySchemas[0]
|
|
37
27
|
});
|
|
38
28
|
};
|
|
39
29
|
EntityDataListing.propTypes = {
|
|
40
|
-
match: PropTypes.object.isRequired
|
|
41
|
-
menuItems: PropTypes.array.isRequired
|
|
30
|
+
match: PropTypes.object.isRequired
|
|
42
31
|
};
|
|
43
32
|
export default withContext(EntityDataListing);
|
|
44
33
|
//# sourceMappingURL=EntityDataListing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityDataListing.js","names":["useQuery","React","PropTypes","getQuery","ListingTable","withContext","EntityDataListing","match","
|
|
1
|
+
{"version":3,"file":"EntityDataListing.js","names":["useQuery","React","PropTypes","getQuery","ListingTable","withContext","EntityDataListing","match","params","entityIdentifier","identifier","data","getEntitySchemas","variables","length","createElement","entitySchema","propTypes","object","isRequired"],"sources":["../../../src/components/EntityDataListing/EntityDataListing.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\n\nimport ListingTable from '../ListingTable/ListingTable';\nimport { withContext } from '../../utils/hoc/withContext';\n\nconst EntityDataListing = ({ match }) => {\n const {\n params: { entityIdentifier: identifier }\n } = match;\n\n const { data: { getEntitySchemas = [] } = {} } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {\n variables: { identifier }\n });\n\n if (!getEntitySchemas.length) return '';\n\n return <ListingTable entitySchema={getEntitySchemas[0]} />;\n};\n\nEntityDataListing.propTypes = {\n match: PropTypes.object.isRequired\n};\n\nexport default withContext(EntityDataListing);\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,2BAA2B;AAEpD,OAAOC,YAAY,MAAM,8BAA8B;AACvD,SAASC,WAAW,QAAQ,6BAA6B;AAEzD,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAAM,CAAC,KAAK;EACvC,MAAM;IACJC,MAAM,EAAE;MAAEC,gBAAgB,EAAEC;IAAW;EACzC,CAAC,GAAGH,KAAK;EAET,MAAM;IAAEI,IAAI,EAAE;MAAEC,gBAAgB,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGZ,QAAQ,CAACG,QAAQ,CAAC,mBAAmB,CAAC,EAAE;IACvFU,SAAS,EAAE;MAAEH;IAAW;EAC1B,CAAC,CAAC;EAEF,IAAI,CAACE,gBAAgB,CAACE,MAAM,EAAE,OAAO,EAAE;EAEvC,oBAAOb,KAAA,CAAAc,aAAA,CAACX,YAAY;IAACY,YAAY,EAAEJ,gBAAgB,CAAC,CAAC;EAAE,CAAE,CAAC;AAC5D,CAAC;AAEDN,iBAAiB,CAACW,SAAS,GAAG;EAC5BV,KAAK,EAAEL,SAAS,CAACgB,MAAM,CAACC;AAC1B,CAAC;AAED,eAAed,WAAW,CAACC,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Link } from 'react-router-dom';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
const EntityNavLinks = ({
|
|
4
|
+
schema
|
|
5
|
+
}) => {
|
|
6
|
+
if (!schema) return null;
|
|
7
|
+
const {
|
|
8
|
+
displayProperties: {
|
|
9
|
+
adminSectionNavigation
|
|
10
|
+
}
|
|
11
|
+
} = schema;
|
|
12
|
+
if (!adminSectionNavigation) return null;
|
|
13
|
+
const links = Object.entries(adminSectionNavigation).map(([k, v]) => {
|
|
14
|
+
const {
|
|
15
|
+
label,
|
|
16
|
+
uri
|
|
17
|
+
} = v;
|
|
18
|
+
const Wrapper = uri.startsWith('#') ? 'a' : Link;
|
|
19
|
+
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
20
|
+
className: "entity-section-link",
|
|
21
|
+
href: uri,
|
|
22
|
+
to: uri
|
|
23
|
+
}, label);
|
|
24
|
+
});
|
|
25
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
className: "entity-section-links"
|
|
27
|
+
}, links);
|
|
28
|
+
};
|
|
29
|
+
export default EntityNavLinks;
|
|
30
|
+
//# sourceMappingURL=EntityNavLinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityNavLinks.js","names":["Link","React","EntityNavLinks","schema","displayProperties","adminSectionNavigation","links","Object","entries","map","k","v","label","uri","Wrapper","startsWith","createElement","className","href","to"],"sources":["../../../../../src/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js"],"sourcesContent":["import { Link } from 'react-router-dom';\nimport React from 'react';\n\nconst EntityNavLinks = ({ schema }) => {\n if (!schema) return null;\n\n const {\n displayProperties: { adminSectionNavigation }\n } = schema;\n\n if (!adminSectionNavigation) return null;\n\n const links = Object.entries(adminSectionNavigation).map(([k, v]) => {\n const { label, uri } = v;\n const Wrapper = uri.startsWith('#') ? 'a' : Link;\n return (\n <Wrapper className=\"entity-section-link\" href={uri} to={uri}>\n {label}\n </Wrapper>\n );\n });\n\n return <div className=\"entity-section-links\">{links}</div>;\n};\n\nexport default EntityNavLinks;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAAO,CAAC,KAAK;EACrC,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EAExB,MAAM;IACJC,iBAAiB,EAAE;MAAEC;IAAuB;EAC9C,CAAC,GAAGF,MAAM;EAEV,IAAI,CAACE,sBAAsB,EAAE,OAAO,IAAI;EAExC,MAAMC,KAAK,GAAGC,MAAM,CAACC,OAAO,CAACH,sBAAsB,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK;IACnE,MAAM;MAAEC,KAAK;MAAEC;IAAI,CAAC,GAAGF,CAAC;IACxB,MAAMG,OAAO,GAAGD,GAAG,CAACE,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAGf,IAAI;IAChD,oBACEC,KAAA,CAAAe,aAAA,CAACF,OAAO;MAACG,SAAS,EAAC,qBAAqB;MAACC,IAAI,EAAEL,GAAI;MAACM,EAAE,EAAEN;IAAI,GACzDD,KACM,CAAC;EAEd,CAAC,CAAC;EAEF,oBAAOX,KAAA,CAAAe,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAAEX,KAAW,CAAC;AAC5D,CAAC;AAED,eAAeJ,cAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["EntityNavLinks"],"sources":["../../../../../src/components/EntityManager/Entity/EntitiyNavLinks/index.js"],"sourcesContent":["import EntityNavLinks from './EntityNavLinks';\n\nexport default EntityNavLinks;\n"],"mappings":"AAAA,OAAOA,cAAc,MAAM,kBAAkB;AAE7C,eAAeA,cAAc"}
|
|
@@ -8,6 +8,7 @@ import React, { useEffect, useState, useRef } from 'react';
|
|
|
8
8
|
import { withRouter, Prompt } from 'react-router-dom';
|
|
9
9
|
import { useApolloClient } from '@apollo/client';
|
|
10
10
|
import PropTypes from 'prop-types';
|
|
11
|
+
import { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';
|
|
11
12
|
import { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';
|
|
12
13
|
import { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';
|
|
13
14
|
import { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';
|
|
@@ -22,6 +23,7 @@ import { ENTITY_PUBLISHED, TEXT_CONTENT_TYPE, LEAVE_PAGE_MESSAGE, PREVIEW_INTERF
|
|
|
22
23
|
import EntityHeader from './EntityHeader';
|
|
23
24
|
import { validateSideBarRelations, canViewPage, onViewUrlClick, getUpdatedFormValues, checkFulfilConditions } from '../utils/entity';
|
|
24
25
|
import useToggle from '../../../utils/hooks/useToggle';
|
|
26
|
+
import InfoBoxes from '../../InfoBoxes/InfoBoxes';
|
|
25
27
|
const Entity = ({
|
|
26
28
|
formData,
|
|
27
29
|
entity,
|
|
@@ -340,21 +342,6 @@ const Entity = ({
|
|
|
340
342
|
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
343
|
return /*#__PURE__*/React.createElement("div", {
|
|
342
344
|
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
345
|
}, /*#__PURE__*/React.createElement(EntityHeader, {
|
|
359
346
|
entityData: entityData,
|
|
360
347
|
entityIdentifier: entityIdentifier,
|
|
@@ -371,10 +358,34 @@ const Entity = ({
|
|
|
371
358
|
onViewUrl: onViewUrlHandler,
|
|
372
359
|
saveButtonText: saveButtonText
|
|
373
360
|
}), /*#__PURE__*/React.createElement("div", {
|
|
361
|
+
className: "page-wrapper__content"
|
|
362
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
363
|
+
className: "tabs-wrapper tabs-wrapper__tab"
|
|
364
|
+
}, /*#__PURE__*/React.createElement(Prompt, {
|
|
365
|
+
when: hasToDisplayPrompt,
|
|
366
|
+
message: LEAVE_PAGE_MESSAGE
|
|
367
|
+
}), showModal && /*#__PURE__*/React.createElement(DeleteAction, {
|
|
368
|
+
onClose: setModalStatus,
|
|
369
|
+
deleteAction: onDelete,
|
|
370
|
+
itemName: formData.values.name
|
|
371
|
+
}), copyModalStatus && /*#__PURE__*/React.createElement(CopyDataFromAction, {
|
|
372
|
+
onClose: handleCopyDataFromClose,
|
|
373
|
+
copyAction: onCopy,
|
|
374
|
+
getFormData: getFormData
|
|
375
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
376
|
+
className: "page__content--fixed"
|
|
377
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
374
378
|
className: "page__content"
|
|
375
379
|
}, /*#__PURE__*/React.createElement("div", {
|
|
376
380
|
className: "content"
|
|
377
|
-
}, /*#__PURE__*/React.createElement(
|
|
381
|
+
}, /*#__PURE__*/React.createElement(RenderHook, {
|
|
382
|
+
hookKey: `entity:${action}:main:top`,
|
|
383
|
+
entity: entity,
|
|
384
|
+
schema: schema
|
|
385
|
+
}), /*#__PURE__*/React.createElement(InfoBoxes, {
|
|
386
|
+
id: entity.id,
|
|
387
|
+
schema: schema
|
|
388
|
+
}), /*#__PURE__*/React.createElement(Tabs, {
|
|
378
389
|
enabled: showPageBuilderTabs,
|
|
379
390
|
onTabChange: tabId => {
|
|
380
391
|
client.writeQuery({
|
|
@@ -395,8 +406,12 @@ const Entity = ({
|
|
|
395
406
|
updateCopyData: updateCopyData,
|
|
396
407
|
formValues: formValues,
|
|
397
408
|
isNewEntity: isNewEntity
|
|
409
|
+
})), /*#__PURE__*/React.createElement(RenderHook, {
|
|
410
|
+
hookKey: `entity:${action}:main:bottom`,
|
|
411
|
+
entity: entity,
|
|
412
|
+
schema: schema
|
|
398
413
|
}))))), /*#__PURE__*/React.createElement("div", {
|
|
399
|
-
className: "column column--one-third"
|
|
414
|
+
className: "column column--one-third page-sidebar page-sidebar--relations"
|
|
400
415
|
}, showSideBarRelations && /*#__PURE__*/React.createElement(SideBarRelations, {
|
|
401
416
|
entity: entity,
|
|
402
417
|
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","_schema$interfaces","_schema$interfaces2","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","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","_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","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","createElement","className","when","message","onClose","deleteAction","itemName","copyAction","toggleCopyModal","toggleModal","enabled","onTabChange","tabId","currentTabId","getIsFormValid","onChange","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","RenderHook","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","InfoBoxes","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_schema$interfaces","_schema$interfaces2","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","save","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","_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","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","createElement","className","toggleCopyModal","toggleModal","when","message","onClose","deleteAction","itemName","copyAction","hookKey","enabled","onTabChange","tabId","currentTabId","getIsFormValid","onChange","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';\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';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\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 <RenderHook hookKey={`entity:${action}:main:top`} entity={entity} schema={schema} />\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 />\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 );\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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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import useCustomSidebarData from '../hooks/useCustomSidebarData';
|
|
4
|
+
import CustomSidebarInfo from '../presentational/CustomSidebarInfo';
|
|
5
|
+
const CustomSibebarInfoContainer = ({
|
|
6
|
+
id,
|
|
7
|
+
schema,
|
|
8
|
+
displayProperties
|
|
9
|
+
}) => {
|
|
10
|
+
const {
|
|
11
|
+
data
|
|
12
|
+
} = useCustomSidebarData({
|
|
13
|
+
id,
|
|
14
|
+
schema,
|
|
15
|
+
displayProperties
|
|
16
|
+
});
|
|
17
|
+
if (!data || !Object.keys(data) || Object.keys(data).length === 0) return null;
|
|
18
|
+
const items = Object.values(data).flatMap(item => Object.values(item));
|
|
19
|
+
return /*#__PURE__*/React.createElement(CustomSidebarInfo, {
|
|
20
|
+
items: items,
|
|
21
|
+
customSidebarInfoKey: displayProperties.key
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export default CustomSibebarInfoContainer;
|
|
25
|
+
CustomSibebarInfoContainer.propTypes = {
|
|
26
|
+
id: PropTypes.string.isRequired,
|
|
27
|
+
displayProperties: PropTypes.object.isRequired,
|
|
28
|
+
schema: PropTypes.object.isRequired
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=CustomSidebarInfoContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomSidebarInfoContainer.js","names":["PropTypes","React","useCustomSidebarData","CustomSidebarInfo","CustomSibebarInfoContainer","id","schema","displayProperties","data","Object","keys","length","items","values","flatMap","item","createElement","customSidebarInfoKey","key","propTypes","string","isRequired","object"],"sources":["../../../../../../src/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport useCustomSidebarData from '../hooks/useCustomSidebarData';\nimport CustomSidebarInfo from '../presentational/CustomSidebarInfo';\n\nconst CustomSibebarInfoContainer = ({ id, schema, displayProperties }) => {\n const { data } = useCustomSidebarData({ id, schema, displayProperties });\n\n if (!data || !Object.keys(data) || Object.keys(data).length === 0) return null;\n\n const items = Object.values(data).flatMap(item => Object.values(item));\n\n return <CustomSidebarInfo items={items} customSidebarInfoKey={displayProperties.key} />;\n};\n\nexport default CustomSibebarInfoContainer;\n\nCustomSibebarInfoContainer.propTypes = {\n id: PropTypes.string.isRequired,\n displayProperties: PropTypes.object.isRequired,\n schema: PropTypes.object.isRequired\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,OAAOC,KAAK,MAAM,OAAO;AACzB,OAAOC,oBAAoB,MAAM,+BAA+B;AAChE,OAAOC,iBAAiB,MAAM,qCAAqC;AAEnE,MAAMC,0BAA0B,GAAGA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAkB,CAAC,KAAK;EACxE,MAAM;IAAEC;EAAK,CAAC,GAAGN,oBAAoB,CAAC;IAAEG,EAAE;IAAEC,MAAM;IAAEC;EAAkB,CAAC,CAAC;EAExE,IAAI,CAACC,IAAI,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAE9E,MAAMC,KAAK,GAAGH,MAAM,CAACI,MAAM,CAACL,IAAI,CAAC,CAACM,OAAO,CAACC,IAAI,IAAIN,MAAM,CAACI,MAAM,CAACE,IAAI,CAAC,CAAC;EAEtE,oBAAOd,KAAA,CAAAe,aAAA,CAACb,iBAAiB;IAACS,KAAK,EAAEA,KAAM;IAACK,oBAAoB,EAAEV,iBAAiB,CAACW;EAAI,CAAE,CAAC;AACzF,CAAC;AAED,eAAed,0BAA0B;AAEzCA,0BAA0B,CAACe,SAAS,GAAG;EACrCd,EAAE,EAAEL,SAAS,CAACoB,MAAM,CAACC,UAAU;EAC/Bd,iBAAiB,EAAEP,SAAS,CAACsB,MAAM,CAACD,UAAU;EAC9Cf,MAAM,EAAEN,SAAS,CAACsB,MAAM,CAACD;AAC3B,CAAC"}
|
package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { gql } from '@apollo/client';
|
|
2
|
+
import { BlazeError } from '@blaze-cms/core-errors';
|
|
3
|
+
export default function buildDynamicQuery({
|
|
4
|
+
id,
|
|
5
|
+
schema,
|
|
6
|
+
displayProperties
|
|
7
|
+
}) {
|
|
8
|
+
if (!schema || !schema.actions || !schema.actions.get || !schema.properties) {
|
|
9
|
+
throw new BlazeError('DataEntity query requires get action, properties and fields from entity schema');
|
|
10
|
+
}
|
|
11
|
+
if (displayProperties.adminMainInfoProperty && Array.isArray(displayProperties.adminMainInfoProperty)) {
|
|
12
|
+
const fields = displayProperties.adminMainInfoProperty.map(infoProperty => `${infoProperty} {
|
|
13
|
+
label
|
|
14
|
+
value
|
|
15
|
+
}`);
|
|
16
|
+
return gql`query getInfoBoxData($id: String!){
|
|
17
|
+
${schema.actions.get}( id: $id ) {
|
|
18
|
+
id
|
|
19
|
+
${fields.map(field => field)}
|
|
20
|
+
__typename
|
|
21
|
+
}
|
|
22
|
+
}`;
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=build-dynamic-query.js.map
|
package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-dynamic-query.js","names":["gql","BlazeError","buildDynamicQuery","id","schema","displayProperties","actions","get","properties","adminMainInfoProperty","Array","isArray","fields","map","infoProperty","field"],"sources":["../../../../../../src/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js"],"sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\n\nexport default function buildDynamicQuery({ id, schema, displayProperties }) {\n if (!schema || !schema.actions || !schema.actions.get || !schema.properties) {\n throw new BlazeError(\n 'DataEntity query requires get action, properties and fields from entity schema'\n );\n }\n\n if (\n displayProperties.adminMainInfoProperty &&\n Array.isArray(displayProperties.adminMainInfoProperty)\n ) {\n const fields = displayProperties.adminMainInfoProperty.map(\n infoProperty =>\n `${infoProperty} {\n label\n value\n }`\n );\n\n return gql`query getInfoBoxData($id: String!){\n ${schema.actions.get}( id: $id ) {\n id\n ${fields.map(field => field)}\n __typename\n }\n }`;\n }\n\n return null;\n}\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AACpC,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,eAAe,SAASC,iBAAiBA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAkB,CAAC,EAAE;EAC3E,IAAI,CAACD,MAAM,IAAI,CAACA,MAAM,CAACE,OAAO,IAAI,CAACF,MAAM,CAACE,OAAO,CAACC,GAAG,IAAI,CAACH,MAAM,CAACI,UAAU,EAAE;IAC3E,MAAM,IAAIP,UAAU,CAClB,gFACF,CAAC;EACH;EAEA,IACEI,iBAAiB,CAACI,qBAAqB,IACvCC,KAAK,CAACC,OAAO,CAACN,iBAAiB,CAACI,qBAAqB,CAAC,EACtD;IACA,MAAMG,MAAM,GAAGP,iBAAiB,CAACI,qBAAqB,CAACI,GAAG,CACxDC,YAAY,IACT,GAAEA,YAAa;AACxB;AACA;AACA,QACI,CAAC;IAED,OAAOd,GAAI;AACf,QAAQI,MAAM,CAACE,OAAO,CAACC,GAAI;AAC3B;AACA,SAASK,MAAM,CAACC,GAAG,CAACE,KAAK,IAAIA,KAAK,CAAE;AACpC;AACA;AACA,MAAM;EACJ;EAEA,OAAO,IAAI;AACb"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import ProptTypes from 'prop-types';
|
|
2
|
+
import { useQuery, gql } from '@apollo/client';
|
|
3
|
+
import buildDynamicQuery from '../helpers/build-dynamic-query';
|
|
4
|
+
const useCustomSidebarData = ({
|
|
5
|
+
id,
|
|
6
|
+
schema,
|
|
7
|
+
displayProperties
|
|
8
|
+
}) => {
|
|
9
|
+
const query = buildDynamicQuery({
|
|
10
|
+
id,
|
|
11
|
+
schema,
|
|
12
|
+
displayProperties
|
|
13
|
+
});
|
|
14
|
+
const customSidebarInfoQuery = query || gql`
|
|
15
|
+
query {
|
|
16
|
+
__typename
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
const {
|
|
20
|
+
data = {},
|
|
21
|
+
loading,
|
|
22
|
+
error
|
|
23
|
+
} = useQuery(customSidebarInfoQuery, {
|
|
24
|
+
variables: {
|
|
25
|
+
id
|
|
26
|
+
},
|
|
27
|
+
skip: !query
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
data: data.__typename !== 'Query' ? data : null,
|
|
31
|
+
loading,
|
|
32
|
+
error
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export default useCustomSidebarData;
|
|
36
|
+
useCustomSidebarData.propTypes = {
|
|
37
|
+
displayProperties: ProptTypes.object.isRequired
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=useCustomSidebarData.js.map
|
package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomSidebarData.js","names":["ProptTypes","useQuery","gql","buildDynamicQuery","useCustomSidebarData","id","schema","displayProperties","query","customSidebarInfoQuery","data","loading","error","variables","skip","__typename","propTypes","object","isRequired"],"sources":["../../../../../../src/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js"],"sourcesContent":["import ProptTypes from 'prop-types';\nimport { useQuery, gql } from '@apollo/client';\nimport buildDynamicQuery from '../helpers/build-dynamic-query';\n\nconst useCustomSidebarData = ({ id, schema, displayProperties }) => {\n const query = buildDynamicQuery({ id, schema, displayProperties });\n\n const customSidebarInfoQuery =\n query ||\n gql`\n query {\n __typename\n }\n `;\n\n const { data = {}, loading, error } = useQuery(customSidebarInfoQuery, {\n variables: { id },\n skip: !query\n });\n\n return { data: data.__typename !== 'Query' ? data : null, loading, error };\n};\n\nexport default useCustomSidebarData;\n\nuseCustomSidebarData.propTypes = {\n displayProperties: ProptTypes.object.isRequired\n};\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,SAASC,QAAQ,EAAEC,GAAG,QAAQ,gBAAgB;AAC9C,OAAOC,iBAAiB,MAAM,gCAAgC;AAE9D,MAAMC,oBAAoB,GAAGA,CAAC;EAAEC,EAAE;EAAEC,MAAM;EAAEC;AAAkB,CAAC,KAAK;EAClE,MAAMC,KAAK,GAAGL,iBAAiB,CAAC;IAAEE,EAAE;IAAEC,MAAM;IAAEC;EAAkB,CAAC,CAAC;EAElE,MAAME,sBAAsB,GAC1BD,KAAK,IACLN,GAAI;AACR;AACA;AACA;AACA,KAAK;EAEH,MAAM;IAAEQ,IAAI,GAAG,CAAC,CAAC;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGX,QAAQ,CAACQ,sBAAsB,EAAE;IACrEI,SAAS,EAAE;MAAER;IAAG,CAAC;IACjBS,IAAI,EAAE,CAACN;EACT,CAAC,CAAC;EAEF,OAAO;IAAEE,IAAI,EAAEA,IAAI,CAACK,UAAU,KAAK,OAAO,GAAGL,IAAI,GAAG,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC;AAC5E,CAAC;AAED,eAAeR,oBAAoB;AAEnCA,oBAAoB,CAACY,SAAS,GAAG;EAC/BT,iBAAiB,EAAEP,UAAU,CAACiB,MAAM,CAACC;AACvC,CAAC"}
|
|
@@ -4,9 +4,11 @@ import uuidv1 from 'uuid/v1';
|
|
|
4
4
|
import { useApolloClient } from '@apollo/client';
|
|
5
5
|
import { getQuery } from '@blaze-cms/admin-ui-utils';
|
|
6
6
|
import { formFieldTypes } from '@blaze-cms/react-form-builder';
|
|
7
|
-
import
|
|
7
|
+
import classnames from 'classnames';
|
|
8
8
|
import { VersionsList } from '@blaze-cms/versioning-ui';
|
|
9
|
-
import { PUBLISHED } from '../../../../constants';
|
|
9
|
+
import { PUBLISHED, UNPUBLISHED } from '../../../../constants';
|
|
10
|
+
import CustomSidebarInfoContainer from './container/CustomSidebarInfoContainer';
|
|
11
|
+
import EntityNavLinks from '../EntitiyNavLinks';
|
|
10
12
|
const SideBarRelations = ({
|
|
11
13
|
schema,
|
|
12
14
|
onChange,
|
|
@@ -20,7 +22,8 @@ const SideBarRelations = ({
|
|
|
20
22
|
formattedStatus,
|
|
21
23
|
formattedUpdated,
|
|
22
24
|
formattedCreated,
|
|
23
|
-
formattedPublished
|
|
25
|
+
formattedPublished,
|
|
26
|
+
status
|
|
24
27
|
} = formData;
|
|
25
28
|
const client = useApolloClient();
|
|
26
29
|
const [relationsComponents, setRelationsComponents] = useState(null);
|
|
@@ -62,20 +65,33 @@ const SideBarRelations = ({
|
|
|
62
65
|
identifier: itemEntity,
|
|
63
66
|
interfaces
|
|
64
67
|
} = schema;
|
|
68
|
+
const statusClassName = classnames('sidebar__status__badge', {
|
|
69
|
+
'sidebar__status__badge--published': status === PUBLISHED,
|
|
70
|
+
'sidebar__status__badge--unpublished': status === UNPUBLISHED
|
|
71
|
+
});
|
|
65
72
|
return /*#__PURE__*/React.createElement("div", {
|
|
66
73
|
className: "sidebar",
|
|
67
74
|
"data-testid": "sideBarRelations-main-div"
|
|
68
75
|
}, /*#__PURE__*/React.createElement("div", {
|
|
69
76
|
className: "sidebar__content"
|
|
70
|
-
},
|
|
77
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
71
78
|
className: "sidebar__status"
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
}, formattedCreated && /*#__PURE__*/React.createElement("div", {
|
|
80
|
+
className: "sidebar__top"
|
|
81
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
className: "sidebar__status__wrapper"
|
|
83
|
+
}, /*#__PURE__*/React.createElement("b", null, "Status"), /*#__PURE__*/React.createElement("span", {
|
|
84
|
+
className: statusClassName
|
|
85
|
+
}, formattedStatus)), formattedStatus === PUBLISHED && /*#__PURE__*/React.createElement("p", null, formattedStatus, " on: ", /*#__PURE__*/React.createElement("span", null, " ", formattedPublished))), !schema.displayProperties.adminMainInfoProperty && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("p", null, "Created: ", /*#__PURE__*/React.createElement("span", null, formattedCreated)), /*#__PURE__*/React.createElement("p", null, "Updated: ", /*#__PURE__*/React.createElement("span", null, formattedUpdated))), /*#__PURE__*/React.createElement(CustomSidebarInfoContainer, {
|
|
86
|
+
id: itemId,
|
|
87
|
+
schema: schema,
|
|
88
|
+
displayProperties: schema.displayProperties
|
|
89
|
+
})), /*#__PURE__*/React.createElement(VersionsList, {
|
|
76
90
|
itemEntity: itemEntity,
|
|
77
91
|
itemId: itemId,
|
|
78
92
|
interfaces: interfaces
|
|
93
|
+
}), /*#__PURE__*/React.createElement(EntityNavLinks, {
|
|
94
|
+
schema: schema
|
|
79
95
|
}), relationsComponents && relationsComponents.map(({
|
|
80
96
|
id,
|
|
81
97
|
staticData,
|