@blaze-cms/plugin-data-ui 0.129.0-project-admin-customisations.1 → 0.130.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 (103) hide show
  1. package/CHANGELOG.md +23 -14
  2. package/README.md +0 -42
  3. package/lib/components/EntityDataListing/EntityDataListing.js +24 -3
  4. package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
  5. package/lib/components/EntityManager/Entity/Entity.js +1 -10
  6. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  7. package/lib/components/EntityManager/Entity/SideBarRelations/index.js +2 -12
  8. package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  9. package/lib/components/ListingTable/ListingTable.js +26 -5
  10. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  11. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +12 -5
  12. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  13. package/lib/index.js +11 -3
  14. package/lib/index.js.map +1 -1
  15. package/lib/utils/add-content-menu-items.js +13 -64
  16. package/lib/utils/add-content-menu-items.js.map +1 -1
  17. package/lib-es/components/EntityDataListing/EntityDataListing.js +14 -3
  18. package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -1
  19. package/lib-es/components/EntityManager/Entity/Entity.js +1 -10
  20. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  21. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +2 -12
  22. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  23. package/lib-es/components/ListingTable/ListingTable.js +25 -4
  24. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  25. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +13 -6
  26. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  27. package/lib-es/index.js +9 -1
  28. package/lib-es/index.js.map +1 -1
  29. package/lib-es/utils/add-content-menu-items.js +5 -49
  30. package/lib-es/utils/add-content-menu-items.js.map +1 -1
  31. package/package.json +9 -10
  32. package/src/components/EntityDataListing/EntityDataListing.js +12 -3
  33. package/src/components/EntityManager/Entity/Entity.js +0 -4
  34. package/src/components/EntityManager/Entity/SideBarRelations/index.js +16 -34
  35. package/src/components/ListingTable/ListingTable.js +18 -4
  36. package/src/components/ListingTable/ListingTableContent/ListingTableContent.js +16 -5
  37. package/src/index.js +8 -1
  38. package/src/utils/add-content-menu-items.js +3 -45
  39. package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +0 -39
  40. package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +0 -1
  41. package/lib/components/EntityManager/Entity/EntitiyNavLinks/index.js +0 -12
  42. package/lib/components/EntityManager/Entity/EntitiyNavLinks/index.js.map +0 -1
  43. package/lib/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +0 -44
  44. package/lib/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js.map +0 -1
  45. package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +0 -32
  46. package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +0 -1
  47. package/lib/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +0 -45
  48. package/lib/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +0 -1
  49. package/lib/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +0 -38
  50. package/lib/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +0 -1
  51. package/lib/components/InfoBoxes/InfoBoxes.js +0 -36
  52. package/lib/components/InfoBoxes/InfoBoxes.js.map +0 -1
  53. package/lib/components/InfoBoxes/container/InfoBoxContainer.js +0 -44
  54. package/lib/components/InfoBoxes/container/InfoBoxContainer.js.map +0 -1
  55. package/lib/components/InfoBoxes/helpers/build-dynamic-query.js +0 -25
  56. package/lib/components/InfoBoxes/helpers/build-dynamic-query.js.map +0 -1
  57. package/lib/components/InfoBoxes/hooks/useData.js +0 -42
  58. package/lib/components/InfoBoxes/hooks/useData.js.map +0 -1
  59. package/lib/components/InfoBoxes/hooks/useInfoBox.js +0 -26
  60. package/lib/components/InfoBoxes/hooks/useInfoBox.js.map +0 -1
  61. package/lib/components/InfoBoxes/index.js +0 -12
  62. package/lib/components/InfoBoxes/index.js.map +0 -1
  63. package/lib/components/InfoBoxes/presentational/InfoBox.js +0 -46
  64. package/lib/components/InfoBoxes/presentational/InfoBox.js.map +0 -1
  65. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +0 -30
  66. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +0 -1
  67. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js +0 -3
  68. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js.map +0 -1
  69. package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +0 -30
  70. package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js.map +0 -1
  71. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +0 -26
  72. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +0 -1
  73. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +0 -39
  74. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +0 -1
  75. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +0 -24
  76. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +0 -1
  77. package/lib-es/components/InfoBoxes/InfoBoxes.js +0 -28
  78. package/lib-es/components/InfoBoxes/InfoBoxes.js.map +0 -1
  79. package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js +0 -30
  80. package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js.map +0 -1
  81. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js +0 -25
  82. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +0 -1
  83. package/lib-es/components/InfoBoxes/hooks/useData.js +0 -37
  84. package/lib-es/components/InfoBoxes/hooks/useData.js.map +0 -1
  85. package/lib-es/components/InfoBoxes/hooks/useInfoBox.js +0 -19
  86. package/lib-es/components/InfoBoxes/hooks/useInfoBox.js.map +0 -1
  87. package/lib-es/components/InfoBoxes/index.js +0 -3
  88. package/lib-es/components/InfoBoxes/index.js.map +0 -1
  89. package/lib-es/components/InfoBoxes/presentational/InfoBox.js +0 -31
  90. package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +0 -1
  91. package/src/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +0 -26
  92. package/src/components/EntityManager/Entity/EntitiyNavLinks/index.js +0 -3
  93. package/src/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +0 -22
  94. package/src/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +0 -33
  95. package/src/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +0 -28
  96. package/src/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +0 -33
  97. package/src/components/InfoBoxes/InfoBoxes.js +0 -24
  98. package/src/components/InfoBoxes/container/InfoBoxContainer.js +0 -22
  99. package/src/components/InfoBoxes/helpers/build-dynamic-query.js +0 -25
  100. package/src/components/InfoBoxes/hooks/useData.js +0 -20
  101. package/src/components/InfoBoxes/hooks/useInfoBox.js +0 -13
  102. package/src/components/InfoBoxes/index.js +0 -3
  103. package/src/components/InfoBoxes/presentational/InfoBox.js +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"add-content-menu-items.js","names":["getQuery","MENU_PERMISSIONS","require","getAddContentMenuItems","app","addConfig","client","getClient","data","getEntitySchemas","query","variables","canDoActions","length","menuItems","sectionMenuItems","content","forEach","id","displayName","displayProperties","adminMenu","sectionKey","sectionItems","label","uri","menuConfig","main","items","loadOpen","order","Object","entries","sectionConfig"],"sources":["../../src/utils/add-content-menu-items.js"],"sourcesContent":["import { getQuery } from '@blaze-cms/admin-ui-utils';\n\nconst { MENU_PERMISSIONS } = require('../constants');\n\nfunction getAddContentMenuItems(app) {\n return async ({ addConfig }) => {\n const client = app.getClient();\n const {\n data: { getEntitySchemas }\n } = await client.query({\n query: getQuery('GET_USER_EDITABLE_ENTITIES'),\n variables: {\n // only return entities that the current user can do the following actions on\n canDoActions: MENU_PERMISSIONS\n }\n });\n\n if (!getEntitySchemas || !getEntitySchemas.length) return; // no items so don't add section\n\n const menuItems = {};\n const sectionMenuItems = { content: {} };\n\n getEntitySchemas.forEach(({ id, displayName, displayProperties }) => {\n if (!displayProperties) return null;\n\n const { adminMenu: { sectionKey = 'content' } = {} } = displayProperties;\n const sectionItems = sectionMenuItems[sectionKey] || {};\n sectionItems[id] = {\n label: displayName,\n uri: `/data-listing/${id}`\n };\n sectionMenuItems[sectionKey] = sectionItems;\n });\n\n const menuConfig = {\n main: {\n items: {\n content: {\n label: 'Content',\n loadOpen: true,\n order: 10,\n items: menuItems\n }\n }\n }\n };\n\n Object.entries(sectionMenuItems).forEach(([sectionKey, sectionItems]) => {\n const sectionConfig = menuConfig.main.items[sectionKey] || {};\n sectionConfig.items = sectionItems;\n menuConfig.main.items[sectionKey] = sectionConfig;\n });\n\n getEntitySchemas.forEach(({ id, displayName }) => {\n menuItems[id] = {\n label: displayName,\n uri: `/data-listing/${id}`\n };\n });\n\n addConfig(menuConfig);\n };\n}\n\nexport default getAddContentMenuItems;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,2BAA2B;AAEpD,MAAM;EAAEC;AAAiB,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC;AAEpD,SAASC,sBAAsBA,CAACC,GAAG,EAAE;EACnC,OAAO,OAAO;IAAEC;EAAU,CAAC,KAAK;IAC9B,MAAMC,MAAM,GAAGF,GAAG,CAACG,SAAS,CAAC,CAAC;IAC9B,MAAM;MACJC,IAAI,EAAE;QAAEC;MAAiB;IAC3B,CAAC,GAAG,MAAMH,MAAM,CAACI,KAAK,CAAC;MACrBA,KAAK,EAAEV,QAAQ,CAAC,4BAA4B,CAAC;MAC7CW,SAAS,EAAE;QACT;QACAC,YAAY,EAAEX;MAChB;IACF,CAAC,CAAC;IAEF,IAAI,CAACQ,gBAAgB,IAAI,CAACA,gBAAgB,CAACI,MAAM,EAAE,OAAO,CAAC;;IAE3D,MAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,MAAMC,gBAAgB,GAAG;MAAEC,OAAO,EAAE,CAAC;IAAE,CAAC;IAExCP,gBAAgB,CAACQ,OAAO,CAAC,CAAC;MAAEC,EAAE;MAAEC,WAAW;MAAEC;IAAkB,CAAC,KAAK;MACnE,IAAI,CAACA,iBAAiB,EAAE,OAAO,IAAI;MAEnC,MAAM;QAAEC,SAAS,EAAE;UAAEC,UAAU,GAAG;QAAU,CAAC,GAAG,CAAC;MAAE,CAAC,GAAGF,iBAAiB;MACxE,MAAMG,YAAY,GAAGR,gBAAgB,CAACO,UAAU,CAAC,IAAI,CAAC,CAAC;MACvDC,YAAY,CAACL,EAAE,CAAC,GAAG;QACjBM,KAAK,EAAEL,WAAW;QAClBM,GAAG,EAAG,iBAAgBP,EAAG;MAC3B,CAAC;MACDH,gBAAgB,CAACO,UAAU,CAAC,GAAGC,YAAY;IAC7C,CAAC,CAAC;IAEF,MAAMG,UAAU,GAAG;MACjBC,IAAI,EAAE;QACJC,KAAK,EAAE;UACLZ,OAAO,EAAE;YACPQ,KAAK,EAAE,SAAS;YAChBK,QAAQ,EAAE,IAAI;YACdC,KAAK,EAAE,EAAE;YACTF,KAAK,EAAEd;UACT;QACF;MACF;IACF,CAAC;IAEDiB,MAAM,CAACC,OAAO,CAACjB,gBAAgB,CAAC,CAACE,OAAO,CAAC,CAAC,CAACK,UAAU,EAAEC,YAAY,CAAC,KAAK;MACvE,MAAMU,aAAa,GAAGP,UAAU,CAACC,IAAI,CAACC,KAAK,CAACN,UAAU,CAAC,IAAI,CAAC,CAAC;MAC7DW,aAAa,CAACL,KAAK,GAAGL,YAAY;MAClCG,UAAU,CAACC,IAAI,CAACC,KAAK,CAACN,UAAU,CAAC,GAAGW,aAAa;IACnD,CAAC,CAAC;IAEFxB,gBAAgB,CAACQ,OAAO,CAAC,CAAC;MAAEC,EAAE;MAAEC;IAAY,CAAC,KAAK;MAChDL,SAAS,CAACI,EAAE,CAAC,GAAG;QACdM,KAAK,EAAEL,WAAW;QAClBM,GAAG,EAAG,iBAAgBP,EAAG;MAC3B,CAAC;IACH,CAAC,CAAC;IAEFb,SAAS,CAACqB,UAAU,CAAC;EACvB,CAAC;AACH;AAEA,eAAevB,sBAAsB"}
