@blaze-cms/plugin-data-ui 0.146.0-node18-core-styles-tooltips.1 → 0.146.0-node18-core-styles-tooltips.4

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 (176) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +36 -0
  3. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js +1 -1
  4. package/lib/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  5. package/lib/components/ListingTable/ListingTable.js +10 -2
  6. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  7. package/lib/components/ListingTable/SearchFilter/SearchContainer.js +313 -0
  8. package/lib/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -0
  9. package/lib/components/ListingTable/SearchFilter/SearchFilter.js +59 -0
  10. package/lib/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -0
  11. package/lib/components/ListingTable/SearchFilter/helpers.js +128 -0
  12. package/lib/components/ListingTable/SearchFilter/helpers.js.map +1 -0
  13. package/lib/components/ListingTable/SearchFilter/querys.js +13 -0
  14. package/lib/components/ListingTable/SearchFilter/querys.js.map +1 -0
  15. package/lib/components/ListingTable/service/index.js +3 -3
  16. package/lib/components/ListingTable/service/index.js.map +1 -1
  17. package/lib/constants.js +3 -1
  18. package/lib/constants.js.map +1 -1
  19. package/lib/utils/build-listing-query.js +4 -4
  20. package/lib/utils/build-listing-query.js.map +1 -1
  21. package/lib-es/components/EntityDataListing/EntityDataListing.js +33 -0
  22. package/lib-es/components/EntityDataListing/EntityDataListing.js.map +1 -0
  23. package/lib-es/components/EntityDataListing/index.js +3 -0
  24. package/lib-es/components/EntityDataListing/index.js.map +1 -0
  25. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +30 -0
  26. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +1 -0
  27. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js +3 -0
  28. package/lib-es/components/EntityManager/Entity/EntitiyNavLinks/index.js.map +1 -0
  29. package/lib-es/components/EntityManager/Entity/Entity.js +447 -0
  30. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -0
  31. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js +103 -0
  32. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -0
  33. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +45 -0
  34. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -0
  35. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js +3 -0
  36. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/index.js.map +1 -0
  37. package/lib-es/components/EntityManager/Entity/EntityHeader/index.js +3 -0
  38. package/lib-es/components/EntityManager/Entity/EntityHeader/index.js.map +1 -0
  39. package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js +30 -0
  40. package/lib-es/components/EntityManager/Entity/SideBarRelations/container/CustomSidebarInfoContainer.js.map +1 -0
  41. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +29 -0
  42. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -0
  43. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js +49 -0
  44. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +1 -0
  45. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js +117 -0
  46. package/lib-es/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -0
  47. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js +36 -0
  48. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +1 -0
  49. package/lib-es/components/EntityManager/Entity/actions-handlers/create/index.js +5 -0
  50. package/lib-es/components/EntityManager/Entity/actions-handlers/create/index.js.map +1 -0
  51. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js +46 -0
  52. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -0
  53. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js +32 -0
  54. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -0
  55. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/index.js +5 -0
  56. package/lib-es/components/EntityManager/Entity/actions-handlers/delete/index.js.map +1 -0
  57. package/lib-es/components/EntityManager/Entity/actions-handlers/index.js +12 -0
  58. package/lib-es/components/EntityManager/Entity/actions-handlers/index.js.map +1 -0
  59. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/index.js +5 -0
  60. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/index.js.map +1 -0
  61. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js +39 -0
  62. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -0
  63. package/lib-es/components/EntityManager/Entity/actions-handlers/update/index.js +5 -0
  64. package/lib-es/components/EntityManager/Entity/actions-handlers/update/index.js.map +1 -0
  65. package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js +53 -0
  66. package/lib-es/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -0
  67. package/lib-es/components/EntityManager/Entity/index.js +3 -0
  68. package/lib-es/components/EntityManager/Entity/index.js.map +1 -0
  69. package/lib-es/components/EntityManager/EntityManager.js +133 -0
  70. package/lib-es/components/EntityManager/EntityManager.js.map +1 -0
  71. package/lib-es/components/EntityManager/index.js +3 -0
  72. package/lib-es/components/EntityManager/index.js.map +1 -0
  73. package/lib-es/components/EntityManager/utils/RecordEditContext/index.js +6 -0
  74. package/lib-es/components/EntityManager/utils/RecordEditContext/index.js.map +1 -0
  75. package/lib-es/components/EntityManager/utils/data-mappers.js +55 -0
  76. package/lib-es/components/EntityManager/utils/data-mappers.js.map +1 -0
  77. package/lib-es/components/EntityManager/utils/entity.js +69 -0
  78. package/lib-es/components/EntityManager/utils/entity.js.map +1 -0
  79. package/lib-es/components/EntityManager/utils/entityAvailableActions.js +56 -0
  80. package/lib-es/components/EntityManager/utils/entityAvailableActions.js.map +1 -0
  81. package/lib-es/components/EntityManager/utils/is-form-empty.js +9 -0
  82. package/lib-es/components/EntityManager/utils/is-form-empty.js.map +1 -0
  83. package/lib-es/components/EntityManager/utils/query.js +23 -0
  84. package/lib-es/components/EntityManager/utils/query.js.map +1 -0
  85. package/lib-es/components/InfoBoxes/InfoBoxTooltip.js +36 -0
  86. package/lib-es/components/InfoBoxes/InfoBoxTooltip.js.map +1 -0
  87. package/lib-es/components/InfoBoxes/InfoBoxes.js +28 -0
  88. package/lib-es/components/InfoBoxes/InfoBoxes.js.map +1 -0
  89. package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js +38 -0
  90. package/lib-es/components/InfoBoxes/container/InfoBoxContainer.js.map +1 -0
  91. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js +28 -0
  92. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -0
  93. package/lib-es/components/InfoBoxes/hooks/useData.js +39 -0
  94. package/lib-es/components/InfoBoxes/hooks/useData.js.map +1 -0
  95. package/lib-es/components/InfoBoxes/hooks/useInfoBox.js +17 -0
  96. package/lib-es/components/InfoBoxes/hooks/useInfoBox.js.map +1 -0
  97. package/lib-es/components/InfoBoxes/index.js +3 -0
  98. package/lib-es/components/InfoBoxes/index.js.map +1 -0
  99. package/lib-es/components/InfoBoxes/presentational/InfoBox.js +40 -0
  100. package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +1 -0
  101. package/lib-es/components/InfoBoxes/presentational/InfoBoxLabel.js +12 -0
  102. package/lib-es/components/InfoBoxes/presentational/InfoBoxLabel.js.map +1 -0
  103. package/lib-es/components/InfoBoxes/presentational/InfoBoxValue.js +30 -0
  104. package/lib-es/components/InfoBoxes/presentational/InfoBoxValue.js.map +1 -0
  105. package/lib-es/components/ListingTable/ListingTable.js +215 -0
  106. package/lib-es/components/ListingTable/ListingTable.js.map +1 -0
  107. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js +57 -0
  108. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -0
  109. package/lib-es/components/ListingTable/ListingTableContent/index.js +3 -0
  110. package/lib-es/components/ListingTable/ListingTableContent/index.js.map +1 -0
  111. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js +207 -0
  112. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -0
  113. package/lib-es/components/ListingTable/SearchFilter/SearchFilter.js +40 -0
  114. package/lib-es/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -0
  115. package/lib-es/components/ListingTable/SearchFilter/helpers.js +96 -0
  116. package/lib-es/components/ListingTable/SearchFilter/helpers.js.map +1 -0
  117. package/lib-es/components/ListingTable/SearchFilter/querys.js +8 -0
  118. package/lib-es/components/ListingTable/SearchFilter/querys.js.map +1 -0
  119. package/lib-es/components/ListingTable/TableActions/TableActions.js +34 -0
  120. package/lib-es/components/ListingTable/TableActions/TableActions.js.map +1 -0
  121. package/lib-es/components/ListingTable/TableActions/index.js +3 -0
  122. package/lib-es/components/ListingTable/TableActions/index.js.map +1 -0
  123. package/lib-es/components/ListingTable/index.js +3 -0
  124. package/lib-es/components/ListingTable/index.js.map +1 -0
  125. package/lib-es/components/ListingTable/mappers/populate-rows.js +140 -0
  126. package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -0
  127. package/lib-es/components/ListingTable/service/index.js +87 -0
  128. package/lib-es/components/ListingTable/service/index.js.map +1 -0
  129. package/lib-es/components/Tabs/index.js +40 -0
  130. package/lib-es/components/Tabs/index.js.map +1 -0
  131. package/lib-es/components/hooks/useCallbackDebounce.js +12 -0
  132. package/lib-es/components/hooks/useCallbackDebounce.js.map +1 -0
  133. package/lib-es/constants.js +41 -0
  134. package/lib-es/constants.js.map +1 -0
  135. package/lib-es/icons/ContentIcon.js +80 -0
  136. package/lib-es/icons/ContentIcon.js.map +1 -0
  137. package/lib-es/icons/SettingsIcon.js +36 -0
  138. package/lib-es/icons/SettingsIcon.js.map +1 -0
  139. package/lib-es/icons/TaxonomyIcon.js +60 -0
  140. package/lib-es/icons/TaxonomyIcon.js.map +1 -0
  141. package/lib-es/icons/UsersIcon.js +33 -0
  142. package/lib-es/icons/UsersIcon.js.map +1 -0
  143. package/lib-es/icons/index.js +6 -0
  144. package/lib-es/icons/index.js.map +1 -0
  145. package/lib-es/index.js +84 -0
  146. package/lib-es/index.js.map +1 -0
  147. package/lib-es/utils/add-content-menu-items.js +72 -0
  148. package/lib-es/utils/add-content-menu-items.js.map +1 -0
  149. package/lib-es/utils/build-create-entity-mutation.js +21 -0
  150. package/lib-es/utils/build-create-entity-mutation.js.map +1 -0
  151. package/lib-es/utils/build-delete-entity-mutation.js +18 -0
  152. package/lib-es/utils/build-delete-entity-mutation.js.map +1 -0
  153. package/lib-es/utils/build-listing-query.js +28 -0
  154. package/lib-es/utils/build-listing-query.js.map +1 -0
  155. package/lib-es/utils/build-update-data-query.js +24 -0
  156. package/lib-es/utils/build-update-data-query.js.map +1 -0
  157. package/lib-es/utils/build-update-publish-unpublish-mutation.js +22 -0
  158. package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -0
  159. package/lib-es/utils/get-default-query-params.js +17 -0
  160. package/lib-es/utils/get-default-query-params.js.map +1 -0
  161. package/lib-es/utils/hoc/withContext.js +8 -0
  162. package/lib-es/utils/hoc/withContext.js.map +1 -0
  163. package/lib-es/utils/hooks/useToggle.js +8 -0
  164. package/lib-es/utils/hooks/useToggle.js.map +1 -0
  165. package/lib-es/utils/index.js +3 -0
  166. package/lib-es/utils/index.js.map +1 -0
  167. package/package.json +10 -10
  168. package/src/components/EntityManager/Entity/EntityHeader/EntityHeader.js +1 -1
  169. package/src/components/ListingTable/ListingTable.js +10 -1
  170. package/src/components/ListingTable/SearchFilter/SearchContainer.js +243 -0
  171. package/src/components/ListingTable/SearchFilter/SearchFilter.js +38 -0
  172. package/src/components/ListingTable/SearchFilter/helpers.js +99 -0
  173. package/src/components/ListingTable/SearchFilter/querys.js +9 -0
  174. package/src/components/ListingTable/service/index.js +2 -2
  175. package/src/constants.js +7 -1
  176. package/src/utils/build-listing-query.js +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
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.146.0-node18-core-styles-tooltips.4](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.3...v0.146.0-node18-core-styles-tooltips.4) (2025-07-10)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * admin listing search filter fixes ([#4827](https://github.com/thebyte9/blaze/issues/4827)) ([8f72d2c](https://github.com/thebyte9/blaze/commit/8f72d2c4e9bb1fa585e20dc899fae6120a3d644e))
12
+ * get index from source data ([64425ec](https://github.com/thebyte9/blaze/commit/64425ec1b9e69385b45659f4b941631ae4c8b871))
13
+
14
+
15
+ ### Features
16
+
17
+ * add admin listing filters based on schema settings ([#4797](https://github.com/thebyte9/blaze/issues/4797)) ([84b3109](https://github.com/thebyte9/blaze/commit/84b310900222a60050e3cf32928ab62a12a99b8d))
18
+
19
+
20
+
21
+
22
+
6
23
  # [0.146.0-node18-core-styles-tooltips.1](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.0...v0.146.0-node18-core-styles-tooltips.1) (2025-06-20)
7
24
 
8
25
  **Note:** Version bump only for package @blaze-cms/plugin-data-ui
package/README.md CHANGED
@@ -31,6 +31,12 @@ The `displayProperties` property can be set on entity schema in the api to provi
31
31
  "firstname": {
32
32
  "_exists": false
33
33
  }
34
+ },
35
+ "adminListings": {
36
+ "dataSource": {
37
+ "source": "search",
38
+ "index": "admin"
39
+ }
34
40
  }
35
41
  }
36
42
  ```
@@ -40,7 +46,37 @@ The `displayProperties` property can be set on entity schema in the api to provi
40
46
  - adminHeader: properties to build admin header
41
47
  - 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
42
48
  - disableDefaultAdminInfo: boolean value that can be used to hide default sidebar values updated/created
49
+ - 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
43
52
 
53
+ ### Listing filters
54
+ You can add the following to an entity properties/dynamicProperties to have them generate filters that appear at the top of admin record listings.
55
+ ```json
56
+ // this will be represented as a select
57
+ "relationKeyId": {
58
+ "type": "string",
59
+ "label": "Related records",
60
+ "searchable": true,
61
+ "showInForm": true,
62
+ "formFieldType": "relation",
63
+ "adminListingOptions": {
64
+ "filterType": "select"
65
+ }
66
+ },
67
+
68
+ // will include this property in a keyword search
69
+ "name": {
70
+ "type": "string",
71
+ "label": "Name",
72
+ "searchable": true,
73
+ "adminListingOptions": {
74
+ "includeInKeywordSeach": true
75
+ }
76
+ }
77
+ ```
78
+ - `filterType: "select"`: This will get relevant options and display them in a select. If the property is relation data the select will be populated with the `name` property from the related records
79
+ - `includeInKeywordSeach`: This property will be included in a keyword search
44
80
 
45
81
  ### Info properties
46
82
 
@@ -55,7 +55,7 @@ var EntityHeader = function EntityHeader(_ref) {
55
55
  onClick: onSubmit,
56
56
  modifiers: SaveButtonModifiers,
57
57
  "data-testid": "button-save"
58
- }, saveButtonText), /*#__PURE__*/_react["default"].createElement(_more["default"], {
58
+ }, saveButtonText === 'save' ? 'Apply' : saveButtonText), /*#__PURE__*/_react["default"].createElement(_more["default"], {
59
59
  disabled: shouldDisableMoreMenu
60
60
  }, /*#__PURE__*/_react["default"].createElement(_more["default"].Avatar, {
61
61
  "data-testid": "entity-header-".concat(pageName),
@@ -1 +1 @@
1
- {"version":3,"file":"EntityHeader.js","names":["_react","_interopRequireDefault","require","_admin","_button","_more","_propTypes","_HeaderPreviewButton","_constants","EntityHeader","_ref","saveButtonText","entityData","entitySchema","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","saveOnChange","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","SAVE_BUTTON_TEXTS","saving","_ref2","_ref2$displayProperti","displayProperties","_ref2$displayProperti2","_ref2$displayProperti3","adminCrudActions","_ref2$displayProperti4","_ref2$displayProperti5","deleteAction","active","showDeleteButton","Object","keys","values","length","createElement","PageHeader","title","Actions","onClick","modifiers","disabled","Avatar","concat","isMoreMenu","className","Content","itemId","itemEntity","propTypes","PropTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName","_default","exports"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entitySchema,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl,\n saveOnChange\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n const {\n displayProperties: { adminCrudActions: { delete: deleteAction = { active: true } } = {} } = {}\n } = entitySchema || {};\n\n const showDeleteButton =\n deleteAction.active && formData && Object.keys(formData.values).length !== 0;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n {!saveOnChange && (\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText}\n </Button>\n )}\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {showDeleteButton && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n entitySchema: PropTypes.object.isRequired,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string,\n saveOnChange: PropTypes.bool.isRequired\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"EntityHeader.js","names":["_react","_interopRequireDefault","require","_admin","_button","_more","_propTypes","_HeaderPreviewButton","_constants","EntityHeader","_ref","saveButtonText","entityData","entitySchema","entityIdentifier","pageTitle","onSubmit","handlePublishAndUnpublish","isSaveButtonAvailable","isEnablePublishButton","isEnablePreviewButton","toggleCopyModal","toggleModal","formData","pageName","onViewUrl","saveOnChange","SaveButtonModifiers","showPreviewButton","id","shouldDisableMoreMenu","SAVE_BUTTON_TEXTS","saving","_ref2","_ref2$displayProperti","displayProperties","_ref2$displayProperti2","_ref2$displayProperti3","adminCrudActions","_ref2$displayProperti4","_ref2$displayProperti5","deleteAction","active","showDeleteButton","Object","keys","values","length","createElement","PageHeader","title","Actions","onClick","modifiers","disabled","Avatar","concat","isMoreMenu","className","Content","itemId","itemEntity","propTypes","PropTypes","object","string","isRequired","func","bool","oneOfType","defaultProps","displayName","_default","exports"],"sources":["../../../../../src/components/EntityManager/Entity/EntityHeader/EntityHeader.js"],"sourcesContent":["import React from 'react';\nimport { PageHeader } from '@blaze-cms/admin';\nimport Button from '@blaze-react/button';\nimport More from '@blaze-react/more';\nimport PropTypes from 'prop-types';\nimport HeaderPreviewButton from './HeaderPreviewButton';\nimport { SAVE_BUTTON_TEXTS } from '../../../../constants';\n\nconst EntityHeader = ({\n saveButtonText,\n entityData,\n entitySchema,\n entityIdentifier,\n pageTitle,\n onSubmit,\n handlePublishAndUnpublish,\n isSaveButtonAvailable,\n isEnablePublishButton,\n isEnablePreviewButton,\n toggleCopyModal,\n toggleModal,\n formData,\n pageName,\n onViewUrl,\n saveOnChange\n}) => {\n const SaveButtonModifiers = isSaveButtonAvailable ? ['small'] : ['small', 'disabled'];\n const showPreviewButton = isEnablePreviewButton && entityIdentifier && entityData.id;\n const shouldDisableMoreMenu = saveButtonText === SAVE_BUTTON_TEXTS.saving;\n\n const {\n displayProperties: { adminCrudActions: { delete: deleteAction = { active: true } } = {} } = {}\n } = entitySchema || {};\n\n const showDeleteButton =\n deleteAction.active && formData && Object.keys(formData.values).length !== 0;\n\n return (\n <PageHeader title={pageTitle} pageName={pageName} onViewUrl={onViewUrl}>\n <PageHeader.Actions>\n {!saveOnChange && (\n <Button onClick={onSubmit} modifiers={SaveButtonModifiers} data-testid=\"button-save\">\n {saveButtonText === 'save' ? 'Apply' : saveButtonText}\n </Button>\n )}\n <More disabled={shouldDisableMoreMenu}>\n <More.Avatar data-testid={`entity-header-${pageName}`} isMoreMenu>\n <span className=\"material-icons\">more_vert</span>\n </More.Avatar>\n <More.Content isMoreMenu>\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Publish\n </Button>\n )}\n {isEnablePublishButton && (\n <Button className=\"more-menu__link\" onClick={handlePublishAndUnpublish}>\n Unpublish\n </Button>\n )}\n {showPreviewButton && (\n <HeaderPreviewButton itemId={entityData.id} itemEntity={entityIdentifier} />\n )}\n <Button className=\"more-menu__link\" onClick={toggleCopyModal}>\n Copy data from\n </Button>\n {onViewUrl && (\n <Button className=\"more-menu__link\" onClick={onViewUrl}>\n View\n </Button>\n )}\n {showDeleteButton && (\n <Button className=\"more-menu__link\" onClick={toggleModal}>\n Delete\n </Button>\n )}\n </More.Content>\n </More>\n </PageHeader.Actions>\n </PageHeader>\n );\n};\n\nEntityHeader.propTypes = {\n entityData: PropTypes.object,\n entityIdentifier: PropTypes.string,\n entitySchema: PropTypes.object.isRequired,\n pageTitle: PropTypes.string.isRequired,\n pageName: PropTypes.string,\n onSubmit: PropTypes.func.isRequired,\n handlePublishAndUnpublish: PropTypes.func.isRequired,\n isSaveButtonAvailable: PropTypes.bool.isRequired,\n isEnablePublishButton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]).isRequired,\n isEnablePreviewButton: PropTypes.bool.isRequired,\n toggleCopyModal: PropTypes.func.isRequired,\n toggleModal: PropTypes.func.isRequired,\n formData: PropTypes.object,\n onViewUrl: PropTypes.func.isRequired,\n saveButtonText: PropTypes.string,\n saveOnChange: PropTypes.bool.isRequired\n};\n\nEntityHeader.defaultProps = {\n entityData: {},\n entityIdentifier: '',\n formData: null,\n pageName: '',\n saveButtonText: 'save'\n};\n\nEntityHeader.displayName = 'EntityHeader';\n\nexport default EntityHeader;\n"],"mappings":"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","ignoreList":[]}
@@ -40,6 +40,7 @@ var _admin = require("@blaze-cms/admin");
40
40
  var _toaster = require("@blaze-react/toaster");
41
41
  var _pluginRenderHooksUi = require("@blaze-cms/plugin-render-hooks-ui");
42
42
  var _ListingTableContent = _interopRequireDefault(require("./ListingTableContent"));
43
+ var _SearchFilter = _interopRequireDefault(require("./SearchFilter/SearchFilter"));
43
44
  var _actionsHandlers = _interopRequireDefault(require("../EntityManager/Entity/actions-handlers"));
44
45
  var _service = require("./service");
45
46
  var _populateRows = require("./mappers/populate-rows");
@@ -103,7 +104,7 @@ var ListingTable = function ListingTable(_ref) {
103
104
  offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit
104
105
  });
105
106
  _context.next = 4;
106
- return doQuery(listFilters, updatedQueryParams);
107
+ return doQuery([], updatedQueryParams);
107
108
  case 4:
108
109
  setPreviousSchema({
109
110
  id: entitySchema.id
@@ -338,13 +339,20 @@ var ListingTable = function ListingTable(_ref) {
338
339
  schema: entitySchema,
339
340
  listFilters: listFilters,
340
341
  setListFilters: updateListingFilters
342
+ }), /*#__PURE__*/_react["default"].createElement(_SearchFilter["default"], {
343
+ schema: entitySchema,
344
+ listFilters: listFilters,
345
+ setListFilters: updateListingFilters
341
346
  }), /*#__PURE__*/_react["default"].createElement(_ListingTableContent["default"], {
342
347
  totalItems: totalItems,
343
348
  currentPage: currentPage,
344
349
  onSort: handleSort,
345
350
  handleOnPageChange: handleOnPageChange,
346
351
  tableData: tableData,
347
- onCloseCardPrompt: onCloseCardPrompt
352
+ onCloseCardPrompt: onCloseCardPrompt,
353
+ schema: entitySchema,
354
+ listFilters: listFilters,
355
+ setListFilters: updateListingFilters
348
356
  })));
349
357
  };
350
358
  ListingTable.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"ListingTable.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_more","_client","_reactRouterDom","_admin","_toaster","_pluginRenderHooksUi","_ListingTableContent","_actionsHandlers","_service","_populateRows","_getDefaultQueryParams","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ListingTable","_ref","match","entitySchema","history","_useState","useState","_useState2","_slicedToArray2","tableData","setTableData","_useState3","_useState4","modalStatus","setModalStatus","_useState5","_useState6","itemToDelete","setItemToDelete","_useState7","id","_useState8","previousSchema","setPreviousSchema","_useState9","_useState10","totalItems","setTotalItems","queryParamsDefault","getDefaultQueryParams","_useState11","_useState12","queryParams","setQueryParams","_useState13","_useState14","listFilters","setListFilters","client","useApolloClient","_useToasts","useToasts","addToast","location","useLocation","searchParams","URLSearchParams","search","currentPage","Number","useEffect","_asyncToGenerator2","_regenerator","mark","_callee","updatedQueryParams","wrap","_callee$","_context","prev","next","offset","limit","doQuery","stop","url","_ref3","_callee2","filters","params","_yield$fetchData","listingData","totalRecords","populatedTable","_args2","_callee2$","_context2","undefined","fetchData","querySettings","sent","populateRows","toggleModal","rows","handleOnPageChange","_ref5","_callee3","_ref4","pageNumber","_offset","_callee3$","_context3","concat","document","getElementsByClassName","scrollTo","_x","updateListingFilters","_ref6","_callee4","_callee4$","_context4","_x2","onCloseCardPrompt","item","deleteAction","_ref7","_callee5","updatedTableData","_callee5$","_context5","availableActions","submit","parsedFormValues","_ref8","handleSort","_ref9","_callee6","event","_Object$entries","_Object$entries2","_Object$entries2$","property","direction","sortQueryParams","_yield$fetchData2","columns","isEnquiry","_columns","firstColumn","_callee6$","_context6","entries","sort","appliedSort","formatRows","getParsedRowData","_x3","_entitySchema$display","displayProperties","_entitySchema$display2","_entitySchema$display3","adminCrudActions","_entitySchema$display4","_entitySchema$display5","create","createAction","active","_entitySchema$display6","_deleteAction","showAddButton","createElement","className","DeleteAction","onClose","itemName","name","PageHeader","title","displayName","subtitle","Fragment","Link","to","Actions","Avatar","isMoreMenu","Content","CardPrompt","RenderHook","hookKey","schema","onSort","propTypes","PropTypes","object","isRequired","_default","exports","withRouter"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows, getParsedRowData } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst ListingTable = ({ match, entitySchema, history }) => {\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 [totalItems, setTotalItems] = useState(0);\n const queryParamsDefault = getDefaultQueryParams(entitySchema);\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const [listFilters, setListFilters] = useState([]);\n const client = useApolloClient();\n const { addToast } = useToasts();\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const currentPage = Number(searchParams.get('page')) || 1;\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery(listFilters, updatedQueryParams);\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 doQuery = async (filters = listFilters, params = queryParamsDefault) => {\n const { listingData, totalRecords } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: params\n },\n listFilters: filters\n });\n\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: listingData\n });\n\n setTableData(populatedTable);\n setTotalItems(totalRecords);\n };\n\n const handleOnPageChange = async ({ pageNumber, offset: _offset }) => {\n const updatedQueryParams = {\n ...queryParams,\n offset: _offset\n };\n\n await doQuery(listFilters, updatedQueryParams);\n\n history.push(`?page=${pageNumber}`);\n document.getElementsByClassName('page')[0].scrollTo(0, 0);\n };\n\n const updateListingFilters = async filters => {\n await doQuery(filters);\n setListFilters(filters);\n };\n\n const onCloseCardPrompt = () => null;\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 setQueryParams(sortQueryParams);\n\n const { listingData } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n },\n listFilters\n });\n const { columns, isEnquiry } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({\n rows: getParsedRowData(listingData),\n url: match.url,\n toggleModal,\n firstColumn,\n isEnquiry,\n entitySchema\n })\n });\n history.push('?page=1');\n };\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <>\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 </>\n )}\n </PageHeader>\n {showAddButton ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <ListingTableContent\n totalItems={totalItems}\n currentPage={currentPage}\n onSort={handleSort}\n handleOnPageChange={handleOnPageChange}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n />\n </>\n )}\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListingTable.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_more","_client","_reactRouterDom","_admin","_toaster","_pluginRenderHooksUi","_ListingTableContent","_SearchFilter","_actionsHandlers","_service","_populateRows","_getDefaultQueryParams","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ListingTable","_ref","match","entitySchema","history","_useState","useState","_useState2","_slicedToArray2","tableData","setTableData","_useState3","_useState4","modalStatus","setModalStatus","_useState5","_useState6","itemToDelete","setItemToDelete","_useState7","id","_useState8","previousSchema","setPreviousSchema","_useState9","_useState10","totalItems","setTotalItems","queryParamsDefault","getDefaultQueryParams","_useState11","_useState12","queryParams","setQueryParams","_useState13","_useState14","listFilters","setListFilters","client","useApolloClient","_useToasts","useToasts","addToast","location","useLocation","searchParams","URLSearchParams","search","currentPage","Number","useEffect","_asyncToGenerator2","_regenerator","mark","_callee","updatedQueryParams","wrap","_callee$","_context","prev","next","offset","limit","doQuery","stop","url","_ref3","_callee2","filters","params","_yield$fetchData","listingData","totalRecords","populatedTable","_args2","_callee2$","_context2","undefined","fetchData","querySettings","sent","populateRows","toggleModal","rows","handleOnPageChange","_ref5","_callee3","_ref4","pageNumber","_offset","_callee3$","_context3","concat","document","getElementsByClassName","scrollTo","_x","updateListingFilters","_ref6","_callee4","_callee4$","_context4","_x2","onCloseCardPrompt","item","deleteAction","_ref7","_callee5","updatedTableData","_callee5$","_context5","availableActions","submit","parsedFormValues","_ref8","handleSort","_ref9","_callee6","event","_Object$entries","_Object$entries2","_Object$entries2$","property","direction","sortQueryParams","_yield$fetchData2","columns","isEnquiry","_columns","firstColumn","_callee6$","_context6","entries","sort","appliedSort","formatRows","getParsedRowData","_x3","_entitySchema$display","displayProperties","_entitySchema$display2","_entitySchema$display3","adminCrudActions","_entitySchema$display4","_entitySchema$display5","create","createAction","active","_entitySchema$display6","_deleteAction","showAddButton","createElement","className","DeleteAction","onClose","itemName","name","PageHeader","title","displayName","subtitle","Fragment","Link","to","Actions","Avatar","isMoreMenu","Content","CardPrompt","RenderHook","hookKey","schema","onSort","propTypes","PropTypes","object","isRequired","_default","exports","withRouter"],"sources":["../../../src/components/ListingTable/ListingTable.js"],"sourcesContent":["import React, { useEffect, useState, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport More from '@blaze-react/more';\nimport { useApolloClient } from '@apollo/client';\nimport { withRouter, Link, useLocation } from 'react-router-dom';\nimport { PageHeader, DeleteAction, CardPrompt } from '@blaze-cms/admin';\nimport { useToasts } from '@blaze-react/toaster';\nimport { RenderHook } from '@blaze-cms/plugin-render-hooks-ui';\nimport ListingTableContent from './ListingTableContent';\nimport SearchFilter from './SearchFilter/SearchFilter';\nimport availableActions from '../EntityManager/Entity/actions-handlers';\nimport { fetchData } from './service';\nimport { populateRows, formatRows, getParsedRowData } from './mappers/populate-rows';\nimport { getDefaultQueryParams } from '../../utils/get-default-query-params';\n\nconst ListingTable = ({ match, entitySchema, history }) => {\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 [totalItems, setTotalItems] = useState(0);\n const queryParamsDefault = getDefaultQueryParams(entitySchema);\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\n const [listFilters, setListFilters] = useState([]);\n const client = useApolloClient();\n const { addToast } = useToasts();\n const location = useLocation();\n const searchParams = new URLSearchParams(location.search);\n const currentPage = Number(searchParams.get('page')) || 1;\n\n useEffect(\n () => {\n (async () => {\n if (\n entitySchema.id !== previousSchema.id ||\n (previousSchema.id === null && entitySchema.id)\n ) {\n const updatedQueryParams = {\n ...queryParams,\n offset: currentPage * queryParamsDefault.limit - queryParamsDefault.limit\n };\n await doQuery([], updatedQueryParams);\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 doQuery = async (filters = listFilters, params = queryParamsDefault) => {\n const { listingData, totalRecords } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: params\n },\n listFilters: filters\n });\n\n const populatedTable = populateRows({\n toggleModal,\n url: match.url,\n entitySchema,\n rows: listingData\n });\n\n setTableData(populatedTable);\n setTotalItems(totalRecords);\n };\n\n const handleOnPageChange = async ({ pageNumber, offset: _offset }) => {\n const updatedQueryParams = {\n ...queryParams,\n offset: _offset\n };\n\n await doQuery(listFilters, updatedQueryParams);\n\n history.push(`?page=${pageNumber}`);\n document.getElementsByClassName('page')[0].scrollTo(0, 0);\n };\n\n const updateListingFilters = async filters => {\n await doQuery(filters);\n setListFilters(filters);\n };\n\n const onCloseCardPrompt = () => null;\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 setQueryParams(sortQueryParams);\n\n const { listingData } = await fetchData({\n client,\n querySettings: {\n entitySchema,\n queryParams: sortQueryParams\n },\n listFilters\n });\n const { columns, isEnquiry } = tableData;\n const [firstColumn] = columns;\n\n setTableData({\n ...tableData,\n appliedSort: { [property]: direction },\n rows: formatRows({\n rows: getParsedRowData(listingData),\n url: match.url,\n toggleModal,\n firstColumn,\n isEnquiry,\n entitySchema\n })\n });\n history.push('?page=1');\n };\n if (!tableData || !tableData.rows) return 'loading';\n\n const {\n displayProperties: {\n adminCrudActions: {\n create: createAction = { active: true },\n delete: _deleteAction = { active: true }\n } = {}\n } = {}\n } = entitySchema;\n\n const showAddButton = !tableData.rows.length && listFilters.length === 0;\n\n return (\n <div className=\"page\">\n {modalStatus && _deleteAction.active && (\n <DeleteAction\n data-testid=\"deleteEntity\"\n onClose={toggleModal}\n deleteAction={deleteAction}\n itemName={itemToDelete.name}\n />\n )}\n <PageHeader title={entitySchema.displayName} subtitle=\"\">\n {createAction.active && !showAddButton && (\n <>\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 </>\n )}\n </PageHeader>\n {showAddButton ? (\n <CardPrompt>\n <Link\n className=\"button button--rounded button--cta\"\n to={`${match.url}/create`}\n data-testid=\"add-button\">\n Add\n </Link>\n </CardPrompt>\n ) : (\n <>\n <RenderHook\n hookKey=\"entity:listing:main:top\"\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <SearchFilter\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n <ListingTableContent\n totalItems={totalItems}\n currentPage={currentPage}\n onSort={handleSort}\n handleOnPageChange={handleOnPageChange}\n tableData={tableData}\n onCloseCardPrompt={onCloseCardPrompt}\n schema={entitySchema}\n listFilters={listFilters}\n setListFilters={updateListingFilters}\n />\n </>\n )}\n </div>\n );\n};\nListingTable.propTypes = {\n entitySchema: PropTypes.object.isRequired,\n match: PropTypes.object.isRequired,\n history: PropTypes.object.isRequired\n};\n\nexport default withRouter(ListingTable);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,313 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.object.define-properties.js");
5
+ require("core-js/modules/es.object.define-property.js");
6
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
7
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
8
+ require("core-js/modules/es.weak-map.js");
9
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
10
+ var _typeof = require("@babel/runtime/helpers/typeof");
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ exports["default"] = void 0;
15
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
16
+ require("core-js/modules/es.array.filter.js");
17
+ require("core-js/modules/es.array.find.js");
18
+ require("core-js/modules/es.array.for-each.js");
19
+ require("core-js/modules/es.array.is-array.js");
20
+ require("core-js/modules/es.array.iterator.js");
21
+ require("core-js/modules/es.array.join.js");
22
+ require("core-js/modules/es.array.map.js");
23
+ require("core-js/modules/es.array.reduce.js");
24
+ require("core-js/modules/es.function.name.js");
25
+ require("core-js/modules/es.object.entries.js");
26
+ require("core-js/modules/es.object.keys.js");
27
+ require("core-js/modules/es.object.to-string.js");
28
+ require("core-js/modules/es.promise.js");
29
+ require("core-js/modules/es.string.iterator.js");
30
+ require("core-js/modules/web.dom-collections.for-each.js");
31
+ require("core-js/modules/web.dom-collections.iterator.js");
32
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
33
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
34
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
35
+ var _react = _interopRequireWildcard(require("react"));
36
+ var _propTypes = _interopRequireDefault(require("prop-types"));
37
+ var _select = _interopRequireDefault(require("@blaze-react/select"));
38
+ var _client = require("@apollo/client");
39
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
40
+ var _bs = require("react-icons/bs");
41
+ var _helpers = require("./helpers");
42
+ var _querys = require("./querys");
43
+ var _constants = require("../../../constants");
44
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
45
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
46
+ 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; }
47
+ 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; }
48
+ var SearchContainer = function SearchContainer(_ref) {
49
+ var setListFilters = _ref.setListFilters,
50
+ _ref$keywordFiltersTo = _ref.keywordFiltersToUse,
51
+ keywordFiltersToUse = _ref$keywordFiltersTo === void 0 ? [] : _ref$keywordFiltersTo,
52
+ _ref$selectFiltersToD = _ref.selectFiltersToDisplay,
53
+ selectFiltersToDisplay = _ref$selectFiltersToD === void 0 ? [] : _ref$selectFiltersToD,
54
+ schema = _ref.schema,
55
+ index = _ref.index;
56
+ var apolloClient = (0, _client.useApolloClient)();
57
+ var _useState = (0, _react.useState)(''),
58
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
59
+ searchTerm = _useState2[0],
60
+ setSearchTerm = _useState2[1];
61
+ var _useState3 = (0, _react.useState)({}),
62
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
63
+ selectedFilters = _useState4[0],
64
+ setSelectedFilters = _useState4[1];
65
+ var _useState5 = (0, _react.useState)([]),
66
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
67
+ selectOptions = _useState6[0],
68
+ setSelectOptions = _useState6[1];
69
+ var displaySearchFilter = keywordFiltersToUse.length > 0;
70
+ var displaySelectFilters = selectFiltersToDisplay.length > 0;
71
+ var _useMemo = (0, _react.useMemo)(function () {
72
+ var labels = [];
73
+ var properties = [];
74
+ keywordFiltersToUse.forEach(function (_ref2) {
75
+ var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
76
+ property = _ref3[0],
77
+ label = _ref3[1].label;
78
+ if (label) labels.push(label);
79
+ properties.push(property);
80
+ });
81
+ return {
82
+ keywordSearchProperties: properties,
83
+ keywordSearchLabels: labels
84
+ };
85
+ }, [keywordFiltersToUse]),
86
+ keywordSearchProperties = _useMemo.keywordSearchProperties,
87
+ keywordSearchLabels = _useMemo.keywordSearchLabels;
88
+ var _useMemo2 = (0, _react.useMemo)(function () {
89
+ return (0, _helpers.buildQueryFields)(selectFiltersToDisplay, schema.id);
90
+ }, [selectFiltersToDisplay, schema.id]),
91
+ gqlFields = _useMemo2.gqlFields,
92
+ rawQuery = _useMemo2.rawQuery;
93
+ var action = displaySelectFilters ? (0, _adminUiUtils.getDynamicQuery)('ADMIN_SEARCH')([schema], gqlFields, false, index) : _querys.NOOP_QUERY;
94
+ var _useQuery = (0, _client.useQuery)(action, {
95
+ skip: !displaySelectFilters,
96
+ variables: {
97
+ where: rawQuery,
98
+ limit: 0
99
+ },
100
+ fetchPolicy: 'cache-and-network'
101
+ }),
102
+ data = _useQuery.data;
103
+ var filterData = (0, _react.useMemo)(function () {
104
+ var _ref4 = data || {},
105
+ _ref4$searchResults = _ref4.searchResults,
106
+ _ref4$searchResults2 = _ref4$searchResults === void 0 ? {} : _ref4$searchResults,
107
+ _ref4$searchResults2$ = _ref4$searchResults2.rawResults,
108
+ _ref4$searchResults2$2 = _ref4$searchResults2$ === void 0 ? {} : _ref4$searchResults2$,
109
+ _ref4$searchResults2$3 = _ref4$searchResults2$2.aggregations,
110
+ aggregations = _ref4$searchResults2$3 === void 0 ? {} : _ref4$searchResults2$3;
111
+ var proccessedData = [];
112
+ Object.entries(aggregations).forEach(function (_ref5) {
113
+ var _ref6 = (0, _slicedToArray2["default"])(_ref5, 2),
114
+ key = _ref6[0],
115
+ buckets = _ref6[1].buckets;
116
+ proccessedData.push(Array.isArray(buckets) ? [key, buckets.map(function (b) {
117
+ return b.key;
118
+ }).filter(Boolean)] : []);
119
+ });
120
+ return proccessedData;
121
+ }, [data]);
122
+ (0, _react.useEffect)(function () {
123
+ if (!filterData.length) {
124
+ setSelectOptions([]);
125
+ return;
126
+ }
127
+ (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
128
+ var results;
129
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
130
+ while (1) switch (_context2.prev = _context2.next) {
131
+ case 0:
132
+ _context2.next = 2;
133
+ return Promise.all(filterData.map(/*#__PURE__*/function () {
134
+ var _ref9 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(_ref8) {
135
+ var _ref10, property, ids, _ref11, _ref12, selectionDetails, query, _yield$apolloClient$q, _yield$apolloClient$q2, relationSchema, _yield$apolloClient$q3, _yield$apolloClient$q4, selected;
136
+ return _regenerator["default"].wrap(function _callee$(_context) {
137
+ while (1) switch (_context.prev = _context.next) {
138
+ case 0:
139
+ _ref10 = (0, _slicedToArray2["default"])(_ref8, 2), property = _ref10[0], ids = _ref10[1];
140
+ _context.prev = 1;
141
+ if (!(!ids || !ids.length)) {
142
+ _context.next = 4;
143
+ break;
144
+ }
145
+ return _context.abrupt("return", {});
146
+ case 4:
147
+ _ref11 = selectFiltersToDisplay.find(function (_ref13) {
148
+ var _ref14 = (0, _slicedToArray2["default"])(_ref13, 1),
149
+ selectProperty = _ref14[0];
150
+ return selectProperty === property;
151
+ }) || [], _ref12 = (0, _slicedToArray2["default"])(_ref11, 2), selectionDetails = _ref12[1];
152
+ if (selectionDetails) {
153
+ _context.next = 7;
154
+ break;
155
+ }
156
+ return _context.abrupt("return", null);
157
+ case 7:
158
+ if (selectionDetails.relation) {
159
+ _context.next = 9;
160
+ break;
161
+ }
162
+ return _context.abrupt("return", {
163
+ id: property,
164
+ label: selectionDetails.label,
165
+ options: ids.map(function (value) {
166
+ return [value, value];
167
+ })
168
+ });
169
+ case 9:
170
+ query = (0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA');
171
+ _context.next = 12;
172
+ return apolloClient.query({
173
+ query: query,
174
+ variables: {
175
+ identifier: selectionDetails.relation.entityIdentifier
176
+ }
177
+ });
178
+ case 12:
179
+ _yield$apolloClient$q = _context.sent;
180
+ _yield$apolloClient$q2 = (0, _slicedToArray2["default"])(_yield$apolloClient$q.data.getEntitySchemas, 1);
181
+ relationSchema = _yield$apolloClient$q2[0];
182
+ _context.next = 17;
183
+ return apolloClient.query({
184
+ query: (0, _adminUiUtils.getDynamicQuery)('GET_ALL_ENTITIES')(relationSchema),
185
+ variables: {
186
+ where: {
187
+ id: {
188
+ _in: ids
189
+ }
190
+ },
191
+ sort: [{
192
+ property: 'name',
193
+ direction: 'asc'
194
+ }]
195
+ }
196
+ })
197
+ // eslint-disable-next-line no-console
198
+ ["catch"](function (e) {
199
+ return console.error(e);
200
+ });
201
+ case 17:
202
+ _yield$apolloClient$q3 = _context.sent;
203
+ _yield$apolloClient$q4 = _yield$apolloClient$q3.data.result;
204
+ selected = _yield$apolloClient$q4 === void 0 ? [] : _yield$apolloClient$q4;
205
+ return _context.abrupt("return", {
206
+ id: property,
207
+ label: selectionDetails.label,
208
+ options: selected.map(function (item) {
209
+ return [item.id, item.name];
210
+ })
211
+ });
212
+ case 23:
213
+ _context.prev = 23;
214
+ _context.t0 = _context["catch"](1);
215
+ return _context.abrupt("return", null);
216
+ case 26:
217
+ case "end":
218
+ return _context.stop();
219
+ }
220
+ }, _callee, null, [[1, 23]]);
221
+ }));
222
+ return function (_x) {
223
+ return _ref9.apply(this, arguments);
224
+ };
225
+ }()));
226
+ case 2:
227
+ results = _context2.sent;
228
+ setSelectOptions(results.filter(Boolean));
229
+ case 4:
230
+ case "end":
231
+ return _context2.stop();
232
+ }
233
+ }, _callee2);
234
+ }))();
235
+ }, [apolloClient, filterData, schema, selectFiltersToDisplay]);
236
+ var updateFilters = (0, _react.useCallback)(function (term, filters) {
237
+ return (0, _helpers.updateListFilters)(term, filters, setListFilters, keywordSearchProperties);
238
+ }, [setListFilters, keywordSearchProperties]);
239
+ var handleSearch = (0, _react.useCallback)(function () {
240
+ return updateFilters(searchTerm, selectedFilters);
241
+ }, [searchTerm, selectedFilters, updateFilters]);
242
+ var handleSearchChange = (0, _react.useCallback)(function (e) {
243
+ return setSearchTerm(e.target.value);
244
+ }, []);
245
+ var handleEnterKey = (0, _react.useCallback)(function (e) {
246
+ if (e.key === _constants.ENTER_KEY) handleSearch();
247
+ }, [handleSearch]);
248
+ var handleReset = (0, _react.useCallback)(function () {
249
+ setSearchTerm('');
250
+ setSelectedFilters(Object.keys(selectedFilters).reduce(function (acc, key) {
251
+ return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, key, _constants.DEFAULT_FILTER_OPTION_LABEL));
252
+ }, {}));
253
+ updateFilters('', {});
254
+ }, [selectedFilters, updateFilters]);
255
+ var handleSelect = (0, _react.useCallback)(function (property, event) {
256
+ var value = event.value;
257
+ var next = _objectSpread(_objectSpread({}, selectedFilters), {}, (0, _defineProperty2["default"])({}, property, value));
258
+ setSelectedFilters(next);
259
+ updateFilters(searchTerm, next);
260
+ }, [searchTerm, selectedFilters, updateFilters]);
261
+ var placeholderText = "Search ".concat(keywordSearchLabels.join(', '));
262
+ return /*#__PURE__*/_react["default"].createElement("div", {
263
+ className: "search-container"
264
+ }, displaySearchFilter && /*#__PURE__*/_react["default"].createElement("div", {
265
+ className: "search-container__search-input-container"
266
+ }, /*#__PURE__*/_react["default"].createElement("input", {
267
+ type: "search",
268
+ className: "search-container__search-input-container__search-input",
269
+ placeholder: placeholderText,
270
+ value: searchTerm,
271
+ onChange: handleSearchChange,
272
+ onKeyDown: handleEnterKey
273
+ }), /*#__PURE__*/_react["default"].createElement("i", {
274
+ role: "button",
275
+ onClick: handleSearch
276
+ }, /*#__PURE__*/_react["default"].createElement(_bs.BsSearch, null))), displaySelectFilters && selectOptions.map(function (_ref15) {
277
+ var id = _ref15.id,
278
+ options = _ref15.options,
279
+ label = _ref15.label;
280
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, options && !!options.length && /*#__PURE__*/_react["default"].createElement("div", {
281
+ className: "search-container__select-wrapper"
282
+ }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
283
+ label: label,
284
+ id: id,
285
+ name: id,
286
+ onChange: function onChange(event) {
287
+ return handleSelect(id, event);
288
+ },
289
+ options: options,
290
+ value: selectedFilters[id],
291
+ defaultTextValue: _constants.DEFAULT_FILTER_OPTION_LABEL
292
+ })));
293
+ }), /*#__PURE__*/_react["default"].createElement("div", {
294
+ className: "search-container__reset-button"
295
+ }, /*#__PURE__*/_react["default"].createElement("span", {
296
+ role: "button",
297
+ onClick: handleReset
298
+ }, /*#__PURE__*/_react["default"].createElement(_bs.BsArrowCounterclockwise, null))));
299
+ };
300
+ SearchContainer.propTypes = {
301
+ setListFilters: _propTypes["default"].func.isRequired,
302
+ keywordFiltersToUse: _propTypes["default"].array,
303
+ selectFiltersToDisplay: _propTypes["default"].array,
304
+ schema: _propTypes["default"].object.isRequired,
305
+ index: _propTypes["default"].string
306
+ };
307
+ SearchContainer.defaultProps = {
308
+ keywordFiltersToUse: [],
309
+ selectFiltersToDisplay: [],
310
+ index: 'admin'
311
+ };
312
+ var _default = exports["default"] = SearchContainer;
313
+ //# sourceMappingURL=SearchContainer.js.map