@blaze-cms/plugin-data-ui 0.146.0-rc-eagle.0 → 0.146.0-rc-eagle-3.2

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 (183) hide show
  1. package/README.md +9 -2
  2. package/lib/components/EntityManager/Entity/Entity.js +1 -1
  3. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  4. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +4 -15
  5. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  6. package/lib/components/EntityManager/utils/entity.js +2 -3
  7. package/lib/components/EntityManager/utils/entity.js.map +1 -1
  8. package/lib/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js +181 -0
  9. package/lib/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js.map +1 -0
  10. package/lib/components/ListingTable/SearchFilter/SearchContainer.js +348 -52
  11. package/lib/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
  12. package/lib/components/ListingTable/SearchFilter/SearchFilter.js +15 -3
  13. package/lib/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -1
  14. package/lib/components/ListingTable/SearchFilter/helpers.js +41 -8
  15. package/lib/components/ListingTable/SearchFilter/helpers.js.map +1 -1
  16. package/lib/index.js +7 -0
  17. package/lib/index.js.map +1 -1
  18. package/lib/utils/build-create-entity-mutation.js +3 -19
  19. package/lib/utils/build-create-entity-mutation.js.map +1 -1
  20. package/lib/utils/get-default-query-params.js +17 -5
  21. package/lib/utils/get-default-query-params.js.map +1 -1
  22. package/lib-es/components/EntityDataListing/EntityDataListing.js +33 -0
  23. package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -0
  24. package/lib-es/components/EntityDataListing/index.js +3 -0
  25. package/lib-es/components/EntityDataListing/index.js.map +1 -0
  26. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +30 -0
  27. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +1 -0
  28. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js +3 -0
  29. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js.map +1 -0
  30. package/lib-es/components/EntityManager/Entity/Entity.js +453 -0
  31. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -0
  32. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js +103 -0
  33. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -0
  34. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +47 -0
  35. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -0
  36. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js +3 -0
  37. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map +1 -0
  38. package/lib-es/components/EntityManager/Entity/EntityHeader/index.js +3 -0
  39. package/lib-es/components/EntityManager/Entity/EntityHeader/index.js.map +1 -0
  40. package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +30 -0
  41. package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js.map +1 -0
  42. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +29 -0
  43. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -0
  44. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +49 -0
  45. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +1 -0
  46. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +136 -0
  47. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -0
  48. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +36 -0
  49. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +1 -0
  50. package/lib-es/components/EntityManager/Entity/actions-handlers/create/index.js +5 -0
  51. package/lib-es/components/EntityManager/Entity/actions-handlers/create/index.js.map +1 -0
  52. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js +36 -0
  53. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -0
  54. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js +32 -0
  55. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -0
  56. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/index.js +5 -0
  57. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/index.js.map +1 -0
  58. package/lib-es/components/EntityManager/Entity/actions-handlers/index.js +12 -0
  59. package/lib-es/components/EntityManager/Entity/actions-handlers/index.js.map +1 -0
  60. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/index.js +5 -0
  61. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/index.js.map +1 -0
  62. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js +39 -0
  63. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -0
  64. package/lib-es/components/EntityManager/Entity/actions-handlers/update/index.js +5 -0
  65. package/lib-es/components/EntityManager/Entity/actions-handlers/update/index.js.map +1 -0
  66. package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js +53 -0
  67. package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -0
  68. package/lib-es/components/EntityManager/Entity/index.js +3 -0
  69. package/lib-es/components/EntityManager/Entity/index.js.map +1 -0
  70. package/lib-es/components/EntityManager/EntityManager.js +133 -0
  71. package/lib-es/components/EntityManager/EntityManager.js.map +1 -0
  72. package/lib-es/components/EntityManager/index.js +3 -0
  73. package/lib-es/components/EntityManager/index.js.map +1 -0
  74. package/lib-es/components/EntityManager/utils/RecordEditContext/index.js +6 -0
  75. package/lib-es/components/EntityManager/utils/RecordEditContext/index.js.map +1 -0
  76. package/lib-es/components/EntityManager/utils/data-mappers.js +55 -0
  77. package/lib-es/components/EntityManager/utils/data-mappers.js.map +1 -0
  78. package/lib-es/components/EntityManager/utils/entity.js +69 -0
  79. package/lib-es/components/EntityManager/utils/entity.js.map +1 -0
  80. package/lib-es/components/EntityManager/utils/entityAvailableActions.js +56 -0
  81. package/lib-es/components/EntityManager/utils/entityAvailableActions.js.map +1 -0
  82. package/lib-es/components/EntityManager/utils/is-form-empty.js +9 -0
  83. package/lib-es/components/EntityManager/utils/is-form-empty.js.map +1 -0
  84. package/lib-es/components/EntityManager/utils/query.js +23 -0
  85. package/lib-es/components/EntityManager/utils/query.js.map +1 -0
  86. package/lib-es/components/InfoBoxes/InfoBoxTooltip.js +36 -0
  87. package/lib-es/components/InfoBoxes/InfoBoxTooltip.js.map +1 -0
  88. package/lib-es/components/InfoBoxes/InfoBoxes.js +28 -0
  89. package/lib-es/components/InfoBoxes/InfoBoxes.js.map +1 -0
  90. package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js +38 -0
  91. package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js.map +1 -0
  92. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js +28 -0
  93. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -0
  94. package/lib-es/components/InfoBoxes/hooks/useData.js +39 -0
  95. package/lib-es/components/InfoBoxes/hooks/useData.js.map +1 -0
  96. package/lib-es/components/InfoBoxes/hooks/useInfoBox.js +17 -0
  97. package/lib-es/components/InfoBoxes/hooks/useInfoBox.js.map +1 -0
  98. package/lib-es/components/InfoBoxes/index.js +3 -0
  99. package/lib-es/components/InfoBoxes/index.js.map +1 -0
  100. package/lib-es/components/InfoBoxes/presentational/InfoBox.js +40 -0
  101. package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +1 -0
  102. package/lib-es/components/InfoBoxes/presentational/InfoBoxLabel.js +12 -0
  103. package/lib-es/components/InfoBoxes/presentational/InfoBoxLabel.js.map +1 -0
  104. package/lib-es/components/InfoBoxes/presentational/InfoBoxValue.js +30 -0
  105. package/lib-es/components/InfoBoxes/presentational/InfoBoxValue.js.map +1 -0
  106. package/lib-es/components/ListingTable/ListingTable.js +208 -0
  107. package/lib-es/components/ListingTable/ListingTable.js.map +1 -0
  108. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +72 -0
  109. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -0
  110. package/lib-es/components/ListingTable/ListingTableContent/index.js +3 -0
  111. package/lib-es/components/ListingTable/ListingTableContent/index.js.map +1 -0
  112. package/lib-es/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js +173 -0
  113. package/lib-es/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js.map +1 -0
  114. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js +503 -0
  115. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -0
  116. package/lib-es/components/ListingTable/SearchFilter/SearchFilter.js +52 -0
  117. package/lib-es/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -0
  118. package/lib-es/components/ListingTable/SearchFilter/helpers.js +127 -0
  119. package/lib-es/components/ListingTable/SearchFilter/helpers.js.map +1 -0
  120. package/lib-es/components/ListingTable/SearchFilter/querys.js +8 -0
  121. package/lib-es/components/ListingTable/SearchFilter/querys.js.map +1 -0
  122. package/lib-es/components/ListingTable/TableActions/TableActions.js +34 -0
  123. package/lib-es/components/ListingTable/TableActions/TableActions.js.map +1 -0
  124. package/lib-es/components/ListingTable/TableActions/index.js +3 -0
  125. package/lib-es/components/ListingTable/TableActions/index.js.map +1 -0
  126. package/lib-es/components/ListingTable/index.js +3 -0
  127. package/lib-es/components/ListingTable/index.js.map +1 -0
  128. package/lib-es/components/ListingTable/mappers/populate-rows.js +140 -0
  129. package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -0
  130. package/lib-es/components/ListingTable/service/index.js +87 -0
  131. package/lib-es/components/ListingTable/service/index.js.map +1 -0
  132. package/lib-es/components/Tabs/index.js +38 -0
  133. package/lib-es/components/Tabs/index.js.map +1 -0
  134. package/lib-es/components/hooks/useCallbackDebounce.js +12 -0
  135. package/lib-es/components/hooks/useCallbackDebounce.js.map +1 -0
  136. package/lib-es/constants.js +42 -0
  137. package/lib-es/constants.js.map +1 -0
  138. package/lib-es/icons/ContentIcon.js +80 -0
  139. package/lib-es/icons/ContentIcon.js.map +1 -0
  140. package/lib-es/icons/SettingsIcon.js +36 -0
  141. package/lib-es/icons/SettingsIcon.js.map +1 -0
  142. package/lib-es/icons/TaxonomyIcon.js +60 -0
  143. package/lib-es/icons/TaxonomyIcon.js.map +1 -0
  144. package/lib-es/icons/UsersIcon.js +33 -0
  145. package/lib-es/icons/UsersIcon.js.map +1 -0
  146. package/lib-es/icons/index.js +6 -0
  147. package/lib-es/icons/index.js.map +1 -0
  148. package/lib-es/index.js +93 -0
  149. package/lib-es/index.js.map +1 -0
  150. package/lib-es/utils/add-content-menu-items.js +72 -0
  151. package/lib-es/utils/add-content-menu-items.js.map +1 -0
  152. package/lib-es/utils/build-create-entity-mutation.js +7 -0
  153. package/lib-es/utils/build-create-entity-mutation.js.map +1 -0
  154. package/lib-es/utils/build-delete-entity-mutation.js +18 -0
  155. package/lib-es/utils/build-delete-entity-mutation.js.map +1 -0
  156. package/lib-es/utils/build-listing-query.js +28 -0
  157. package/lib-es/utils/build-listing-query.js.map +1 -0
  158. package/lib-es/utils/build-update-data-query.js +24 -0
  159. package/lib-es/utils/build-update-data-query.js.map +1 -0
  160. package/lib-es/utils/build-update-publish-unpublish-mutation.js +22 -0
  161. package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -0
  162. package/lib-es/utils/get-default-query-params.js +29 -0
  163. package/lib-es/utils/get-default-query-params.js.map +1 -0
  164. package/lib-es/utils/hoc/withContext.js +8 -0
  165. package/lib-es/utils/hoc/withContext.js.map +1 -0
  166. package/lib-es/utils/hooks/useToggle.js +8 -0
  167. package/lib-es/utils/hooks/useToggle.js.map +1 -0
  168. package/lib-es/utils/index.js +3 -0
  169. package/lib-es/utils/index.js.map +1 -0
  170. package/package.json +16 -12
  171. package/src/components/EntityManager/Entity/Entity.js +1 -1
  172. package/src/components/EntityManager/Entity/actions-handlers/create/submit.js +4 -11
  173. package/src/components/EntityManager/utils/entity.js +4 -10
  174. package/src/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js +160 -0
  175. package/src/components/ListingTable/SearchFilter/SearchContainer.js +407 -74
  176. package/src/components/ListingTable/SearchFilter/SearchFilter.js +14 -3
  177. package/src/components/ListingTable/SearchFilter/helpers.js +55 -8
  178. package/src/index.js +2 -0
  179. package/src/utils/build-create-entity-mutation.js +5 -28
  180. package/src/utils/get-default-query-params.js +21 -9
  181. package/CHANGELOG.md +0 -1932
  182. package/babel.config.js +0 -3
  183. package/jest.config.js +0 -5
