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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/components/EntityDataListing/EntityDataListing.js +4 -4
  3. package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
  4. package/lib/components/EntityManager/Entity/Entity.js +184 -189
  5. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  6. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  7. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +26 -28
  8. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  9. package/lib/components/EntityManager/Entity/SideBarRelations/index.js +89 -89
  10. package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  11. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +40 -42
  12. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  13. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +31 -33
  14. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
  15. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +40 -42
  16. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
  17. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +43 -45
  18. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
  19. package/lib/components/EntityManager/EntityManager.js +65 -69
  20. package/lib/components/EntityManager/EntityManager.js.map +1 -1
  21. package/lib/components/EntityManager/utils/entity.js +10 -12
  22. package/lib/components/EntityManager/utils/entity.js.map +1 -1
  23. package/lib/components/EntityManager/utils/entityAvailableActions.js +62 -66
  24. package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
  25. package/lib/components/ListingTable/ListingTable.js +121 -129
  26. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  27. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  28. package/lib/components/ListingTable/TableActions/TableActions.js.map +1 -1
  29. package/lib/components/ListingTable/service/index.js +17 -19
  30. package/lib/components/ListingTable/service/index.js.map +1 -1
  31. package/lib/components/Tabs/index.js +18 -2
  32. package/lib/components/Tabs/index.js.map +1 -1
  33. package/lib/index.js +56 -60
  34. package/lib/index.js.map +1 -1
  35. package/lib/utils/add-content-menu-items.js +25 -27
  36. package/lib/utils/add-content-menu-items.js.map +1 -1
  37. package/lib-es/components/EntityManager/Entity/Entity.js +19 -17
  38. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  39. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  40. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  41. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +13 -7
  42. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  43. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  44. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  45. package/lib-es/components/ListingTable/TableActions/TableActions.js.map +1 -1
  46. package/lib-es/components/Tabs/index.js +5 -2
  47. package/lib-es/components/Tabs/index.js.map +1 -1
  48. package/package.json +7 -7
  49. package/src/components/EntityManager/Entity/Entity.js +61 -59
  50. package/src/components/EntityManager/Entity/SideBarRelations/index.js +23 -9
  51. package/src/components/Tabs/index.js +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderPreviewButton.js","names":["React","PropTypes","Button","useMutation","getMutation","HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","data","result","url","variables","window","open","err","propTypes","string","isRequired"],"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useMutation } from '@apollo/client';\nimport { getMutation } from '@blaze-cms/admin-ui-utils';\n\nconst HeaderPreviewButton = ({ itemId, itemEntity }) => {\n const [createPreviewToken] = useMutation(getMutation('PREVIEW_TOKEN_MUTATION'));\n if (process.env.BLAZE_DISABLE_PREVIEW) return null;\n\n const onViewPreview = async () => {\n try {\n const {\n data: {\n createPreviewToken: {\n result: { url }\n }\n } = {}\n } = await createPreviewToken({\n variables: {\n itemId,\n itemEntity\n }\n });\n\n if (url) window.open(url, '_blank');\n // eslint-disable-next-line no-empty\n } catch (err) {}\n };\n\n return (\n <Button className=\"more-menu__link\" onClick={onViewPreview}>\n Preview\n </Button>\n );\n};\n\nHeaderPreviewButton.propTypes = {\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default HeaderPreviewButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,WAAW,QAAQ,2BAA2B;AAEvD,MAAMC,mBAAmB,GAAG,CAAC;EAAEC,MAAM;EAAEC;AAAW,CAAC,KAAK;EACtD,MAAM,CAACC,kBAAkB,CAAC,GAAGL,WAAW,CAACC,WAAW,CAAC,wBAAwB,CAAC,CAAC;EAC/E,IAAIK,OAAO,CAACC,GAAG,CAACC,qBAAqB,EAAE,OAAO,IAAI;EAElD,MAAMC,aAAa,GAAG,YAAY;IAChC,IAAI;MACF,MAAM;QACJC,IAAI,EAAE;UACJL,kBAAkB,EAAE;YAClBM,MAAM,EAAE;cAAEC;YAAI;UAChB;QACF,CAAC,GAAG,CAAC;MACP,CAAC,GAAG,MAAMP,kBAAkB,CAAC;QAC3BQ,SAAS,EAAE;UACTV,MAAM;UACNC;QACF;MACF,CAAC,CAAC;MAEF,IAAIQ,GAAG,EAAEE,MAAM,CAACC,IAAI,CAACH,GAAG,EAAE,QAAQ,CAAC;MACnC;IACF,CAAC,CAAC,OAAOI,GAAG,EAAE,CAAC;EACjB,CAAC;EAED,oBACE,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEP;EAAc,aAElD;AAEb,CAAC;AAEDP,mBAAmB,CAACe,SAAS,GAAG;EAC9Bd,MAAM,EAAEL,SAAS,CAACoB,MAAM,CAACC,UAAU;EACnCf,UAAU,EAAEN,SAAS,CAACoB,MAAM,CAACC;AAC/B,CAAC;AAED,eAAejB,mBAAmB"}
1
+ {"version":3,"file":"HeaderPreviewButton.js","names":["React","PropTypes","Button","useMutation","getMutation","HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","data","result","url","variables","window","open","err","propTypes","string","isRequired"],"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useMutation } from '@apollo/client';\nimport { getMutation } from '@blaze-cms/admin-ui-utils';\n\nconst HeaderPreviewButton = ({ itemId, itemEntity }) => {\n const [createPreviewToken] = useMutation(getMutation('PREVIEW_TOKEN_MUTATION'));\n if (process.env.BLAZE_DISABLE_PREVIEW) return null;\n\n const onViewPreview = async () => {\n try {\n const {\n data: {\n createPreviewToken: {\n result: { url }\n }\n } = {}\n } = await createPreviewToken({\n variables: {\n itemId,\n itemEntity\n }\n });\n\n if (url) window.open(url, '_blank');\n // eslint-disable-next-line no-empty\n } catch (err) {}\n };\n\n return (\n <Button className=\"more-menu__link\" onClick={onViewPreview}>\n Preview\n </Button>\n );\n};\n\nHeaderPreviewButton.propTypes = {\n itemId: PropTypes.string.isRequired,\n itemEntity: PropTypes.string.isRequired\n};\n\nexport default HeaderPreviewButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,WAAW,QAAQ,2BAA2B;AAEvD,MAAMC,mBAAmB,GAAG,CAAC;EAAEC,MAAM;EAAEC;AAAW,CAAC,KAAK;EACtD,MAAM,CAACC,kBAAkB,CAAC,GAAGL,WAAW,CAACC,WAAW,CAAC,wBAAwB,CAAC,CAAC;EAC/E,IAAIK,OAAO,CAACC,GAAG,CAACC,qBAAqB,EAAE,OAAO,IAAI;EAElD,MAAMC,aAAa,GAAG,YAAY;IAChC,IAAI;MACF,MAAM;QACJC,IAAI,EAAE;UACJL,kBAAkB,EAAE;YAClBM,MAAM,EAAE;cAAEC;YAAI;UAChB;QACF,CAAC,GAAG,CAAC;MACP,CAAC,GAAG,MAAMP,kBAAkB,CAAC;QAC3BQ,SAAS,EAAE;UACTV,MAAM;UACNC;QACF;MACF,CAAC,CAAC;MAEF,IAAIQ,GAAG,EAAEE,MAAM,CAACC,IAAI,CAACH,GAAG,EAAE,QAAQ,CAAC;MACnC;IACF,CAAC,CAAC,OAAOI,GAAG,EAAE,CAAC;EACjB,CAAC;EAED,oBACE,oBAAC,MAAM;IAAC,SAAS,EAAC,iBAAiB;IAAC,OAAO,EAAEP;EAAc,GAAC,SAE5D,CAAS;AAEb,CAAC;AAEDP,mBAAmB,CAACe,SAAS,GAAG;EAC9Bd,MAAM,EAAEL,SAAS,CAACoB,MAAM,CAACC,UAAU;EACnCf,UAAU,EAAEN,SAAS,CAACoB,MAAM,CAACC;AAC/B,CAAC;AAED,eAAejB,mBAAmB"}
@@ -4,9 +4,9 @@ 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 Badge from '@blaze-react/badge';
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
10
  const SideBarRelations = ({
11
11
  schema,
12
12
  onChange,
@@ -20,7 +20,8 @@ const SideBarRelations = ({
20
20
  formattedStatus,
21
21
  formattedUpdated,
22
22
  formattedCreated,
23
- formattedPublished
23
+ formattedPublished,
24
+ status
24
25
  } = formData;
25
26
  const client = useApolloClient();
26
27
  const [relationsComponents, setRelationsComponents] = useState(null);
@@ -62,6 +63,10 @@ const SideBarRelations = ({
62
63
  identifier: itemEntity,
63
64
  interfaces
64
65
  } = schema;
66
+ const statusClassName = classnames('sidebar__status__badge', {
67
+ 'sidebar__status__badge--published': status === PUBLISHED,
68
+ 'sidebar__status__badge--unpublished': status === UNPUBLISHED
69
+ });
65
70
  return /*#__PURE__*/React.createElement("div", {
66
71
  className: "sidebar",
67
72
  "data-testid": "sideBarRelations-main-div"
@@ -69,10 +74,11 @@ const SideBarRelations = ({
69
74
  className: "sidebar__content"
70
75
  }, formattedCreated && /*#__PURE__*/React.createElement("div", {
71
76
  className: "sidebar__status"
72
- }, formattedStatus && /*#__PURE__*/React.createElement(Badge, {
73
- type: "status",
74
- modifiers: formattedStatus
75
- }, formattedStatus, formattedStatus === PUBLISHED && `: ${formattedPublished}`), /*#__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(VersionsList, {
77
+ }, /*#__PURE__*/React.createElement("div", {
78
+ className: "sidebar__status__wrapper"
79
+ }, /*#__PURE__*/React.createElement("b", null, "Status"), /*#__PURE__*/React.createElement("span", {
80
+ className: statusClassName
81
+ }, formattedStatus)), formattedStatus === PUBLISHED && /*#__PURE__*/React.createElement("p", null, formattedStatus, " on: ", /*#__PURE__*/React.createElement("span", null, " ", formattedPublished)), /*#__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(VersionsList, {
76
82
  itemEntity: itemEntity,
77
83
  itemId: itemId,
78
84
  interfaces: interfaces
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","Badge","VersionsList","PUBLISHED","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","entitySchema","propTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n {formattedStatus && (\n <Badge type=\"status\" modifiers={formattedStatus}>\n {formattedStatus}\n {formattedStatus === PUBLISHED && `: ${formattedPublished}`}\n </Badge>\n )}\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useEffect","PropTypes","uuidv1","useApolloClient","getQuery","formFieldTypes","classnames","VersionsList","PUBLISHED","UNPUBLISHED","SideBarRelations","schema","onChange","formData","entity","relation","RelationComponent","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","status","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","data","getEntitySchemas","relationSchema","query","variables","identifier","allRelationComponents","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","itemId","itemEntity","interfaces","statusClassName","entitySchema","propTypes","object","isRequired","func","defaultProps"],"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from '@apollo/client';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport classnames from 'classnames';\nimport { VersionsList } from '@blaze-cms/versioning-ui';\nimport { PUBLISHED, UNPUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData, entity }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const {\n formattedStatus,\n formattedUpdated,\n formattedCreated,\n formattedPublished,\n status\n } = formData;\n const client = useApolloClient();\n const [relationsComponents, setRelationsComponents] = useState(null);\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n const { id: itemId } = entity;\n const { identifier: itemEntity, interfaces } = schema;\n\n const statusClassName = classnames('sidebar__status__badge', {\n 'sidebar__status__badge--published': status === PUBLISHED,\n 'sidebar__status__badge--unpublished': status === UNPUBLISHED\n });\n\n return (\n <div className=\"sidebar\" data-testid=\"sideBarRelations-main-div\">\n <div className=\"sidebar__content\">\n {formattedCreated && (\n <div className=\"sidebar__status\">\n <div className=\"sidebar__status__wrapper\">\n <b>Status</b>\n <span className={statusClassName}>{formattedStatus}</span>\n </div>\n {formattedStatus === PUBLISHED && (\n <p>\n {formattedStatus} on: <span> {formattedPublished}</span>\n </p>\n )}\n\n <p>\n Created: <span>{formattedCreated}</span>\n </p>\n <p>\n Updated: <span>{formattedUpdated}</span>\n </p>\n </div>\n )}\n\n <VersionsList itemEntity={itemEntity} itemId={itemId} interfaces={interfaces} />\n {relationsComponents &&\n relationsComponents.map(({ id, staticData, schema: entitySchema }) => (\n <RelationComponent\n formData={formData}\n schema={entitySchema}\n key={id}\n staticData={staticData}\n onSelect={onChange}\n />\n ))}\n </div>\n </div>\n );\n};\n\nSideBarRelations.propTypes = {\n schema: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n formData: PropTypes.object.isRequired,\n entity: PropTypes.object\n};\n\nSideBarRelations.defaultProps = {\n entity: {}\n};\n\nexport default SideBarRelations;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTable.js","names":["useApolloClient","React","useEffect","useState","Fragment","PropTypes","withRouter","Link","More","MainContext","useMainContext","PageHeader","DeleteAction","useToasts","ListingTableContent","availableActions","fetchData","populateRows","formatRows","getDefaultQueryParams","OVER_SCAN_BUFFER","ListingTable","match","entitySchema","selectedMenuItem","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","scrollToIndex","setScrollToIndex","verifiedRanges","setVerifiedRanges","queryParamsDefault","schema","queryParams","setQueryParams","menuItems","setMenuItems","client","addToast","data","querySettings","populatedTable","toggleModal","url","rows","onCloseCardPrompt","updatedSelectedMenuItem","isDisplayedPrompt","header","items","updatedItems","map","item","name","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","firstColumn","appliedSort","handleRenderedItems","params","startIndex","rowsLength","length","loadIndex","Math","floor","includes","updatedQueryParams","offset","updatedRows","displayName","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import { useApolloClient } from '@apollo/client';\nimport React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter, Link } from 'react-router-dom';\nimport More from '@blaze-react/more';\nimport { MainContext, useMainContext } from '@blaze-cms/admin-ui-utils';\nimport { PageHeader, DeleteAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst OVER_SCAN_BUFFER = 10;\n\nconst ListingTable = ({ match, entitySchema, selectedMenuItem }) => {\n const [tableData, setTableData] = useState({});\n const [modalStatus, setModalStatus] = useState(false);\n const [itemToDelete, setItemToDelete] = useState({});\n const [previousSchema, setPreviousSchema] = useState({ id: null });\n const [scrollToIndex, setScrollToIndex] = useState(0);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const queryParamsDefault = getDefaultQueryParams({ schema: entitySchema });\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const { menuItems, setMenuItems } = useMainContext(MainContext);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: queryParamsDefault\n }\n });\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: data\n });\n setTableData(populatedTable);\n setPreviousSchema({ id: entitySchema.id });\n }\n })();\n },\n [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const onCloseCardPrompt = () => {\n const updatedSelectedMenuItem = {\n ...selectedMenuItem,\n isDisplayedPrompt: false\n };\n const [{ header, items }] = menuItems;\n const updatedItems = items.map(\n item => (item.name === selectedMenuItem.name ? updatedSelectedMenuItem : item)\n );\n setMenuItems([{ header, items: updatedItems }]);\n };\n\n const toggleModal = item => {\n setModalStatus(!!item);\n setItemToDelete(item || {});\n };\n\n const deleteAction = async () => {\n await availableActions.delete.submit(\n {\n entitySchema,\n parsedFormValues: { id: itemToDelete.id },\n client\n },\n addToast\n );\n\n toggleModal();\n\n const updatedTableData = {\n ...tableData,\n rows: tableData.rows.filter(({ id }) => id !== itemToDelete.id)\n };\n\n setTableData(updatedTableData);\n };\n\n const handleSort = async event => {\n const [[property, direction]] = Object.entries(event);\n const sortQueryParams = {\n ...queryParamsDefault,\n sort: [{ property, direction }]\n };\n setScrollToIndex(0);\n setVerifiedRanges([]);\n setQueryParams(sortQueryParams);\n\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n }\n });\n const { columns } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({ rows: data, url: match.url, toggleModal, firstColumn })\n });\n };\n\n const handleRenderedItems = async params => {\n const { startIndex } = params;\n const rowsLength = tableData.rows.length;\n const loadIndex = Math.floor(rowsLength / 3) - OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n const updatedQueryParams = {\n ...queryParams,\n offset: rowsLength\n };\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: updatedQueryParams\n }\n });\n const updatedRows = [\n ...tableData.rows,\n ...formatRows({ rows: data, url: match.url, toggleModal })\n ];\n\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setQueryParams(updatedQueryParams);\n setTableData({\n ...tableData,\n rows: updatedRows\n });\n setScrollToIndex(startIndex + OVER_SCAN_BUFFER);\n }\n };\n\n if (!tableData || !tableData.rows) return 'loading';\n\n return (\n <div className=\"page\">\n {modalStatus && (\n <DeleteAction\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {(!selectedMenuItem.isDisplayedPrompt || !!tableData.rows.length) && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n <ListingTableContent\n overScanBuffer={OVER_SCAN_BUFFER}\n onSort={handleSort}\n onRenderItems={handleRenderedItems}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n selectedMenuItem={selectedMenuItem}\n scrollToIndex={scrollToIndex}\n />\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n selectedMenuItem: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListingTable.js","names":["useApolloClient","React","useEffect","useState","Fragment","PropTypes","withRouter","Link","More","MainContext","useMainContext","PageHeader","DeleteAction","useToasts","ListingTableContent","availableActions","fetchData","populateRows","formatRows","getDefaultQueryParams","OVER_SCAN_BUFFER","ListingTable","match","entitySchema","selectedMenuItem","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","previousSchema","setPreviousSchema","id","scrollToIndex","setScrollToIndex","verifiedRanges","setVerifiedRanges","queryParamsDefault","schema","queryParams","setQueryParams","menuItems","setMenuItems","client","addToast","data","querySettings","populatedTable","toggleModal","url","rows","onCloseCardPrompt","updatedSelectedMenuItem","isDisplayedPrompt","header","items","updatedItems","map","item","name","deleteAction","delete","submit","parsedFormValues","updatedTableData","filter","handleSort","event","property","direction","Object","entries","sortQueryParams","sort","columns","firstColumn","appliedSort","handleRenderedItems","params","startIndex","rowsLength","length","loadIndex","Math","floor","includes","updatedQueryParams","offset","updatedRows","displayName","propTypes","object","isRequired"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import { useApolloClient } from '@apollo/client';\nimport React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter, Link } from 'react-router-dom';\nimport More from '@blaze-react/more';\nimport { MainContext, useMainContext } from '@blaze-cms/admin-ui-utils';\nimport { PageHeader, DeleteAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst OVER_SCAN_BUFFER = 10;\n\nconst ListingTable = ({ match, entitySchema, selectedMenuItem }) => {\n const [tableData, setTableData] = useState({});\n const [modalStatus, setModalStatus] = useState(false);\n const [itemToDelete, setItemToDelete] = useState({});\n const [previousSchema, setPreviousSchema] = useState({ id: null });\n const [scrollToIndex, setScrollToIndex] = useState(0);\n const [verifiedRanges, setVerifiedRanges] = useState([]);\n const queryParamsDefault = getDefaultQueryParams({ schema: entitySchema });\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const { menuItems, setMenuItems } = useMainContext(MainContext);\n const client = useApolloClient();\n const { addToast } = useToasts();\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: queryParamsDefault\n }\n });\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: data\n });\n setTableData(populatedTable);\n setPreviousSchema({ id: entitySchema.id });\n }\n })();\n },\n [client, entitySchema, match.url, previousSchema.id, queryParams] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const onCloseCardPrompt = () => {\n const updatedSelectedMenuItem = {\n ...selectedMenuItem,\n isDisplayedPrompt: false\n };\n const [{ header, items }] = menuItems;\n const updatedItems = items.map(\n item => (item.name === selectedMenuItem.name ? updatedSelectedMenuItem : item)\n );\n setMenuItems([{ header, items: updatedItems }]);\n };\n\n const toggleModal = item => {\n setModalStatus(!!item);\n setItemToDelete(item || {});\n };\n\n const deleteAction = async () => {\n await availableActions.delete.submit(\n {\n entitySchema,\n parsedFormValues: { id: itemToDelete.id },\n client\n },\n addToast\n );\n\n toggleModal();\n\n const updatedTableData = {\n ...tableData,\n rows: tableData.rows.filter(({ id }) => id !== itemToDelete.id)\n };\n\n setTableData(updatedTableData);\n };\n\n const handleSort = async event => {\n const [[property, direction]] = Object.entries(event);\n const sortQueryParams = {\n ...queryParamsDefault,\n sort: [{ property, direction }]\n };\n setScrollToIndex(0);\n setVerifiedRanges([]);\n setQueryParams(sortQueryParams);\n\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n }\n });\n const { columns } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({ rows: data, url: match.url, toggleModal, firstColumn })\n });\n };\n\n const handleRenderedItems = async params => {\n const { startIndex } = params;\n const rowsLength = tableData.rows.length;\n const loadIndex = Math.floor(rowsLength / 3) - OVER_SCAN_BUFFER;\n if (loadIndex > 0 && loadIndex < startIndex && !verifiedRanges.includes(loadIndex)) {\n const updatedQueryParams = {\n ...queryParams,\n offset: rowsLength\n };\n const data = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: updatedQueryParams\n }\n });\n const updatedRows = [\n ...tableData.rows,\n ...formatRows({ rows: data, url: match.url, toggleModal })\n ];\n\n setVerifiedRanges([...verifiedRanges, loadIndex]);\n setQueryParams(updatedQueryParams);\n setTableData({\n ...tableData,\n rows: updatedRows\n });\n setScrollToIndex(startIndex + OVER_SCAN_BUFFER);\n }\n };\n\n if (!tableData || !tableData.rows) return 'loading';\n\n return (\n <div className=\"page\">\n {modalStatus && (\n <DeleteAction\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {(!selectedMenuItem.isDisplayedPrompt || !!tableData.rows.length) && (\n <Fragment>\n <Link\n data-testid=\"addEntity\"\n className=\"button button--small\"\n to={`${match.url}/create`}>\n Add\n </Link>\n <PageHeader.Actions>\n <More>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu />\n </More>\n </PageHeader.Actions>\n </Fragment>\n )}\n </PageHeader>\n <ListingTableContent\n overScanBuffer={OVER_SCAN_BUFFER}\n onSort={handleSort}\n onRenderItems={handleRenderedItems}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n selectedMenuItem={selectedMenuItem}\n scrollToIndex={scrollToIndex}\n />\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n selectedMenuItem: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTableContent.js","names":["React","Table","PropTypes","CardPrompt","Link","withRouter","ListingTableContent","tableData","handleSelect","onCloseCardPrompt","selectedMenuItem","match","onSort","onClickRow","overScanBuffer","onRenderItems","scrollToIndex","displayTable","rows","length","isDisplayedPrompt","url","propTypes","object","isRequired","func","shape","string","number","defaultProps"],"sources":["../../../../src/components/ListingTable/ListingTableContent/ListingTableContent.js"],"sourcesContent":["import React from 'react';\nimport Table from '@blaze-react/table';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport { Link, withRouter } from 'react-router-dom';\n\nconst ListingTableContent = ({\n tableData,\n handleSelect,\n onCloseCardPrompt,\n selectedMenuItem,\n match,\n onSort,\n onClickRow,\n overScanBuffer,\n onRenderItems,\n scrollToIndex\n}) => {\n const displayTable = tableData && tableData.rows && !!tableData.rows.length;\n\n return (\n <>\n {displayTable ? (\n <>\n <div className=\"page__content\">\n <Table\n scrollToIndex={scrollToIndex}\n onSort={onSort}\n onClickRow={onClickRow}\n overScanBuffer={overScanBuffer}\n onRenderItems={onRenderItems}\n data={tableData}\n checkboxes\n onSelect={handleSelect}\n data-testid=\"listing-table-content\"\n />\n </div>\n </>\n ) : (\n selectedMenuItem.isDisplayedPrompt && (\n <CardPrompt onClose={onCloseCardPrompt} data-testid=\"card-prompt\">\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n )\n )}\n </>\n );\n};\n\nListingTableContent.propTypes = {\n tableData: PropTypes.object.isRequired,\n onCloseCardPrompt: PropTypes.func.isRequired,\n selectedMenuItem: PropTypes.object.isRequired,\n match: PropTypes.shape({\n url: PropTypes.string\n }).isRequired,\n handleSelect: PropTypes.func,\n onSort: PropTypes.func,\n onClickRow: PropTypes.func,\n overScanBuffer: PropTypes.number,\n scrollToIndex: PropTypes.number,\n onRenderItems: PropTypes.func\n};\n\nListingTableContent.defaultProps = {\n handleSelect: () => {},\n onSort: () => {},\n onClickRow: () => {},\n overScanBuffer: 0,\n scrollToIndex: 0,\n onRenderItems: () => {}\n};\n\nexport default withRouter(ListingTableContent);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,IAAI,EAAEC,UAAU,QAAQ,kBAAkB;AAEnD,MAAMC,mBAAmB,GAAG,CAAC;EAC3BC,SAAS;EACTC,YAAY;EACZC,iBAAiB;EACjBC,gBAAgB;EAChBC,KAAK;EACLC,MAAM;EACNC,UAAU;EACVC,cAAc;EACdC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGV,SAAS,IAAIA,SAAS,CAACW,IAAI,IAAI,CAAC,CAACX,SAAS,CAACW,IAAI,CAACC,MAAM;EAE3E,oBACE,0CACGF,YAAY,gBACX,uDACE;IAAK,SAAS,EAAC;EAAe,gBAC5B,oBAAC,KAAK;IACJ,aAAa,EAAED,aAAc;IAC7B,MAAM,EAAEJ,MAAO;IACf,UAAU,EAAEC,UAAW;IACvB,cAAc,EAAEC,cAAe;IAC/B,aAAa,EAAEC,aAAc;IAC7B,IAAI,EAAER,SAAU;IAChB,UAAU;IACV,QAAQ,EAAEC,YAAa;IACvB,eAAY;EAAuB,EACnC,CACE,CACL,GAEHE,gBAAgB,CAACU,iBAAiB,iBAChC,oBAAC,UAAU;IAAC,OAAO,EAAEX,iBAAkB;IAAC,eAAY;EAAa,gBAC/D,oBAAC,IAAI;IACH,SAAS,EAAC,oCAAoC;IAC9C,EAAE,EAAG,GAAEE,KAAK,CAACU,GAAI,SAAS;IAC1B,eAAY;EAAY,SAEnB,CAGZ,CACA;AAEP,CAAC;AAEDf,mBAAmB,CAACgB,SAAS,GAAG;EAC9Bf,SAAS,EAAEL,SAAS,CAACqB,MAAM,CAACC,UAAU;EACtCf,iBAAiB,EAAEP,SAAS,CAACuB,IAAI,CAACD,UAAU;EAC5Cd,gBAAgB,EAAER,SAAS,CAACqB,MAAM,CAACC,UAAU;EAC7Cb,KAAK,EAAET,SAAS,CAACwB,KAAK,CAAC;IACrBL,GAAG,EAAEnB,SAAS,CAACyB;EACjB,CAAC,CAAC,CAACH,UAAU;EACbhB,YAAY,EAAEN,SAAS,CAACuB,IAAI;EAC5Bb,MAAM,EAAEV,SAAS,CAACuB,IAAI;EACtBZ,UAAU,EAAEX,SAAS,CAACuB,IAAI;EAC1BX,cAAc,EAAEZ,SAAS,CAAC0B,MAAM;EAChCZ,aAAa,EAAEd,SAAS,CAAC0B,MAAM;EAC/Bb,aAAa,EAAEb,SAAS,CAACuB;AAC3B,CAAC;AAEDnB,mBAAmB,CAACuB,YAAY,GAAG;EACjCrB,YAAY,EAAE,MAAM,CAAC,CAAC;EACtBI,MAAM,EAAE,MAAM,CAAC,CAAC;EAChBC,UAAU,EAAE,MAAM,CAAC,CAAC;EACpBC,cAAc,EAAE,CAAC;EACjBE,aAAa,EAAE,CAAC;EAChBD,aAAa,EAAE,MAAM,CAAC;AACxB,CAAC;AAED,eAAeV,UAAU,CAACC,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ListingTableContent.js","names":["React","Table","PropTypes","CardPrompt","Link","withRouter","ListingTableContent","tableData","handleSelect","onCloseCardPrompt","selectedMenuItem","match","onSort","onClickRow","overScanBuffer","onRenderItems","scrollToIndex","displayTable","rows","length","isDisplayedPrompt","url","propTypes","object","isRequired","func","shape","string","number","defaultProps"],"sources":["../../../../src/components/ListingTable/ListingTableContent/ListingTableContent.js"],"sourcesContent":["import React from 'react';\nimport Table from '@blaze-react/table';\nimport PropTypes from 'prop-types';\nimport { CardPrompt } from '@blaze-cms/admin';\nimport { Link, withRouter } from 'react-router-dom';\n\nconst ListingTableContent = ({\n tableData,\n handleSelect,\n onCloseCardPrompt,\n selectedMenuItem,\n match,\n onSort,\n onClickRow,\n overScanBuffer,\n onRenderItems,\n scrollToIndex\n}) => {\n const displayTable = tableData && tableData.rows && !!tableData.rows.length;\n\n return (\n <>\n {displayTable ? (\n <>\n <div className=\"page__content\">\n <Table\n scrollToIndex={scrollToIndex}\n onSort={onSort}\n onClickRow={onClickRow}\n overScanBuffer={overScanBuffer}\n onRenderItems={onRenderItems}\n data={tableData}\n checkboxes\n onSelect={handleSelect}\n data-testid=\"listing-table-content\"\n />\n </div>\n </>\n ) : (\n selectedMenuItem.isDisplayedPrompt && (\n <CardPrompt onClose={onCloseCardPrompt} data-testid=\"card-prompt\">\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n )\n )}\n </>\n );\n};\n\nListingTableContent.propTypes = {\n tableData: PropTypes.object.isRequired,\n onCloseCardPrompt: PropTypes.func.isRequired,\n selectedMenuItem: PropTypes.object.isRequired,\n match: PropTypes.shape({\n url: PropTypes.string\n }).isRequired,\n handleSelect: PropTypes.func,\n onSort: PropTypes.func,\n onClickRow: PropTypes.func,\n overScanBuffer: PropTypes.number,\n scrollToIndex: PropTypes.number,\n onRenderItems: PropTypes.func\n};\n\nListingTableContent.defaultProps = {\n handleSelect: () => {},\n onSort: () => {},\n onClickRow: () => {},\n overScanBuffer: 0,\n scrollToIndex: 0,\n onRenderItems: () => {}\n};\n\nexport default withRouter(ListingTableContent);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,KAAK,MAAM,oBAAoB;AACtC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,IAAI,EAAEC,UAAU,QAAQ,kBAAkB;AAEnD,MAAMC,mBAAmB,GAAG,CAAC;EAC3BC,SAAS;EACTC,YAAY;EACZC,iBAAiB;EACjBC,gBAAgB;EAChBC,KAAK;EACLC,MAAM;EACNC,UAAU;EACVC,cAAc;EACdC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGV,SAAS,IAAIA,SAAS,CAACW,IAAI,IAAI,CAAC,CAACX,SAAS,CAACW,IAAI,CAACC,MAAM;EAE3E,oBACE,0CACGF,YAAY,gBACX,uDACE;IAAK,SAAS,EAAC;EAAe,gBAC5B,oBAAC,KAAK;IACJ,aAAa,EAAED,aAAc;IAC7B,MAAM,EAAEJ,MAAO;IACf,UAAU,EAAEC,UAAW;IACvB,cAAc,EAAEC,cAAe;IAC/B,aAAa,EAAEC,aAAc;IAC7B,IAAI,EAAER,SAAU;IAChB,UAAU;IACV,QAAQ,EAAEC,YAAa;IACvB,eAAY;EAAuB,EACnC,CACE,CACL,GAEHE,gBAAgB,CAACU,iBAAiB,iBAChC,oBAAC,UAAU;IAAC,OAAO,EAAEX,iBAAkB;IAAC,eAAY;EAAa,gBAC/D,oBAAC,IAAI;IACH,SAAS,EAAC,oCAAoC;IAC9C,EAAE,EAAG,GAAEE,KAAK,CAACU,GAAI,SAAS;IAC1B,eAAY;EAAY,GAAC,KAE3B,CAAO,CAGZ,CACA;AAEP,CAAC;AAEDf,mBAAmB,CAACgB,SAAS,GAAG;EAC9Bf,SAAS,EAAEL,SAAS,CAACqB,MAAM,CAACC,UAAU;EACtCf,iBAAiB,EAAEP,SAAS,CAACuB,IAAI,CAACD,UAAU;EAC5Cd,gBAAgB,EAAER,SAAS,CAACqB,MAAM,CAACC,UAAU;EAC7Cb,KAAK,EAAET,SAAS,CAACwB,KAAK,CAAC;IACrBL,GAAG,EAAEnB,SAAS,CAACyB;EACjB,CAAC,CAAC,CAACH,UAAU;EACbhB,YAAY,EAAEN,SAAS,CAACuB,IAAI;EAC5Bb,MAAM,EAAEV,SAAS,CAACuB,IAAI;EACtBZ,UAAU,EAAEX,SAAS,CAACuB,IAAI;EAC1BX,cAAc,EAAEZ,SAAS,CAAC0B,MAAM;EAChCZ,aAAa,EAAEd,SAAS,CAAC0B,MAAM;EAC/Bb,aAAa,EAAEb,SAAS,CAACuB;AAC3B,CAAC;AAEDnB,mBAAmB,CAACuB,YAAY,GAAG;EACjCrB,YAAY,EAAE,MAAM,CAAC,CAAC;EACtBI,MAAM,EAAE,MAAM,CAAC,CAAC;EAChBC,UAAU,EAAE,MAAM,CAAC,CAAC;EACpBC,cAAc,EAAE,CAAC;EACjBE,aAAa,EAAE,CAAC;EAChBD,aAAa,EAAE,MAAM,CAAC;AACxB,CAAC;AAED,eAAeV,UAAU,CAACC,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableActions.js","names":["React","Link","PropTypes","More","Button","TableActions","editUrl","data","showDeleteModal","propTypes","string","isRequired","func","object"],"sources":["../../../../src/components/ListingTable/TableActions/TableActions.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport Button from '@blaze-react/button';\n\nconst TableActions = ({ editUrl, data, showDeleteModal }) => (\n <div className=\"more-menu__wrapper\">\n <More isMoreMenu>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n <Link to={editUrl} className=\"more-menu__link\" role=\"button\">\n Edit\n </Link>\n <Button className=\"more-menu__link\" onClick={() => showDeleteModal(data)}>\n Delete\n </Button>\n </More.Content>\n </More>\n </div>\n);\n\nTableActions.propTypes = {\n editUrl: PropTypes.string.isRequired,\n showDeleteModal: PropTypes.func.isRequired,\n data: PropTypes.object.isRequired\n};\n\nexport default TableActions;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AAExC,MAAMC,YAAY,GAAG,CAAC;EAAEC,OAAO;EAAEC,IAAI;EAAEC;AAAgB,CAAC,kBACtD;EAAK,SAAS,EAAC;AAAoB,gBACjC,oBAAC,IAAI;EAAC,UAAU;AAAA,gBACd,oBAAC,IAAI,CAAC,MAAM;EAAC,UAAU;AAAA,gBACrB;EAAM,SAAS,EAAC;AAAgB,eAAiB,CACrC,eACd,oBAAC,IAAI,CAAC,OAAO;EAAC,UAAU;AAAA,gBACtB,oBAAC,IAAI;EAAC,EAAE,EAAEF,OAAQ;EAAC,SAAS,EAAC,iBAAiB;EAAC,IAAI,EAAC;AAAQ,UAErD,eACP,oBAAC,MAAM;EAAC,SAAS,EAAC,iBAAiB;EAAC,OAAO,EAAE,MAAME,eAAe,CAACD,IAAI;AAAE,YAEhE,CACI,CACV,CAEV;AAEDF,YAAY,CAACI,SAAS,GAAG;EACvBH,OAAO,EAAEJ,SAAS,CAACQ,MAAM,CAACC,UAAU;EACpCH,eAAe,EAAEN,SAAS,CAACU,IAAI,CAACD,UAAU;EAC1CJ,IAAI,EAAEL,SAAS,CAACW,MAAM,CAACF;AACzB,CAAC;AAED,eAAeN,YAAY"}
1
+ {"version":3,"file":"TableActions.js","names":["React","Link","PropTypes","More","Button","TableActions","editUrl","data","showDeleteModal","propTypes","string","isRequired","func","object"],"sources":["../../../../src/components/ListingTable/TableActions/TableActions.js"],"sourcesContent":["import React from 'react';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport Button from '@blaze-react/button';\n\nconst TableActions = ({ editUrl, data, showDeleteModal }) => (\n <div className=\"more-menu__wrapper\">\n <More isMoreMenu>\n <More.Avatar isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n <Link to={editUrl} className=\"more-menu__link\" role=\"button\">\n Edit\n </Link>\n <Button className=\"more-menu__link\" onClick={() => showDeleteModal(data)}>\n Delete\n </Button>\n </More.Content>\n </More>\n </div>\n);\n\nTableActions.propTypes = {\n editUrl: PropTypes.string.isRequired,\n showDeleteModal: PropTypes.func.isRequired,\n data: PropTypes.object.isRequired\n};\n\nexport default TableActions;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,IAAI,MAAM,mBAAmB;AACpC,OAAOC,MAAM,MAAM,qBAAqB;AAExC,MAAMC,YAAY,GAAG,CAAC;EAAEC,OAAO;EAAEC,IAAI;EAAEC;AAAgB,CAAC,kBACtD;EAAK,SAAS,EAAC;AAAoB,gBACjC,oBAAC,IAAI;EAAC,UAAU;AAAA,gBACd,oBAAC,IAAI,CAAC,MAAM;EAAC,UAAU;AAAA,gBACrB;EAAM,SAAS,EAAC;AAAgB,GAAC,WAAS,CAAO,CACrC,eACd,oBAAC,IAAI,CAAC,OAAO;EAAC,UAAU;AAAA,gBACtB,oBAAC,IAAI;EAAC,EAAE,EAAEF,OAAQ;EAAC,SAAS,EAAC,iBAAiB;EAAC,IAAI,EAAC;AAAQ,GAAC,MAE7D,CAAO,eACP,oBAAC,MAAM;EAAC,SAAS,EAAC,iBAAiB;EAAC,OAAO,EAAE,MAAME,eAAe,CAACD,IAAI;AAAE,GAAC,QAE1E,CAAS,CACI,CACV,CAEV;AAEDF,YAAY,CAACI,SAAS,GAAG;EACvBH,OAAO,EAAEJ,SAAS,CAACQ,MAAM,CAACC,UAAU;EACpCH,eAAe,EAAEN,SAAS,CAACU,IAAI,CAACD,UAAU;EAC1CJ,IAAI,EAAEL,SAAS,CAACW,MAAM,CAACF;AACzB,CAAC;AAED,eAAeN,YAAY"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Tab, TabItem } from '@blaze-react/tab';
4
4
  import { useReadFromCache, GET_CURRENT_TAB_ID, TabsContextProvider } from '@blaze-cms/admin-ui-utils';
@@ -13,9 +13,12 @@ const Tabs = ({
13
13
  } = useReadFromCache({
14
14
  query: GET_CURRENT_TAB_ID
15
15
  }) || EDITOR_VIEW_TAB_INDEX;
16
+ const [activeAccordions, setActiveAccordions] = useState([]);
16
17
  return enabled ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TabsContextProvider, {
17
18
  value: {
18
- currentTabId
19
+ currentTabId,
20
+ activeAccordions,
21
+ setActiveAccordions
19
22
  }
20
23
  }, /*#__PURE__*/React.createElement(Tab, {
21
24
  selected: currentTabId
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","Tab","TabItem","useReadFromCache","GET_CURRENT_TAB_ID","TabsContextProvider","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","Tabs","children","onTabChange","enabled","currentTabId","query","propTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,GAAG,EAAEC,OAAO,QAAQ,kBAAkB;AAC/C,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,QACd,2BAA2B;AAClC,SACEC,gBAAgB,EAChBC,sBAAsB,EACtBC,eAAe,EACfC,qBAAqB,QAChB,iBAAiB;AAExB,MAAMC,IAAI,GAAG,CAAC;EAAEC,QAAQ;EAAEC,WAAW;EAAEC;AAAQ,CAAC,KAAK;EACnD,MAAM;IAAEC;EAAa,CAAC,GAAGX,gBAAgB,CAAC;IAAEY,KAAK,EAAEX;EAAmB,CAAC,CAAC,IAAIK,qBAAqB;EAEjG,OAAOI,OAAO,gBACZ,uDACE,oBAAC,mBAAmB;IAAC,KAAK,EAAE;MAAEC;IAAa;EAAE,gBAC3C,oBAAC,GAAG;IAAC,QAAQ,EAAEA;EAAa,gBAC1B,oBAAC,OAAO;IAAC,KAAK,EAAEN,eAAgB;IAAC,MAAM,EAAE,MAAMI,WAAW,CAACH,qBAAqB;EAAE,GAC/EE,QAAQ,CACD,eACV,oBAAC,OAAO;IAAC,KAAK,EAAEL,gBAAiB;IAAC,MAAM,EAAE,MAAMM,WAAW,CAACL,sBAAsB;EAAE,GACjFI,QAAQ,CACD,CACN,CACc,CACrB,gBAEH,0CAAGA,QAAQ,CACZ;AACH,CAAC;AAEDD,IAAI,CAACM,SAAS,GAAG;EACfL,QAAQ,EAAEX,SAAS,CAACiB,SAAS,CAAC,CAACjB,SAAS,CAACkB,MAAM,EAAElB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACkB,MAAM,CAAC,CAAC,CAAC,CAACE,UAAU;EACjGR,WAAW,EAAEZ,SAAS,CAACqB,IAAI,CAACD,UAAU;EACtCP,OAAO,EAAEb,SAAS,CAACsB,IAAI,CAACF;AAC1B,CAAC;AAED,eAAeV,IAAI"}
1
+ {"version":3,"file":"index.js","names":["React","useState","PropTypes","Tab","TabItem","useReadFromCache","GET_CURRENT_TAB_ID","TabsContextProvider","PAGE_BUILDER_TAB","PAGE_BUILDER_TAB_INDEX","EDITOR_VIEW_TAB","EDITOR_VIEW_TAB_INDEX","Tabs","children","onTabChange","enabled","currentTabId","query","activeAccordions","setActiveAccordions","propTypes","oneOfType","object","arrayOf","isRequired","func","bool"],"sources":["../../../src/components/Tabs/index.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Tab, TabItem } from '@blaze-react/tab';\nimport {\n useReadFromCache,\n GET_CURRENT_TAB_ID,\n TabsContextProvider\n} from '@blaze-cms/admin-ui-utils';\nimport {\n PAGE_BUILDER_TAB,\n PAGE_BUILDER_TAB_INDEX,\n EDITOR_VIEW_TAB,\n EDITOR_VIEW_TAB_INDEX\n} from '../../constants';\n\nconst Tabs = ({ children, onTabChange, enabled }) => {\n const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;\n const [activeAccordions, setActiveAccordions] = useState([]);\n\n return enabled ? (\n <>\n <TabsContextProvider value={{ currentTabId, activeAccordions, setActiveAccordions }}>\n <Tab selected={currentTabId}>\n <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>\n {children}\n </TabItem>\n <TabItem title={PAGE_BUILDER_TAB} action={() => onTabChange(PAGE_BUILDER_TAB_INDEX)}>\n {children}\n </TabItem>\n </Tab>\n </TabsContextProvider>\n </>\n ) : (\n <>{children}</>\n );\n};\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]).isRequired,\n onTabChange: PropTypes.func.isRequired,\n enabled: PropTypes.bool.isRequired\n};\n\nexport default Tabs;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,GAAG,EAAEC,OAAO,QAAQ,kBAAkB;AAC/C,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,mBAAmB,QACd,2BAA2B;AAClC,SACEC,gBAAgB,EAChBC,sBAAsB,EACtBC,eAAe,EACfC,qBAAqB,QAChB,iBAAiB;AAExB,MAAMC,IAAI,GAAG,CAAC;EAAEC,QAAQ;EAAEC,WAAW;EAAEC;AAAQ,CAAC,KAAK;EACnD,MAAM;IAAEC;EAAa,CAAC,GAAGX,gBAAgB,CAAC;IAAEY,KAAK,EAAEX;EAAmB,CAAC,CAAC,IAAIK,qBAAqB;EACjG,MAAM,CAACO,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGlB,QAAQ,CAAC,EAAE,CAAC;EAE5D,OAAOc,OAAO,gBACZ,uDACE,oBAAC,mBAAmB;IAAC,KAAK,EAAE;MAAEC,YAAY;MAAEE,gBAAgB;MAAEC;IAAoB;EAAE,gBAClF,oBAAC,GAAG;IAAC,QAAQ,EAAEH;EAAa,gBAC1B,oBAAC,OAAO;IAAC,KAAK,EAAEN,eAAgB;IAAC,MAAM,EAAE,MAAMI,WAAW,CAACH,qBAAqB;EAAE,GAC/EE,QAAQ,CACD,eACV,oBAAC,OAAO;IAAC,KAAK,EAAEL,gBAAiB;IAAC,MAAM,EAAE,MAAMM,WAAW,CAACL,sBAAsB;EAAE,GACjFI,QAAQ,CACD,CACN,CACc,CACrB,gBAEH,0CAAGA,QAAQ,CACZ;AACH,CAAC;AAEDD,IAAI,CAACQ,SAAS,GAAG;EACfP,QAAQ,EAAEX,SAAS,CAACmB,SAAS,CAAC,CAACnB,SAAS,CAACoB,MAAM,EAAEpB,SAAS,CAACqB,OAAO,CAACrB,SAAS,CAACoB,MAAM,CAAC,CAAC,CAAC,CAACE,UAAU;EACjGV,WAAW,EAAEZ,SAAS,CAACuB,IAAI,CAACD,UAAU;EACtCT,OAAO,EAAEb,SAAS,CAACwB,IAAI,CAACF;AAC1B,CAAC;AAED,eAAeZ,IAAI"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-data-ui",
3
- "version": "0.126.0",
3
+ "version": "0.127.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,12 +27,12 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-utils": "^0.125.0",
30
+ "@blaze-cms/admin-ui-utils": "0.127.0-admin-updates.0",
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
- "@blaze-cms/react-form-builder": "^0.125.0",
33
- "@blaze-cms/react-page-builder": "^0.126.0",
32
+ "@blaze-cms/react-form-builder": "0.127.0-admin-updates.0",
33
+ "@blaze-cms/react-page-builder": "0.127.0-admin-updates.0",
34
34
  "@blaze-cms/setup-ui": "^0.92.0",
35
- "@blaze-cms/versioning-ui": "^0.124.0",
35
+ "@blaze-cms/versioning-ui": "0.127.0-admin-updates.0",
36
36
  "@blaze-react/button": "0.5.19",
37
37
  "@blaze-react/more": "0.5.19",
38
38
  "@blaze-react/multiselect": "0.6.6",
@@ -53,7 +53,7 @@
53
53
  "uuid": "^3.3.3"
54
54
  },
55
55
  "devDependencies": {
56
- "@blaze-cms/core-ui": "^0.125.0"
56
+ "@blaze-cms/core-ui": "0.127.0-admin-updates.0"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "@apollo/client": "3.x",
@@ -65,5 +65,5 @@
65
65
  "lib/*",
66
66
  "lib-es/*"
67
67
  ],
68
- "gitHead": "3426eb3c15ca8bf9c601ebfccff00ad695b9a83a"
68
+ "gitHead": "ea29a84e65872f21b486ee450a11a63e53754641"
69
69
  }
@@ -403,68 +403,70 @@ const Entity = ({
403
403
 
404
404
  return (
405
405
  <div className="page">
406
- <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />
407
- {showModal && (
408
- <DeleteAction
409
- onClose={setModalStatus}
410
- deleteAction={onDelete}
411
- itemName={formData.values.name}
412
- />
413
- )}
414
- {copyModalStatus && (
415
- <CopyDataFromAction
416
- onClose={handleCopyDataFromClose}
417
- copyAction={onCopy}
418
- getFormData={getFormData}
419
- />
420
- )}
421
-
422
- <div className="row row--display-row">
423
- <div className="column column--three-quarters">
424
- <EntityHeader
425
- entityData={entityData}
426
- entityIdentifier={entityIdentifier}
427
- pageTitle={pageTitle}
428
- pageName={pageName}
429
- onSubmit={onSubmit}
430
- handlePublishAndUnpublish={handlePublishAndUnpublish}
431
- isSaveButtonAvailable={isSaveButtonAvailable}
432
- isEnablePublishButton={isEnablePublishButton}
433
- isEnablePreviewButton={isEnablePreviewButton}
434
- toggleCopyModal={setCopyModalStatus}
435
- toggleModal={setModalStatus}
436
- formData={formData}
437
- onViewUrl={onViewUrlHandler}
438
- saveButtonText={saveButtonText}
439
- />
440
-
441
- <div className="page__content">
442
- <div className="content">
443
- <Tabs
444
- enabled={showPageBuilderTabs}
445
- onTabChange={tabId => {
446
- client.writeQuery({
447
- query: GET_CURRENT_TAB_ID,
448
- data: { currentTabId: tabId }
449
- });
450
- setCurrentTabId(tabId);
451
- }}>
452
- <FormBuilder
453
- getIsFormValid={setIsFormValid}
454
- getFormValues={getFormValues}
455
- schema={schema}
456
- data={clonedFormData}
457
- onChange={onChangeFormValues}
458
- shouldCopyData={shouldCopyData}
459
- updateCopyData={updateCopyData}
460
- formValues={formValues}
461
- isNewEntity={isNewEntity}
462
- />
463
- </Tabs>
406
+ <EntityHeader
407
+ entityData={entityData}
408
+ entityIdentifier={entityIdentifier}
409
+ pageTitle={pageTitle}
410
+ pageName={pageName}
411
+ onSubmit={onSubmit}
412
+ handlePublishAndUnpublish={handlePublishAndUnpublish}
413
+ isSaveButtonAvailable={isSaveButtonAvailable}
414
+ isEnablePublishButton={isEnablePublishButton}
415
+ isEnablePreviewButton={isEnablePreviewButton}
416
+ toggleCopyModal={setCopyModalStatus}
417
+ toggleModal={setModalStatus}
418
+ formData={formData}
419
+ onViewUrl={onViewUrlHandler}
420
+ saveButtonText={saveButtonText}
421
+ />
422
+ <div className="page-wrapper__content">
423
+ <div className="tabs-wrapper tabs-wrapper__tab">
424
+ <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />
425
+ {showModal && (
426
+ <DeleteAction
427
+ onClose={setModalStatus}
428
+ deleteAction={onDelete}
429
+ itemName={formData.values.name}
430
+ />
431
+ )}
432
+ {copyModalStatus && (
433
+ <CopyDataFromAction
434
+ onClose={handleCopyDataFromClose}
435
+ copyAction={onCopy}
436
+ getFormData={getFormData}
437
+ />
438
+ )}
439
+
440
+ <div className="page__content--fixed">
441
+ <div className="page__content">
442
+ <div className="content">
443
+ <Tabs
444
+ enabled={showPageBuilderTabs}
445
+ onTabChange={tabId => {
446
+ client.writeQuery({
447
+ query: GET_CURRENT_TAB_ID,
448
+ data: { currentTabId: tabId }
449
+ });
450
+ setCurrentTabId(tabId);
451
+ }}>
452
+ <FormBuilder
453
+ getIsFormValid={setIsFormValid}
454
+ getFormValues={getFormValues}
455
+ schema={schema}
456
+ data={clonedFormData}
457
+ onChange={onChangeFormValues}
458
+ shouldCopyData={shouldCopyData}
459
+ updateCopyData={updateCopyData}
460
+ formValues={formValues}
461
+ isNewEntity={isNewEntity}
462
+ />
463
+ </Tabs>
464
+ </div>
464
465
  </div>
465
466
  </div>
466
467
  </div>
467
- <div className="column column--one-third">
468
+
469
+ <div className="column column--one-third page-sidebar">
468
470
  {showSideBarRelations && (
469
471
  <SideBarRelations
470
472
  entity={entity}
@@ -4,16 +4,21 @@ 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 Badge from '@blaze-react/badge';
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
10
 
11
11
  const SideBarRelations = ({ schema, onChange, formData, entity }) => {
12
12
  const { relation: RelationComponent } = formFieldTypes;
13
- const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;
13
+ const {
14
+ formattedStatus,
15
+ formattedUpdated,
16
+ formattedCreated,
17
+ formattedPublished,
18
+ status
19
+ } = formData;
14
20
  const client = useApolloClient();
15
21
  const [relationsComponents, setRelationsComponents] = useState(null);
16
-
17
22
  useEffect(
18
23
  () => {
19
24
  (async () => {
@@ -51,17 +56,26 @@ const SideBarRelations = ({ schema, onChange, formData, entity }) => {
51
56
  const { id: itemId } = entity;
52
57
  const { identifier: itemEntity, interfaces } = schema;
53
58
 
59
+ const statusClassName = classnames('sidebar__status__badge', {
60
+ 'sidebar__status__badge--published': status === PUBLISHED,
61
+ 'sidebar__status__badge--unpublished': status === UNPUBLISHED
62
+ });
63
+
54
64
  return (
55
65
  <div className="sidebar" data-testid="sideBarRelations-main-div">
56
66
  <div className="sidebar__content">
57
67
  {formattedCreated && (
58
68
  <div className="sidebar__status">
59
- {formattedStatus && (
60
- <Badge type="status" modifiers={formattedStatus}>
61
- {formattedStatus}
62
- {formattedStatus === PUBLISHED && `: ${formattedPublished}`}
63
- </Badge>
69
+ <div className="sidebar__status__wrapper">
70
+ <b>Status</b>
71
+ <span className={statusClassName}>{formattedStatus}</span>
72
+ </div>
73
+ {formattedStatus === PUBLISHED && (
74
+ <p>
75
+ {formattedStatus} on: <span> {formattedPublished}</span>
76
+ </p>
64
77
  )}
78
+
65
79
  <p>
66
80
  Created: <span>{formattedCreated}</span>
67
81
  </p>
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { Tab, TabItem } from '@blaze-react/tab';
4
4
  import {
@@ -15,10 +15,11 @@ import {
15
15
 
16
16
  const Tabs = ({ children, onTabChange, enabled }) => {
17
17
  const { currentTabId } = useReadFromCache({ query: GET_CURRENT_TAB_ID }) || EDITOR_VIEW_TAB_INDEX;
18
+ const [activeAccordions, setActiveAccordions] = useState([]);
18
19
 
19
20
  return enabled ? (
20
21
  <>
21
- <TabsContextProvider value={{ currentTabId }}>
22
+ <TabsContextProvider value={{ currentTabId, activeAccordions, setActiveAccordions }}>
22
23
  <Tab selected={currentTabId}>
23
24
  <TabItem title={EDITOR_VIEW_TAB} action={() => onTabChange(EDITOR_VIEW_TAB_INDEX)}>
24
25
  {children}