@blaze-cms/react-page-builder 0.131.1 → 0.132.0-admin-updates.1

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 (231) hide show
  1. package/CHANGELOG.md +101 -2
  2. package/lib/components/Button.js +2 -1
  3. package/lib/components/Button.js.map +1 -1
  4. package/lib/components/Card/CardsRender.js +13 -6
  5. package/lib/components/Card/CardsRender.js.map +1 -1
  6. package/lib/components/Card/helpers/get-updated-items-to-display.js +55 -0
  7. package/lib/components/Card/helpers/get-updated-items-to-display.js.map +1 -0
  8. package/lib/components/Card/helpers/index.js +7 -0
  9. package/lib/components/Card/helpers/index.js.map +1 -1
  10. package/lib/components/CarouselWrapper/SmoothScrollCarousel.js +2 -2
  11. package/lib/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -1
  12. package/lib/components/Code/Code.js +7 -3
  13. package/lib/components/Code/Code.js.map +1 -1
  14. package/lib/components/DataSummary/helpers/build-loop-props-content.js +6 -3
  15. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  16. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -2
  17. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  18. package/lib/components/DataSummary/helpers/get-link-to-published-content.js +2 -0
  19. package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  20. package/lib/components/List/ListFactory.js +16 -11
  21. package/lib/components/List/ListFactory.js.map +1 -1
  22. package/lib/components/List/helpers/get-list-query.js +43 -0
  23. package/lib/components/List/helpers/get-list-query.js.map +1 -0
  24. package/lib/components/List/helpers/get-list-specific-search-filter.js +21 -0
  25. package/lib/components/List/helpers/get-list-specific-search-filter.js.map +1 -0
  26. package/lib/components/List/helpers/index.js +14 -0
  27. package/lib/components/List/helpers/index.js.map +1 -1
  28. package/lib/components/List/helpers/strip-query-key.js +14 -0
  29. package/lib/components/List/helpers/strip-query-key.js.map +1 -0
  30. package/lib/components/SearchContent/SearchContent.js +8 -8
  31. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  32. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +17 -13
  33. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  34. package/lib/components/SearchFilter/SearchFilterContainer.js +64 -83
  35. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  36. package/lib/components/SearchFilter/helpers/build-filters-query.js +3 -1
  37. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  38. package/lib/components/SearchFilter/helpers/build-new-url.js +17 -0
  39. package/lib/components/SearchFilter/helpers/build-new-url.js.map +1 -0
  40. package/lib/components/SearchFilter/helpers/build-url-query.js +49 -0
  41. package/lib/components/SearchFilter/helpers/build-url-query.js.map +1 -0
  42. package/lib/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +32 -0
  43. package/lib/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +1 -0
  44. package/lib/components/SearchFilter/helpers/get-filter-values.js +31 -0
  45. package/lib/components/SearchFilter/helpers/get-filter-values.js.map +1 -0
  46. package/lib/components/SearchFilter/helpers/index.js +18 -11
  47. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  48. package/lib/components/SearchFilter/index.js.map +1 -1
  49. package/lib/components/SearchFilter/searchFilterReducer.js +43 -0
  50. package/lib/components/SearchFilter/searchFilterReducer.js.map +1 -0
  51. package/lib/components/SearchFilterSort/SearchFilterSort.js +31 -11
  52. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  53. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js +19 -5
  54. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  55. package/lib/components/SearchFilterSort/helpers/update-sort.js +9 -5
  56. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  57. package/lib/helpers/build-inherited-filters.js +2 -0
  58. package/lib/helpers/build-inherited-filters.js.map +1 -1
  59. package/lib/helpers/build-props-query.js +5 -2
  60. package/lib/helpers/build-props-query.js.map +1 -1
  61. package/lib/helpers/build-query-key.js +16 -0
  62. package/lib/helpers/build-query-key.js.map +1 -0
  63. package/lib/helpers/build-set-filters.js +5 -1
  64. package/lib/helpers/build-set-filters.js.map +1 -1
  65. package/lib/helpers/get-entities-with-banner.js +8 -2
  66. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  67. package/lib/helpers/get-query-filters.js +6 -8
  68. package/lib/helpers/get-query-filters.js.map +1 -1
  69. package/lib/helpers/get-query-props.js +13 -2
  70. package/lib/helpers/get-query-props.js.map +1 -1
  71. package/lib/helpers/get-wrapped-value-with-link.js +2 -3
  72. package/lib/helpers/get-wrapped-value-with-link.js.map +1 -1
  73. package/lib/helpers/index.js +14 -0
  74. package/lib/helpers/index.js.map +1 -1
  75. package/lib/helpers/parse-props-to-display.js +13 -8
  76. package/lib/helpers/parse-props-to-display.js.map +1 -1
  77. package/lib/helpers/process-data-summary-value.js +56 -0
  78. package/lib/helpers/process-data-summary-value.js.map +1 -0
  79. package/lib-es/components/Button.js +2 -1
  80. package/lib-es/components/Button.js.map +1 -1
  81. package/lib-es/components/Card/CardsRender.js +14 -7
  82. package/lib-es/components/Card/CardsRender.js.map +1 -1
  83. package/lib-es/components/Card/helpers/get-updated-items-to-display.js +32 -0
  84. package/lib-es/components/Card/helpers/get-updated-items-to-display.js.map +1 -0
  85. package/lib-es/components/Card/helpers/index.js +1 -0
  86. package/lib-es/components/Card/helpers/index.js.map +1 -1
  87. package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js +2 -2
  88. package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -1
  89. package/lib-es/components/Code/Code.js +8 -4
  90. package/lib-es/components/Code/Code.js.map +1 -1
  91. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +6 -3
  92. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  93. package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js +4 -3
  94. package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  95. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +2 -1
  96. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  97. package/lib-es/components/List/ListFactory.js +16 -12
  98. package/lib-es/components/List/ListFactory.js.map +1 -1
  99. package/lib-es/components/List/helpers/get-list-query.js +24 -0
  100. package/lib-es/components/List/helpers/get-list-query.js.map +1 -0
  101. package/lib-es/components/List/helpers/get-list-specific-search-filter.js +12 -0
  102. package/lib-es/components/List/helpers/get-list-specific-search-filter.js.map +1 -0
  103. package/lib-es/components/List/helpers/index.js +2 -0
  104. package/lib-es/components/List/helpers/index.js.map +1 -1
  105. package/lib-es/components/List/helpers/strip-query-key.js +6 -0
  106. package/lib-es/components/List/helpers/strip-query-key.js.map +1 -0
  107. package/lib-es/components/SearchContent/SearchContent.js +8 -8
  108. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  109. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +18 -13
  110. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  111. package/lib-es/components/SearchFilter/SearchFilterContainer.js +48 -70
  112. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  113. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +2 -0
  114. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  115. package/lib-es/components/SearchFilter/helpers/build-new-url.js +8 -0
  116. package/lib-es/components/SearchFilter/helpers/build-new-url.js.map +1 -0
  117. package/lib-es/components/SearchFilter/helpers/build-url-query.js +31 -0
  118. package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -0
  119. package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +18 -0
  120. package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +1 -0
  121. package/lib-es/components/SearchFilter/helpers/get-filter-values.js +19 -0
  122. package/lib-es/components/SearchFilter/helpers/get-filter-values.js.map +1 -0
  123. package/lib-es/components/SearchFilter/helpers/index.js +5 -4
  124. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  125. package/lib-es/components/SearchFilter/index.js +2 -2
  126. package/lib-es/components/SearchFilter/index.js.map +1 -1
  127. package/lib-es/components/SearchFilter/searchFilterReducer.js +26 -0
  128. package/lib-es/components/SearchFilter/searchFilterReducer.js.map +1 -0
  129. package/lib-es/components/SearchFilterSort/SearchFilterSort.js +26 -10
  130. package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  131. package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js +21 -4
  132. package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  133. package/lib-es/components/SearchFilterSort/helpers/update-sort.js +8 -4
  134. package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  135. package/lib-es/helpers/build-inherited-filters.js +2 -0
  136. package/lib-es/helpers/build-inherited-filters.js.map +1 -1
  137. package/lib-es/helpers/build-props-query.js +4 -2
  138. package/lib-es/helpers/build-props-query.js.map +1 -1
  139. package/lib-es/helpers/build-query-key.js +7 -0
  140. package/lib-es/helpers/build-query-key.js.map +1 -0
  141. package/lib-es/helpers/build-set-filters.js +5 -1
  142. package/lib-es/helpers/build-set-filters.js.map +1 -1
  143. package/lib-es/helpers/get-entities-with-banner.js +9 -2
  144. package/lib-es/helpers/get-entities-with-banner.js.map +1 -1
  145. package/lib-es/helpers/get-query-filters.js +6 -8
  146. package/lib-es/helpers/get-query-filters.js.map +1 -1
  147. package/lib-es/helpers/get-query-props.js +10 -2
  148. package/lib-es/helpers/get-query-props.js.map +1 -1
  149. package/lib-es/helpers/get-wrapped-value-with-link.js +2 -2
  150. package/lib-es/helpers/get-wrapped-value-with-link.js.map +1 -1
  151. package/lib-es/helpers/index.js +2 -0
  152. package/lib-es/helpers/index.js.map +1 -1
  153. package/lib-es/helpers/parse-props-to-display.js +12 -9
  154. package/lib-es/helpers/parse-props-to-display.js.map +1 -1
  155. package/lib-es/helpers/process-data-summary-value.js +36 -0
  156. package/lib-es/helpers/process-data-summary-value.js.map +1 -0
  157. package/package.json +10 -10
  158. package/src/components/Button.js +2 -1
  159. package/src/components/Card/CardsRender.js +27 -7
  160. package/src/components/Card/helpers/get-updated-items-to-display.js +32 -0
  161. package/src/components/Card/helpers/index.js +1 -0
  162. package/src/components/CarouselWrapper/SmoothScrollCarousel.js +2 -2
  163. package/src/components/Code/Code.js +7 -3
  164. package/src/components/DataSummary/helpers/build-loop-props-content.js +7 -3
  165. package/src/components/DataSummary/helpers/build-props-to-display-with-content.js +6 -3
  166. package/src/components/DataSummary/helpers/get-link-to-published-content.js +4 -1
  167. package/src/components/List/ListFactory.js +25 -15
  168. package/src/components/List/helpers/get-list-query.js +28 -0
  169. package/src/components/List/helpers/get-list-specific-search-filter.js +10 -0
  170. package/src/components/List/helpers/index.js +2 -0
  171. package/src/components/List/helpers/strip-query-key.js +6 -0
  172. package/src/components/SearchContent/SearchContent.js +8 -8
  173. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +21 -18
  174. package/src/components/SearchFilter/SearchFilterContainer.js +59 -67
  175. package/src/components/SearchFilter/helpers/build-filters-query.js +9 -1
  176. package/src/components/SearchFilter/helpers/build-new-url.js +8 -0
  177. package/src/components/SearchFilter/helpers/build-url-query.js +33 -0
  178. package/src/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +17 -0
  179. package/src/components/SearchFilter/helpers/get-filter-values.js +21 -0
  180. package/src/components/SearchFilter/helpers/index.js +9 -7
  181. package/src/components/SearchFilter/index.js +2 -2
  182. package/src/components/SearchFilter/searchFilterReducer.js +15 -0
  183. package/src/components/SearchFilterSort/SearchFilterSort.js +18 -8
  184. package/src/components/SearchFilterSort/helpers/handle-sort-update.js +14 -5
  185. package/src/components/SearchFilterSort/helpers/update-sort.js +7 -3
  186. package/src/helpers/build-inherited-filters.js +3 -1
  187. package/src/helpers/build-props-query.js +4 -2
  188. package/src/helpers/build-query-key.js +7 -0
  189. package/src/helpers/build-set-filters.js +2 -1
  190. package/src/helpers/get-entities-with-banner.js +3 -2
  191. package/src/helpers/get-query-filters.js +4 -4
  192. package/src/helpers/get-query-props.js +12 -4
  193. package/src/helpers/get-wrapped-value-with-link.js +6 -3
  194. package/src/helpers/index.js +2 -0
  195. package/src/helpers/parse-props-to-display.js +25 -21
  196. package/src/helpers/process-data-summary-value.js +22 -0
  197. package/tests/helpers/mocks.js +3 -5
  198. package/tests/unit/src/components/Card/helpers/get-updated-items-to-display.test.js +72 -0
  199. package/tests/unit/src/components/Code/Code.test.js +5 -0
  200. package/tests/unit/src/components/Code/__snapshots__/Code.test.js.snap +8 -0
  201. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +50 -0
  202. package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +21 -0
  203. package/tests/unit/src/components/PlaceholderIcon/__snapshots__/index.test.js.snap +72 -0
  204. package/tests/unit/src/components/PlaceholderIcon/index.test.js +20 -0
  205. package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +1 -7
  206. package/tests/unit/src/components/SearchFilter/helpers/build-new-query.test.js +10 -10
  207. package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +24 -7
  208. package/tests/unit/src/components/SearchFilter/helpers/get-initial-filter-values.test.js +10 -10
  209. package/tests/unit/src/components/SearchFilterSort/SearchFilterSort.test.js +4 -1
  210. package/tests/unit/src/components/SearchFilterSort/helpers/handle-sort-update.test.js +26 -19
  211. package/tests/unit/src/components/SearchFilterSort/helpers/update-sort.test.js +10 -1
  212. package/tests/unit/src/helpers/__snapshots__/get-wrapped-value-with-link.test.js.snap +18 -0
  213. package/tests/unit/src/helpers/build-props-query.test.js +25 -0
  214. package/tests/unit/src/helpers/get-wrapped-value-with-link.test.js +2 -2
  215. package/tests/unit/src/helpers/parse-props-to-display.test.js +4 -0
  216. package/tests/unit/src/helpers/prcoess-data-summary-value.test.js +52 -0
  217. package/lib/components/SearchFilter/helpers/build-new-query.js +0 -15
  218. package/lib/components/SearchFilter/helpers/build-new-query.js.map +0 -1
  219. package/lib/components/SearchFilter/helpers/build-query.js +0 -37
  220. package/lib/components/SearchFilter/helpers/build-query.js.map +0 -1
  221. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +0 -43
  222. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +0 -1
  223. package/lib-es/components/SearchFilter/helpers/build-new-query.js +0 -6
  224. package/lib-es/components/SearchFilter/helpers/build-new-query.js.map +0 -1
  225. package/lib-es/components/SearchFilter/helpers/build-query.js +0 -23
  226. package/lib-es/components/SearchFilter/helpers/build-query.js.map +0 -1
  227. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +0 -26
  228. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +0 -1
  229. package/src/components/SearchFilter/helpers/build-new-query.js +0 -6
  230. package/src/components/SearchFilter/helpers/build-query.js +0 -26
  231. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +0 -30