package/README.md CHANGED
@@ -36,6 +36,10 @@ The `displayProperties` property can be set on entity schema in the api to provi
36
36
  "dataSource": {
37
37
  "source": "search",
38
38
  "index": "admin"
39
+ },
40
+ "defaultSort": {
41
+ "property": "name",
42
+ "direction": "asc"
39
43
  }
40
44
  }
41
45
  }
@@ -47,8 +51,11 @@ The `displayProperties` property can be set on entity schema in the api to provi
47
51
  - adminMainInfoProperty: indicates a property that returns data to be displayed in the admin edit sidebar. Data is returned is formatted with the [data/info-properties](#Info properties) definition
48
52
  - disableDefaultAdminInfo: boolean value that can be used to hide default sidebar values updated/created
49
53
  - adminListings.dataSource:
50
- -- adminListings.dataSource.source: indicates whether to get listing data from search queries instead of direct entity queries.
51
- -- adminListings.dataSource.index: which index to search. This changes the query used e.g. searchAdmin
54
+ - adminListings.dataSource.source: indicates whether to get listing data from search queries instead of direct entity queries.
55
+ - adminListings.dataSource.index: which index to search. This changes the query used e.g. searchAdmin
56
+ - adminListings.defaultSort: specifies custom default sort order for listings (overrides the default "updated" descending)
57
+ - adminListings.defaultSort.property: the property to sort by (required if defaultSort is specified)
58
+ - adminListings.defaultSort.direction: sort direction - "asc" or "desc" (defaults to "asc" if not specified)
52
59
 
53
60
  ### Listing filters
54
61
  You can add the following to an entity properties/dynamicProperties to have them generate filters that appear at the top of admin record listings.
@@ -356,7 +356,7 @@ const Entity = ({
356
356
  }, addToast);
357
357
  };
358
358
  const showModal = (0, _entity.checkFulfilConditions)(formData, modalStatus);
359
- const onViewUrlHandler = (0, _entity.canViewPage)(formData, entity, schema, entityIsPublished) ? () => (0, _entity.onViewUrlClick)(getFullUrl) : onViewUrl;
359
+ const onViewUrlHandler = (0, _entity.canViewPage)(entity, schema, entityIsPublished) ? () => (0, _entity.onViewUrlClick)(getFullUrl) : onViewUrl;
360
360
  const pageName = formData && formData.values && formData.values.name;
361
361
  const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;
