@blaze-cms/plugin-data-ui 0.118.0 → 0.119.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 (62) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/lib/components/EntityDataListing/EntityDataListing.js +2 -2
  3. package/lib/components/EntityDataListing/EntityDataListing.js.map +1 -1
  4. package/lib/components/EntityManager/Entity/Entity.js +8 -5
  5. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  6. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +2 -2
  7. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  8. package/lib/components/EntityManager/Entity/SideBarRelations/index.js +2 -2
  9. package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  10. package/lib/components/EntityManager/EntityManager.js +2 -2
  11. package/lib/components/EntityManager/EntityManager.js.map +1 -1
  12. package/lib/components/EntityManager/utils/query.js +2 -2
  13. package/lib/components/EntityManager/utils/query.js.map +1 -1
  14. package/lib/components/ListingTable/ListingTable.js +2 -2
  15. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  16. package/lib/utils/build-create-entity-mutation.js +2 -2
  17. package/lib/utils/build-create-entity-mutation.js.map +1 -1
  18. package/lib/utils/build-delete-entity-mutation.js +2 -2
  19. package/lib/utils/build-delete-entity-mutation.js.map +1 -1
  20. package/lib/utils/build-listing-query.js +2 -2
  21. package/lib/utils/build-listing-query.js.map +1 -1
  22. package/lib/utils/build-update-data-query.js +2 -2
  23. package/lib/utils/build-update-data-query.js.map +1 -1
  24. package/lib/utils/build-update-publish-unpublish-mutation.js +2 -2
  25. package/lib/utils/build-update-publish-unpublish-mutation.js.map +1 -1
  26. package/lib-es/components/EntityDataListing/EntityDataListing.js +1 -1
  27. package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -1
  28. package/lib-es/components/EntityManager/Entity/Entity.js +7 -4
  29. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  30. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +1 -1
  31. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  32. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +1 -1
  33. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  34. package/lib-es/components/EntityManager/EntityManager.js +1 -1
  35. package/lib-es/components/EntityManager/EntityManager.js.map +1 -1
  36. package/lib-es/components/EntityManager/utils/query.js +1 -1
  37. package/lib-es/components/EntityManager/utils/query.js.map +1 -1
  38. package/lib-es/components/ListingTable/ListingTable.js +1 -1
  39. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  40. package/lib-es/utils/build-create-entity-mutation.js +1 -1
  41. package/lib-es/utils/build-create-entity-mutation.js.map +1 -1
  42. package/lib-es/utils/build-delete-entity-mutation.js +1 -1
  43. package/lib-es/utils/build-delete-entity-mutation.js.map +1 -1
  44. package/lib-es/utils/build-listing-query.js +1 -1
  45. package/lib-es/utils/build-listing-query.js.map +1 -1
  46. package/lib-es/utils/build-update-data-query.js +1 -1
  47. package/lib-es/utils/build-update-data-query.js.map +1 -1
  48. package/lib-es/utils/build-update-publish-unpublish-mutation.js +1 -1
  49. package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -1
  50. package/package.json +8 -9
  51. package/src/components/EntityDataListing/EntityDataListing.js +1 -1
  52. package/src/components/EntityManager/Entity/Entity.js +7 -4
  53. package/src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +1 -1
  54. package/src/components/EntityManager/Entity/SideBarRelations/index.js +1 -1
  55. package/src/components/EntityManager/EntityManager.js +1 -1
  56. package/src/components/EntityManager/utils/query.js +1 -1
  57. package/src/components/ListingTable/ListingTable.js +1 -1
  58. package/src/utils/build-create-entity-mutation.js +1 -1
  59. package/src/utils/build-delete-entity-mutation.js +1 -1
  60. package/src/utils/build-listing-query.js +1 -1
  61. package/src/utils/build-update-data-query.js +1 -1
  62. package/src/utils/build-update-publish-unpublish-mutation.js +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,42 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.119.0](https://github.com/thebyte9/blaze/compare/v0.119.0-alpha.2...v0.119.0) (2022-01-28)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/plugin-data-ui
9
+
10
+
11
+
12
+
13
+
14
+ # [0.119.0-alpha.2](https://github.com/thebyte9/blaze/compare/v0.119.0-alpha.1...v0.119.0-alpha.2) (2022-01-28)
15
+
16
+ **Note:** Version bump only for package @blaze-cms/plugin-data-ui
17
+
18
+
19
+
20
+
21
+
22
+ # [0.119.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.119.0-alpha.0...v0.119.0-alpha.1) (2022-01-27)
23
+
24
+ **Note:** Version bump only for package @blaze-cms/plugin-data-ui
25
+
26
+
27
+
28
+
29
+
30
+ # [0.119.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.118.1-alpha.0...v0.119.0-alpha.0) (2022-01-26)
31
+
32
+
33
+ ### Features
34
+
35
+ * update apollo client to v3.5 add cache redirects and optimise queries ([#3308](https://github.com/thebyte9/blaze/issues/3308)) ([5281b17](https://github.com/thebyte9/blaze/commit/5281b17fd972f8c727d099f0c814e747896af431))
36
+ * upgrade next to latest version ([#3290](https://github.com/thebyte9/blaze/issues/3290)) ([d2c37bd](https://github.com/thebyte9/blaze/commit/d2c37bd1bf7847dbbbaf7ab8634008c2042f91f9))
37
+
38
+
39
+
40
+
41
+
6
42
  # [0.118.0](https://github.com/thebyte9/blaze/compare/v0.118.0-alpha.3...v0.118.0) (2022-01-25)
7
43
 
8
44
  **Note:** Version bump only for package @blaze-cms/plugin-data-ui
@@ -23,7 +23,7 @@ require("core-js/modules/es.array.map.js");
23
23
 
24
24
  require("core-js/modules/es.string.ends-with.js");
25
25
 
26
- var _reactApollo = require("react-apollo");
26
+ var _client = require("@apollo/client");
27
27
 
28
28
  var _react = _interopRequireDefault(require("react"));
29
29
 
@@ -55,7 +55,7 @@ var EntityDataListing = function EntityDataListing(_ref) {
55
55
  _menuItems$map$filter3 = (0, _slicedToArray2["default"])(_menuItems$map$filter2[0], 1),
56
56
  selectedMenuItem = _menuItems$map$filter3[0];
57
57
 
58
- var _useQuery = (0, _reactApollo.useQuery)((0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'), {
58
+ var _useQuery = (0, _client.useQuery)((0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'), {
59
59
  variables: {
60
60
  identifier: identifier
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/EntityDataListing/EntityDataListing.js"],"names":["EntityDataListing","match","menuItems","identifier","params","entityIdentifier","map","_","items","item","filter","uri","endsWith","length","Boolean","selectedMenuItem","variables","data","getEntitySchemas","propTypes","PropTypes","object","isRequired","array"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAA0B;AAAA,MAAvBC,KAAuB,QAAvBA,KAAuB;AAAA,MAAhBC,SAAgB,QAAhBA,SAAgB;AAClD,MAC8BC,UAD9B,GAEIF,KAFJ,CACEG,MADF,CACYC,gBADZ;;AAIA,8BAA6BH,SAAS,CACnCI,GAD0B,CACtB,iBAAoB;AAAA;AAAA,QAAlBC,CAAkB;AAAA,QAAbC,KAAa,YAAbA,KAAa;;AACvB,QAAMC,IAAI,GAAGD,KAAK,CAACE,MAAN,CAAa;AAAA,UAAGC,GAAH,SAAGA,GAAH;AAAA,aAAaA,GAAG,CAACC,QAAJ,YAAiBT,UAAjB,EAAb;AAAA,KAAb,CAAb;AAEA,WAAOM,IAAI,CAACI,MAAL,GAAcJ,IAAd,GAAqB,IAA5B;AACD,GAL0B,EAM1BC,MAN0B,CAMnBI,OANmB,CAA7B;AAAA;AAAA;AAAA,MAAQC,gBAAR;;AAQA,kBAAiD,2BAAS,4BAAS,mBAAT,CAAT,EAAwC;AACvFC,IAAAA,SAAS,EAAE;AAAEb,MAAAA,UAAU,EAAVA;AAAF;AAD4E,GAAxC,CAAjD;AAAA,iCAAQc,IAAR;;AAAA,+CAA0C,EAA1C;AAAA,6CAAgBC,gBAAhB;AAAA,MAAgBA,gBAAhB,sCAAmC,EAAnC;AAIA,MAAI,CAACA,gBAAgB,CAACL,MAAtB,EAA8B,OAAO,EAAP;AAE9B,sBAAO,gCAAC,wBAAD;AAAc,IAAA,YAAY,EAAEK,gBAAgB,CAAC,CAAD,CAA5C;AAAiD,IAAA,gBAAgB,EAAEH;AAAnE,IAAP;AACD,CApBD;;AAsBAf,iBAAiB,CAACmB,SAAlB,GAA8B;AAC5BlB,EAAAA,KAAK,EAAEmB,sBAAUC,MAAV,CAAiBC,UADI;AAE5BpB,EAAAA,SAAS,EAAEkB,sBAAUG,KAAV,CAAgBD;AAFC,CAA9B;;eAKe,8BAAYtB,iBAAZ,C","sourcesContent":["import { useQuery } from 'react-apollo';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\n\nimport ListingTable from '../ListingTable/ListingTable';\nimport { withContext } from '../../utils/hoc/withContext';\n\nconst EntityDataListing = ({ match, menuItems }) => {\n const {\n params: { entityIdentifier: identifier }\n } = match;\n\n const [[selectedMenuItem]] = menuItems\n .map(([_, { items }]) => {\n const item = items.filter(({ uri }) => uri.endsWith(`/${identifier}`));\n\n return item.length ? item : null;\n })\n .filter(Boolean);\n\n const { data: { getEntitySchemas = [] } = {} } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {\n variables: { identifier }\n });\n\n if (!getEntitySchemas.length) return '';\n\n return <ListingTable entitySchema={getEntitySchemas[0]} selectedMenuItem={selectedMenuItem} />;\n};\n\nEntityDataListing.propTypes = {\n match: PropTypes.object.isRequired,\n menuItems: PropTypes.array.isRequired\n};\n\nexport default withContext(EntityDataListing);\n"],"file":"EntityDataListing.js"}
1
+ {"version":3,"sources":["../../../src/components/EntityDataListing/EntityDataListing.js"],"names":["EntityDataListing","match","menuItems","identifier","params","entityIdentifier","map","_","items","item","filter","uri","endsWith","length","Boolean","selectedMenuItem","variables","data","getEntitySchemas","propTypes","PropTypes","object","isRequired","array"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAA0B;AAAA,MAAvBC,KAAuB,QAAvBA,KAAuB;AAAA,MAAhBC,SAAgB,QAAhBA,SAAgB;AAClD,MAC8BC,UAD9B,GAEIF,KAFJ,CACEG,MADF,CACYC,gBADZ;;AAIA,8BAA6BH,SAAS,CACnCI,GAD0B,CACtB,iBAAoB;AAAA;AAAA,QAAlBC,CAAkB;AAAA,QAAbC,KAAa,YAAbA,KAAa;;AACvB,QAAMC,IAAI,GAAGD,KAAK,CAACE,MAAN,CAAa;AAAA,UAAGC,GAAH,SAAGA,GAAH;AAAA,aAAaA,GAAG,CAACC,QAAJ,YAAiBT,UAAjB,EAAb;AAAA,KAAb,CAAb;AAEA,WAAOM,IAAI,CAACI,MAAL,GAAcJ,IAAd,GAAqB,IAA5B;AACD,GAL0B,EAM1BC,MAN0B,CAMnBI,OANmB,CAA7B;AAAA;AAAA;AAAA,MAAQC,gBAAR;;AAQA,kBAAiD,sBAAS,4BAAS,mBAAT,CAAT,EAAwC;AACvFC,IAAAA,SAAS,EAAE;AAAEb,MAAAA,UAAU,EAAVA;AAAF;AAD4E,GAAxC,CAAjD;AAAA,iCAAQc,IAAR;;AAAA,+CAA0C,EAA1C;AAAA,6CAAgBC,gBAAhB;AAAA,MAAgBA,gBAAhB,sCAAmC,EAAnC;AAIA,MAAI,CAACA,gBAAgB,CAACL,MAAtB,EAA8B,OAAO,EAAP;AAE9B,sBAAO,gCAAC,wBAAD;AAAc,IAAA,YAAY,EAAEK,gBAAgB,CAAC,CAAD,CAA5C;AAAiD,IAAA,gBAAgB,EAAEH;AAAnE,IAAP;AACD,CApBD;;AAsBAf,iBAAiB,CAACmB,SAAlB,GAA8B;AAC5BlB,EAAAA,KAAK,EAAEmB,sBAAUC,MAAV,CAAiBC,UADI;AAE5BpB,EAAAA,SAAS,EAAEkB,sBAAUG,KAAV,CAAgBD;AAFC,CAA9B;;eAKe,8BAAYtB,iBAAZ,C","sourcesContent":["import { useQuery } from '@apollo/client';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\n\nimport ListingTable from '../ListingTable/ListingTable';\nimport { withContext } from '../../utils/hoc/withContext';\n\nconst EntityDataListing = ({ match, menuItems }) => {\n const {\n params: { entityIdentifier: identifier }\n } = match;\n\n const [[selectedMenuItem]] = menuItems\n .map(([_, { items }]) => {\n const item = items.filter(({ uri }) => uri.endsWith(`/${identifier}`));\n\n return item.length ? item : null;\n })\n .filter(Boolean);\n\n const { data: { getEntitySchemas = [] } = {} } = useQuery(getQuery('GET_ENTITY_SCHEMA'), {\n variables: { identifier }\n });\n\n if (!getEntitySchemas.length) return '';\n\n return <ListingTable entitySchema={getEntitySchemas[0]} selectedMenuItem={selectedMenuItem} />;\n};\n\nEntityDataListing.propTypes = {\n match: PropTypes.object.isRequired,\n menuItems: PropTypes.array.isRequired\n};\n\nexport default withContext(EntityDataListing);\n"],"file":"EntityDataListing.js"}
@@ -67,7 +67,7 @@ var _react = _interopRequireWildcard(require("react"));
67
67
 
68
68
  var _reactRouterDom = require("react-router-dom");
69
69
 
70
- var _reactApollo = require("react-apollo");
70
+ var _client = require("@apollo/client");
71
71
 
72
72
  var _propTypes = _interopRequireDefault(require("prop-types"));
73
73
 
@@ -218,7 +218,7 @@ var Entity = function Entity(_ref) {
218
218
  isNewEntity = _useState34[0],
219
219
  setIsNewEntity = _useState34[1];
220
220
 
221
- var client = (0, _reactApollo.useApolloClient)();
221
+ var client = (0, _client.useApolloClient)();
222
222
  var shouldUpdateState = !entityIdentifier || (0, _entity.checkFulfilConditions)(entity, schema, previousQuery, !entityData) || entityData && entityData.id !== entity.id;
223
223
  var clonedFormData = (0, _lodash["default"])(formData);
224
224
 
@@ -247,7 +247,8 @@ var Entity = function Entity(_ref) {
247
247
 
248
248
  if (formData && pageBuilderTemplateStatus) {
249
249
  var isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;
250
- client.writeData({
250
+ client.writeQuery({
251
+ query: (0, _adminUiUtils.getQuery)('GET_PB_TEMPLATE_STATUS'),
251
252
  data: {
252
253
  pageBuilderTemplateSet: isPageBuilderTemplateSet,
253
254
  pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''
@@ -256,7 +257,8 @@ var Entity = function Entity(_ref) {
256
257
  }
257
258
 
258
259
  if (schema) {
259
- client.writeData({
260
+ client.writeQuery({
261
+ query: (0, _adminUiUtils.getQuery)('GET_CURRENT_ENTITY'),
260
262
  data: {
261
263
  currentEntity: schema.id
262
264
  }
@@ -350,7 +352,8 @@ var Entity = function Entity(_ref) {
350
352
  }
351
353
 
352
354
  pageBuilderTemplateId = fieldValue;
353
- client.writeData({
355
+ client.writeQuery({
356
+ query: (0, _adminUiUtils.getQuery)('GET_PB_TEMPLATE_STATUS'),
354
357
  data: {
355
358
  pageBuilderTemplateSet: !!pageBuilderTemplateId,
356
359
  pageBuilderTemplateId: pageBuilderTemplateId
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeData","data","pageBuilderTemplateSet","currentEntity","getFullUrl","query","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","writeQuery","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps"],"mappings":"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","sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from 'react-apollo';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeData({\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeData({\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeData({\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData({\n values: { ...updatedFormValues, ...parsedFormValues }\n });\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n setFormDataFromCopy(null);\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"file":"Entity.js"}
1
+ {"version":3,"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"names":["Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","setCurrentTabId","formValues","setFormValues","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","values","status","entityIsPublished","setEntityIsPublish","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","SAVE_BUTTON_TEXTS","save","saveButtonText","setSaveButtonText","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","shouldUpdateState","id","clonedFormData","addToast","componentIsMounted","current","displayProperties","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","data","pageBuilderTemplateSet","currentEntity","getFullUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getEntityUrl","getFormValues","onChangeSideBarRelations","requiredChildField","value","updatedFormValues","shouldActiveSaveButton","onChangeFormValues","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","filter","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","length","forEach","item","index","findIndex","push","updatedEntity","isValidAndNewValueSet","isNotValidOrNotNewValueSet","onSubmit","event","preventDefault","parsedFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","textContent","target","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","pageName","hasNewFormValues","hasToDisplayPrompt","showSideBarRelations","showPageBuilderTabs","LEAVE_PAGE_MESSAGE","tabId","GET_CURRENT_TAB_ID","currentTabId","propTypes","PropTypes","object","string","isRequired","func","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAWA;;AACA;;AAOA;;;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,OAUT;AAAA;;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,MAQI,QARJA,MAQI;AAAA,MAPJC,MAOI,QAPJA,MAOI;AAAA,MANJC,aAMI,QANJA,aAMI;AAAA,MALJC,MAKI,QALJA,MAKI;AAAA,MAJJC,OAII,QAJJA,OAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADJC,aACI,QADJA,aACI;;AACJ,kBAA4B,qBAAS,IAAT,CAA5B;AAAA;AAAA,MAASC,eAAT;;AACA,mBAAoC,qBAAS,IAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAAwC,qBAAS,IAAT,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAAoC,qBAAS,IAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AACA,mBAAgD,qBAAS,IAAT,CAAhD;AAAA;AAAA,MAAOC,gBAAP;AAAA,MAAyBC,mBAAzB;;AACA,oBAAkC,qBAAS,EAAT,CAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,oBAA0D,qBAAS,KAAT,CAA1D;AAAA;AAAA,MAAOC,qBAAP;AAAA,MAA8BC,wBAA9B;;AACA,oBAAgD,qBAC9CrB,QAAQ,IAAIA,QAAQ,CAACsB,MAArB,IAA+BtB,QAAQ,CAACsB,MAAT,CAAgBC,MADD,CAAhD;AAAA;AAAA,MAAOC,iBAAP;AAAA,MAA0BC,kBAA1B;;AAGA,oBAAwD,qBAAS,KAAT,CAAxD;AAAA;AAAA,MAAOC,qBAAP;AAAA,MAA8BC,sBAA9B;;AACA,oBAAwD,qBAAS,KAAT,CAAxD;AAAA;AAAA,MAAOC,qBAAP;AAAA,MAA8BC,sBAA9B;;AACA,mBAAsC,4BAAU,KAAV,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,oBAA8C,4BAAU,KAAV,CAA9C;AAAA;AAAA,MAAOC,eAAP;AAAA,MAAwBC,kBAAxB;;AACA,oBAAkE,qBAAS,IAAT,CAAlE;AAAA;AAAA,MAAOC,yBAAP;AAAA,MAAkCC,4BAAlC;;AACA,oBAA4C,qBAAS,KAAT,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,oBAAsC,qBAAS,KAAT,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,oBAAgD,qBAAS,IAAT,CAAhD;AAAA;AAAA,MAAOC,gBAAP;AAAA,MAAyBC,mBAAzB;;AACA,oBAA4C,qBAAS,IAAT,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,oBAA4C,qBAASC,6BAAkBC,IAA3B,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AAEA,MAAMC,YAAY,GAAG3C,OAAO,CAAC4C,QAAR,CAAiBC,QAAjB,CAA0BC,QAA1B,CAAmC,QAAnC,CAArB;;AACA,oBAAsC,qBAASH,YAAT,CAAtC;AAAA;AAAA,MAAOI,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMC,MAAM,GAAG,8BAAf;AACA,MAAMC,iBAAiB,GACrB,CAACvC,gBAAD,IACA,mCAAsBf,MAAtB,EAA8BC,MAA9B,EAAsCC,aAAtC,EAAqD,CAACW,UAAtD,CADA,IAECA,UAAU,IAAIA,UAAU,CAAC0C,EAAX,KAAkBvD,MAAM,CAACuD,EAH1C;AAIA,MAAMC,cAAc,GAAG,wBAAUzD,QAAV,CAAvB;;AACA,mBAAqB,yBAArB;AAAA,MAAQ0D,QAAR,cAAQA,QAAR,CA/BI,CAiCJ;;;AACA,MAAMC,kBAAkB,GAAG,mBAAO,IAAP,CAA3B;AACA,wBACE;AAAA,WAAM,YAAM;AACVA,MAAAA,kBAAkB,CAACC,OAAnB,GAA6B,KAA7B;AACD,KAFD;AAAA,GADF,EAIE,EAJF,EAnCI,CAwCD;;AAEH,wBACE,YAAM;AACJ,QAAIL,iBAAJ,EAAuB;AACrBR,MAAAA,iBAAiB,CAACH,6BAAkBC,IAAnB,CAAjB;AACA9B,MAAAA,aAAa,CAACd,MAAD,CAAb;AACAkB,MAAAA,YAAY,CAAC,8BAAYjB,MAAM,CAAC2D,iBAAnB,EAAsC5D,MAAtC,CAAD,CAAZ;AACAwB,MAAAA,kBAAkB,CAACxB,MAAM,CAACsB,MAAR,CAAlB;AACAV,MAAAA,eAAe,CAACX,MAAD,CAAf;AACAyB,MAAAA,sBAAsB,CAACzB,MAAM,CAAC4D,OAAP,CAAeC,OAAhB,CAAtB;AACA9C,MAAAA,mBAAmB,CAACf,MAAM,CAAC8D,UAAR,CAAnB;AACAnC,MAAAA,sBAAsB,CAAC,CAAC,CAAC3B,MAAM,CAAC+D,UAAP,CAAkBd,QAAlB,CAA2Be,4BAA3B,CAAH,CAAtB;AACD;;AAED,QAAIlE,QAAQ,IAAIkC,yBAAhB,EAA2C;AACzC,UAAMiC,wBAAwB,GAAG,CAAC,CAACnE,QAAQ,CAACsB,MAAT,CAAgB8C,qBAAnD;AACAd,MAAAA,MAAM,CAACe,UAAP,CAAkB;AAChBC,QAAAA,KAAK,EAAE,4BAAS,wBAAT,CADS;AAEhBC,QAAAA,IAAI,EAAE;AACJC,UAAAA,sBAAsB,EAAEL,wBADpB;AAEJC,UAAAA,qBAAqB,EAAEpE,QAAQ,CAACsB,MAAT,CAAgB8C,qBAAhB,IAAyC;AAF5D;AAFU,OAAlB;AAOD;;AACD,QAAIlE,MAAJ,EAAY;AACVoD,MAAAA,MAAM,CAACe,UAAP,CAAkB;AAChBC,QAAAA,KAAK,EAAE,4BAAS,oBAAT,CADS;AAEhBC,QAAAA,IAAI,EAAE;AACJE,UAAAA,aAAa,EAAEvE,MAAM,CAACsD;AADlB;AAFU,OAAlB;AAMD;AACF,GA/BH,EAgCE,CACEF,MADF,EAEErD,MAFF,EAGEa,UAHF,EAIEd,QAJF,EAKEU,UALF,EAMEwB,yBANF,EAOE/B,aAPF,EAQED,MARF,EASEqD,iBATF,CAhCF;;AA6CA,MAAMmB,UAAU;AAAA,8FAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AACXJ,cAAAA,KADW,GACH,4BAAS,gBAAT,CADG;AAAA;AAAA,qBAEkChB,MAAM,CAACgB,KAAP,CAAa;AAC9DA,gBAAAA,KAAK,EAALA,KAD8D;AAE9DK,gBAAAA,SAAS,EAAE;AAAEC,kBAAAA,MAAM,EAAE3E,MAAM,CAACuD,EAAjB;AAAqBqB,kBAAAA,UAAU,EAAE3E,MAAM,CAACsD,EAAxC;AAA4CsB,kBAAAA,OAAO,EAAE;AAArD,iBAFmD;AAG9DC,gBAAAA,WAAW,EAAE;AAHiD,eAAb,CAFlC;;AAAA;AAAA;AAAA,0DAETR,IAFS;AAEjB,yEAAsC,EAAtC;AAFiB,6DAEDS,YAFC,EAEDA,YAFC,uCAEc,EAFd;AAAA,+CAOVA,YAPU;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAVN,UAAU;AAAA;AAAA;AAAA,KAAhB;;AAUA,MAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAAA3D,MAAM,EAAI;AAC9B,QAAIqC,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BjD,MAAAA,aAAa,CAACW,MAAD,CAAb;AACD;AACF,GAJD;;AAMA,MAAM4D,wBAAwB,GAAG,SAA3BA,wBAA2B,QAAgBC,kBAAhB,EAAuC;AAAA,QAApC3B,EAAoC,SAApCA,EAAoC;AAAA,QAAhC4B,KAAgC,SAAhCA,KAAgC;AACtE,QAAMC,iBAAiB,GAAG,kCAAqB;AAAE7B,MAAAA,EAAE,EAAFA,EAAF;AAAM4B,MAAAA,KAAK,EAALA,KAAN;AAAaD,MAAAA,kBAAkB,EAAlBA,kBAAb;AAAiCzE,MAAAA,UAAU,EAAVA;AAAjC,KAArB,CAA1B;AAEA,QAAM4E,sBAAsB,GAAG,sCAAyBD,iBAAzB,EAA4CF,kBAA5C,CAA/B;;AAEA,QAAI7C,WAAW,IAAIgD,sBAAf,IAAyC3B,kBAAkB,CAACC,OAAhE,EAAyE;AACvEvC,MAAAA,wBAAwB,CAAC,IAAD,CAAxB;AACA0B,MAAAA,iBAAiB,CAACH,6BAAkBC,IAAnB,CAAjB;AACD,KAHD,MAGO,IAAIc,kBAAkB,CAACC,OAAvB,EAAgC;AACrCvC,MAAAA,wBAAwB,CAAC,KAAD,CAAxB;AACD;;AAED,QAAIsC,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BjD,MAAAA,aAAa,CAAC0E,iBAAD,CAAb;AACD;AACF,GAfD;;AAiBA,MAAME,kBAAkB;AAAA,8FAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AACzBC,cAAAA,OADyB,SACzBA,OADyB,EAEzBC,MAFyB,SAEzBA,MAFyB,EAGzBC,aAHyB,SAGzBA,aAHyB,EAIzBC,aAJyB,SAIzBA,aAJyB,EAKzBC,YALyB,SAKzBA,YALyB,EAMlBC,UANkB,SAMzBT,KANyB,EAOtBU,UAPsB;AASrBT,cAAAA,iBATqB,GASDM,aAAa,GAAGA,aAAa,CAACI,KAAd,EAAH,GAA2B,EATvC;;AAAA,oBAUrBH,YAAY,KAAKI,yCAVI;AAAA;AAAA;AAAA;;AAWjB5B,cAAAA,qBAXiB,GAWOyB,UAXP;AAYvBvC,cAAAA,MAAM,CAACe,UAAP,CAAkB;AAChBC,gBAAAA,KAAK,EAAE,4BAAS,wBAAT,CADS;AAEhBC,gBAAAA,IAAI,EAAE;AACJC,kBAAAA,sBAAsB,EAAE,CAAC,CAACJ,qBADtB;AAEJA,kBAAAA,qBAAqB,EAArBA;AAFI;AAFU,eAAlB;;AAQA,kBAAIT,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BzB,gBAAAA,4BAA4B,CAAC,KAAD,CAA5B;AACD;;AAEK8D,cAAAA,WAxBiB,GAwBHZ,iBAAiB,CAACa,MAAlB,CAClB,UAAAC,SAAS;AAAA,uBAAIA,SAAS,CAAC3C,EAAV,KAAiB4C,gCAArB;AAAA,eADS,CAxBG;;AAAA,mBA4BnBhC,qBA5BmB;AAAA;AAAA;AAAA;;AAAA;AAAA,qBA6BOd,MAAM,CAACgB,KAAP,CAAa;AACvCA,gBAAAA,KAAK,EAAE,4BAAS,2BAAT,CADgC;AAEvCK,gBAAAA,SAAS,EAAE;AACT0B,kBAAAA,MAAM,EAAE;AACNJ,oBAAAA,WAAW,EAAEA,WAAW,CAAC,CAAD,CAAX,CAAeb,KADtB;AAENhB,oBAAAA,qBAAqB,EAArBA;AAFM,mBADC;AAKTpD,kBAAAA,gBAAgB,EAAhBA;AALS;AAF4B,eAAb,CA7BP;;AAAA;AAAA;AAAA,2DA6BbuD,IA7Ba;AA6BbA,cAAAA,IA7Ba,sCA6BN,EA7BM;;AAwCrB,kBAAIA,IAAI,IAAIA,IAAI,CAAC+B,+BAAjB,EAAkD;AAChDjB,gBAAAA,iBAAiB,GAAGA,iBAAiB,CAACkB,GAAlB,CAAsB,UAAAC,gBAAgB,EAAI;AAC5D,sBAAIA,gBAAgB,CAAChD,EAAjB,KAAwB4C,gCAA5B,EAAmD;AACjD,2DACKI,gBADL;AAEEpB,sBAAAA,KAAK,EAAEb,IAAI,CAAC+B;AAFd;AAID;;AACD,yBAAOE,gBAAP;AACD,iBARmB,CAApB;AASD;;AAlDoB;AAqDnBC,cAAAA,UArDmB,GAqDN,EArDM;;AAsDzB,kBAAI/F,UAAU,IAAIA,UAAU,CAACgG,MAAX,GAAoBrB,iBAAiB,CAACqB,MAAxD,EAAgE;AAC9D,8DAAIrB,iBAAJ,uCAA0B3E,UAA1B,GAAsCiG,OAAtC,CAA8C,UAAAC,IAAI,EAAI;AACpD,sBAAMC,KAAK,GAAGxB,iBAAiB,CAACyB,SAAlB,CAA4B,UAAA1B,KAAK;AAAA,2BAAIA,KAAK,CAAC5B,EAAN,KAAaoD,IAAI,CAACpD,EAAtB;AAAA,mBAAjC,CAAd;;AACA,sBAAIqD,KAAK,KAAK,CAAC,CAAf,EAAkB;AAChBJ,oBAAAA,UAAU,CAACM,IAAX,CAAgBH,IAAhB;AACD;AACF,iBALD;AAMD;;AA7DwB,+BA+DMnB,MAAM,CAACS,MAAP,CAAc;AAAA,oBAAG1C,EAAH,SAAGA,EAAH;AAAA,uBAAYA,EAAE,KAAK,MAAnB;AAAA,eAAd,CA/DN,+GA+DlBwD,aA/DkB,iCA+DF,IA/DE;AAgEzBA,cAAAA,aAAa,IAAI7F,YAAY,CAAC6F,aAAa,CAAC5B,KAAf,CAA7B;AAEM6B,cAAAA,qBAlEmB,GAkEKzB,OAAO,IAAIE,aAlEhB;AAmEnBwB,cAAAA,0BAnEmB,GAmEU,CAAC1B,OAAD,IAAY,CAACE,aAnEvB;;AAoEzB,kBAAI/B,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BrB,gBAAAA,cAAc,CAACiD,OAAD,CAAd;AACD;;AACD,kBAAIyB,qBAAqB,IAAItD,kBAAkB,CAACC,OAAhD,EAAyD;AACvDvC,gBAAAA,wBAAwB,CAAC,IAAD,CAAxB;AACA0B,gBAAAA,iBAAiB,CAACH,6BAAkBC,IAAnB,CAAjB;AACD;;AAED,kBAAIqE,0BAA0B,IAAIvD,kBAAkB,CAACC,OAArD,EAA8D;AAC5DvC,gBAAAA,wBAAwB,CAAC,KAAD,CAAxB;AACD;;AAED,kBAAIsC,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BjD,gBAAAA,aAAa,+CAAK0E,iBAAL,GAA2BoB,UAA3B,EAAb;AACD;;AAlFwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAlBlB,kBAAkB;AAAA;AAAA;AAAA,KAAxB;;AAqFA,MAAM4B,QAAQ,GAAG,SAAXA,QAAW,CAAAC,KAAK,EAAI;AACxBA,IAAAA,KAAK,IAAIA,KAAK,CAACC,cAAN,EAAT;AAEA,QAAI,CAACjG,qBAAL,EAA4B,OAAO,IAAP;AAC5B,QAAMkG,gBAAgB,GAAG,uCAAgB5G,UAAhB,CAAzB;AAEA,QAAM2E,iBAAiB,GAAG3C,cAAc,mCAC/B1C,QAAQ,CAACsB,MADsB;AACdiG,MAAAA,MAAM,EAAE7E;AADM,2BAE/B1C,QAAQ,CAACsB,MAFsB,CAAxC;;AAIA,QAAMkG,oBAAoB,GAAG,SAAvBA,oBAAuB;AAAA,aAC3BlH,cAAc,CAAC;AACbgB,QAAAA,MAAM,kCAAO+D,iBAAP,GAA6BiC,gBAA7B;AADO,OAAD,CADa;AAAA,KAA7B;;AAKA,QAAMG,YAAY,GAAG;AACnBF,MAAAA,MAAM,EAAE;AACN3G,QAAAA,YAAY,EAAZA,YADM;AAENE,QAAAA,UAAU,EAAVA,UAFM;AAGNwG,QAAAA,gBAAgB,EAAhBA,gBAHM;AAINhE,QAAAA,MAAM,EAANA,MAJM;AAKNjC,QAAAA,wBAAwB,EAAxBA,wBALM;AAMNsB,QAAAA,iBAAiB,EAAjBA,iBANM;AAOND,QAAAA,cAAc,EAAdA,cAPM;AAQNvC,QAAAA,aAAa,EAAbA,aARM;AASN4C,QAAAA,iBAAiB,EAAjBA,iBATM;AAUNyE,QAAAA,oBAAoB,EAApBA;AAVM,OADW;AAanBE,MAAAA,MAAM,EAAE;AACN9G,QAAAA,YAAY,EAAZA,YADM;AAEN0G,QAAAA,gBAAgB,EAAhBA,gBAFM;AAGNhE,QAAAA,MAAM,EAANA,MAHM;AAINvC,QAAAA,aAAa,EAAbA,aAJM;AAKNM,QAAAA,wBAAwB,EAAxBA,wBALM;AAMNhB,QAAAA,OAAO,EAAPA,OANM;AAONgD,QAAAA,cAAc,EAAdA,cAPM;AAQNN,QAAAA,iBAAiB,EAAjBA,iBARM;AASNyE,QAAAA,oBAAoB,EAApBA;AATM;AAbW,KAArB;AA0BA,QAAMG,aAAa,GAAGF,YAAY,CAACrH,MAAD,CAAlC;AACA,WAAOwH,4BAAiBxH,MAAjB,EAAyByH,MAAzB,CAAgCF,aAAhC,EAA+CjE,QAA/C,CAAP;AACD,GA3CD;;AA6CA,MAAMoE,QAAQ;AAAA,8FAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAEHtE,cAAAA,EAFG,GAGXxD,QAHW,CAEbsB,MAFa,CAEHkC,EAFG;;AAKf,kBAAIG,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BvC,gBAAAA,wBAAwB,CAAC,KAAD,CAAxB;AACD;;AAPc;AAAA,qBASTuG,sCAAwBC,MAAxB,CACJ;AACEjH,gBAAAA,YAAY,EAAZA,YADF;AAEE0C,gBAAAA,MAAM,EAANA,MAFF;AAGEgE,gBAAAA,gBAAgB,EAAE;AAAE9D,kBAAAA,EAAE,EAAFA;AAAF;AAHpB,eADI,EAMJE,QANI,CATS;;AAAA;AAkBfrD,cAAAA,OAAO,CAAC0G,IAAR,yBAA8BnG,YAAY,CAAC4C,EAA3C;;AAlBe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAARsE,QAAQ;AAAA;AAAA;AAAA,KAAd;;AAqBA,MAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,QAAIvF,gBAAgB,IAAImB,kBAAkB,CAACC,OAA3C,EAAoD;AAClDtD,MAAAA,cAAc,CAACkC,gBAAD,CAAd;AACAH,MAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACAhB,MAAAA,wBAAwB,CAAC,IAAD,CAAxB;AACA0B,MAAAA,iBAAiB,CAACH,6BAAkBC,IAAnB,CAAjB;;AACA,UAAIL,gBAAgB,CAAClB,MAAjB,CAAwB0G,IAA5B,EAAkC;AAChC7G,QAAAA,YAAY,CAACqB,gBAAgB,CAAClB,MAAjB,CAAwB0G,IAAzB,CAAZ;AACD;;AACDvF,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AACF,GAXD;;AAaA,MAAMwF,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3BhG,IAAAA,kBAAkB,CAAC,CAACD,eAAF,CAAlB;AACAK,IAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,GAHD;;AAKA,MAAM6F,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAM;AACpCjG,IAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACAQ,IAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD,GAHD;;AAKA,MAAM0F,WAAW,GAAG,SAAdA,WAAc,CAAAC,cAAc,EAAI;AACpC,QAAMC,eAAe,GAAG;AACtB/G,MAAAA,MAAM,oBAAO8G,cAAP;AADgB,KAAxB;AAGA3F,IAAAA,mBAAmB,CAAC4F,eAAD,CAAnB;AACD,GALD;;AAOA,MAAMC,yBAAyB;AAAA,8FAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmBC,cAAAA,WAAnB,SAASC,MAAT,CAAmBD,WAAnB;AAC1BE,cAAAA,eAD0B,GACRF,WAAW,KAAKG,4BADR;AAE1BC,cAAAA,WAF0B,GAEZnH,iBAAiB,KAAKoH,2BAFV;AAI1BC,cAAAA,WAJ0B,GAIZ,mCAAsB,CAACJ,eAAvB,EAAwC,CAACE,WAAzC,CAJY;;AAAA,mBAM5BE,WAN4B;AAAA;AAAA;AAAA;;AAAA,gDAOvBnF,QAAQ,CAACoF,8BAAD,EAAsB;AACnCC,gBAAAA,UAAU,EAAE,SADuB;AAEnCC,gBAAAA,WAAW,EAAE;AAFsB,eAAtB,CAPe;;AAAA;AAAA,mBAa5B,mCAAsBP,eAAtB,EAAuCrH,qBAAvC,CAb4B;AAAA;AAAA;AAAA;;AAAA;AAAA,qBAcC+F,QAAQ,EAdT;;AAAA;AAcxB8B,cAAAA,gBAdwB;;AAAA,oBAgB1BA,gBAAgB,KAAKC,gBAhBK;AAAA;AAAA;AAAA;;AAAA,gDAiBrBxF,QAAQ,0BAA0B;AACvCqF,gBAAAA,UAAU,EAAEG,gBAD2B;AAEvCF,gBAAAA,WAAW,EAAE;AAF0B,eAA1B,CAjBa;;AAAA;AAAA,gDAwBzBpB,4BAAiBuB,MAAjB,CAAwBC,cAAxB,CACL;AACEtI,gBAAAA,UAAU,EAAVA,UADF;AAEEwC,gBAAAA,MAAM,EAANA,MAFF;AAGE7B,gBAAAA,kBAAkB,EAAlBA,kBAHF;AAIEb,gBAAAA,YAAY,EAAZA,YAJF;AAKE2H,gBAAAA,WAAW,EAAXA,WALF;AAME/H,gBAAAA,aAAa,EAAbA;AANF,eADK,EASLkD,QATK,CAxByB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAzB4E,yBAAyB;AAAA;AAAA;AAAA,KAA/B;;AAqCA,MAAMe,SAAS,GAAG,mCAAsBrJ,QAAtB,EAAgC8B,WAAhC,CAAlB;AAEA,MAAMwH,gBAAgB,GAAG,yBAAYtJ,QAAZ,EAAsBC,MAAtB,EAA8BC,MAA9B,EAAsCsB,iBAAtC,IACrB;AAAA,WAAM,4BAAekD,UAAf,CAAN;AAAA,GADqB,GAErBnE,SAFJ;AAIA,MAAMgJ,QAAQ,GAAGvJ,QAAQ,IAAIA,QAAQ,CAACsB,MAArB,IAA+BtB,QAAQ,CAACsB,MAAT,CAAgB0G,IAAhE;AAEA,MAAMwB,gBAAgB,GAAG,mCAAsBpG,WAAtB,EAAmC,CAAC,6BAAY1C,UAAZ,CAApC,CAAzB;AACA,MAAM+I,kBAAkB,GAAGrI,qBAAqB,IAAIoI,gBAApD;AAEA,MAAME,oBAAoB,GAAG,mCAAsBxJ,MAAtB,EAA8BF,QAA9B,CAA7B;AACA,MAAM2J,mBAAmB,GACvB,CAAAzJ,MAAM,SAAN,IAAAA,MAAM,WAAN,kCAAAA,MAAM,CAAE+D,UAAR,0EAAoBd,QAApB,CAA6B,oCAA7B,OACAjD,MADA,aACAA,MADA,8CACAA,MAAM,CAAE+D,UADR,wDACA,oBAAoBd,QAApB,CAA6B,2BAA7B,CADA,CADF;AAIA,sBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE,gCAAC,sBAAD;AAAQ,IAAA,IAAI,EAAEsG,kBAAd;AAAkC,IAAA,OAAO,EAAEG;AAA3C,IADF,EAEGP,SAAS,iBACR,gCAAC,mBAAD;AACE,IAAA,OAAO,EAAEtH,cADX;AAEE,IAAA,YAAY,EAAE+F,QAFhB;AAGE,IAAA,QAAQ,EAAE9H,QAAQ,CAACsB,MAAT,CAAgB0G;AAH5B,IAHJ,EASGhG,eAAe,iBACd,gCAAC,yBAAD;AACE,IAAA,OAAO,EAAEkG,uBADX;AAEE,IAAA,UAAU,EAAEH,MAFd;AAGE,IAAA,WAAW,EAAEI;AAHf,IAVJ,eAiBE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE,gCAAC,wBAAD;AACE,IAAA,UAAU,EAAErH,UADd;AAEE,IAAA,gBAAgB,EAAEE,gBAFpB;AAGE,IAAA,SAAS,EAAEE,SAHb;AAIE,IAAA,QAAQ,EAAEqI,QAJZ;AAKE,IAAA,QAAQ,EAAEpC,QALZ;AAME,IAAA,yBAAyB,EAAEmB,yBAN7B;AAOE,IAAA,qBAAqB,EAAElH,qBAPzB;AAQE,IAAA,qBAAqB,EAAEM,qBARzB;AASE,IAAA,qBAAqB,EAAEE,qBATzB;AAUE,IAAA,eAAe,EAAEK,kBAVnB;AAWE,IAAA,WAAW,EAAEF,cAXf;AAYE,IAAA,QAAQ,EAAE/B,QAZZ;AAaE,IAAA,SAAS,EAAEsJ,gBAbb;AAcE,IAAA,cAAc,EAAExG;AAdlB,IADF,eAkBE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE,gCAAC,gBAAD;AACE,IAAA,OAAO,EAAE6G,mBADX;AAEE,IAAA,WAAW,EAAE,qBAAAE,KAAK,EAAI;AACpBvG,MAAAA,MAAM,CAACe,UAAP,CAAkB;AAChBC,QAAAA,KAAK,EAAEwF,gCADS;AAEhBvF,QAAAA,IAAI,EAAE;AAAEwF,UAAAA,YAAY,EAAEF;AAAhB;AAFU,OAAlB;AAIApJ,MAAAA,eAAe,CAACoJ,KAAD,CAAf;AACD;AARH,kBASE,gCAAC,6BAAD;AACE,IAAA,cAAc,EAAEtH,cADlB;AAEE,IAAA,aAAa,EAAE0C,aAFjB;AAGE,IAAA,MAAM,EAAE/E,MAHV;AAIE,IAAA,IAAI,EAAEuD,cAJR;AAKE,IAAA,QAAQ,EAAE8B,kBALZ;AAME,IAAA,cAAc,EAAEnD,cANlB;AAOE,IAAA,cAAc,EAAE6F,cAPlB;AAQE,IAAA,UAAU,EAAEvH,UARd;AASE,IAAA,WAAW,EAAE0C;AATf,IATF,CADF,CADF,CAlBF,CADF,eA6CE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGsG,oBAAoB,iBACnB,gCAAC,4BAAD;AACE,IAAA,QAAQ,EAAE1J,QAAQ,CAACsB,MADrB;AAEE,IAAA,MAAM,EAAEpB,MAFV;AAGE,IAAA,QAAQ,EAAEgF;AAHZ,IAFJ,CA7CF,CAjBF,CADF;AA2ED,CAvbD;;AAybAnF,MAAM,CAACiK,SAAP,GAAmB;AACjB/J,EAAAA,MAAM,EAAEgK,sBAAUC,MADD;AAEjBhK,EAAAA,MAAM,EAAE+J,sBAAUC,MAFD;AAGjB/J,EAAAA,aAAa,EAAE8J,sBAAUC,MAHR;AAIjB9J,EAAAA,MAAM,EAAE6J,sBAAUE,MAAV,CAAiBC,UAJR;AAKjB/J,EAAAA,OAAO,EAAE4J,sBAAUC,MAAV,CAAiBE,UALT;AAMjBpK,EAAAA,QAAQ,EAAEiK,sBAAUC,MANH;AAOjB5J,EAAAA,cAAc,EAAE2J,sBAAUI,IAAV,CAAeD,UAPd;AAQjB7J,EAAAA,SAAS,EAAE0J,sBAAUI,IARJ;AASjB7J,EAAAA,aAAa,EAAEyJ,sBAAUI,IAAV,CAAeD;AATb,CAAnB;AAYArK,MAAM,CAACuK,YAAP,GAAsB;AACpBnK,EAAAA,aAAa,EAAE,IADK;AAEpBD,EAAAA,MAAM,EAAE,IAFY;AAGpBD,EAAAA,MAAM,EAAE,IAHY;AAIpBD,EAAAA,QAAQ,EAAE,IAJU;AAKpBO,EAAAA,SAAS,EAAE;AALS,CAAtB;;eAQe,gCAAWR,MAAX,C","sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getQuery, GET_CURRENT_TAB_ID } from '@blaze-cms/admin-ui-utils';\nimport { FormBuilder, parseFormValues } from '@blaze-cms/react-form-builder';\nimport { DeleteAction, CopyDataFromAction } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport cloneDeep from 'lodash.clonedeep';\nimport { getPageName } from '../utils/data-mappers';\nimport isFormEmpty from '../utils/is-form-empty';\nimport availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport Tabs from '../../Tabs';\n\nimport {\n ENTITY_PUBLISHED,\n TEXT_CONTENT_TYPE,\n LEAVE_PAGE_MESSAGE,\n PREVIEW_INTERFACE,\n PAGE_BUILDER_FIELD_ID,\n PAGE_BUILDER_TEMPLATE_FIELD_ID,\n ERROR,\n SAVE_BUTTON_TEXTS,\n UNPUBLISHED_WARNING\n} from '../../../constants';\nimport EntityHeader from './EntityHeader';\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\n const [, setCurrentTabId] = useState(null);\n const [formValues, setFormValues] = useState(null);\n const [entitySchema, setEntitySchema] = useState(null);\n const [entityData, setEntityData] = useState(null);\n const [entityIdentifier, setEntityIdentifier] = useState(null);\n const [pageTitle, setPageTitle] = useState('');\n const [isSaveButtonAvailable, setIsSaveButtonAvailable] = useState(false);\n const [entityIsPublished, setEntityIsPublish] = useState(\n formData && formData.values && formData.values.status\n );\n const [isEnablePublishButton, setEnablePublishButton] = useState(false);\n const [isEnablePreviewButton, setEnablePreviewButton] = useState(false);\n const [modalStatus, setModalStatus] = useToggle(false);\n const [copyModalStatus, setCopyModalStatus] = useToggle(false);\n const [pageBuilderTemplateStatus, setPageBuilderTemplateStatus] = useState(true);\n const [shouldCopyData, setShouldCopyData] = useState(false);\n const [isFormValid, setIsFormValid] = useState(false);\n const [formDataFromCopy, setFormDataFromCopy] = useState(null);\n const [newUpdatedDate, setNewUpdatedDate] = useState(null);\n const [saveButtonText, setSaveButtonText] = useState(SAVE_BUTTON_TEXTS.save);\n\n const isCreatePage = history.location.pathname.includes('create');\n const [isNewEntity, setIsNewEntity] = useState(isCreatePage);\n\n const client = useApolloClient();\n const shouldUpdateState =\n !entityIdentifier ||\n checkFulfilConditions(entity, schema, previousQuery, !entityData) ||\n (entityData && entityData.id !== entity.id);\n const clonedFormData = cloneDeep(formData);\n const { addToast } = useToasts();\n\n // Here's how we'll keep track of our component's mounted state\n const componentIsMounted = useRef(true);\n useEffect(\n () => () => {\n componentIsMounted.current = false;\n },\n []\n ); // Using an empty dependency array ensures this only runs on unmount\n\n useEffect(\n () => {\n if (shouldUpdateState) {\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n setEntityData(entity);\n setPageTitle(getPageName(schema.displayProperties, entity));\n setEntityIsPublish(entity.status);\n setEntitySchema(schema);\n setEnablePublishButton(schema.actions.publish);\n setEntityIdentifier(schema.identifier);\n setEnablePreviewButton(!!schema.interfaces.includes(PREVIEW_INTERFACE));\n }\n\n if (formData && pageBuilderTemplateStatus) {\n const isPageBuilderTemplateSet = !!formData.values.pageBuilderTemplateId;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: isPageBuilderTemplateSet,\n pageBuilderTemplateId: formData.values.pageBuilderTemplateId || ''\n }\n });\n }\n if (schema) {\n client.writeQuery({\n query: getQuery('GET_CURRENT_ENTITY'),\n data: {\n currentEntity: schema.id\n }\n });\n }\n },\n [\n client,\n entity,\n entityData,\n formData,\n formValues,\n pageBuilderTemplateStatus,\n previousQuery,\n schema,\n shouldUpdateState\n ]\n );\n\n const getFullUrl = async () => {\n const query = getQuery('GET_ENTITY_URL');\n const { data: { getEntityUrl = '' } = {} } = await client.query({\n query,\n variables: { itemId: entity.id, itemEntity: schema.id, fullUrl: true },\n fetchPolicy: 'network-only'\n });\n return getEntityUrl;\n };\n\n const getFormValues = values => {\n if (componentIsMounted.current) {\n setFormValues(values);\n }\n };\n\n const onChangeSideBarRelations = ({ id, value }, requiredChildField) => {\n const updatedFormValues = getUpdatedFormValues({ id, value, requiredChildField, formValues });\n\n const shouldActiveSaveButton = validateSideBarRelations(updatedFormValues, requiredChildField);\n\n if (isFormValid && shouldActiveSaveButton && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n } else if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues(updatedFormValues);\n }\n };\n\n const onChangeFormValues = async ({\n isValid,\n fields,\n isNewValueSet,\n valuesChecked,\n currentField,\n value: fieldValue,\n ...otherProps\n }) => {\n let updatedFormValues = valuesChecked ? valuesChecked.slice() : [];\n if (currentField === PAGE_BUILDER_TEMPLATE_FIELD_ID) {\n const pageBuilderTemplateId = fieldValue;\n client.writeQuery({\n query: getQuery('GET_PB_TEMPLATE_STATUS'),\n data: {\n pageBuilderTemplateSet: !!pageBuilderTemplateId,\n pageBuilderTemplateId\n }\n });\n\n if (componentIsMounted.current) {\n setPageBuilderTemplateStatus(false);\n }\n\n const pageBuilder = updatedFormValues.filter(\n formValue => formValue.id === PAGE_BUILDER_FIELD_ID\n );\n\n if (pageBuilderTemplateId) {\n const { data = {} } = await client.query({\n query: getQuery('MERGE_PB_TEMPLATE_CHANGES'),\n variables: {\n parent: {\n pageBuilder: pageBuilder[0].value,\n pageBuilderTemplateId\n },\n entityIdentifier\n }\n });\n\n if (data && data.mergePageBuilderTemplateChanges) {\n updatedFormValues = updatedFormValues.map(updatedFormValue => {\n if (updatedFormValue.id === PAGE_BUILDER_FIELD_ID) {\n return {\n ...updatedFormValue,\n value: data.mergePageBuilderTemplateChanges\n };\n }\n return updatedFormValue;\n });\n }\n }\n }\n const itemsToAdd = [];\n if (formValues && formValues.length > updatedFormValues.length) {\n [...updatedFormValues, ...formValues].forEach(item => {\n const index = updatedFormValues.findIndex(value => value.id === item.id);\n if (index === -1) {\n itemsToAdd.push(item);\n }\n });\n }\n\n const [updatedEntity = null] = fields.filter(({ id }) => id === 'name');\n updatedEntity && setPageTitle(updatedEntity.value);\n\n const isValidAndNewValueSet = isValid && isNewValueSet;\n const isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n if (isValidAndNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n }\n\n if (isNotValidOrNotNewValueSet && componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n if (componentIsMounted.current) {\n setFormValues([...updatedFormValues, ...itemsToAdd]);\n }\n };\n\n const onSubmit = event => {\n event && event.preventDefault();\n\n if (!isSaveButtonAvailable) return null;\n const parsedFormValues = parseFormValues(formValues);\n\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData({\n values: { ...updatedFormValues, ...parsedFormValues }\n });\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n setFormDataFromCopy(null);\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasNewFormValues = checkFulfilConditions(isNewEntity, !isFormEmpty(formValues));\n const hasToDisplayPrompt = isSaveButtonAvailable || hasNewFormValues;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n const showPageBuilderTabs =\n schema?.interfaces?.includes('page-builder/page-builder-template') ||\n schema?.interfaces?.includes('page-builder/page-builder');\n\n return (\n <div className=\"page\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div className=\"row row--display-row\">\n <div className=\"column column--three-quarters\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n />\n\n <div className=\"page__content\">\n <div className=\"content\">\n <Tabs\n enabled={showPageBuilderTabs}\n onTabChange={tabId => {\n client.writeQuery({\n query: GET_CURRENT_TAB_ID,\n data: { currentTabId: tabId }\n });\n setCurrentTabId(tabId);\n }}>\n <FormBuilder\n getIsFormValid={setIsFormValid}\n getFormValues={getFormValues}\n schema={schema}\n data={clonedFormData}\n onChange={onChangeFormValues}\n shouldCopyData={shouldCopyData}\n updateCopyData={updateCopyData}\n formValues={formValues}\n isNewEntity={isNewEntity}\n />\n </Tabs>\n </div>\n </div>\n </div>\n <div className=\"column column--one-third\">\n {showSideBarRelations && (\n <SideBarRelations\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"file":"Entity.js"}
@@ -21,7 +21,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
21
21
 
22
22
  var _button = _interopRequireDefault(require("@blaze-react/button"));
23
23
 
24
- var _reactHooks = require("@apollo/react-hooks");
24
+ var _client = require("@apollo/client");
25
25
 
26
26
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
27
27
 
@@ -29,7 +29,7 @@ var HeaderPreviewButton = function HeaderPreviewButton(_ref) {
29
29
  var itemId = _ref.itemId,
30
30
  itemEntity = _ref.itemEntity;
31
31
 
32
- var _useMutation = (0, _reactHooks.useMutation)((0, _adminUiUtils.getMutation)('PREVIEW_TOKEN_MUTATION')),
32
+ var _useMutation = (0, _client.useMutation)((0, _adminUiUtils.getMutation)('PREVIEW_TOKEN_MUTATION')),
33
33
  _useMutation2 = (0, _slicedToArray2["default"])(_useMutation, 1),
34
34
  createPreviewToken = _useMutation2[0];
35
35
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"names":["HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","variables","data","url","result","window","open","propTypes","PropTypes","string","isRequired"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAA4B;AAAA,MAAzBC,MAAyB,QAAzBA,MAAyB;AAAA,MAAjBC,UAAiB,QAAjBA,UAAiB;;AACtD,qBAA6B,6BAAY,+BAAY,wBAAZ,CAAZ,CAA7B;AAAA;AAAA,MAAOC,kBAAP;;AACA,MAAIC,OAAO,CAACC,GAAR,CAAYC,qBAAhB,EAAuC,OAAO,IAAP;;AAEvC,MAAMC,aAAa;AAAA,8FAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAQRJ,kBAAkB,CAAC;AAC3BK,gBAAAA,SAAS,EAAE;AACTP,kBAAAA,MAAM,EAANA,MADS;AAETC,kBAAAA,UAAU,EAAVA;AAFS;AADgB,eAAD,CARV;;AAAA;AAAA;AAAA,6DAGhBO,IAHgB;AAElB,2EAKM,EALN;AAGgBC,cAAAA,GALE,0BAIdP,kBAJc,CAKZQ,MALY,CAKFD,GALE;AAelB,kBAAIA,GAAJ,EAASE,MAAM,CAACC,IAAP,CAAYH,GAAZ,EAAiB,QAAjB,EAfS,CAgBlB;;AAhBkB;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAbH,aAAa;AAAA;AAAA;AAAA,KAAnB;;AAoBA,sBACE,gCAAC,kBAAD;AAAQ,IAAA,SAAS,EAAC,iBAAlB;AAAoC,IAAA,OAAO,EAAEA;AAA7C,eADF;AAKD,CA7BD;;AA+BAP,mBAAmB,CAACc,SAApB,GAAgC;AAC9Bb,EAAAA,MAAM,EAAEc,sBAAUC,MAAV,CAAiBC,UADK;AAE9Bf,EAAAA,UAAU,EAAEa,sBAAUC,MAAV,CAAiBC;AAFC,CAAhC;eAKejB,mB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@blaze-react/button';\nimport { useMutation } from '@apollo/react-hooks';\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"],"file":"HeaderPreviewButton.js"}
1
+ {"version":3,"sources":["../../../../../../src/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js"],"names":["HeaderPreviewButton","itemId","itemEntity","createPreviewToken","process","env","BLAZE_DISABLE_PREVIEW","onViewPreview","variables","data","url","result","window","open","propTypes","PropTypes","string","isRequired"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,OAA4B;AAAA,MAAzBC,MAAyB,QAAzBA,MAAyB;AAAA,MAAjBC,UAAiB,QAAjBA,UAAiB;;AACtD,qBAA6B,yBAAY,+BAAY,wBAAZ,CAAZ,CAA7B;AAAA;AAAA,MAAOC,kBAAP;;AACA,MAAIC,OAAO,CAACC,GAAR,CAAYC,qBAAhB,EAAuC,OAAO,IAAP;;AAEvC,MAAMC,aAAa;AAAA,8FAAG;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAQRJ,kBAAkB,CAAC;AAC3BK,gBAAAA,SAAS,EAAE;AACTP,kBAAAA,MAAM,EAANA,MADS;AAETC,kBAAAA,UAAU,EAAVA;AAFS;AADgB,eAAD,CARV;;AAAA;AAAA;AAAA,6DAGhBO,IAHgB;AAElB,2EAKM,EALN;AAGgBC,cAAAA,GALE,0BAIdP,kBAJc,CAKZQ,MALY,CAKFD,GALE;AAelB,kBAAIA,GAAJ,EAASE,MAAM,CAACC,IAAP,CAAYH,GAAZ,EAAiB,QAAjB,EAfS,CAgBlB;;AAhBkB;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAH;;AAAA,oBAAbH,aAAa;AAAA;AAAA;AAAA,KAAnB;;AAoBA,sBACE,gCAAC,kBAAD;AAAQ,IAAA,SAAS,EAAC,iBAAlB;AAAoC,IAAA,OAAO,EAAEA;AAA7C,eADF;AAKD,CA7BD;;AA+BAP,mBAAmB,CAACc,SAApB,GAAgC;AAC9Bb,EAAAA,MAAM,EAAEc,sBAAUC,MAAV,CAAiBC,UADK;AAE9Bf,EAAAA,UAAU,EAAEa,sBAAUC,MAAV,CAAiBC;AAFC,CAAhC;eAKejB,mB","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"],"file":"HeaderPreviewButton.js"}
@@ -41,7 +41,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
41
41
 
42
42
  var _v = _interopRequireDefault(require("uuid/v1"));
43
43
 
44
- var _reactApollo = require("react-apollo");
44
+ var _client = require("@apollo/client");
45
45
 
46
46
  var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
47
47
 
@@ -64,7 +64,7 @@ var SideBarRelations = function SideBarRelations(_ref) {
64
64
  formattedUpdated = formData.formattedUpdated,
65
65
  formattedCreated = formData.formattedCreated,
66
66
  formattedPublished = formData.formattedPublished;
67
- var client = (0, _reactApollo.useApolloClient)();
67
+ var client = (0, _client.useApolloClient)();
68
68
 
69
69
  var _useState = (0, _react.useState)(null),
70
70
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["SideBarRelations","schema","onChange","formData","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","query","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","allRelationComponents","PUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport uuidv1 from 'uuid/v1';\nimport { useApolloClient } from 'react-apollo';\nimport { getQuery } from '@blaze-cms/admin-ui-utils';\nimport { formFieldTypes } from '@blaze-cms/react-form-builder';\nimport Badge from '@blaze-react/badge';\nimport { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n\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 {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};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/components/EntityManager/Entity/SideBarRelations/index.js"],"names":["SideBarRelations","schema","onChange","formData","RelationComponent","formFieldTypes","relation","formattedStatus","formattedUpdated","formattedCreated","formattedPublished","client","relationsComponents","setRelationsComponents","fetchRelationSchema","entityIdentifier","query","variables","identifier","data","getEntitySchemas","relationSchema","Promise","all","relations","filter","showInForm","foreignKey","properties","map","id","staticData","allRelationComponents","PUBLISHED","entitySchema","propTypes","PropTypes","object","isRequired","func"],"mappings":"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","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 { PUBLISHED } from '../../../../constants';\n\nconst SideBarRelations = ({ schema, onChange, formData }) => {\n const { relation: RelationComponent } = formFieldTypes;\n const { formattedStatus, formattedUpdated, formattedCreated, formattedPublished } = formData;\n const client = useApolloClient();\n\n const [relationsComponents, setRelationsComponents] = useState(null);\n\n useEffect(\n () => {\n (async () => {\n const fetchRelationSchema = async ({ entityIdentifier }) => {\n if (!entityIdentifier) return null;\n\n const {\n data: {\n getEntitySchemas: [relationSchema]\n }\n } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n return relationSchema;\n };\n\n if (!relationsComponents && schema) {\n const allRelationComponents = await Promise.all(\n schema.relations\n .filter(({ showInForm, foreignKey }) => showInForm && schema.properties[foreignKey])\n .map(async relation => ({\n id: uuidv1(),\n staticData: relation,\n schema: await fetchRelationSchema(relation)\n }))\n );\n\n setRelationsComponents(allRelationComponents);\n }\n })();\n },\n [client, relationsComponents, schema, schema.relations]\n );\n\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 {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};\n\nexport default SideBarRelations;\n"],"file":"index.js"}
@@ -53,7 +53,7 @@ var _react = _interopRequireWildcard(require("react"));
53
53
 
54
54
  var _reactRouterDom = require("react-router-dom");
55
55
 
56
- var _reactApollo = require("react-apollo");
56
+ var _client = require("@apollo/client");
57
57
 
58
58
  var _propTypes = _interopRequireDefault(require("prop-types"));
59
59
 
@@ -101,7 +101,7 @@ var EntityManager = function EntityManager(_ref) {
101
101
  shouldRefetch = _useState10[0],
102
102
  setShouldRefetch = _useState10[1];
103
103
 
104
- var client = (0, _reactApollo.useApolloClient)();
104
+ var client = (0, _client.useApolloClient)();
105
105
  var _match$params = match.params,
106
106
  action = _match$params.action,
107
107
  entityIdentifier = _match$params.entityIdentifier,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/EntityManager/EntityManager.js"],"names":["EntityManager","match","formData","setFormData","entity","setEntity","id","schema","setSchema","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","params","action","entityIdentifier","onViewUrl","entityAvailableActions","identifier","entitySchema","data","requestedQuery","localData","isPageBuilderTemplateSet","getPageBuilderComponents","pageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","recordHasChanged","propTypes","PropTypes","shape","string","func","isRequired","actionName","actions","getAll","query","variables","where","fetchPolicy","pageBuilderData","length","pageBuilderTemplateId","currentEntityIdentifier"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from 'react-apollo';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = updatedFormData => {\n setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"file":"EntityManager.js"}
1
+ {"version":3,"sources":["../../../src/components/EntityManager/EntityManager.js"],"names":["EntityManager","match","formData","setFormData","entity","setEntity","id","schema","setSchema","previousQuery","setPreviousQuery","shouldRefetch","setShouldRefetch","client","params","action","entityIdentifier","onViewUrl","entityAvailableActions","identifier","entitySchema","data","requestedQuery","localData","isPageBuilderTemplateSet","getPageBuilderComponents","pageBuilderComponents","pageBuilder","values","updateFormData","updatedFormData","recordHasChanged","propTypes","PropTypes","shape","string","func","isRequired","actionName","actions","getAll","query","variables","where","fetchPolicy","pageBuilderData","length","pageBuilderTemplateId","currentEntityIdentifier"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport entityAvailableActions from './utils/entityAvailableActions';\nimport Entity from './Entity';\nimport { getAction } from './utils/query';\n\nconst EntityManager = ({ match }) => {\n const [formData, setFormData] = useState(null);\n const [entity, setEntity] = useState(null);\n const [schema, setSchema] = useState({ id: null });\n const [previousQuery, setPreviousQuery] = useState(null);\n const [shouldRefetch, setShouldRefetch] = useState(false);\n const client = useApolloClient();\n\n const { action, entityIdentifier, id = null, onViewUrl } = match.params;\n\n useEffect(\n () => {\n (async () => {\n const [entitySchema, data = {}, requestedQuery = {}] = await entityAvailableActions[action](\n {\n client,\n identifier: entityIdentifier,\n id\n }\n );\n let localData = data;\n\n if (isPageBuilderTemplateSet(data)) {\n const pageBuilderComponents = await getPageBuilderComponents({\n entitySchema,\n client,\n id\n });\n\n localData = {\n ...localData,\n pageBuilder: pageBuilderComponents || localData.pageBuilder\n };\n }\n\n setFormData({ values: localData });\n setEntity(data);\n setSchema(entitySchema);\n setPreviousQuery(requestedQuery);\n setShouldRefetch(false);\n })();\n },\n [action, client, entityIdentifier, id, schema, shouldRefetch]\n );\n\n const updateFormData = updatedFormData => {\n setShouldRefetch(true);\n setFormData(updatedFormData);\n };\n\n // Reset when entity/record changes\n if (!formData || !schema.id || recordHasChanged(entity, id, schema.id, entityIdentifier)) {\n return null;\n }\n\n return (\n <Entity\n action={match.params.action}\n formData={formData}\n updateFormData={updateFormData}\n entity={entity}\n schema={schema}\n previousQuery={previousQuery}\n onViewUrl={onViewUrl}\n refetchRecord={setShouldRefetch}\n />\n );\n};\n\nEntityManager.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n action: PropTypes.string,\n entityIdentifier: PropTypes.string,\n id: PropTypes.string,\n onViewUrl: PropTypes.func\n })\n }).isRequired\n};\n\nexport default withRouter(EntityManager);\n\nasync function getPageBuilderComponents({ entitySchema, client, id }) {\n const actionName = (entitySchema && entitySchema.actions.getAll) || 'get';\n const { data: pageBuilderData = {} } = await client.query({\n query: getAction(actionName, 'pageBuilderComponents'),\n variables: {\n where: {\n id\n }\n },\n fetchPolicy: 'network-only'\n });\n\n return pageBuilderData[actionName] && pageBuilderData[actionName].length\n ? pageBuilderData[actionName][0].pageBuilderComponents\n : null;\n}\n\nfunction isPageBuilderTemplateSet(data) {\n return data && data.pageBuilderTemplateId && data.pageBuilderTemplateId !== '';\n}\n\nfunction recordHasChanged(entity, id, currentEntityIdentifier, entityIdentifier) {\n return (\n (entity && entity.id && entity.id !== id) ||\n (currentEntityIdentifier && currentEntityIdentifier !== entityIdentifier)\n );\n}\n"],"file":"EntityManager.js"}
@@ -13,7 +13,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  require("core-js/modules/es.array.concat.js");
15
15
 
16
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
16
+ var _client = require("@apollo/client");
17
17
 
18
18
  var _lodash = _interopRequireDefault(require("lodash.upperfirst"));
19
19
 
@@ -26,7 +26,7 @@ var generateQuery = function generateQuery(action, props) {
26
26
 
27
27
  var getAction = function getAction(action, props) {
28
28
  var query = generateQuery(action, props);
29
- return (0, _graphqlTag["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n "])), query);
29
+ return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n "])), query);
30
30
  };
31
31
 
32
32
  exports.getAction = getAction;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/EntityManager/utils/query.js"],"names":["generateQuery","action","props","getAction","query","gql"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,MAAD,EAASC,KAAT;AAAA,8GAKR,wBAAWD,MAAX,CALQ,8BAMhBA,MANgB,mFAOdC,KAPc;AAAA,CAAtB,C,CAYA;;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACF,MAAD,EAASC,KAAT,EAAmB;AACnC,MAAME,KAAK,GAAGJ,aAAa,CAACC,MAAD,EAASC,KAAT,CAA3B;AACA,aAAOG,sBAAP,sGACID,KADJ;AAGD,CALD","sourcesContent":["import gql from 'graphql-tag';\nimport upperFirst from 'lodash.upperfirst';\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nexport { getAction };\n"],"file":"query.js"}
1
+ {"version":3,"sources":["../../../../src/components/EntityManager/utils/query.js"],"names":["generateQuery","action","props","getAction","query","gql"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,MAAD,EAASC,KAAT;AAAA,8GAKR,wBAAWD,MAAX,CALQ,8BAMhBA,MANgB,mFAOdC,KAPc;AAAA,CAAtB,C,CAYA;;;AACA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACF,MAAD,EAASC,KAAT,EAAmB;AACnC,MAAME,KAAK,GAAGJ,aAAa,CAACC,MAAD,EAASC,KAAT,CAA3B;AACA,aAAOG,WAAP,sGACID,KADJ;AAGD,CALD","sourcesContent":["import { gql } from '@apollo/client';\nimport upperFirst from 'lodash.upperfirst';\n\nconst generateQuery = (action, props) => `\n query getEntityData(\n $where: JSON\n $limit: Int\n $offset: Int\n $sort: [${upperFirst(action)}SortItem]){\n ${action} (where: $where, limit: $limit, offset: $offset, sort: $sort){\n ${props}\n }\n }\n `;\n\n// TODO: extend function to handle properties and make them dynamic with a config schema for each entity.\nconst getAction = (action, props) => {\n const query = generateQuery(action, props);\n return gql`\n ${query}\n `;\n};\n\nexport { getAction };\n"],"file":"query.js"}
@@ -63,7 +63,7 @@ require("core-js/modules/es.string.includes.js");
63
63
 
64
64
  require("core-js/modules/es.array.concat.js");
65
65
 
66
- var _reactApollo = require("react-apollo");
66
+ var _client = require("@apollo/client");
67
67
 
68
68
  var _react = _interopRequireWildcard(require("react"));
69
69
 
@@ -149,7 +149,7 @@ var ListingTable = function ListingTable(_ref) {
149
149
  menuItems = _useMainContext.menuItems,
150
150
  setMenuItems = _useMainContext.setMenuItems;
151
151
 
152
- var client = (0, _reactApollo.useApolloClient)();
152
+ var client = (0, _client.useApolloClient)();
153
153
 
154
154
  var _useToasts = (0, _toaster.useToasts)(),
155
155
  addToast = _useToasts.addToast;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/ListingTable/ListingTable.js"],"names":["OVER_SCAN_BUFFER","ListingTable","match","entitySchema","selectedMenuItem","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","id","previousSchema","setPreviousSchema","scrollToIndex","setScrollToIndex","verifiedRanges","setVerifiedRanges","queryParamsDefault","schema","queryParams","setQueryParams","MainContext","menuItems","setMenuItems","client","addToast","querySettings","data","populatedTable","toggleModal","url","rows","onCloseCardPrompt","updatedSelectedMenuItem","isDisplayedPrompt","header","items","updatedItems","map","item","name","deleteAction","availableActions","submit","parsedFormValues","updatedTableData","filter","handleSort","event","Object","entries","property","direction","sortQueryParams","sort","columns","firstColumn","appliedSort","handleRenderedItems","params","startIndex","rowsLength","length","loadIndex","Math","floor","includes","updatedQueryParams","offset","updatedRows","displayName","propTypes","PropTypes","object","isRequired"],"mappings":"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","sourcesContent":["import { useApolloClient } from 'react-apollo';\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"],"file":"ListingTable.js"}
1
+ {"version":3,"sources":["../../../src/components/ListingTable/ListingTable.js"],"names":["OVER_SCAN_BUFFER","ListingTable","match","entitySchema","selectedMenuItem","tableData","setTableData","modalStatus","setModalStatus","itemToDelete","setItemToDelete","id","previousSchema","setPreviousSchema","scrollToIndex","setScrollToIndex","verifiedRanges","setVerifiedRanges","queryParamsDefault","schema","queryParams","setQueryParams","MainContext","menuItems","setMenuItems","client","addToast","querySettings","data","populatedTable","toggleModal","url","rows","onCloseCardPrompt","updatedSelectedMenuItem","isDisplayedPrompt","header","items","updatedItems","map","item","name","deleteAction","availableActions","submit","parsedFormValues","updatedTableData","filter","handleSort","event","Object","entries","property","direction","sortQueryParams","sort","columns","firstColumn","appliedSort","handleRenderedItems","params","startIndex","rowsLength","length","loadIndex","Math","floor","includes","updatedQueryParams","offset","updatedRows","displayName","propTypes","PropTypes","object","isRequired"],"mappings":"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","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"],"file":"ListingTable.js"}
@@ -13,7 +13,7 @@ require("core-js/modules/es.array.join.js");
13
13
 
14
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
15
 
16
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
16
+ var _client = require("@apollo/client");
17
17
 
18
18
  var _coreErrors = require("@blaze-cms/core-errors");
19
19
 
@@ -30,7 +30,7 @@ function buildCreateEntityMutation(entitySchema) {
30
30
 
31
31
  var actionInput = (0, _lodash["default"])("".concat(entitySchema.actions.create, "Input"));
32
32
  var dataProperties = (0, _adminUiUtils.getDataProperties)(entitySchema);
33
- return (0, _graphqlTag["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["mutation createEntity($input: ", ") {\n createdEntity: ", "(input: $input){\n result {\n id,\n ", "\n }\n }\n }"])), actionInput, entitySchema.actions.create, dataProperties.join(',\n'));
33
+ return (0, _client.gql)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["mutation createEntity($input: ", ") {\n createdEntity: ", "(input: $input){\n result {\n id,\n ", "\n }\n }\n }"])), actionInput, entitySchema.actions.create, dataProperties.join(',\n'));
34
34
  }
35
35
 
36
36
  var _default = buildCreateEntityMutation;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/build-create-entity-mutation.js"],"names":["buildCreateEntityMutation","entitySchema","actions","create","properties","BlazeError","actionInput","dataProperties","gql","join"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,yBAAT,CAAmCC,YAAnC,EAAiD;AAC/C,MACE,CAACA,YAAD,IACA,CAACA,YAAY,CAACC,OADd,IAEA,CAACD,YAAY,CAACC,OAAb,CAAqBC,MAFtB,IAGA,CAACF,YAAY,CAACG,UAJhB,EAKE;AACA,UAAM,IAAIC,sBAAJ,CACJ,8EADI,CAAN;AAGD;;AAED,MAAMC,WAAW,GAAG,kCAAcL,YAAY,CAACC,OAAb,CAAqBC,MAAnC,WAApB;AACA,MAAMI,cAAc,GAAG,qCAAkBN,YAAlB,CAAvB;AAEA,aAAOO,sBAAP,6OAA4CF,WAA5C,EACmBL,YAAY,CAACC,OAAb,CAAqBC,MADxC,EAIUI,cAAc,CAACE,IAAf,CAAoB,KAApB,CAJV;AAQD;;eAEcT,yB","sourcesContent":["import gql from 'graphql-tag';\nimport { BlazeError } from '@blaze-cms/core-errors';\nimport upperfirst from 'lodash.upperfirst';\nimport { getDataProperties } from '@blaze-cms/admin-ui-utils';\n\nfunction buildCreateEntityMutation(entitySchema) {\n if (\n !entitySchema ||\n !entitySchema.actions ||\n !entitySchema.actions.create ||\n !entitySchema.properties\n ) {\n throw new BlazeError(\n 'Create entity query requires create action and properties from entity schema'\n );\n }\n\n const actionInput = upperfirst(`${entitySchema.actions.create}Input`);\n const dataProperties = getDataProperties(entitySchema);\n\n return gql`mutation createEntity($input: ${actionInput}) {\n createdEntity: ${entitySchema.actions.create}(input: $input){\n result {\n id,\n ${dataProperties.join(',\\n')}\n }\n }\n }`;\n}\n\nexport default buildCreateEntityMutation;\n"],"file":"build-create-entity-mutation.js"}
1
+ {"version":3,"sources":["../../src/utils/build-create-entity-mutation.js"],"names":["buildCreateEntityMutation","entitySchema","actions","create","properties","BlazeError","actionInput","dataProperties","gql","join"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,SAASA,yBAAT,CAAmCC,YAAnC,EAAiD;AAC/C,MACE,CAACA,YAAD,IACA,CAACA,YAAY,CAACC,OADd,IAEA,CAACD,YAAY,CAACC,OAAb,CAAqBC,MAFtB,IAGA,CAACF,YAAY,CAACG,UAJhB,EAKE;AACA,UAAM,IAAIC,sBAAJ,CACJ,8EADI,CAAN;AAGD;;AAED,MAAMC,WAAW,GAAG,kCAAcL,YAAY,CAACC,OAAb,CAAqBC,MAAnC,WAApB;AACA,MAAMI,cAAc,GAAG,qCAAkBN,YAAlB,CAAvB;AAEA,aAAOO,WAAP,6OAA4CF,WAA5C,EACmBL,YAAY,CAACC,OAAb,CAAqBC,MADxC,EAIUI,cAAc,CAACE,IAAf,CAAoB,KAApB,CAJV;AAQD;;eAEcT,yB","sourcesContent":["import { gql } from '@apollo/client';\nimport { BlazeError } from '@blaze-cms/core-errors';\nimport upperfirst from 'lodash.upperfirst';\nimport { getDataProperties } from '@blaze-cms/admin-ui-utils';\n\nfunction buildCreateEntityMutation(entitySchema) {\n if (\n !entitySchema ||\n !entitySchema.actions ||\n !entitySchema.actions.create ||\n !entitySchema.properties\n ) {\n throw new BlazeError(\n 'Create entity query requires create action and properties from entity schema'\n );\n }\n\n const actionInput = upperfirst(`${entitySchema.actions.create}Input`);\n const dataProperties = getDataProperties(entitySchema);\n\n return gql`mutation createEntity($input: ${actionInput}) {\n createdEntity: ${entitySchema.actions.create}(input: $input){\n result {\n id,\n ${dataProperties.join(',\\n')}\n }\n }\n }`;\n}\n\nexport default buildCreateEntityMutation;\n"],"file":"build-create-entity-mutation.js"}