@@ -30,6 +30,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
30
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
  var SearchFilter = function SearchFilter(_ref) {
32
32
  var searchFilterRef = _ref.searchFilterRef,
33
+ listComponentName = _ref.listComponentName,
33
34
  data = _ref.data,
34
35
  filters = _ref.filters,
35
36
  hasUrl = _ref.hasUrl,
@@ -42,7 +43,8 @@ var SearchFilter = function SearchFilter(_ref) {
42
43
  groupAfterDesktop = _ref.groupAfterDesktop,
43
44
  groupAfterMobile = _ref.groupAfterMobile,
44
45
  filterValues = _ref.filterValues,
45
- setAppliedFilters = _ref.setAppliedFilters;
46
+ setAppliedFilters = _ref.setAppliedFilters,
47
+ query = _ref.query;
46
48
  var _useState = (0, _react.useState)(true),
47
49
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
48
50
  moreFiltersMobileCollapsed = _useState2[0],
@@ -51,9 +53,8 @@ var SearchFilter = function SearchFilter(_ref) {
51
53
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
52
54
  moreFiltersDesktopCollapsed = _useState4[0],
53
55
  setMoreFiltersDesktopCollapsed = _useState4[1];
54
- var doSubmit = function doSubmit() {
55
- var newValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : filterValues;
56
- var newQuery = (0, _helpers.buildQuery)(newValues, filters);
56
+ var doSubmit = function doSubmit(newValues) {
57
+ var newQuery = (0, _helpers.buildUrlQuery)(newValues, filters, listComponentName, query);
57
58
  handleSearch(newQuery);
58
59
  setMoreFiltersDesktopCollapsed(true);
59
60
  setMoreFiltersMobileCollapsed(true);
@@ -80,12 +81,10 @@ var SearchFilter = function SearchFilter(_ref) {
80
81
  moreFiltersDesktopTogglerClass = _getResponsiveFilterC.moreFiltersDesktopTogglerClass;
81
82
  var formId = "filter-".concat(name, "-form");
82
83
  var handleReset = function handleReset() {
83
- var newValues = (0, _helpers.getInitialFilterValues)(null, filters, {});
84
84
  setAppliedFilters({
85
- newValues: newValues,
86
85
  type: 'reset'
87
86
  });
88
- doSubmit(newValues);
87
+ doSubmit();
89
88
  };
90
89
  var updateFilterValues = function updateFilterValues(newValues, shouldSubmit) {
91
90
  setAppliedFilters({
@@ -95,7 +94,6 @@ var SearchFilter = function SearchFilter(_ref) {
95
94
  });
96
95
  };
97
96
  var shouldGroup = !!(groupAfterDesktop || groupAfterMobile);
98
- var shouldSearch = !hasUrl;
99
97
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("form", {
100
98
  ref: searchFilterRef,
101
99
  className: formClass,
@@ -103,7 +101,7 @@ var SearchFilter = function SearchFilter(_ref) {
103
101
  id: formId,
104
102
  onSubmit: function onSubmit(e) {
105
103
  e.preventDefault();
106
- doSubmit();
104
+ doSubmit(filterValues);
107
105
  }
108
106
  }, displaySearchFilter && /*#__PURE__*/_react["default"].createElement(_CloseMobileForm["default"], {
109
107
  handleClose: function handleClose() {
@@ -116,7 +114,7 @@ var SearchFilter = function SearchFilter(_ref) {
116
114
  }), /*#__PURE__*/_react["default"].createElement("div", {
117
115
  className: "filter__wrapper filter__wrapper--search-refine"
118
116
  }, !shouldGroup && /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
119
- shouldSearch: shouldSearch,
117
+ shouldSearch: !hasUrl,
120
118
  data: data,
121
119
  filters: filters,
122
120
  hasUrl: hasUrl,
@@ -124,7 +122,7 @@ var SearchFilter = function SearchFilter(_ref) {
124
122
  filterValues: filterValues,
125
123
  updateFilterValues: updateFilterValues
126
124
  }), shouldGroup && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
127
- shouldSearch: shouldSearch,
125
+ shouldSearch: !hasUrl,
128
126
  data: data,
129
127
  filters: filters.slice(0, groupAfterMobile),
130
128
  hasUrl: hasUrl,
@@ -143,7 +141,7 @@ var SearchFilter = function SearchFilter(_ref) {
143
141
  }, /*#__PURE__*/_react["default"].createElement("div", {
144
142
  className: _constants.MORE_FILTERS_CLASSES.MOBILE_CONTENT
145
143
  }, /*#__PURE__*/_react["default"].createElement(_FiltersList["default"], {
146
- shouldSearch: shouldSearch && (0, _helpers.isDeviceDesktop)(),
144
+ shouldSearch: !hasUrl && (0, _helpers.isDeviceDesktop)(),
147
145
  data: data,
148
146
  filters: filters.slice(groupAfterMobile, groupAfterDesktop ? groupAfterDesktop - 1 : 0),
149
147
  hasUrl: hasUrl,
@@ -213,7 +211,13 @@ SearchFilter.propTypes = {
213
211
  groupAfterDesktop: _propTypes["default"].number.isRequired,
214
212
  groupAfterMobile: _propTypes["default"].number.isRequired,
215
213
  filterValues: _propTypes["default"].object.isRequired,
216
- setAppliedFilters: _propTypes["default"].func.isRequired
214
+ setAppliedFilters: _propTypes["default"].func.isRequired,
215
+ listComponentName: _propTypes["default"].string,
216
+ query: _propTypes["default"].object
217
+ };
218
+ SearchFilter.defaultProps = {
219
+ listComponentName: '',
220
+ query: {}
217
221
  };
218
222
  var _default = SearchFilter;
219
223
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_lodash","_FiltersList","_helpers","_CloseMobileForm","_ResetDesktopForm","_MobileFormToolbar","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SearchFilter","_ref","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","_useState","useState","_useState2","_slicedToArray2","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","_useState3","_useState4","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","arguments","length","undefined","newQuery","buildQuery","handleSubmit","debounce","useEffect","shouldSearch","type","formClass","classnames","_getResponsiveFilterC","getResponsiveFilterClassnames","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","concat","handleReset","getInitialFilterValues","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MORE_FILTERS_CLASSES","MOBILE_CONTENT","isDeviceDesktop","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","role","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number","_default","exports"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildQuery,\n getInitialFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getInitialFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n const shouldSearch = !hasUrl;\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit();\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={shouldSearch}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={shouldSearch && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_lodash","_FiltersList","_helpers","_CloseMobileForm","_ResetDesktopForm","_MobileFormToolbar","_constants","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SearchFilter","_ref","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","_useState","useState","_useState2","_slicedToArray2","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","_useState3","_useState4","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","buildUrlQuery","handleSubmit","debounce","useEffect","shouldSearch","type","formClass","classnames","_getResponsiveFilterC","getResponsiveFilterClassnames","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","concat","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MORE_FILTERS_CLASSES","MOBILE_CONTENT","isDeviceDesktop","DESKTOP_CONTENT","DESKTOP_BUTTONS","SEARCH","MOBILE_BUTTONS","role","REFINE","propTypes","PropTypes","object","isRequired","array","bool","string","func","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -1,35 +1,29 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.object.get-own-property-descriptor.js");
6
- require("core-js/modules/es.object.get-own-property-descriptors.js");
7
- require("core-js/modules/es.object.define-properties.js");
8
- require("core-js/modules/es.object.define-property.js");
9
3
  require("core-js/modules/es.array.iterator.js");
10
4
  require("core-js/modules/es.string.iterator.js");
11
5
  require("core-js/modules/es.weak-map.js");
12
6
  require("core-js/modules/web.dom-collections.iterator.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
13
9
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
14
10
  var _typeof = require("@babel/runtime/helpers/typeof");
15
11
  Object.defineProperty(exports, "__esModule", {
16
12
  value: true
17
13
  });
18
14
  exports["default"] = void 0;
19
- require("core-js/modules/es.function.name.js");
20
- require("core-js/modules/es.array.sort.js");
21
- require("core-js/modules/es.array.concat.js");
15
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
22
16
  require("core-js/modules/es.array.for-each.js");
23
17
  require("core-js/modules/es.object.to-string.js");
24
18
  require("core-js/modules/web.dom-collections.for-each.js");
25
- require("core-js/modules/es.array.includes.js");
26
- require("core-js/modules/es.string.includes.js");
27
19
  require("core-js/modules/es.object.keys.js");
20
+ require("core-js/modules/es.array.index-of.js");
21
+ require("core-js/modules/es.array.is-array.js");
22
+ require("core-js/modules/es.array.map.js");
23
+ require("core-js/modules/es.function.name.js");
24
+ require("core-js/modules/es.array.concat.js");
28
25
  require("core-js/modules/es.date.now.js");
29
26
  require("core-js/modules/es.date.to-string.js");
30
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
31
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
32
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
33
27
  var _react = _interopRequireWildcard(require("react"));
34
28
  var _router = require("next/router");
35
29
  var _client = require("@apollo/client");
@@ -42,31 +36,23 @@ var _helpers = require("./helpers");
42
36
  var _helpers2 = require("../../helpers");
43
37
  var _constants = require("./constants");
44
38
  var _constants2 = require("../../constants");
39
+ var _searchFilterReducer = _interopRequireDefault(require("./searchFilterReducer"));
45
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
46
41
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
48
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
- var reducer = function reducer(state, action) {
50
- var newValues = action.newValues,
51
- type = action.type,
52
- _action$shouldSearch = action.shouldSearch,
53
- shouldSearch = _action$shouldSearch === void 0 ? true : _action$shouldSearch;
54
- switch (type) {
55
- case 'update':
56
- return _objectSpread(_objectSpread(_objectSpread({}, state), newValues), {}, {
57
- shouldSearch: shouldSearch
58
- });
59
- case 'resetSearch':
60
- return _objectSpread(_objectSpread({}, state), {}, {
61
- shouldSearch: false
62
- });
63
- case 'reset':
64
- return _objectSpread(_objectSpread({}, newValues), {}, {
65
- shouldSearch: false
66
- });
67
- default:
68
- throw new Error();
69
- }
42
+ var getFiltersUrlQuery = function getFiltersUrlQuery(query, listName) {
43
+ if (!listName) return query;
44
+ var updatedQuery = {};
45
+ var listKey = "pb[".concat(listName, "]");
46
+ Object.keys(query).forEach(function (queryKey) {
47
+ var isListKey = queryKey.indexOf("".concat(listName)) !== -1;
48
+ if (!isListKey) return;
49
+ var decodedQueryValue = Array.isArray(query[queryKey]) ? query[queryKey].map(function (value) {
50
+ return decodeURIComponent(value);
51
+ }) : decodeURIComponent(query[queryKey]);
52
+ var strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);
53
+ if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;
54
+ });
55
+ return updatedQuery;
70
56
  };
71
57
  var SearchFilterContainer = function SearchFilterContainer(_ref) {
72
58
  var entity = _ref.entity,
@@ -78,7 +64,8 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
78
64
  groupAfterDesktop = _ref.groupAfterDesktop,
79
65
  filterBy = _ref.filterBy,
80
66
  filterByProperty = _ref.filterByProperty,
81
- shouldAddFilters = _ref.shouldAddFilters;
67
+ shouldAddFilters = _ref.shouldAddFilters,
68
+ listComponentName = _ref.listComponentName;
82
69
  var router = (0, _router.useRouter)();
83
70
  var asPath = router.asPath;
84
71
  var searchFilterRef = (0, _react.useRef)(null);
@@ -96,44 +83,30 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
96
83
  setUrlPath = _useState6[1]; // used as asPath can take too long to update
97
84
  var _parseUrl = (0, _queryString.parseUrl)(urlPath),
98
85
  currentUrl = _parseUrl.url,
99
- _parseUrl$query = _parseUrl.query,
100
- sort = _parseUrl$query.sort,
101
- sortby = _parseUrl$query.sortby,
102
86
  query = _parseUrl.query;
103
- var _useReducer = (0, _react.useReducer)(reducer, (0, _helpers.getInitialFilterValues)(null, filters, query)),
87
+ var updatedQuery = getFiltersUrlQuery(query, listComponentName);
88
+ var _useReducer = (0, _react.useReducer)(_searchFilterReducer["default"], null),
104
89
  _useReducer2 = (0, _slicedToArray2["default"])(_useReducer, 2),
105
90
  filterValues = _useReducer2[0],
106
91
  dispatch = _useReducer2[1];
107
92
  (0, _react.useEffect)(function () {
108
93
  if (asPath) setUrlPath(asPath);
109
94
  }, [asPath]);
110
- var hasUrl = !!url;
111
- var sortValues = sort && sortby ? (0, _queryString.stringify)({
112
- sort: sort,
113
- sortby: sortby
114
- }) : '';
115
- var baseQuery = sortValues ? "".concat(currentUrl, "?").concat(sortValues) : currentUrl;
116
95
  var action = (0, _query.getSearchPublishedContent)(_constants.RAW_RESULTS);
117
- var checkboxSelectValues = [];
118
- var rangeValues = [];
119
- filters.forEach(function (_ref2) {
120
- var type = _ref2.type,
121
- propsToDisplay = _ref2.propsToDisplay;
122
- if (_constants.CHECKBOX_SELECT.includes(type)) {
123
- checkboxSelectValues.push(propsToDisplay[0]);
124
- } else if (type === _constants.RANGE) {
125
- rangeValues.push.apply(rangeValues, (0, _toConsumableArray2["default"])(propsToDisplay));
126
- }
127
- });
96
+ var _getFilterRangesAndCh = (0, _helpers.getFilterRangesAndCheckboxesValues)(filters),
97
+ _getFilterRangesAndCh2 = (0, _slicedToArray2["default"])(_getFilterRangesAndCh, 2),
98
+ checkboxSelectValues = _getFilterRangesAndCh2[0],
99
+ rangeValues = _getFilterRangesAndCh2[1];
128
100
  var _getEntityData = (0, _helpers2.getEntityData)(entity),
129
101
  docType = _getEntityData.docType;
130
- var filtersQuery = shouldAddFilters ? (0, _helpers.buildFiltersQuery)({
131
- query: filterValues,
102
+ var filtersQuery = (0, _helpers.buildFiltersQuery)({
103
+ shouldAddFilters: shouldAddFilters,
104
+ query: filterValues || {},
132
105
  filterBy: filterBy,
133
106
  filterByProperty: filterByProperty,
134
107
  rangeValues: rangeValues,
135
- queryKeys: Object.keys(query)
136
- }) : [];
108
+ queryKeys: Object.keys(updatedQuery)
109
+ });
137
110
  var rawQueryStringified = (0, _helpers.buildRawQueryStringified)(checkboxSelectValues, rangeValues, docType, filtersQuery);
138
111
  var _useQuery = (0, _client.useQuery)(action, {
139
112
  variables: {
@@ -144,41 +117,45 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
144
117
  skip: !rawQueryStringified
145
118
  }),
146
119
  data = _useQuery.data,
147
- error = _useQuery.error;
120
+ error = _useQuery.error,
121
+ loading = _useQuery.loading;
148
122
  if (error) return error.message;
149
123
  if (!filters.length) return null;
150
- var _ref3 = data || {},
151
- _ref3$searchPublished = _ref3.searchPublishedContent,
152
- _ref3$searchPublished2 = _ref3$searchPublished === void 0 ? {} : _ref3$searchPublished,
153
- _ref3$searchPublished3 = _ref3$searchPublished2.rawResults,
154
- _ref3$searchPublished4 = _ref3$searchPublished3 === void 0 ? {} : _ref3$searchPublished3,
155
- filterData = _ref3$searchPublished4.aggregations;
156
- if (filterValues.dataNotSet && filterData) {
157
- var initialFilterValues = (0, _helpers.getInitialFilterValues)(filterData, filters, query);
124
+ var _ref2 = data || {},
125
+ _ref2$searchPublished = _ref2.searchPublishedContent,
126
+ _ref2$searchPublished2 = _ref2$searchPublished === void 0 ? {} : _ref2$searchPublished,
127
+ _ref2$searchPublished3 = _ref2$searchPublished2.rawResults,
128
+ _ref2$searchPublished4 = _ref2$searchPublished3 === void 0 ? {} : _ref2$searchPublished3,
129
+ filterData = _ref2$searchPublished4.aggregations;
130
+ if (!filterValues && !loading && (filterData || !rawQueryStringified)) {
131
+ var newValues = (0, _helpers.getFilterValues)(filterData, filters, updatedQuery);
158
132
  dispatch({
159
- newValues: initialFilterValues,
133
+ newValues: newValues,
160
134
  shouldSearch: false,
161
135
  type: 'update'
162
136
  });
137
+ return null;
163
138
  }
164
139
  var handleSearch = function handleSearch(newQuery) {
165
140
  setDisplaySearchFilter(false);
141
+ var hashBit = asPath.split('#')[1] || '';
142
+ var parsedHashBit = hashBit ? "#".concat(hashBit) : '';
143
+ scrollToFirstList();
166
144
  if (!newQuery) {
167
- scrollToFirstList();
145
+ var baseQuery = "".concat(currentUrl).concat(parsedHashBit);
168
146
  setUrlPath(baseQuery);
169
147
  return router.push('/Resolver', baseQuery, {
170
- shallow: !hasUrl,
148
+ shallow: !url,
171
149
  scroll: false
172
150
  }).then(function () {
173
151
  setKey("filter-".concat(name, ":").concat(Date.now())); // remove after range component update
174
152
  });
175
153
  }
176
154
 
177
- var newUrl = (0, _helpers.buildNewQuery)(url, currentUrl, newQuery, sortValues);
178
- scrollToFirstList();
155
+ var newUrl = (0, _helpers.buildNewUrl)(url, currentUrl, newQuery, hashBit);
179
156
  setUrlPath(newUrl);
180
157
  return router.push('/Resolver', newUrl, {
181
- shallow: !hasUrl,
158
+ shallow: !url,
182
159
  scroll: false
183
160
  });
184
161
  };
@@ -186,7 +163,7 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
186
163
  var _document$getElements = document.getElementsByClassName('list-top'),
187
164
  _document$getElements2 = (0, _slicedToArray2["default"])(_document$getElements, 1),
188
165
  list = _document$getElements2[0];
189
- var shouldScrollToFirstList = !hasUrl && list;
166
+ var shouldScrollToFirstList = !url && list;
190
167
  if (shouldScrollToFirstList) {
191
168
  window.scrollTo({
192
169
  left: 0,
@@ -196,14 +173,16 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
196
173
  window.scrollTo(0, 0);
197
174
  }
198
175
  };
199
- if (!filterValues) return '';
176
+ if (!filterValues) return null;
200
177
  return /*#__PURE__*/_react["default"].createElement(_SearchFilter["default"], {
201
178
  key: key,
202
179
  setAppliedFilters: dispatch,
180
+ query: updatedQuery,
181
+ listComponentName: listComponentName,
203
182
  searchFilterRef: searchFilterRef,
204
183
  data: filterData,
205
184
  filters: filters,
206
- hasUrl: hasUrl,
185
+ hasUrl: !!url,
207
186
  entity: entity,
208
187
  handleSearch: handleSearch,
209
188
  filterValues: filterValues,
@@ -225,7 +204,8 @@ SearchFilterContainer.propTypes = {
225
204
  groupAfterDesktop: _propTypes["default"].number,
226
205
  filterBy: _propTypes["default"].array,
227
206
  filterByProperty: _propTypes["default"].array,
228
- shouldAddFilters: _propTypes["default"].bool
207
+ shouldAddFilters: _propTypes["default"].bool,
208
+ listComponentName: _propTypes["default"].string
229
209
  };
230
210
  SearchFilterContainer.defaultProps = {
231
211
  url: null,
@@ -236,7 +216,8 @@ SearchFilterContainer.defaultProps = {
236
216
  groupAfterDesktop: 0,
237
217
  filterBy: [],
238
218
  filterByProperty: [],
239
- shouldAddFilters: false
219
+ shouldAddFilters: false,
220
+ listComponentName: ''
240
221
  };
241
222
  var _default = (0, _HOC.withTitle)(SearchFilterContainer);
242
223
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_constants2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","reducer","state","action","newValues","type","_action$shouldSearch","shouldSearch","Error","SearchFilterContainer","_ref","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","router","useRouter","asPath","searchFilterRef","useRef","_useState","useState","concat","_useState2","_slicedToArray2","setKey","_useState3","_useState4","displaySearchFilter","setDisplaySearchFilter","_useState5","_useState6","urlPath","setUrlPath","_parseUrl","parseUrl","currentUrl","_parseUrl$query","query","sort","sortby","_useReducer","useReducer","getInitialFilterValues","_useReducer2","filterValues","dispatch","useEffect","hasUrl","sortValues","stringify","baseQuery","getSearchPublishedContent","RAW_RESULTS","checkboxSelectValues","rangeValues","_ref2","propsToDisplay","CHECKBOX_SELECT","includes","RANGE","_toConsumableArray2","_getEntityData","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","rawQueryStringified","buildRawQueryStringified","_useQuery","useQuery","variables","limit","skip","data","error","message","_ref3","_ref3$searchPublished","searchPublishedContent","_ref3$searchPublished2","_ref3$searchPublished3","rawResults","_ref3$searchPublished4","filterData","aggregations","dataNotSet","initialFilterValues","handleSearch","newQuery","scrollToFirstList","shallow","scroll","then","Date","now","newUrl","buildNewQuery","_document$getElements","document","getElementsByClassName","_document$getElements2","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","createElement","setAppliedFilters","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps","_default","withTitle","exports"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl, stringify } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewQuery,\n buildRawQueryStringified,\n getInitialFilterValues,\n buildFiltersQuery\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS, RANGE, CHECKBOX_SELECT } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\n\nconst reducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const {\n url: currentUrl,\n query: { sort, sortby },\n query\n } = parseUrl(urlPath);\n const [filterValues, dispatch] = useReducer(\n reducer,\n getInitialFilterValues(null, filters, query)\n );\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const hasUrl = !!url;\n\n const sortValues = sort && sortby ? stringify({ sort, sortby }) : '';\n const baseQuery = sortValues ? `${currentUrl}?${sortValues}` : currentUrl;\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const checkboxSelectValues = [];\n const rangeValues = [];\n\n filters.forEach(({ type, propsToDisplay }) => {\n if (CHECKBOX_SELECT.includes(type)) {\n checkboxSelectValues.push(propsToDisplay[0]);\n } else if (type === RANGE) {\n rangeValues.push(...propsToDisplay);\n }\n });\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = shouldAddFilters\n ? buildFiltersQuery({\n query: filterValues,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(query)\n })\n : [];\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (filterValues.dataNotSet && filterData) {\n const initialFilterValues = getInitialFilterValues(filterData, filters, query);\n dispatch({ newValues: initialFilterValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n\n if (!newQuery) {\n scrollToFirstList();\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !hasUrl, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewQuery(url, currentUrl, newQuery, sortValues);\n scrollToFirstList();\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !hasUrl, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !hasUrl && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues) return '';\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_constants2","_searchFilterReducer","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getFiltersUrlQuery","query","listName","updatedQuery","listKey","concat","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length","SearchFilterContainer","_ref","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","router","useRouter","asPath","searchFilterRef","useRef","_useState","useState","_useState2","_slicedToArray2","setKey","_useState3","_useState4","displaySearchFilter","setDisplaySearchFilter","_useState5","_useState6","urlPath","setUrlPath","_parseUrl","parseUrl","currentUrl","_useReducer","useReducer","searchFilterReducer","_useReducer2","filterValues","dispatch","useEffect","action","getSearchPublishedContent","RAW_RESULTS","_getFilterRangesAndCh","getFilterRangesAndCheckboxesValues","_getFilterRangesAndCh2","checkboxSelectValues","rangeValues","_getEntityData","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","rawQueryStringified","buildRawQueryStringified","_useQuery","useQuery","variables","limit","skip","data","error","loading","message","_ref2","_ref2$searchPublished","searchPublishedContent","_ref2$searchPublished2","_ref2$searchPublished3","rawResults","_ref2$searchPublished4","filterData","aggregations","newValues","getFilterValues","shouldSearch","type","handleSearch","newQuery","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","buildNewUrl","_document$getElements","document","getElementsByClassName","_document$getElements2","list","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","SCROLL_OFFSET","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","PropTypes","string","array","isRequired","bool","number","defaultProps","_default","withTitle","exports"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildNewUrl,\n buildRawQueryStringified,\n getFilterValues,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\n\nconst getFiltersUrlQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\n};\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName\n}) => {\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = getFiltersUrlQuery(query, listComponentName);\n\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues || {},\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
@@ -52,11 +52,13 @@ var builFilterObject = function builFilterObject(_ref) {
52
52
  });
53
53
  };
54
54
  var buildFiltersQuery = function buildFiltersQuery(_ref2) {
55
- var query = _ref2.query,
55
+ var shouldAddFilters = _ref2.shouldAddFilters,
56
+ query = _ref2.query,
56
57
  filterBy = _ref2.filterBy,
57
58
  filterByProperty = _ref2.filterByProperty,
58
59
  rangeValues = _ref2.rangeValues,
59
60
  queryKeys = _ref2.queryKeys;
61
+ if (!shouldAddFilters) return [];
60
62
  var mustFilters = [];
61
63
  Object.keys(query).forEach(function (queryKey) {
62
64
  if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;
@@ -1 +1 @@
1
- {"version":3,"file":"build-filters-query.js","names":["QUERY_KEYS_TO_IGNORE","builFilterObject","_ref","queryKey","value","filters","isRange","isInQuery","min","minValue","max","maxValue","push","range","_defineProperty2","gte","Number","lte","key","concat","isArray","Array","singleFilterObj","match","forEach","filterValue","buildFiltersQuery","_ref2","query","filterBy","filterByProperty","rangeValues","queryKeys","mustFilters","Object","keys","includes","queryValue","length","filterByPropOption","_filterByPropOption$s","split","_filterByPropOption$s2","_slicedToArray2","filterByPropKey","filterByOption","indexOf","_filterByOption$split","_filterByOption$split2","filteryByValue","filterByKeyword","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/build-filters-query.js"],"sourcesContent":["const QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];\n\nconst builFilterObject = ({ queryKey, value, filters, isRange, isInQuery }) => {\n if (isRange) {\n // don't add to query if value matches range values\n if (isInQuery || (value.min !== value.minValue && value.max !== value.maxValue)) {\n filters.push({\n range: {\n [queryKey]: {\n gte: Number(value.minValue),\n lte: Number(value.maxValue)\n }\n }\n });\n }\n return;\n }\n\n const key = isRange ? queryKey : `${queryKey}.keyword`;\n\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\nconst buildFiltersQuery = ({ query, filterBy, filterByProperty, rangeValues, queryKeys }) => {\n const mustFilters = [];\n Object.keys(query).forEach(queryKey => {\n if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n\n const isRange = rangeValues.includes(queryKey);\n const isInQuery = queryKeys.includes(queryKey);\n builFilterObject({ queryKey, value: queryValue, filters: mustFilters, isRange, isInQuery });\n });\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty &&\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":"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"}
1
+ {"version":3,"file":"build-filters-query.js","names":["QUERY_KEYS_TO_IGNORE","builFilterObject","_ref","queryKey","value","filters","isRange","isInQuery","min","minValue","max","maxValue","push","range","_defineProperty2","gte","Number","lte","key","concat","isArray","Array","singleFilterObj","match","forEach","filterValue","buildFiltersQuery","_ref2","shouldAddFilters","query","filterBy","filterByProperty","rangeValues","queryKeys","mustFilters","Object","keys","includes","queryValue","length","filterByPropOption","_filterByPropOption$s","split","_filterByPropOption$s2","_slicedToArray2","filterByPropKey","filterByOption","indexOf","_filterByOption$split","_filterByOption$split2","filteryByValue","filterByKeyword","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/build-filters-query.js"],"sourcesContent":["const QUERY_KEYS_TO_IGNORE = ['dataNotSet', 'shouldSearch', 'search_term'];\n\nconst builFilterObject = ({ queryKey, value, filters, isRange, isInQuery }) => {\n if (isRange) {\n // don't add to query if value matches range values\n if (isInQuery || (value.min !== value.minValue && value.max !== value.maxValue)) {\n filters.push({\n range: {\n [queryKey]: {\n gte: Number(value.minValue),\n lte: Number(value.maxValue)\n }\n }\n });\n }\n return;\n }\n\n const key = isRange ? queryKey : `${queryKey}.keyword`;\n\n const isArray = Array.isArray(value);\n if (!isArray) {\n const singleFilterObj = { match: { [key]: value } };\n filters.push(singleFilterObj);\n return;\n }\n\n value.forEach(filterValue => {\n filters.push({ match: { [key]: filterValue } });\n });\n};\nconst buildFiltersQuery = ({\n shouldAddFilters,\n query,\n filterBy,\n filterByProperty,\n rangeValues,\n queryKeys\n}) => {\n if (!shouldAddFilters) return [];\n const mustFilters = [];\n Object.keys(query).forEach(queryKey => {\n if (QUERY_KEYS_TO_IGNORE.includes(queryKey)) return;\n if (!queryKey || !query[queryKey]) return;\n const queryValue = query[queryKey];\n\n const isRange = rangeValues.includes(queryKey);\n const isInQuery = queryKeys.includes(queryKey);\n builFilterObject({ queryKey, value: queryValue, filters: mustFilters, isRange, isInQuery });\n });\n\n if (filterByProperty && filterByProperty.length) {\n filterByProperty &&\n filterByProperty.forEach(filterByPropOption => {\n const [filterByPropKey] = filterByPropOption.split('/');\n filterBy.forEach(filterByOption => {\n if (filterByOption.indexOf(filterByPropKey) === -1) return;\n const [, filteryByValue] = filterByOption.split('/');\n const filterByKeyword = `${filterByPropKey}.keyword`;\n if (!filteryByValue) return;\n mustFilters.push({ match: { [filterByKeyword]: filteryByValue } });\n });\n });\n }\n\n return mustFilters;\n};\n\nexport default buildFiltersQuery;\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ require("core-js/modules/es.array.concat.js");
9
+ var buildNewUrl = function buildNewUrl(url, currentUrl, queryParams, hashBit) {
10
+ var encodedQuery = encodeURI(queryParams);
11
+ var baseUrl = url || currentUrl;
12
+ var newUrl = encodedQuery ? "".concat(baseUrl, "?").concat(encodedQuery) : "".concat(baseUrl);
13
+ return hashBit ? "".concat(newUrl, "#").concat(hashBit) : newUrl;
14
+ };
15
+ var _default = buildNewUrl;
16
+ exports["default"] = _default;
17
+ //# sourceMappingURL=build-new-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-new-url.js","names":["buildNewUrl","url","currentUrl","queryParams","hashBit","encodedQuery","encodeURI","baseUrl","newUrl","concat","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/build-new-url.js"],"sourcesContent":["const buildNewUrl = (url, currentUrl, queryParams, hashBit) => {\n const encodedQuery = encodeURI(queryParams);\n const baseUrl = url || currentUrl;\n const newUrl = encodedQuery ? `${baseUrl}?${encodedQuery}` : `${baseUrl}`;\n return hashBit ? `${newUrl}#${hashBit}` : newUrl;\n};\n\nexport default buildNewUrl;\n"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,GAAG,EAAEC,UAAU,EAAEC,WAAW,EAAEC,OAAO,EAAK;EAC7D,IAAMC,YAAY,GAAGC,SAAS,CAACH,WAAW,CAAC;EAC3C,IAAMI,OAAO,GAAGN,GAAG,IAAIC,UAAU;EACjC,IAAMM,MAAM,GAAGH,YAAY,MAAAI,MAAA,CAAMF,OAAO,OAAAE,MAAA,CAAIJ,YAAY,OAAAI,MAAA,CAAQF,OAAO,CAAE;EACzE,OAAOH,OAAO,MAAAK,MAAA,CAAMD,MAAM,OAAAC,MAAA,CAAIL,OAAO,IAAKI,MAAM;AAClD,CAAC;AAAC,IAAAE,QAAA,GAEaV,WAAW;AAAAW,OAAA,cAAAD,QAAA"}