1
+ {"version":3,"file":"add-content-menu-items.js","names":["getQuery","MENU_PERMISSIONS","require","getAddContentMenuItems","app","sectionKey","addItem","client","getClient","data","getEntitySchemas","query","variables","canDoActions","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,SAASA,QAAQ,QAAQ,2BAA2B;AAEpD,MAAM;EAAEC;AAAiB,CAAC,GAAGC,OAAO,CAAC,cAAc,CAAC;AAEpD,SAASC,sBAAsBA,CAACC,GAAG,EAAEC,UAAU,EAAE;EAC/C,OAAO,MAAMC,OAAO,IAAI;IACtB,MAAMC,MAAM,GAAGH,GAAG,CAACI,SAAS,CAAC,CAAC;IAC9B,MAAM;MACJC,IAAI,EAAE;QAAEC;MAAiB;IAC3B,CAAC,GAAG,MAAMH,MAAM,CAACI,KAAK,CAAC;MACrBA,KAAK,EAAEX,QAAQ,CAAC,4BAA4B,CAAC;MAC7CY,SAAS,EAAE;QACT;QACAC,YAAY,EAAEZ;MAChB;IACF,CAAC,CAAC;IACFS,gBAAgB,CAACI,OAAO,CAAC,CAAC;MAAEC,EAAE;MAAEC;IAAY,CAAC,KAAK;MAChDV,OAAO,CAAC;QAAEW,IAAI,EAAED,WAAW;QAAEE,GAAG,EAAG,iBAAgBH,EAAG;MAAE,CAAC,EAAEV,UAAU,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC;AACH;AAEA,eAAeF,sBAAsB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.129.0-project-admin-customisations.1",
3
+ "version": "0.130.0-admin-updates.0",
4
4
  "description": "Blaze plugin data ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,13 +27,12 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-utils": "0.129.0-project-admin-customisations.1",
31
- "@blaze-cms/core-errors": "0.129.0-project-admin-customisations.0",
32
- "@blaze-cms/plugin-render-hooks-ui": "0.129.0-project-admin-customisations.0",
33
- "@blaze-cms/react-form-builder": "0.129.0-project-admin-customisations.1",
34
- "@blaze-cms/react-page-builder": "0.129.0-project-admin-customisations.1",
35
- "@blaze-cms/setup-ui": "0.129.0-project-admin-customisations.0",
36
- "@blaze-cms/versioning-ui": "0.129.0-project-admin-customisations.0",
30
+ "@blaze-cms/admin-ui-utils": "0.130.0-admin-updates.0",
31
+ "@blaze-cms/core-errors": "0.130.0-admin-updates.0",
32
+ "@blaze-cms/react-form-builder": "0.130.0-admin-updates.0",
33
+ "@blaze-cms/react-page-builder": "0.130.0-admin-updates.0",
34
+ "@blaze-cms/setup-ui": "0.130.0-admin-updates.0",
35
+ "@blaze-cms/versioning-ui": "0.130.0-admin-updates.0",
37
36
  "@blaze-react/button": "0.5.19",
38
37
  "@blaze-react/more": "0.5.19",
39
38
  "@blaze-react/multiselect": "0.6.6",
@@ -54,7 +53,7 @@
54
53
  "uuid": "^3.3.3"
55
54
  },
56
55
  "devDependencies": {
57
- "@blaze-cms/core-ui": "0.129.0-project-admin-customisations.0"
56
+ "@blaze-cms/core-ui": "0.130.0-admin-updates.0"
58
57
  },
59
58
  "peerDependencies": {
60
59
  "@apollo/client": "3.x",
@@ -66,5 +65,5 @@
66
65
  "lib/*",
67
66
  "lib-es/*"
68
67
  ],
69
- "gitHead": "48fd7d1e3861b250bdfd88e70710ead2bd9f5b2a"
68
+ "gitHead": "8a7ba4ac0daaa44b8273afc4c23c2ac4f0788ca0"
70
69
  }