362
362
  const showSideBarRelations = (0, _entity.checkFulfilConditions)(schema, formData);
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_client","_propTypes","_interopRequireDefault","_pluginRenderHooksUi","_adminUiUtils","_reactFormBuilder","_admin","_toaster","_lodash","_dataMappers","_actionsHandlers","_SideBarRelations","_useCallbackDebounce","_constants","_EntityHeader","_entity","_useToggle","_InfoBoxes","_RecordEditContext","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","formValues","setFormValues","useState","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","useToggle","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","SAVE_BUTTON_TEXTS","save","externalUpdateTime","setExternalUpdateTime","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","addToast","useToasts","componentIsMounted","useRef","displayProperties","saveOnChange","useCallbackDebounce","onSubmit","useEffect","current","getPageName","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","currentItemId","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties2","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","item","index","findIndex","updatedEntity","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","RecordEditContextProvider","updated","className","toggleCopyModal","toggleModal","Prompt","when","message","LEAVE_PAGE_MESSAGE","DeleteAction","onClose","deleteAction","itemName","CopyDataFromAction","copyAction","RenderHook","hookKey","FormBuilder","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","propTypes","PropTypes","object","string","isRequired","func","defaultProps","_default","exports","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery } 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 availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\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';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\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 const [externalUpdateTime, setExternalUpdateTime] = useState(null);\n const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\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\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\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 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 currentItemId: entity ? entity.id : null\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 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 isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && 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 if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(formData, entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n entitySchema={entitySchema}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\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 onExternalUpdate={setExternalUpdateTime}\n mode={isNewEntity ? 'create' : 'update'}\n />\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\n />\n )}\n </div>\n </div>\n </div>\n </RecordEditContextProvider>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Entity.js","names":["_react","_interopRequireWildcard","require","_reactRouterDom","_client","_propTypes","_interopRequireDefault","_pluginRenderHooksUi","_adminUiUtils","_reactFormBuilder","_admin","_toaster","_lodash","_dataMappers","_actionsHandlers","_SideBarRelations","_useCallbackDebounce","_constants","_EntityHeader","_entity","_useToggle","_InfoBoxes","_RecordEditContext","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Entity","formData","entity","schema","previousQuery","action","history","updateFormData","onViewUrl","refetchRecord","_formData$values","formValues","setFormValues","useState","entitySchema","setEntitySchema","entityData","setEntityData","entityIdentifier","setEntityIdentifier","pageTitle","setPageTitle","isSaveButtonAvailable","setIsSaveButtonAvailable","entityIsPublished","setEntityIsPublish","values","status","isEnablePublishButton","setEnablePublishButton","isEnablePreviewButton","setEnablePreviewButton","modalStatus","setModalStatus","useToggle","copyModalStatus","setCopyModalStatus","pageBuilderTemplateStatus","setPageBuilderTemplateStatus","shouldCopyData","setShouldCopyData","isFormValid","setIsFormValid","formDataFromCopy","setFormDataFromCopy","newUpdatedDate","setNewUpdatedDate","saveButtonText","setSaveButtonText","SAVE_BUTTON_TEXTS","save","externalUpdateTime","setExternalUpdateTime","suppressPrompt","setSuppressPrompt","isRightSidebarOpen","setIsRightSidebarOpen","handleToggleRightSidebar","isCreatePage","location","pathname","includes","isNewEntity","setIsNewEntity","client","useApolloClient","shouldUpdateState","checkFulfilConditions","id","clonedFormData","cloneDeep","addToast","useToasts","componentIsMounted","useRef","displayProperties","saveOnChange","useCallbackDebounce","onSubmit","useEffect","current","getPageName","actions","publish","identifier","interfaces","PREVIEW_INTERFACE","isPageBuilderTemplateSet","pageBuilderTemplateId","writeQuery","query","getQuery","data","pageBuilderTemplateSet","currentEntity","currentItemId","getFullUrl","getEntityUrl","variables","itemId","itemEntity","fullUrl","fetchPolicy","getFormValues","onChangeSideBarRelations","value","requiredChildField","updatedFormValues","getUpdatedFormValues","shouldActiveSaveButton","validateSideBarRelations","onChangeFormValues","_ref","isValid","fields","isNewValueSet","valuesChecked","currentField","fieldValue","otherProps","_objectWithoutProperties2","slice","PAGE_BUILDER_TEMPLATE_FIELD_ID","pageBuilder","formValue","PAGE_BUILDER_FIELD_ID","parent","mergePageBuilderTemplateChanges","map","updatedFormValue","itemsToAdd","item","index","findIndex","updatedEntity","isNotValidOrNotNewValueSet","event","preventDefault","parsedFormValues","parseFormValues","update","handleUpdateFormData","submitParams","create","currentAction","availableActions","submit","onDelete","delete","onCopy","name","updateCopyData","handleCopyDataFromClose","getFormData","formDataValues","formDataUpdated","handlePublishAndUnpublish","target","textContent","isPublishButton","TEXT_CONTENT_TYPE","isPublished","ENTITY_PUBLISHED","isUnpublish","UNPUBLISHED_WARNING","appearance","autoDismiss","savedPageMessage","ERROR","shared","triggerPublish","showModal","onViewUrlHandler","canViewPage","onViewUrlClick","pageName","hasToDisplayPrompt","showSideBarRelations","createElement","RecordEditContextProvider","updated","className","toggleCopyModal","toggleModal","Prompt","when","message","LEAVE_PAGE_MESSAGE","DeleteAction","onClose","deleteAction","itemName","CopyDataFromAction","copyAction","RenderHook","hookKey","FormBuilder","getIsFormValid","onChange","onExternalUpdate","mode","isOpen","onToggle","propTypes","PropTypes","object","string","isRequired","func","defaultProps","_default","exports","withRouter"],"sources":["../../../../src/components/EntityManager/Entity/Entity.js"],"sourcesContent":["/* eslint-disable no-undef */\nimport React, { useEffect, useState, useRef } from 'react';\nimport { withRouter, Prompt } from 'react-router-dom';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport { getQuery } 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 availableActions from './actions-handlers';\nimport SideBarRelations from './SideBarRelations';\nimport useCallbackDebounce from '../../hooks/useCallbackDebounce';\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';\n\nimport {\n validateSideBarRelations,\n canViewPage,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n} from '../utils/entity';\nimport useToggle from '../../../utils/hooks/useToggle';\nimport InfoBoxes from '../../InfoBoxes/InfoBoxes';\nimport { RecordEditContextProvider } from '../utils/RecordEditContext';\n\nconst Entity = ({\n formData,\n entity,\n schema,\n previousQuery,\n action,\n history,\n updateFormData,\n onViewUrl,\n refetchRecord\n}) => {\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 const [externalUpdateTime, setExternalUpdateTime] = useState(null);\n const [suppressPrompt, setSuppressPrompt] = useState(false);\n const [isRightSidebarOpen, setIsRightSidebarOpen] = useState(true);\n const handleToggleRightSidebar = () => setIsRightSidebarOpen(!isRightSidebarOpen);\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\n const {\n displayProperties: { saveOnChange = false }\n } = schema;\n\n useCallbackDebounce(\n () => {\n isSaveButtonAvailable && onSubmit();\n },\n 500,\n [isSaveButtonAvailable],\n !saveOnChange\n );\n\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 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 currentItemId: entity ? entity.id : null\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 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 isNotValidOrNotNewValueSet = !isValid || !isNewValueSet;\n if (componentIsMounted.current) {\n setIsFormValid(isValid);\n }\n\n if (isValid && isNewValueSet && 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 if (!isSaveButtonAvailable) return null;\n\n if (isCreatePage) {\n setSuppressPrompt(true);\n }\n const parsedFormValues = parseFormValues(formValues);\n const updatedFormValues = newUpdatedDate\n ? { ...formData.values, update: newUpdatedDate }\n : { ...formData.values };\n\n const handleUpdateFormData = () =>\n updateFormData(\n {\n values: { ...updatedFormValues, ...parsedFormValues }\n },\n true\n );\n\n const submitParams = {\n update: {\n entitySchema,\n entityData,\n parsedFormValues,\n client,\n setIsSaveButtonAvailable,\n setNewUpdatedDate,\n newUpdatedDate,\n previousQuery,\n setSaveButtonText,\n handleUpdateFormData\n },\n create: {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n history,\n setIsNewEntity,\n setSaveButtonText,\n handleUpdateFormData\n }\n };\n\n const currentAction = submitParams[action];\n return availableActions[action].submit(currentAction, addToast);\n };\n\n const onDelete = async () => {\n const {\n values: { id }\n } = formData;\n\n if (componentIsMounted.current) {\n setIsSaveButtonAvailable(false);\n }\n\n await availableActions.delete.submit(\n {\n entitySchema,\n client,\n parsedFormValues: { id }\n },\n addToast\n );\n\n history.push(`/data-listing/${entitySchema.id}`);\n };\n\n const onCopy = () => {\n if (formDataFromCopy && componentIsMounted.current) {\n updateFormData(formDataFromCopy);\n setShouldCopyData(true);\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n if (formDataFromCopy.values.name) {\n setPageTitle(formDataFromCopy.values.name);\n }\n }\n };\n\n const updateCopyData = () => {\n setCopyModalStatus(!copyModalStatus);\n setShouldCopyData(false);\n };\n\n const handleCopyDataFromClose = () => {\n setCopyModalStatus(false);\n setFormDataFromCopy(null);\n };\n\n const getFormData = formDataValues => {\n const formDataUpdated = {\n values: { ...formDataValues }\n };\n setFormDataFromCopy(formDataUpdated);\n };\n\n const handlePublishAndUnpublish = async ({ target: { textContent } }) => {\n const isPublishButton = textContent === TEXT_CONTENT_TYPE;\n const isPublished = entityIsPublished === ENTITY_PUBLISHED;\n\n const isUnpublish = checkFulfilConditions(!isPublishButton, !isPublished);\n\n if (isUnpublish) {\n return addToast(UNPUBLISHED_WARNING, {\n appearance: 'warning',\n autoDismiss: true\n });\n }\n\n if (checkFulfilConditions(isPublishButton, isSaveButtonAvailable)) {\n const savedPageMessage = await onSubmit();\n\n if (savedPageMessage === ERROR) {\n return addToast(`Content not published`, {\n appearance: ERROR,\n autoDismiss: true\n });\n }\n }\n\n return availableActions.shared.triggerPublish(\n {\n entityData,\n client,\n setEntityIsPublish,\n entitySchema,\n textContent,\n refetchRecord\n },\n addToast\n );\n };\n\n const showModal = checkFulfilConditions(formData, modalStatus);\n\n const onViewUrlHandler = canViewPage(entity, schema, entityIsPublished)\n ? () => onViewUrlClick(getFullUrl)\n : onViewUrl;\n\n const pageName = formData && formData.values && formData.values.name;\n\n const hasToDisplayPrompt = isSaveButtonAvailable && !suppressPrompt;\n\n const showSideBarRelations = checkFulfilConditions(schema, formData);\n\n return (\n <RecordEditContextProvider value={{ externalUpdateTime, updated: formData?.values?.updated }}>\n <div className=\"page\">\n <EntityHeader\n entityData={entityData}\n entityIdentifier={entityIdentifier}\n pageTitle={pageTitle}\n pageName={pageName}\n onSubmit={onSubmit}\n handlePublishAndUnpublish={handlePublishAndUnpublish}\n isSaveButtonAvailable={isSaveButtonAvailable}\n isEnablePublishButton={isEnablePublishButton}\n isEnablePreviewButton={isEnablePreviewButton}\n toggleCopyModal={setCopyModalStatus}\n toggleModal={setModalStatus}\n formData={formData}\n onViewUrl={onViewUrlHandler}\n saveButtonText={saveButtonText}\n saveOnChange={saveOnChange}\n entitySchema={entitySchema}\n />\n <div className=\"page-wrapper__content\">\n <div className=\"tabs-wrapper tabs-wrapper__tab\">\n <Prompt when={hasToDisplayPrompt} message={LEAVE_PAGE_MESSAGE} />\n {showModal && (\n <DeleteAction\n onClose={setModalStatus}\n deleteAction={onDelete}\n itemName={formData.values.name}\n />\n )}\n {copyModalStatus && (\n <CopyDataFromAction\n onClose={handleCopyDataFromClose}\n copyAction={onCopy}\n getFormData={getFormData}\n />\n )}\n\n <div\n className={`page__content${!isRightSidebarOpen ? ' right-sidebar-collapsed' : ''}`}>\n <div className=\"page__content\">\n <div className=\"content\">\n <RenderHook\n hookKey={`entity:${action}:main:top`}\n entity={entity}\n schema={schema}\n />\n <InfoBoxes id={entity.id} schema={schema} />\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 onExternalUpdate={setExternalUpdateTime}\n mode={isNewEntity ? 'create' : 'update'}\n />\n <RenderHook\n hookKey={`entity:${action}:main:bottom`}\n entity={entity}\n schema={schema}\n />\n </div>\n </div>\n </div>\n </div>\n\n <div\n className={`column column--one-third page-sidebar page-sidebar--relations${\n !isRightSidebarOpen ? ' sidebar--collapsed' : ''\n }`}>\n {showSideBarRelations && (\n <SideBarRelations\n entity={entity}\n formData={formData.values}\n schema={schema}\n onChange={onChangeSideBarRelations}\n isOpen={isRightSidebarOpen}\n onToggle={handleToggleRightSidebar}\n />\n )}\n </div>\n </div>\n </div>\n </RecordEditContextProvider>\n );\n};\n\nEntity.propTypes = {\n entity: PropTypes.object,\n schema: PropTypes.object,\n previousQuery: PropTypes.object,\n action: PropTypes.string.isRequired,\n history: PropTypes.object.isRequired,\n formData: PropTypes.object,\n updateFormData: PropTypes.func.isRequired,\n onViewUrl: PropTypes.func,\n refetchRecord: PropTypes.func.isRequired\n};\n\nEntity.defaultProps = {\n previousQuery: null,\n schema: null,\n entity: null,\n formData: null,\n onViewUrl: null\n};\n\nexport default withRouter(Entity);\n"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.submit = void 0;
8
- var _buildCreateEntityMutation = _interopRequireDefault(require("../../../../../utils/build-create-entity-mutation"));
7
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
9
8
  var _constants = require("../../../../../constants");
10
9
  const submit = async ({
11
10
  entitySchema,
@@ -17,25 +16,15 @@ const submit = async ({
17
16
  history,
18
17
  setIsNewEntity
19
18
  }, addToast) => {
20
- const mutation = (0, _buildCreateEntityMutation.default)(entitySchema);
21
19
  try {
22
20
  setIsSaveButtonAvailable(false);
23
21
  setSaveButtonText(_constants.SAVE_BUTTON_TEXTS.saving);
24
- const {
25
- data: {
26
- createdEntity: createdEntityResult
27
- }
28
- } = await client.mutate({
29
- mutation,
30
- variables: {
31
- input: parsedFormValues
32
- }
33
- });
22
+ const createdRecord = await (0, _adminUiUtils.createEntityRecord)(client, entitySchema, parsedFormValues);
34
23
  setSaveButtonText(_constants.SAVE_BUTTON_TEXTS.saved);
35
- setEntityData(createdEntityResult.result);
24
+ setEntityData(createdRecord);
36
25
  setIsNewEntity(false);
37
26
  const updatePathname = history.location.pathname.replace('create', 'update');
38
- history.push(`${updatePathname}/${createdEntityResult.result.id}`);
27
+ history.push(`${updatePathname}/${createdRecord.id}`);
39
28
  addToast(`Created`, {
40
29
  appearance: 'success',
41
30
  autoDismiss: true
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","names":["_buildCreateEntityMutation","_interopRequireDefault","require","_constants","submit","entitySchema","parsedFormValues","client","setEntityData","setIsSaveButtonAvailable","setSaveButtonText","history","setIsNewEntity","addToast","mutation","buildCreateEntityMutation","SAVE_BUTTON_TEXTS","saving","data","createdEntity","createdEntityResult","mutate","variables","input","saved","result","updatePathname","location","pathname","replace","push","id","appearance","autoDismiss","error","save","message","exports"],"sources":["../../../../../../src/components/EntityManager/Entity/actions-handlers/create/submit.js"],"sourcesContent":["import buildCreateEntityMutation from '../../../../../utils/build-create-entity-mutation';\nimport { SAVE_BUTTON_TEXTS } from '../../../../../constants';\n\nconst submit = async (\n {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n setSaveButtonText,\n history,\n setIsNewEntity\n },\n addToast\n) => {\n const mutation = buildCreateEntityMutation(entitySchema);\n\n try {\n setIsSaveButtonAvailable(false);\n setSaveButtonText(SAVE_BUTTON_TEXTS.saving);\n const {\n data: { createdEntity: createdEntityResult }\n } = await client.mutate({\n mutation,\n variables: { input: parsedFormValues }\n });\n\n setSaveButtonText(SAVE_BUTTON_TEXTS.saved);\n setEntityData(createdEntityResult.result);\n setIsNewEntity(false);\n\n const updatePathname = history.location.pathname.replace('create', 'update');\n history.push(`${updatePathname}/${createdEntityResult.result.id}`);\n addToast(`Created`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (error) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n};\n\nexport { submit };\n"],"mappings":";;;;;;;AAAA,IAAAA,0BAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,MAAME,MAAM,GAAG,MAAAA,CACb;EACEC,YAAY;EACZC,gBAAgB;EAChBC,MAAM;EACNC,aAAa;EACbC,wBAAwB;EACxBC,iBAAiB;EACjBC,OAAO;EACPC;AACF,CAAC,EACDC,QAAQ,KACL;EACH,MAAMC,QAAQ,GAAG,IAAAC,kCAAyB,EAACV,YAAY,CAAC;EAExD,IAAI;IACFI,wBAAwB,CAAC,KAAK,CAAC;IAC/BC,iBAAiB,CAACM,4BAAiB,CAACC,MAAM,CAAC;IAC3C,MAAM;MACJC,IAAI,EAAE;QAAEC,aAAa,EAAEC;MAAoB;IAC7C,CAAC,GAAG,MAAMb,MAAM,CAACc,MAAM,CAAC;MACtBP,QAAQ;MACRQ,SAAS,EAAE;QAAEC,KAAK,EAAEjB;MAAiB;IACvC,CAAC,CAAC;IAEFI,iBAAiB,CAACM,4BAAiB,CAACQ,KAAK,CAAC;IAC1ChB,aAAa,CAACY,mBAAmB,CAACK,MAAM,CAAC;IACzCb,cAAc,CAAC,KAAK,CAAC;IAErB,MAAMc,cAAc,GAAGf,OAAO,CAACgB,QAAQ,CAACC,QAAQ,CAACC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5ElB,OAAO,CAACmB,IAAI,CAAC,GAAGJ,cAAc,IAAIN,mBAAmB,CAACK,MAAM,CAACM,EAAE,EAAE,CAAC;IAClElB,QAAQ,CAAC,SAAS,EAAE;MAClBmB,UAAU,EAAE,SAAS;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdzB,wBAAwB,CAAC,IAAI,CAAC;IAC9BC,iBAAiB,CAACM,4BAAiB,CAACmB,IAAI,CAAC;IACzCtB,QAAQ,CAACqB,KAAK,CAACE,OAAO,EAAE;MACtBJ,UAAU,EAAE,OAAO;MACnBC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ;AACF,CAAC;AAACI,OAAA,CAAAjC,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"submit.js","names":["_adminUiUtils","require","_constants","submit","entitySchema","parsedFormValues","client","setEntityData","setIsSaveButtonAvailable","setSaveButtonText","history","setIsNewEntity","addToast","SAVE_BUTTON_TEXTS","saving","createdRecord","createEntityRecord","saved","updatePathname","location","pathname","replace","push","id","appearance","autoDismiss","error","save","message","exports"],"sources":["../../../../../../src/components/EntityManager/Entity/actions-handlers/create/submit.js"],"sourcesContent":["import { createEntityRecord } from '@blaze-cms/admin-ui-utils';\nimport { SAVE_BUTTON_TEXTS } from '../../../../../constants';\n\nconst submit = async (\n {\n entitySchema,\n parsedFormValues,\n client,\n setEntityData,\n setIsSaveButtonAvailable,\n setSaveButtonText,\n history,\n setIsNewEntity\n },\n addToast\n) => {\n try {\n setIsSaveButtonAvailable(false);\n setSaveButtonText(SAVE_BUTTON_TEXTS.saving);\n const createdRecord = await createEntityRecord(client, entitySchema, parsedFormValues);\n\n setSaveButtonText(SAVE_BUTTON_TEXTS.saved);\n setEntityData(createdRecord);\n setIsNewEntity(false);\n\n const updatePathname = history.location.pathname.replace('create', 'update');\n history.push(`${updatePathname}/${createdRecord.id}`);\n addToast(`Created`, {\n appearance: 'success',\n autoDismiss: true\n });\n } catch (error) {\n setIsSaveButtonAvailable(true);\n setSaveButtonText(SAVE_BUTTON_TEXTS.save);\n addToast(error.message, {\n appearance: 'error',\n autoDismiss: true\n });\n }\n};\n\nexport { submit };\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,MAAME,MAAM,GAAG,MAAAA,CACb;EACEC,YAAY;EACZC,gBAAgB;EAChBC,MAAM;EACNC,aAAa;EACbC,wBAAwB;EACxBC,iBAAiB;EACjBC,OAAO;EACPC;AACF,CAAC,EACDC,QAAQ,KACL;EACH,IAAI;IACFJ,wBAAwB,CAAC,KAAK,CAAC;IAC/BC,iBAAiB,CAACI,4BAAiB,CAACC,MAAM,CAAC;IAC3C,MAAMC,aAAa,GAAG,MAAM,IAAAC,gCAAkB,EAACV,MAAM,EAAEF,YAAY,EAAEC,gBAAgB,CAAC;IAEtFI,iBAAiB,CAACI,4BAAiB,CAACI,KAAK,CAAC;IAC1CV,aAAa,CAACQ,aAAa,CAAC;IAC5BJ,cAAc,CAAC,KAAK,CAAC;IAErB,MAAMO,cAAc,GAAGR,OAAO,CAACS,QAAQ,CAACC,QAAQ,CAACC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5EX,OAAO,CAACY,IAAI,CAAC,GAAGJ,cAAc,IAAIH,aAAa,CAACQ,EAAE,EAAE,CAAC;IACrDX,QAAQ,CAAC,SAAS,EAAE;MAClBY,UAAU,EAAE,SAAS;MACrBC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdlB,wBAAwB,CAAC,IAAI,CAAC;IAC9BC,iBAAiB,CAACI,4BAAiB,CAACc,IAAI,CAAC;IACzCf,QAAQ,CAACc,KAAK,CAACE,OAAO,EAAE;MACtBJ,UAAU,EAAE,OAAO;MACnBC,WAAW,EAAE;IACf,CAAC,CAAC;EACJ;AACF,CAAC;AAACI,OAAA,CAAA1B,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -10,12 +10,11 @@ exports.getUpdatedFormValues = getUpdatedFormValues;
10
10
  exports.onViewUrlClick = onViewUrlClick;
11
11
  exports.validateSideBarRelations = validateSideBarRelations;
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
- var _lodash = _interopRequireDefault(require("lodash.has"));
14
13
  var _constants = require("../../../constants");
15
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
16
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
17
- function canViewPage(formData, entity, schema, entityIsPublished) {
18
- return (0, _lodash.default)(formData, _constants.KEY_TO_CHECK) && entity && entity.id && schema && schema.id && entityIsPublished === _constants.ENTITY_PUBLISHED;
16
+ function canViewPage(entity, schema, entityIsPublished) {
17
+ return entity && entity.id && schema && schema.id && entityIsPublished === _constants.ENTITY_PUBLISHED && schema.properties.slug;
19
18
  }
20
19
  function validateSideBarRelations(updatedFormValues, requiredChildField) {
21
20
  if (!requiredChildField) return true;
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","names":["_lodash","_interopRequireDefault","require","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","canViewPage","formData","entity","schema","entityIsPublished","has","KEY_TO_CHECK","id","ENTITY_PUBLISHED","validateSideBarRelations","updatedFormValues","requiredChildField","parentEntityField","find","parentIdField","parentEntityFieldHasValue","value","SELECT_DEFAULT_VALUE","parentIdFieldHasValue","onViewUrlClick","getFullUrl","fullUrl","delimiter","includes","debugParam","process","env","BLAZE_DISABLE_URL_DEBUG_PARAM","DEBUG_PARAM","window","open","getUpdatedFormValues","formValues","slice","fieldIndex","findIndex","_id","requiredChildFieldIndex","checkFulfilConditions","args","every","param"],"sources":["../../../../src/components/EntityManager/utils/entity.js"],"sourcesContent":["import has from 'lodash.has';\nimport {\n DEBUG_PARAM,\n ENTITY_PUBLISHED,\n KEY_TO_CHECK,\n SELECT_DEFAULT_VALUE\n} from '../../../constants';\n\nfunction canViewPage(formData, entity, schema, entityIsPublished) {\n return (\n has(formData, KEY_TO_CHECK) &&\n entity &&\n entity.id &&\n schema &&\n schema.id &&\n entityIsPublished === ENTITY_PUBLISHED\n );\n}\n\nfunction validateSideBarRelations(updatedFormValues, requiredChildField) {\n if (!requiredChildField) return true;\n const parentEntityField = updatedFormValues.find(({ id }) => id === 'parentEntity');\n const parentIdField = updatedFormValues.find(({ id }) => id === 'parentId');\n\n const parentEntityFieldHasValue =\n parentEntityField &&\n parentEntityField.value &&\n parentEntityField.value !== SELECT_DEFAULT_VALUE;\n const parentIdFieldHasValue = parentIdField && parentIdField.value;\n\n return !!(!parentEntityFieldHasValue || (parentEntityFieldHasValue && parentIdFieldHasValue));\n}\n\nasync function onViewUrlClick(getFullUrl) {\n const fullUrl = await getFullUrl();\n if (fullUrl) {\n const delimiter = fullUrl.includes('?') ? '&' : '?';\n const debugParam = process.env.BLAZE_DISABLE_URL_DEBUG_PARAM\n ? ''\n : `${delimiter}${DEBUG_PARAM}`;\n window.open(`${fullUrl}${debugParam}`, '_blank');\n }\n}\n\nfunction getUpdatedFormValues({ id, value, requiredChildField, formValues }) {\n const updatedFormValues = formValues ? formValues.slice() : [];\n const fieldIndex = updatedFormValues.findIndex(({ id: _id }) => _id === id);\n\n if (fieldIndex > -1) {\n updatedFormValues[fieldIndex] = { ...updatedFormValues[fieldIndex], value };\n } else {\n updatedFormValues.push({ id, value });\n }\n\n if (requiredChildField && requiredChildField.id) {\n const requiredChildFieldIndex = updatedFormValues.findIndex(\n ({ id: _id }) => _id === requiredChildField.id\n );\n if (requiredChildFieldIndex > -1) {\n updatedFormValues[requiredChildFieldIndex] = {\n ...updatedFormValues[requiredChildFieldIndex],\n value: requiredChildField.value\n };\n } else {\n updatedFormValues.push({\n id: requiredChildField.id,\n value: requiredChildField.value\n });\n }\n }\n\n return updatedFormValues;\n}\n\nfunction checkFulfilConditions(...args) {\n return args.every(param => param);\n}\n\nexport {\n canViewPage,\n validateSideBarRelations,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"entity.js","names":["_constants","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","canViewPage","entity","schema","entityIsPublished","id","ENTITY_PUBLISHED","properties","slug","validateSideBarRelations","updatedFormValues","requiredChildField","parentEntityField","find","parentIdField","parentEntityFieldHasValue","value","SELECT_DEFAULT_VALUE","parentIdFieldHasValue","onViewUrlClick","getFullUrl","fullUrl","delimiter","includes","debugParam","process","env","BLAZE_DISABLE_URL_DEBUG_PARAM","DEBUG_PARAM","window","open","getUpdatedFormValues","formValues","slice","fieldIndex","findIndex","_id","requiredChildFieldIndex","checkFulfilConditions","args","every","param"],"sources":["../../../../src/components/EntityManager/utils/entity.js"],"sourcesContent":["import { DEBUG_PARAM, ENTITY_PUBLISHED, SELECT_DEFAULT_VALUE } from '../../../constants';\n\nfunction canViewPage(entity, schema, entityIsPublished) {\n return (\n entity &&\n entity.id &&\n schema &&\n schema.id &&\n entityIsPublished === ENTITY_PUBLISHED &&\n schema.properties.slug\n );\n}\n\nfunction validateSideBarRelations(updatedFormValues, requiredChildField) {\n if (!requiredChildField) return true;\n const parentEntityField = updatedFormValues.find(({ id }) => id === 'parentEntity');\n const parentIdField = updatedFormValues.find(({ id }) => id === 'parentId');\n\n const parentEntityFieldHasValue =\n parentEntityField &&\n parentEntityField.value &&\n parentEntityField.value !== SELECT_DEFAULT_VALUE;\n const parentIdFieldHasValue = parentIdField && parentIdField.value;\n\n return !!(!parentEntityFieldHasValue || (parentEntityFieldHasValue && parentIdFieldHasValue));\n}\n\nasync function onViewUrlClick(getFullUrl) {\n const fullUrl = await getFullUrl();\n if (fullUrl) {\n const delimiter = fullUrl.includes('?') ? '&' : '?';\n const debugParam = process.env.BLAZE_DISABLE_URL_DEBUG_PARAM\n ? ''\n : `${delimiter}${DEBUG_PARAM}`;\n window.open(`${fullUrl}${debugParam}`, '_blank');\n }\n}\n\nfunction getUpdatedFormValues({ id, value, requiredChildField, formValues }) {\n const updatedFormValues = formValues ? formValues.slice() : [];\n const fieldIndex = updatedFormValues.findIndex(({ id: _id }) => _id === id);\n\n if (fieldIndex > -1) {\n updatedFormValues[fieldIndex] = { ...updatedFormValues[fieldIndex], value };\n } else {\n updatedFormValues.push({ id, value });\n }\n\n if (requiredChildField && requiredChildField.id) {\n const requiredChildFieldIndex = updatedFormValues.findIndex(\n ({ id: _id }) => _id === requiredChildField.id\n );\n if (requiredChildFieldIndex > -1) {\n updatedFormValues[requiredChildFieldIndex] = {\n ...updatedFormValues[requiredChildFieldIndex],\n value: requiredChildField.value\n };\n } else {\n updatedFormValues.push({\n id: requiredChildField.id,\n value: requiredChildField.value\n });\n }\n }\n\n return updatedFormValues;\n}\n\nfunction checkFulfilConditions(...args) {\n return args.every(param => param);\n}\n\nexport {\n canViewPage,\n validateSideBarRelations,\n onViewUrlClick,\n getUpdatedFormValues,\n checkFulfilConditions\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _multiselect = _interopRequireDefault(require("@blaze-react/multiselect"));
12
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
13
+ var _lodash2 = _interopRequireDefault(require("lodash.unionby"));
14
+ var _client = require("@apollo/client");
15
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ const DEBOUNCE_TIME = 500;
20
+ const SEARCH_LOAD_OFFSET = 10;
21
+ const SELECTION_LIMIT = 10;
22
+ const shouldLoadMore = (searchTerm, stopIndex, currentDataLength) => searchTerm && stopIndex > SEARCH_LOAD_OFFSET && stopIndex >= currentDataLength - SEARCH_LOAD_OFFSET;
23
+ const RelationMultiSelectFilter = ({
24
+ id,
25
+ label,
26
+ entityIdentifier,
27
+ selectedIds,
28
+ onChange
29
+ }) => {
30
+ const client = (0, _client.useApolloClient)();
31
+ const [schema, setSchema] = (0, _react.useState)(null);
32
+ const [data, setData] = (0, _react.useState)([]);
33
+ const [searchTerm, setSearchTerm] = (0, _react.useState)('');
34
+ const {
35
+ displayProperties
36
+ } = schema || {};
37
+ (0, _react.useEffect)(() => {
38
+ let active = true;
39
+ (async () => {
40
+ try {
41
+ const {
42
+ data: {
43
+ getEntitySchemas = []
44
+ } = {}
45
+ } = await client.query({
46
+ query: (0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'),
47
+ variables: {
48
+ identifier: entityIdentifier
49
+ }
50
+ });
51
+ const [relationSchema] = getEntitySchemas;
52
+ if (active && relationSchema) setSchema(relationSchema);
53
+ } catch {
54
+ if (active) setSchema(null);
55
+ }
56
+ })();
57
+ return () => {
58
+ active = false;
59
+ };
60
+ }, [client, entityIdentifier]);
61
+ (0, _react.useEffect)(() => {
62
+ if (!schema || !selectedIds.length) return undefined;
63
+ let active = true;
64
+ (async () => {
65
+ try {
66
+ const {
67
+ data: {
68
+ result = []
69
+ } = {}
70
+ } = await client.query({
71
+ query: (0, _adminUiUtils.getDynamicQuery)('GET_ALL_ENTITIES')(schema),
72
+ variables: {
73
+ where: {
74
+ id: {
75
+ _in: selectedIds
76
+ }
77
+ },
78
+ sort: [{
79
+ property: 'name',
80
+ direction: 'asc'
81
+ }]
82
+ }
83
+ });
84
+ if (active && result.length) setData(prev => (0, _lodash2.default)([...prev, ...result], 'id'));
85
+ } catch {
86
+ // ignore - selected chips will fall back to id-only display
87
+ }
88
+ })();
89
+ return () => {
90
+ active = false;
91
+ };
92
+ // eslint-disable-next-line react-hooks/exhaustive-deps
93
+ }, [schema]);
94
+ const onSearch = (0, _react.useMemo)(() => schema ? (0, _adminUiUtils.getAdminRecordSearch)(schema, client) : null, [schema, client]);
95
+ const currentData = (0, _react.useMemo)(() => data.map(option => {
96
+ const checked = selectedIds.includes(option.id);
97
+ return _objectSpread(_objectSpread({}, option), {}, {
98
+ checked,
99
+ show: true,
100
+ name: (0, _adminUiUtils.buildLabel)(displayProperties, option)
101
+ });
102
+ }), [data, selectedIds, displayProperties]);
103
+ const interceptOnSearchChange = (0, _lodash.default)(async ({
104
+ value
105
+ }) => {
106
+ setSearchTerm(value);
107
+ if (!onSearch) return;
108
+ const result = await onSearch({
109
+ event: {
110
+ value
111
+ },
112
+ currentValue: selectedIds
113
+ });
114
+ if (!result) return;
115
+ setData(prev => {
116
+ const selected = prev.filter(item => selectedIds.includes(item.id));
117
+ const newOnes = result.filter(item => !selectedIds.includes(item.id));
118
+ return (0, _lodash2.default)([...selected, ...newOnes], 'id');
119
+ });
120
+ }, DEBOUNCE_TIME);
121
+ const scrollHook = (0, _lodash.default)(async ({
122
+ stopIndex
123
+ }) => {
124
+ if (!onSearch) return;
125
+ const currentDataLength = data.length - selectedIds.length;
126
+ if (!shouldLoadMore(searchTerm, stopIndex, currentDataLength)) return;
127
+ const result = await onSearch({
128
+ event: {
129
+ value: searchTerm
130
+ },
131
+ currentValue: selectedIds,
132
+ currentOffset: currentDataLength
133
+ });
134
+ if (!result || !result.length) return;
135
+ setData(prev => (0, _lodash2.default)([...prev, ...result], 'id'));
136
+ }, DEBOUNCE_TIME);
137
+ const onItemsRenderedIntercept = async event => {
138
+ if (!onSearch) return;
139
+ scrollHook(event);
140
+ };
141
+ const getSelected = ({
142
+ event: {
143
+ target: {
144
+ value
145
+ }
146
+ }
147
+ }) => {
148
+ onChange(id, value);
149
+ };
150
+ return /*#__PURE__*/_react.default.createElement(_multiselect.default, {
151
+ label: label,
152
+ name: id,
153
+ data: {
154
+ data: currentData,
155
+ filterBy: ['name'],
156
+ identification: 'id',
157
+ keyValue: 'name'
158
+ },
159
+ limit: SELECTION_LIMIT,
160
+ onChange: interceptOnSearchChange,
161
+ getSelected: getSelected,
162
+ onItemsRendered: onItemsRenderedIntercept,
163
+ required: false,
164
+ checkedPreviewCount: 1,
165
+ formatMoreLabel: count => `${count} more`,
166
+ isDynamic: true
167
+ });
168
+ };
169
+ RelationMultiSelectFilter.propTypes = {
170
+ id: _propTypes.default.string.isRequired,
171
+ label: _propTypes.default.string,
172
+ entityIdentifier: _propTypes.default.string.isRequired,
173
+ selectedIds: _propTypes.default.array,
174
+ onChange: _propTypes.default.func.isRequired
175
+ };
176
+ RelationMultiSelectFilter.defaultProps = {
177
+ label: '',
178
+ selectedIds: []
179
+ };
180
+ var _default = exports.default = RelationMultiSelectFilter;
181
+ //# sourceMappingURL=RelationMultiSelectFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationMultiSelectFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_multiselect","_lodash","_lodash2","_client","_adminUiUtils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","DEBOUNCE_TIME","SEARCH_LOAD_OFFSET","SELECTION_LIMIT","shouldLoadMore","searchTerm","stopIndex","currentDataLength","RelationMultiSelectFilter","id","label","entityIdentifier","selectedIds","onChange","client","useApolloClient","schema","setSchema","useState","data","setData","setSearchTerm","displayProperties","useEffect","active","getEntitySchemas","query","getQuery","variables","identifier","relationSchema","undefined","result","getDynamicQuery","where","_in","sort","property","direction","prev","unionBy","onSearch","useMemo","getAdminRecordSearch","currentData","map","option","checked","includes","show","name","buildLabel","interceptOnSearchChange","debounce","value","event","currentValue","selected","item","newOnes","scrollHook","currentOffset","onItemsRenderedIntercept","getSelected","target","createElement","filterBy","identification","keyValue","limit","onItemsRendered","required","checkedPreviewCount","formatMoreLabel","count","isDynamic","propTypes","PropTypes","string","isRequired","array","func","defaultProps","_default","exports"],"sources":["../../../../src/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js"],"sourcesContent":["import React, { useState, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport MultiSelect from '@blaze-react/multiselect';\nimport debounce from 'lodash.debounce';\nimport unionBy from 'lodash.unionby';\nimport { useApolloClient } from '@apollo/client';\nimport {\n getQuery,\n getDynamicQuery,\n getAdminRecordSearch,\n buildLabel\n} from '@blaze-cms/admin-ui-utils';\n\nconst DEBOUNCE_TIME = 500;\nconst SEARCH_LOAD_OFFSET = 10;\nconst SELECTION_LIMIT = 10;\n\nconst shouldLoadMore = (searchTerm, stopIndex, currentDataLength) =>\n searchTerm &&\n stopIndex > SEARCH_LOAD_OFFSET &&\n stopIndex >= currentDataLength - SEARCH_LOAD_OFFSET;\n\nconst RelationMultiSelectFilter = ({ id, label, entityIdentifier, selectedIds, onChange }) => {\n const client = useApolloClient();\n const [schema, setSchema] = useState(null);\n const [data, setData] = useState([]);\n const [searchTerm, setSearchTerm] = useState('');\n\n const { displayProperties } = schema || {};\n\n useEffect(() => {\n let active = true;\n (async () => {\n try {\n const { data: { getEntitySchemas = [] } = {} } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n const [relationSchema] = getEntitySchemas;\n if (active && relationSchema) setSchema(relationSchema);\n } catch {\n if (active) setSchema(null);\n }\n })();\n return () => {\n active = false;\n };\n }, [client, entityIdentifier]);\n\n useEffect(() => {\n if (!schema || !selectedIds.length) return undefined;\n let active = true;\n (async () => {\n try {\n const { data: { result = [] } = {} } = await client.query({\n query: getDynamicQuery('GET_ALL_ENTITIES')(schema),\n variables: {\n where: { id: { _in: selectedIds } },\n sort: [{ property: 'name', direction: 'asc' }]\n }\n });\n if (active && result.length) setData(prev => unionBy([...prev, ...result], 'id'));\n } catch {\n // ignore - selected chips will fall back to id-only display\n }\n })();\n return () => {\n active = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schema]);\n\n const onSearch = useMemo(\n () => (schema ? getAdminRecordSearch(schema, client) : null),\n [schema, client]\n );\n\n const currentData = useMemo(\n () =>\n data.map(option => {\n const checked = selectedIds.includes(option.id);\n return {\n ...option,\n checked,\n show: true,\n name: buildLabel(displayProperties, option)\n };\n }),\n [data, selectedIds, displayProperties]\n );\n\n const interceptOnSearchChange = debounce(async ({ value }) => {\n setSearchTerm(value);\n if (!onSearch) return;\n const result = await onSearch({ event: { value }, currentValue: selectedIds });\n if (!result) return;\n setData(prev => {\n const selected = prev.filter(item => selectedIds.includes(item.id));\n const newOnes = result.filter(item => !selectedIds.includes(item.id));\n return unionBy([...selected, ...newOnes], 'id');\n });\n }, DEBOUNCE_TIME);\n\n const scrollHook = debounce(async ({ stopIndex }) => {\n if (!onSearch) return;\n const currentDataLength = data.length - selectedIds.length;\n if (!shouldLoadMore(searchTerm, stopIndex, currentDataLength)) return;\n const result = await onSearch({\n event: { value: searchTerm },\n currentValue: selectedIds,\n currentOffset: currentDataLength\n });\n if (!result || !result.length) return;\n setData(prev => unionBy([...prev, ...result], 'id'));\n }, DEBOUNCE_TIME);\n\n const onItemsRenderedIntercept = async event => {\n if (!onSearch) return;\n scrollHook(event);\n };\n\n const getSelected = ({\n event: {\n target: { value }\n }\n }) => {\n onChange(id, value);\n };\n\n return (\n <MultiSelect\n label={label}\n name={id}\n data={{ data: currentData, filterBy: ['name'], identification: 'id', keyValue: 'name' }}\n limit={SELECTION_LIMIT}\n onChange={interceptOnSearchChange}\n getSelected={getSelected}\n onItemsRendered={onItemsRenderedIntercept}\n required={false}\n checkedPreviewCount={1}\n formatMoreLabel={count => `${count} more`}\n isDynamic\n />\n );\n};\n\nRelationMultiSelectFilter.propTypes = {\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n entityIdentifier: PropTypes.string.isRequired,\n selectedIds: PropTypes.array,\n onChange: PropTypes.func.isRequired\n};\n\nRelationMultiSelectFilter.defaultProps = {\n label: '',\n selectedIds: []\n};\n\nexport default RelationMultiSelectFilter;\n"],"mappings":"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","ignoreList":[]}