@@ -6,22 +6,31 @@ import { getQuery } from '@blaze-cms/admin-ui-utils';
6
6
  import ListingTable from '../ListingTable/ListingTable';
7
7
  import { withContext } from '../../utils/hoc/withContext';
8
8
 
9
- const EntityDataListing = ({ match }) => {
9
+ const EntityDataListing = ({ match, menuItems }) => {
10
10
  const {
11
11
  params: { entityIdentifier: identifier }
12
12
  } = match;
13
13
 
14
+ const [[selectedMenuItem]] = menuItems
15
+ .map(([_, { items }]) => {
16
+ const item = items.filter(({ uri }) => uri.endsWith(`/${identifier}`));
17
+
18
+ return item.length ? item : null;
19
+ })
20
+ .filter(Boolean);
21
+
14
22
  const { data: { getEntitySchemas = [] } = {} } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {
15
23
  variables: { identifier }
16
24
  });
17
25
 
18
26
  if (!getEntitySchemas.length) return '';
19
27
 
20
- return <ListingTable entitySchema={getEntitySchemas[0]} />;
28
+ return <ListingTable entitySchema={getEntitySchemas[0]} selectedMenuItem={selectedMenuItem} />;
21
29
  };
22
30
 
23
31
  EntityDataListing.propTypes = {
24
- match: PropTypes.object.isRequired
32
+ match: PropTypes.object.isRequired,
33
+ menuItems: PropTypes.array.isRequired
25
34
  };
26
35
 
27
36
  export default withContext(EntityDataListing);
@@ -3,7 +3,6 @@ import React, { useEffect, useState, useRef } from 'react';
3
3
  import { withRouter, Prompt } from 'react-router-dom';
4
4
  import { useApolloClient } from '@apollo/client';
5
5
  import PropTypes from 'prop-types';
6
- import { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';
7
6
  import { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';
8
7
  import { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';
9
8
  import { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';
@@ -35,7 +34,6 @@ import {
35
34
  checkFulfilConditions
36
35
  } from '../utils/entity';
37
36
  import useToggle from '../../../utils/hooks/useToggle';
38
- import InfoBoxes from '../../InfoBoxes/InfoBoxes';
39
37
 
40
38
  const Entity = ({
41
39
  formData,
@@ -442,8 +440,6 @@ const Entity = ({
442
440
  <div className="page__content--fixed">
443
441
  <div className="page__content">
444
442
  <div className="content">
445
- <RenderHook hookKey={`entity:${action}:main:top`} entity={entity} schema={schema} />
446
- <InfoBoxes id={entity.id} schema={schema} />
447
443
  <Tabs
448
444
  enabled={showPageBuilderTabs}
449
445
  onTabChange={tabId => {
@@ -7,8 +7,6 @@ import { formFieldTypes } from '@blaze-cms/react-form-builder';
7
7
  import classnames from 'classnames';
8
8
  import { VersionsList } from '@blaze-cms/versioning-ui';
9
9
  import { PUBLISHED, UNPUBLISHED } from '../../../../constants';
10
- import CustomSidebarInfoContainer from './container/CustomSidebarInfoContainer';
11
- import EntityNavLinks from '../EntitiyNavLinks';
12
10
 
13
11
  const SideBarRelations = ({ schema, onChange, formData, entity }) => {
14
12
  const { relation: RelationComponent } = formFieldTypes;
@@ -20,9 +18,7 @@ const SideBarRelations = ({ schema, onChange, formData, entity }) => {
20
18
  status
21
19
  } = formData;
22
20
  const client = useApolloClient();
23
-
24
21
  const [relationsComponents, setRelationsComponents] = useState(null);
25
-
26
22
  useEffect(
27
23
  () => {
28
24
  (async () => {
@@ -68,42 +64,28 @@ const SideBarRelations = ({ schema, onChange, formData, entity }) => {
68
64
  return (
69
65
  <div className="sidebar" data-testid="sideBarRelations-main-div">
70
66
  <div className="sidebar__content">
71
- <div className="sidebar__status">
72
- {formattedCreated && (
73
- <div className="sidebar__top">
74
- <div className="sidebar__status__wrapper">
75
- <b>Status</b>
76
- <span className={statusClassName}>{formattedStatus}</span>
77
- </div>
78
- {formattedStatus === PUBLISHED && (
79
- <p>
80
- {formattedStatus} on: <span> {formattedPublished}</span>
81
- </p>
82
- )}
67
+ {formattedCreated && (
68
+ <div className="sidebar__status">
69
+ <div className="sidebar__status__wrapper">
70
+ <b>Status</b>
71
+ <span className={statusClassName}>{formattedStatus}</span>
83
72
  </div>
84
- )}
85
-
86
- {!schema.displayProperties.adminMainInfoProperty && (
87
- <>
73
+ {formattedStatus === PUBLISHED && (
88
74
  <p>
89
- Created: <span>{formattedCreated}</span>
75
+ {formattedStatus} on: <span> {formattedPublished}</span>
90
76
  </p>
91
- <p>
92
- Updated: <span>{formattedUpdated}</span>
93
- </p>
94
- </>
95
- )}
77
+ )}
96
78
 
97
- <CustomSidebarInfoContainer
98
- id={itemId}
99
- schema={schema}
100
- displayProperties={schema.displayProperties}
101
- />
102
- </div>
79
+ <p>
80
+ Created: <span>{formattedCreated}</span>
81
+ </p>
82
+ <p>
83
+ Updated: <span>{formattedUpdated}</span>
84
+ </p>
85
+ </div>
86
+ )}
103
87
 
104
88
  <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />
105
- <EntityNavLinks schema={schema} />
106
-
107
89
  {relationsComponents &&
108
90
  relationsComponents.map(({ id, staticData, schema: entitySchema }) => (
109
91
  <RelationComponent
@@ -3,6 +3,7 @@ import React, { useEffect, useState, Fragment } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { withRouter, Link } from 'react-router-dom';
5
5
  import More from '@blaze-react/more';
6
+ import { MainContext, useMainContext } from '@blaze-cms/admin-ui-utils';
6
7
  import { PageHeader, DeleteAction } from '@blaze-cms/admin';
7
8
  import { useToasts } from '@blaze-react/toaster';
8
9
  import ListingTableContent from './ListingTableContent';
@@ -13,7 +14,7 @@ import { getDefaultQueryParams } from '../../utils/get-default-query-params';
13
14
 
14
15
  const OVER_SCAN_BUFFER = 10;
15
16
 
16
- const ListingTable = ({ match, entitySchema }) => {
17
+ const ListingTable = ({ match, entitySchema, selectedMenuItem }) => {
17
18
  const [tableData, setTableData] = useState({});
18
19
  const [modalStatus, setModalStatus] = useState(false);
19
20
  const [itemToDelete, setItemToDelete] = useState({});
@@ -22,6 +23,7 @@ const ListingTable = ({ match, entitySchema }) => {
22
23
  const [verifiedRanges, setVerifiedRanges] = useState([]);
23
24
  const queryParamsDefault = getDefaultQueryParams({ schema: entitySchema });
24
25
  const [queryParams, setQueryParams] = useState(queryParamsDefault);
26
+ const { menuItems, setMenuItems } = useMainContext(MainContext);
25
27
  const client = useApolloClient();
26
28
  const { addToast } = useToasts();
27
29
 
@@ -53,7 +55,17 @@ const ListingTable = ({ match, entitySchema }) => {
53
55
  [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps
54
56
  );
55
57
 
56
- const onCloseCardPrompt = () => null;
58
+ const onCloseCardPrompt = () => {
59
+ const updatedSelectedMenuItem = {
60
+ ...selectedMenuItem,
61
+ isDisplayedPrompt: false
62
+ };
63
+ const [{ header, items }] = menuItems;
64
+ const updatedItems = items.map(
65
+ item => (item.name === selectedMenuItem.name ? updatedSelectedMenuItem : item)
66
+ );
67
+ setMenuItems([{ header, items: updatedItems }]);
68
+ };
57
69
 
58
70
  const toggleModal = item => {
59
71
  setModalStatus(!!item);
@@ -150,7 +162,7 @@ const ListingTable = ({ match, entitySchema }) => {
150
162
  />
151
163
  )}
152
164
  <PageHeader title={entitySchema.displayName} subtitle="">
153
- {!!tableData.rows.length && (
165
+ {(!selectedMenuItem.isDisplayedPrompt || !!tableData.rows.length) && (
154
166
  <Fragment>
155
167
  <Link
156
168
  data-testid="addEntity"
@@ -175,6 +187,7 @@ const ListingTable = ({ match, entitySchema }) => {
175
187
  onRenderItems={handleRenderedItems}
176
188
  tableData={tableData}
177
189
  onCloseCardPrompt={onCloseCardPrompt}
190
+ selectedMenuItem={selectedMenuItem}
178
191
  scrollToIndex={scrollToIndex}
179
192
  />
180
193
  </div>
@@ -182,7 +195,8 @@ const ListingTable = ({ match, entitySchema }) => {
182
195
  };
183
196
  ListingTable.propTypes = {
184
197
  entitySchema: PropTypes.object.isRequired,
185
- match: PropTypes.object.isRequired
198
+ match: PropTypes.object.isRequired,
199
+ selectedMenuItem: PropTypes.object.isRequired
186
200
  };
187
201
 
188
202
  export default withRouter(ListingTable);
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import Table from '@blaze-react/table';
3
3
  import PropTypes from 'prop-types';
4
- import { withRouter } from 'react-router-dom';
4
+ import { CardPrompt } from '@blaze-cms/admin';
5
+ import { Link, withRouter } from 'react-router-dom';
5
6
 
6
7
  const ListingTableContent = ({
7
8
  tableData,
@@ -19,7 +20,7 @@ const ListingTableContent = ({
19
20
 
20
21
  return (
21
22
  <>
22
- {displayTable && (
23
+ {displayTable ? (
23
24
  <>
24
25
  <div className="page__content">
25
26
  <Table
@@ -35,6 +36,17 @@ const ListingTableContent = ({
35
36
  />
36
37
  </div>
37
38
  </>
39
+ ) : (
40
+ selectedMenuItem.isDisplayedPrompt && (
41
+ <CardPrompt onClose={onCloseCardPrompt} data-testid="card-prompt">
42
+ <Link
43
+ className="button button--rounded button--cta"
44
+ to={`${match.url}/create`}
45
+ data-testid="add-button">
46
+ Add
47
+ </Link>
48
+ </CardPrompt>
49
+ )
38
50
  )}
39
51
  </>
40
52
  );
@@ -43,7 +55,7 @@ const ListingTableContent = ({
43
55
  ListingTableContent.propTypes = {
44
56
  tableData: PropTypes.object.isRequired,
45
57
  onCloseCardPrompt: PropTypes.func.isRequired,
46
- selectedMenuItem: PropTypes.object,
58
+ selectedMenuItem: PropTypes.object.isRequired,
47
59
  match: PropTypes.shape({
48
60
  url: PropTypes.string
49
61
  }).isRequired,
@@ -61,8 +73,7 @@ ListingTableContent.defaultProps = {
61
73
  onClickRow: () => {},
62
74
  overScanBuffer: 0,
63
75
  scrollToIndex: 0,
64
- onRenderItems: () => {},
65
- selectedMenuItem: null
76
+ onRenderItems: () => {}
66
77
  };
67
78
 
68
79
  export default withRouter(ListingTableContent);
package/src/index.js CHANGED
@@ -12,7 +12,14 @@ const EntityManager = React.lazy(() =>
12
12
  );
13
13
 
14
14
  export default async function load(app) {
15
- app.events.once('admin:menu:config:load', getAddContentMenuItems(app));
15
+ // To load different plugin information into menu
16
+ const sectionKey = 'content';
17
+
18
+ app.events.once('load:menu-section', addSection => {
19
+ addSection(sectionKey, { header: 'content', order: 100 });
20
+ });
21
+
22
+ app.events.once('load:menu-items', getAddContentMenuItems(app, sectionKey));
16
23
 
17
24
  app.events.once('load:custom:field:type', addFieldType => {
18
25
  Object.keys(formFieldTypes).forEach(type => {
@@ -2,8 +2,8 @@ import { getQuery } from '@blaze-cms/admin-ui-utils';
2
2
 
3
3
  const { MENU_PERMISSIONS } = require('../constants');
4
4
 
5
- function getAddContentMenuItems(app) {
6
- return async ({ addConfig }) => {
5
+ function getAddContentMenuItems(app, sectionKey) {
6
+ return async addItem => {
7
7
  const client = app.getClient();
8
8
  const {
9
9
  data: { getEntitySchemas }
@@ -14,51 +14,9 @@ function getAddContentMenuItems(app) {
14
14
  canDoActions: MENU_PERMISSIONS
15
15
  }
16
16
  });
17
-
18
- if (!getEntitySchemas || !getEntitySchemas.length) return; // no items so don't add section
19
-
20
- const menuItems = {};
21
- const sectionMenuItems = { content: {} };
22
-
23
- getEntitySchemas.forEach(({ id, displayName, displayProperties }) => {
24
- if (!displayProperties) return null;
25
-
26
- const { adminMenu: { sectionKey = 'content' } = {} } = displayProperties;
27
- const sectionItems = sectionMenuItems[sectionKey] || {};
28
- sectionItems[id] = {
29
- label: displayName,
30
- uri: `/data-listing/${id}`
31
- };
32
- sectionMenuItems[sectionKey] = sectionItems;
33
- });
34
-
35
- const menuConfig = {
36
- main: {
37
- items: {
38
- content: {
39
- label: 'Content',
40
- loadOpen: true,
41
- order: 10,
42
- items: menuItems
43
- }
44
- }
45
- }
46
- };
47
-
48
- Object.entries(sectionMenuItems).forEach(([sectionKey, sectionItems]) => {
49
- const sectionConfig = menuConfig.main.items[sectionKey] || {};
50
- sectionConfig.items = sectionItems;
51
- menuConfig.main.items[sectionKey] = sectionConfig;
52
- });
53
-
54
17
  getEntitySchemas.forEach(({ id, displayName }) => {
55
- menuItems[id] = {
56
- label: displayName,
57
- uri: `/data-listing/${id}`
58
- };
18
+ addItem({ name: displayName, uri: `/data-listing/${id}` }, sectionKey);
59
19
  });
60
-
61
- addConfig(menuConfig);
62
20
  };
63
21
  }
64
22
 
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- require("core-js/modules/es.array.map.js");
11
- require("core-js/modules/es.object.entries.js");
12
- require("core-js/modules/es.string.starts-with.js");
13
- var _reactRouterDom = require("react-router-dom");
14
- var _react = _interopRequireDefault(require("react"));
15
- var EntityNavLinks = function EntityNavLinks(_ref) {
16
- var schema = _ref.schema;
17
- if (!schema) return null;
18
- var adminSectionNavigation = schema.displayProperties.adminSectionNavigation;
19
- if (!adminSectionNavigation) return null;
20
- var links = Object.entries(adminSectionNavigation).map(function (_ref2) {
21
- var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
22
- k = _ref3[0],
23
- v = _ref3[1];
24
- var label = v.label,
25
- uri = v.uri;
26
- var Wrapper = uri.startsWith('#') ? 'a' : _reactRouterDom.Link;
27
- return /*#__PURE__*/_react["default"].createElement(Wrapper, {
28
- className: "entity-section-link",
29
- href: uri,
30
- to: uri
31
- }, label);
32
- });
33
- return /*#__PURE__*/_react["default"].createElement("div", {
34
- className: "entity-section-links"
35
- }, links);
36
- };
37
- var _default = EntityNavLinks;
38
- exports["default"] = _default;
39
- //# sourceMappingURL=EntityNavLinks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityNavLinks.js","names":["_reactRouterDom","require","_react","_interopRequireDefault","EntityNavLinks","_ref","schema","adminSectionNavigation","displayProperties","links","Object","entries","map","_ref2","_ref3","_slicedToArray2","k","v","label","uri","Wrapper","startsWith","Link","createElement","className","href","to","_default","exports"],"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,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAmB;EAAA,IAAbC,MAAM,GAAAD,IAAA,CAANC,MAAM;EAC9B,IAAI,CAACA,MAAM,EAAE,OAAO,IAAI;EAExB,IACuBC,sBAAsB,GACzCD,MAAM,CADRE,iBAAiB,CAAID,sBAAsB;EAG7C,IAAI,CAACA,sBAAsB,EAAE,OAAO,IAAI;EAExC,IAAME,KAAK,GAAGC,MAAM,CAACC,OAAO,CAACJ,sBAAsB,CAAC,CAACK,GAAG,CAAC,UAAAC,KAAA,EAAY;IAAA,IAAAC,KAAA,OAAAC,eAAA,aAAAF,KAAA;MAAVG,CAAC,GAAAF,KAAA;MAAEG,CAAC,GAAAH,KAAA;IAC7D,IAAQI,KAAK,GAAUD,CAAC,CAAhBC,KAAK;MAAEC,GAAG,GAAKF,CAAC,CAATE,GAAG;IAClB,IAAMC,OAAO,GAAGD,GAAG,CAACE,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,GAAGC,oBAAI;IAChD,oBACEpB,MAAA,YAAAqB,aAAA,CAACH,OAAO;MAACI,SAAS,EAAC,qBAAqB;MAACC,IAAI,EAAEN,GAAI;MAACO,EAAE,EAAEP;IAAI,GACzDD,KACM,CAAC;EAEd,CAAC,CAAC;EAEF,oBAAOhB,MAAA,YAAAqB,aAAA;IAAKC,SAAS,EAAC;EAAsB,GAAEf,KAAW,CAAC;AAC5D,CAAC;AAAC,IAAAkB,QAAA,GAEavB,cAAc;AAAAwB,OAAA,cAAAD,QAAA"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _EntityNavLinks = _interopRequireDefault(require("./EntityNavLinks"));
10
- var _default = _EntityNavLinks["default"];
11
- exports["default"] = _default;
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_EntityNavLinks","_interopRequireDefault","require","_default","EntityNavLinks","exports"],"sources":["../../../../../src/components/EntityManager/Entity/EntitiyNavLinks/index.js"],"sourcesContent":["import EntityNavLinks from './EntityNavLinks';\n\nexport default EntityNavLinks;\n"],"mappings":";;;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,IAAAC,QAAA,GAE/BC,0BAAc;AAAAC,OAAA,cAAAF,QAAA"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- require("core-js/modules/es.object.keys.js");
10
- require("core-js/modules/es.array.flat-map.js");
11
- require("core-js/modules/es.array.unscopables.flat-map.js");
12
- require("core-js/modules/es.object.to-string.js");
13
- require("core-js/modules/es.object.values.js");
14
- var _propTypes = _interopRequireDefault(require("prop-types"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _useCustomSidebarData2 = _interopRequireDefault(require("../hooks/useCustomSidebarData"));
17
- var _CustomSidebarInfo = _interopRequireDefault(require("../presentational/CustomSidebarInfo"));
18
- var CustomSibebarInfoContainer = function CustomSibebarInfoContainer(_ref) {
19
- var id = _ref.id,
20
- schema = _ref.schema,
21
- displayProperties = _ref.displayProperties;
22
- var _useCustomSidebarData = (0, _useCustomSidebarData2["default"])({
23
- id: id,
24
- schema: schema,
25
- displayProperties: displayProperties
26
- }),
27
- data = _useCustomSidebarData.data;
28
- if (!data || !Object.keys(data) || Object.keys(data).length === 0) return null;
29
- var items = Object.values(data).flatMap(function (item) {
30
- return Object.values(item);
31
- });
32
- return /*#__PURE__*/_react["default"].createElement(_CustomSidebarInfo["default"], {
33
- items: items,
34
- customSidebarInfoKey: displayProperties.key
35
- });
36
- };
37
- var _default = CustomSibebarInfoContainer;
38
- exports["default"] = _default;
39
- CustomSibebarInfoContainer.propTypes = {
40
- id: _propTypes["default"].string.isRequired,
41
- displayProperties: _propTypes["default"].object.isRequired,
42
- schema: _propTypes["default"].object.isRequired
43
- };
44
- //# sourceMappingURL=CustomSidebarInfoContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomSidebarInfoContainer.js","names":["_propTypes","_interopRequireDefault","require","_react","_useCustomSidebarData2","_CustomSidebarInfo","CustomSibebarInfoContainer","_ref","id","schema","displayProperties","_useCustomSidebarData","useCustomSidebarData","data","Object","keys","length","items","values","flatMap","item","createElement","customSidebarInfoKey","key","_default","exports","propTypes","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,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,sBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,kBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAMI,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA,EAA0C;EAAA,IAApCC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;EACjE,IAAAC,qBAAA,GAAiB,IAAAC,iCAAoB,EAAC;MAAEJ,EAAE,EAAFA,EAAE;MAAEC,MAAM,EAANA,MAAM;MAAEC,iBAAiB,EAAjBA;IAAkB,CAAC,CAAC;IAAhEG,IAAI,GAAAF,qBAAA,CAAJE,IAAI;EAEZ,IAAI,CAACA,IAAI,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,IAAIC,MAAM,CAACC,IAAI,CAACF,IAAI,CAAC,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAE9E,IAAMC,KAAK,GAAGH,MAAM,CAACI,MAAM,CAACL,IAAI,CAAC,CAACM,OAAO,CAAC,UAAAC,IAAI;IAAA,OAAIN,MAAM,CAACI,MAAM,CAACE,IAAI,CAAC;EAAA,EAAC;EAEtE,oBAAOjB,MAAA,YAAAkB,aAAA,CAAChB,kBAAA,WAAiB;IAACY,KAAK,EAAEA,KAAM;IAACK,oBAAoB,EAAEZ,iBAAiB,CAACa;EAAI,CAAE,CAAC;AACzF,CAAC;AAAC,IAAAC,QAAA,GAEalB,0BAA0B;AAAAmB,OAAA,cAAAD,QAAA;AAEzClB,0BAA0B,CAACoB,SAAS,GAAG;EACrClB,EAAE,EAAEmB,qBAAS,CAACC,MAAM,CAACC,UAAU;EAC/BnB,iBAAiB,EAAEiB,qBAAS,CAACG,MAAM,CAACD,UAAU;EAC9CpB,MAAM,EAAEkB,qBAAS,CAACG,MAAM,CAACD;AAC3B,CAAC"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = buildDynamicQuery;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- require("core-js/modules/es.array.is-array.js");
11
- require("core-js/modules/es.array.map.js");
12
- var _client = require("@apollo/client");
13
- var _coreErrors = require("@blaze-cms/core-errors");
14
- var _templateObject;
15
- function buildDynamicQuery(_ref) {
16
- var id = _ref.id,
17
- schema = _ref.schema,
18
- displayProperties = _ref.displayProperties;
19
- if (!schema || !schema.actions || !schema.actions.get || !schema.properties) {
20
- throw new _coreErrors.BlazeError('DataEntity query requires get action, properties and fields from entity schema');
21
- }
22
- if (displayProperties.adminMainInfoProperty && Array.isArray(displayProperties.adminMainInfoProperty)) {
23
- var fields = displayProperties.adminMainInfoProperty.map(function (infoProperty) {
24
- return "".concat(infoProperty, " {\n label\n value\n }");
25
- });
26
- return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["query getInfoBoxData($id: String!){\n ", "( id: $id ) {\n id\n ", "\n __typename\n }\n }"])), schema.actions.get, fields.map(function (field) {
27
- return field;
28
- }));
29
- }
30
- return null;
31
- }
32
- //# sourceMappingURL=build-dynamic-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-dynamic-query.js","names":["_client","require","_coreErrors","_templateObject","buildDynamicQuery","_ref","id","schema","displayProperties","actions","get","properties","BlazeError","adminMainInfoProperty","Array","isArray","fields","map","infoProperty","concat","gql","_taggedTemplateLiteral2","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,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAAoD,IAAAE,eAAA;AAErC,SAASC,iBAAiBA,CAAAC,IAAA,EAAoC;EAAA,IAAjCC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;EACvE,IAAI,CAACD,MAAM,IAAI,CAACA,MAAM,CAACE,OAAO,IAAI,CAACF,MAAM,CAACE,OAAO,CAACC,GAAG,IAAI,CAACH,MAAM,CAACI,UAAU,EAAE;IAC3E,MAAM,IAAIC,sBAAU,CAClB,gFACF,CAAC;EACH;EAEA,IACEJ,iBAAiB,CAACK,qBAAqB,IACvCC,KAAK,CAACC,OAAO,CAACP,iBAAiB,CAACK,qBAAqB,CAAC,EACtD;IACA,IAAMG,MAAM,GAAGR,iBAAiB,CAACK,qBAAqB,CAACI,GAAG,CACxD,UAAAC,YAAY;MAAA,UAAAC,MAAA,CACPD,YAAY;IAAA,CAInB,CAAC;IAED,WAAOE,WAAG,EAAAjB,eAAA,KAAAA,eAAA,OAAAkB,uBAAA,6IACNd,MAAM,CAACE,OAAO,CAACC,GAAG,EAEjBM,MAAM,CAACC,GAAG,CAAC,UAAAK,KAAK;MAAA,OAAIA,KAAK;IAAA,EAAC;EAIjC;EAEA,OAAO,IAAI;AACb"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _client = require("@apollo/client");
12
- var _buildDynamicQuery = _interopRequireDefault(require("../helpers/build-dynamic-query"));
13
- var _templateObject;
14
- var useCustomSidebarData = function useCustomSidebarData(_ref) {
15
- var id = _ref.id,
16
- schema = _ref.schema,
17
- displayProperties = _ref.displayProperties;
18
- var query = (0, _buildDynamicQuery["default"])({
19
- id: id,
20
- schema: schema,
21
- displayProperties: displayProperties
22
- });
23
- var customSidebarInfoQuery = query || (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n query {\n __typename\n }\n "])));
24
- var _useQuery = (0, _client.useQuery)(customSidebarInfoQuery, {
25
- variables: {
26
- id: id
27
- },
28
- skip: !query
29
- }),
30
- _useQuery$data = _useQuery.data,
31
- data = _useQuery$data === void 0 ? {} : _useQuery$data,
32
- loading = _useQuery.loading,
33
- error = _useQuery.error;
34
- return {
35
- data: data.__typename !== 'Query' ? data : null,
36
- loading: loading,
37
- error: error
38
- };
39
- };
40
- var _default = useCustomSidebarData;
41
- exports["default"] = _default;
42
- useCustomSidebarData.propTypes = {
43
- displayProperties: _propTypes["default"].object.isRequired
44
- };
45
- //# sourceMappingURL=useCustomSidebarData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCustomSidebarData.js","names":["_propTypes","_interopRequireDefault","require","_client","_buildDynamicQuery","_templateObject","useCustomSidebarData","_ref","id","schema","displayProperties","query","buildDynamicQuery","customSidebarInfoQuery","gql","_taggedTemplateLiteral2","_useQuery","useQuery","variables","skip","_useQuery$data","data","loading","error","__typename","_default","exports","propTypes","ProptTypes","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,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA+D,IAAAG,eAAA;AAE/D,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAA0C;EAAA,IAApCC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;EAC3D,IAAMC,KAAK,GAAG,IAAAC,6BAAiB,EAAC;IAAEJ,EAAE,EAAFA,EAAE;IAAEC,MAAM,EAANA,MAAM;IAAEC,iBAAiB,EAAjBA;EAAkB,CAAC,CAAC;EAElE,IAAMG,sBAAsB,GAC1BF,KAAK,QACLG,WAAG,EAAAT,eAAA,KAAAA,eAAA,OAAAU,uBAAA,sEAIF;EAEH,IAAAC,SAAA,GAAsC,IAAAC,gBAAQ,EAACJ,sBAAsB,EAAE;MACrEK,SAAS,EAAE;QAAEV,EAAE,EAAFA;MAAG,CAAC;MACjBW,IAAI,EAAE,CAACR;IACT,CAAC,CAAC;IAAAS,cAAA,GAAAJ,SAAA,CAHMK,IAAI;IAAJA,IAAI,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IAAEE,OAAO,GAAAN,SAAA,CAAPM,OAAO;IAAEC,KAAK,GAAAP,SAAA,CAALO,KAAK;EAKjC,OAAO;IAAEF,IAAI,EAAEA,IAAI,CAACG,UAAU,KAAK,OAAO,GAAGH,IAAI,GAAG,IAAI;IAAEC,OAAO,EAAPA,OAAO;IAAEC,KAAK,EAALA;EAAM,CAAC;AAC5E,CAAC;AAAC,IAAAE,QAAA,GAEanB,oBAAoB;AAAAoB,OAAA,cAAAD,QAAA;AAEnCnB,oBAAoB,CAACqB,SAAS,GAAG;EAC/BjB,iBAAiB,EAAEkB,qBAAU,CAACC,MAAM,CAACC;AACvC,CAAC"}