@blaze-cms/react-page-builder 0.131.0-project-admin-customisations.2 → 0.131.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 (256) hide show
  1. package/CHANGELOG.md +5 -21
  2. package/lib/HOC/recreateOnNavigation.js +29 -0
  3. package/lib/HOC/recreateOnNavigation.js.map +1 -0
  4. package/lib/components/Button.js +1 -2
  5. package/lib/components/Button.js.map +1 -1
  6. package/lib/components/Card/CardsContainer.js +5 -5
  7. package/lib/components/Card/CardsContainer.js.map +1 -1
  8. package/lib/components/Card/CardsRender.js +6 -13
  9. package/lib/components/Card/CardsRender.js.map +1 -1
  10. package/lib/components/Card/helpers/index.js +0 -7
  11. package/lib/components/Card/helpers/index.js.map +1 -1
  12. package/lib/components/Code/Code.js +3 -7
  13. package/lib/components/Code/Code.js.map +1 -1
  14. package/lib/components/ContentGroupSection/ContentGroupSection.js +4 -1
  15. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  16. package/lib/components/DataSummary/helpers/build-loop-props-content.js +1 -3
  17. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  18. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js +2 -3
  19. package/lib/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  20. package/lib/components/Layout/Layout.js +3 -2
  21. package/lib/components/Layout/Layout.js.map +1 -1
  22. package/lib/components/Layout/LayoutFactory.js +35 -0
  23. package/lib/components/Layout/LayoutFactory.js.map +1 -0
  24. package/lib/components/Layout/LayoutWithStickyTimer.js +66 -0
  25. package/lib/components/Layout/LayoutWithStickyTimer.js.map +1 -0
  26. package/lib/components/Layout/index.js +2 -2
  27. package/lib/components/Layout/index.js.map +1 -1
  28. package/lib/components/List/ListFactory.js +11 -16
  29. package/lib/components/List/ListFactory.js.map +1 -1
  30. package/lib/components/List/helpers/index.js +0 -14
  31. package/lib/components/List/helpers/index.js.map +1 -1
  32. package/lib/components/SearchContent/SearchContent.js +6 -8
  33. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  34. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +11 -17
  35. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  36. package/lib/components/SearchFilter/SearchFilterContainer.js +85 -63
  37. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  38. package/lib/components/SearchFilter/helpers/build-filters-query.js +1 -3
  39. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  40. package/lib/components/SearchFilter/helpers/build-new-query.js +15 -0
  41. package/lib/components/SearchFilter/helpers/build-new-query.js.map +1 -0
  42. package/lib/components/SearchFilter/helpers/build-query.js +37 -0
  43. package/lib/components/SearchFilter/helpers/build-query.js.map +1 -0
  44. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +43 -0
  45. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
  46. package/lib/components/SearchFilter/helpers/index.js +11 -18
  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/SearchFilterSort/SearchFilterSort.js +11 -31
  50. package/lib/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  51. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js +5 -19
  52. package/lib/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  53. package/lib/components/SearchFilterSort/helpers/update-sort.js +5 -9
  54. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  55. package/lib/helpers/build-inherited-filters.js +0 -2
  56. package/lib/helpers/build-inherited-filters.js.map +1 -1
  57. package/lib/helpers/build-props-query.js +2 -5
  58. package/lib/helpers/build-props-query.js.map +1 -1
  59. package/lib/helpers/build-set-filters.js +1 -5
  60. package/lib/helpers/build-set-filters.js.map +1 -1
  61. package/lib/helpers/get-query-filters.js +8 -6
  62. package/lib/helpers/get-query-filters.js.map +1 -1
  63. package/lib/helpers/get-query-props.js +2 -13
  64. package/lib/helpers/get-query-props.js.map +1 -1
  65. package/lib/helpers/get-wrapped-value-with-link.js +3 -2
  66. package/lib/helpers/get-wrapped-value-with-link.js.map +1 -1
  67. package/lib/helpers/index.js +0 -14
  68. package/lib/helpers/index.js.map +1 -1
  69. package/lib/helpers/parse-props-to-display.js +8 -13
  70. package/lib/helpers/parse-props-to-display.js.map +1 -1
  71. package/lib/utils/get-class-modifiers.js +1 -1
  72. package/lib/utils/get-class-modifiers.js.map +1 -1
  73. package/lib-es/HOC/recreateOnNavigation.js +20 -0
  74. package/lib-es/HOC/recreateOnNavigation.js.map +1 -0
  75. package/lib-es/components/Button.js +1 -2
  76. package/lib-es/components/Button.js.map +1 -1
  77. package/lib-es/components/Card/CardsContainer.js +5 -5
  78. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  79. package/lib-es/components/Card/CardsRender.js +7 -14
  80. package/lib-es/components/Card/CardsRender.js.map +1 -1
  81. package/lib-es/components/Card/helpers/index.js +0 -1
  82. package/lib-es/components/Card/helpers/index.js.map +1 -1
  83. package/lib-es/components/Code/Code.js +4 -8
  84. package/lib-es/components/Code/Code.js.map +1 -1
  85. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +8 -4
  86. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  87. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +1 -3
  88. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  89. package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -4
  90. package/lib-es/components/DataSummary/helpers/build-props-to-display-with-content.js.map +1 -1
  91. package/lib-es/components/Layout/Layout.js +3 -2
  92. package/lib-es/components/Layout/Layout.js.map +1 -1
  93. package/lib-es/components/Layout/LayoutFactory.js +14 -0
  94. package/lib-es/components/Layout/LayoutFactory.js.map +1 -0
  95. package/lib-es/components/Layout/LayoutWithStickyTimer.js +42 -0
  96. package/lib-es/components/Layout/LayoutWithStickyTimer.js.map +1 -0
  97. package/lib-es/components/Layout/index.js +2 -2
  98. package/lib-es/components/Layout/index.js.map +1 -1
  99. package/lib-es/components/List/ListFactory.js +12 -16
  100. package/lib-es/components/List/ListFactory.js.map +1 -1
  101. package/lib-es/components/List/helpers/index.js +0 -2
  102. package/lib-es/components/List/helpers/index.js.map +1 -1
  103. package/lib-es/components/SearchContent/SearchContent.js +6 -8
  104. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  105. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +11 -18
  106. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  107. package/lib-es/components/SearchFilter/SearchFilterContainer.js +72 -47
  108. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  109. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +0 -2
  110. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  111. package/lib-es/components/SearchFilter/helpers/build-new-query.js +6 -0
  112. package/lib-es/components/SearchFilter/helpers/build-new-query.js.map +1 -0
  113. package/lib-es/components/SearchFilter/helpers/build-query.js +23 -0
  114. package/lib-es/components/SearchFilter/helpers/build-query.js.map +1 -0
  115. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +26 -0
  116. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
  117. package/lib-es/components/SearchFilter/helpers/index.js +4 -5
  118. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  119. package/lib-es/components/SearchFilter/index.js +2 -2
  120. package/lib-es/components/SearchFilter/index.js.map +1 -1
  121. package/lib-es/components/SearchFilterSort/SearchFilterSort.js +10 -26
  122. package/lib-es/components/SearchFilterSort/SearchFilterSort.js.map +1 -1
  123. package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js +4 -21
  124. package/lib-es/components/SearchFilterSort/helpers/handle-sort-update.js.map +1 -1
  125. package/lib-es/components/SearchFilterSort/helpers/update-sort.js +4 -8
  126. package/lib-es/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  127. package/lib-es/helpers/build-inherited-filters.js +0 -2
  128. package/lib-es/helpers/build-inherited-filters.js.map +1 -1
  129. package/lib-es/helpers/build-props-query.js +2 -4
  130. package/lib-es/helpers/build-props-query.js.map +1 -1
  131. package/lib-es/helpers/build-set-filters.js +1 -5
  132. package/lib-es/helpers/build-set-filters.js.map +1 -1
  133. package/lib-es/helpers/get-query-filters.js +8 -6
  134. package/lib-es/helpers/get-query-filters.js.map +1 -1
  135. package/lib-es/helpers/get-query-props.js +2 -10
  136. package/lib-es/helpers/get-query-props.js.map +1 -1
  137. package/lib-es/helpers/get-wrapped-value-with-link.js +2 -2
  138. package/lib-es/helpers/get-wrapped-value-with-link.js.map +1 -1
  139. package/lib-es/helpers/index.js +0 -2
  140. package/lib-es/helpers/index.js.map +1 -1
  141. package/lib-es/helpers/parse-props-to-display.js +9 -12
  142. package/lib-es/helpers/parse-props-to-display.js.map +1 -1
  143. package/lib-es/utils/get-class-modifiers.js +1 -1
  144. package/lib-es/utils/get-class-modifiers.js.map +1 -1
  145. package/package.json +10 -10
  146. package/src/HOC/recreateOnNavigation.js +21 -0
  147. package/src/components/Button.js +1 -2
  148. package/src/components/Card/CardsContainer.js +3 -3
  149. package/src/components/Card/CardsRender.js +7 -27
  150. package/src/components/Card/helpers/index.js +0 -1
  151. package/src/components/Code/Code.js +3 -7
  152. package/src/components/ContentGroupSection/ContentGroupSection.js +1 -1
  153. package/src/components/DataSummary/helpers/build-loop-props-content.js +1 -4
  154. package/src/components/DataSummary/helpers/build-props-to-display-with-content.js +3 -6
  155. package/src/components/Layout/Layout.js +29 -32
  156. package/src/components/Layout/LayoutFactory.js +17 -0
  157. package/src/components/Layout/LayoutWithStickyTimer.js +40 -0
  158. package/src/components/Layout/index.js +2 -2
  159. package/src/components/List/ListFactory.js +15 -25
  160. package/src/components/List/helpers/index.js +0 -2
  161. package/src/components/SearchContent/SearchContent.js +6 -8
  162. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +12 -21
  163. package/src/components/SearchFilter/SearchFilterContainer.js +69 -57
  164. package/src/components/SearchFilter/helpers/build-filters-query.js +1 -9
  165. package/src/components/SearchFilter/helpers/build-new-query.js +6 -0
  166. package/src/components/SearchFilter/helpers/build-query.js +26 -0
  167. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +30 -0
  168. package/src/components/SearchFilter/helpers/index.js +7 -9
  169. package/src/components/SearchFilter/index.js +2 -2
  170. package/src/components/SearchFilterSort/SearchFilterSort.js +8 -18
  171. package/src/components/SearchFilterSort/helpers/handle-sort-update.js +5 -14
  172. package/src/components/SearchFilterSort/helpers/update-sort.js +3 -7
  173. package/src/helpers/build-inherited-filters.js +1 -3
  174. package/src/helpers/build-props-query.js +2 -4
  175. package/src/helpers/build-set-filters.js +1 -2
  176. package/src/helpers/get-query-filters.js +4 -4
  177. package/src/helpers/get-query-props.js +4 -12
  178. package/src/helpers/get-wrapped-value-with-link.js +3 -6
  179. package/src/helpers/index.js +0 -2
  180. package/src/helpers/parse-props-to-display.js +21 -25
  181. package/src/utils/get-class-modifiers.js +1 -1
  182. package/tests/helpers/mocks.js +5 -3
  183. package/tests/unit/src/HOC/recreateOnNavigation.test.js +28 -0
  184. package/tests/unit/src/components/Code/Code.test.js +0 -5
  185. package/tests/unit/src/components/Code/__snapshots__/Code.test.js.snap +0 -8
  186. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +0 -9
  187. package/tests/unit/src/components/Layout/Layout.test.js +1 -1
  188. package/tests/unit/src/components/Layout/LayoutFactory.test.js +53 -0
  189. package/tests/unit/src/components/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +7 -1
  190. package/tests/unit/src/components/SearchFilter/helpers/build-new-query.test.js +10 -10
  191. package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +7 -24
  192. package/tests/unit/src/components/SearchFilter/helpers/get-initial-filter-values.test.js +10 -10
  193. package/tests/unit/src/components/SearchFilterSort/SearchFilterSort.test.js +1 -4
  194. package/tests/unit/src/components/SearchFilterSort/helpers/handle-sort-update.test.js +19 -26
  195. package/tests/unit/src/components/SearchFilterSort/helpers/update-sort.test.js +1 -10
  196. package/tests/unit/src/helpers/build-props-query.test.js +0 -25
  197. package/tests/unit/src/helpers/get-wrapped-value-with-link.test.js +2 -2
  198. package/tests/unit/src/helpers/parse-props-to-display.test.js +0 -4
  199. package/lib/components/Card/helpers/get-updated-items-to-display.js +0 -55
  200. package/lib/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  201. package/lib/components/List/helpers/get-list-query.js +0 -43
  202. package/lib/components/List/helpers/get-list-query.js.map +0 -1
  203. package/lib/components/List/helpers/get-list-specific-search-filter.js +0 -21
  204. package/lib/components/List/helpers/get-list-specific-search-filter.js.map +0 -1
  205. package/lib/components/List/helpers/strip-query-key.js +0 -14
  206. package/lib/components/List/helpers/strip-query-key.js.map +0 -1
  207. package/lib/components/SearchFilter/helpers/build-new-url.js +0 -17
  208. package/lib/components/SearchFilter/helpers/build-new-url.js.map +0 -1
  209. package/lib/components/SearchFilter/helpers/build-url-query.js +0 -48
  210. package/lib/components/SearchFilter/helpers/build-url-query.js.map +0 -1
  211. package/lib/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +0 -32
  212. package/lib/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +0 -1
  213. package/lib/components/SearchFilter/helpers/get-filter-values.js +0 -31
  214. package/lib/components/SearchFilter/helpers/get-filter-values.js.map +0 -1
  215. package/lib/components/SearchFilter/searchFilterReducer.js +0 -45
  216. package/lib/components/SearchFilter/searchFilterReducer.js.map +0 -1
  217. package/lib/helpers/build-query-key.js +0 -16
  218. package/lib/helpers/build-query-key.js.map +0 -1
  219. package/lib/helpers/process-data-summary-value.js +0 -56
  220. package/lib/helpers/process-data-summary-value.js.map +0 -1
  221. package/lib-es/components/Card/helpers/get-updated-items-to-display.js +0 -32
  222. package/lib-es/components/Card/helpers/get-updated-items-to-display.js.map +0 -1
  223. package/lib-es/components/List/helpers/get-list-query.js +0 -24
  224. package/lib-es/components/List/helpers/get-list-query.js.map +0 -1
  225. package/lib-es/components/List/helpers/get-list-specific-search-filter.js +0 -12
  226. package/lib-es/components/List/helpers/get-list-specific-search-filter.js.map +0 -1
  227. package/lib-es/components/List/helpers/strip-query-key.js +0 -6
  228. package/lib-es/components/List/helpers/strip-query-key.js.map +0 -1
  229. package/lib-es/components/SearchFilter/helpers/build-new-url.js +0 -8
  230. package/lib-es/components/SearchFilter/helpers/build-new-url.js.map +0 -1
  231. package/lib-es/components/SearchFilter/helpers/build-url-query.js +0 -30
  232. package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +0 -1
  233. package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +0 -18
  234. package/lib-es/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js.map +0 -1
  235. package/lib-es/components/SearchFilter/helpers/get-filter-values.js +0 -19
  236. package/lib-es/components/SearchFilter/helpers/get-filter-values.js.map +0 -1
  237. package/lib-es/components/SearchFilter/searchFilterReducer.js +0 -28
  238. package/lib-es/components/SearchFilter/searchFilterReducer.js.map +0 -1
  239. package/lib-es/helpers/build-query-key.js +0 -7
  240. package/lib-es/helpers/build-query-key.js.map +0 -1
  241. package/lib-es/helpers/process-data-summary-value.js +0 -36
  242. package/lib-es/helpers/process-data-summary-value.js.map +0 -1
  243. package/src/components/Card/helpers/get-updated-items-to-display.js +0 -32
  244. package/src/components/List/helpers/get-list-query.js +0 -28
  245. package/src/components/List/helpers/get-list-specific-search-filter.js +0 -10
  246. package/src/components/List/helpers/strip-query-key.js +0 -6
  247. package/src/components/SearchFilter/helpers/build-new-url.js +0 -8
  248. package/src/components/SearchFilter/helpers/build-url-query.js +0 -31
  249. package/src/components/SearchFilter/helpers/get-filter-ranges-and-checkboxes-values.js +0 -17
  250. package/src/components/SearchFilter/helpers/get-filter-values.js +0 -21
  251. package/src/components/SearchFilter/searchFilterReducer.js +0 -15
  252. package/src/helpers/build-query-key.js +0 -7
  253. package/src/helpers/process-data-summary-value.js +0 -22
  254. package/tests/unit/src/components/Card/helpers/get-updated-items-to-display.test.js +0 -72
  255. package/tests/unit/src/helpers/__snapshots__/get-wrapped-value-with-link.test.js.snap +0 -18
  256. package/tests/unit/src/helpers/prcoess-data-summary-value.test.js +0 -52
@@ -10,7 +10,7 @@ import { MainContext } from '@blaze-cms/nextjs-components';
10
10
  import { generateSingleItemQuery, getItemList } from '../../application/query';
11
11
  import ListBuilder from './ListBuilder';
12
12
  import { AZ_LIST_TYPE } from './constants';
13
- import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails, getListSpecificSearchFilter, getListQuery } from './helpers';
13
+ import { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';
14
14
  import { getGenericProps, getRequiredSchemas, checkForError, getUnpublishedEntityName, getPaginationIndex, getSearchFilterType, getElasticsearchOperator, buildSearchValuesText, getQueryFilters, getInheritedFilters, getQueryProps } from '../../helpers';
15
15
  import { getItemListId, getItemListIds } from '../ItemList/helpers';
16
16
  import { useGetEntitySchemasAsObj } from '../../hooks';
@@ -27,7 +27,7 @@ const ListFactory = props => {
27
27
  type,
28
28
  sortby: defaultSortBy,
29
29
  sort: defaultSort,
30
- allSearchFilters,
30
+ searchFilter,
31
31
  operator: filterOperator,
32
32
  sortProperties,
33
33
  itemListName
@@ -40,19 +40,15 @@ const ListFactory = props => {
40
40
  asPath
41
41
  } = router;
42
42
  const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');
43
- const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(allSearchFilters, name);
44
43
  const {
45
44
  query,
46
45
  url,
47
46
  query: {
47
+ sort: querySort,
48
+ sortby: querySortBy,
48
49
  itemListId: queryItemListId
49
50
  } = {}
50
51
  } = parseUrl(parsedQuery);
51
- const updatedQuery = getListQuery(query, hasListSpecificFilters, name);
52
- const {
53
- sort: querySort,
54
- sortby: querySortBy
55
- } = updatedQuery;
56
52
  const {
57
53
  sortbyFilters,
58
54
  updatedSortProperties
@@ -69,8 +65,8 @@ const ListFactory = props => {
69
65
  itemId: parentId
70
66
  } = parent;
71
67
  const updatedParentEntity = getUnpublishedEntityName(parentEntity);
72
- const paginationIndex = getPaginationIndex(updatedQuery, name);
73
- const azFilter = getAzQueryFilter(updatedQuery, name);
68
+ const paginationIndex = getPaginationIndex(query, name);
69
+ const azFilter = getAzQueryFilter(query, name);
74
70
  const entitiesToUse = entities && entities.length ? entities : [legacyEntity];
75
71
  const [filterEntity] = entitiesToUse;
76
72
  const {
@@ -135,19 +131,19 @@ const ListFactory = props => {
135
131
  const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);
136
132
  const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;
137
133
  const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;
138
- const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, updatedQuery, name) : [];
134
+ const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];
139
135
  const {
140
136
  valuesAnd,
141
137
  valuesOr
142
- } = getQueryFilters(searchFilter, updatedQuery, name);
143
- const isTextSearchFilterApplied = !!(updatedQuery.search_term && searchFilter && getSearchFilterType(searchFilter, TEXT_SEARCH).length);
138
+ } = getQueryFilters(searchFilter, query);
139
+ const isTextSearchFilterApplied = !!(query.search_term && searchFilter && getSearchFilterType(searchFilter, TEXT_SEARCH).length);
144
140
  const searchValues = {
145
141
  searchValuesText: valuesText,
146
142
  searchValuesCheckboxSelectRange: valuesAnd,
147
143
  searchValuesCheckboxOr: valuesOr
148
144
  };
149
145
  const listProps = _objectSpread(_objectSpread(_objectSpread({}, props), genericProps), {}, {
150
- query: updatedQuery,
146
+ query,
151
147
  url,
152
148
  isCard,
153
149
  isAZ,
@@ -185,7 +181,7 @@ ListFactory.propTypes = {
185
181
  name: PropTypes.string,
186
182
  sortby: PropTypes.array,
187
183
  sort: PropTypes.string,
188
- allSearchFilters: PropTypes.array,
184
+ searchFilter: PropTypes.object,
189
185
  sortProperties: PropTypes.array,
190
186
  itemListName: PropTypes.string
191
187
  };
@@ -200,7 +196,7 @@ ListFactory.defaultProps = {
200
196
  sortProperties: [],
201
197
  sort: '',
202
198
  operator: AND,
203
- allSearchFilters: [],
199
+ searchFilter: {},
204
200
  itemListName: ''
205
201
  };
206
202
  export default ListFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getListSpecificSearchFilter","getListQuery","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","allSearchFilters","operator","filterOperator","sortProperties","itemListName","isPreview","router","asPath","parsedQuery","replace","searchFilter","hasListSpecificFilters","query","url","itemListId","queryItemListId","updatedQuery","querySort","querySortBy","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","length","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","propTypes","object","isRequired","string","array","bool","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport {\n getAzQueryFilter,\n getSortProps,\n hasRequiredItemListDetails,\n getListSpecificSearchFilter,\n getListQuery\n} from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n allSearchFilters,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const [searchFilter, hasListSpecificFilters] = getListSpecificSearchFilter(\n allSearchFilters,\n name\n );\n const { query, url, query: { itemListId: queryItemListId } = {} } = parseUrl(parsedQuery);\n const updatedQuery = getListQuery(query, hasListSpecificFilters, name);\n const { sort: querySort, sortby: querySortBy } = updatedQuery;\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(updatedQuery, name);\n const azFilter = getAzQueryFilter(updatedQuery, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const {\n [updatedParentEntity]: currentSchema = {},\n [filterEntity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter\n ? buildSearchValuesText(textFilter, updatedQuery, name)\n : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, updatedQuery, name);\n const isTextSearchFilterApplied = !!(\n updatedQuery.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query: updatedQuery,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n allSearchFilters: PropTypes.array,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n allSearchFilters: [],\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListFactory.js","names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","generateSingleItemQuery","getItemList","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getSortProps","hasRequiredItemListDetails","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","getItemListId","getItemListIds","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","legacyEntity","entities","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","searchFilter","operator","filterOperator","sortProperties","itemListName","isPreview","router","asPath","parsedQuery","replace","query","url","querySort","querySortBy","itemListId","queryItemListId","sortbyFilters","updatedSortProperties","itemEntity","parentEntity","itemId","parentId","updatedParentEntity","paginationIndex","azFilter","entitiesToUse","length","filterEntity","data","mainSchemas","loading","schemasLoading","error","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","variables","id","skip","itemListData","itemListError","itemListLoading","errorsToCheck","hasErr","errMsg","itemListIds","isCard","includes","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","_objectSpread","createElement","propTypes","object","isRequired","string","array","bool","defaultProps"],"sources":["../../../src/components/List/ListFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery, getItemList } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter, getSortProps, hasRequiredItemListDetails } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { getItemListId, getItemListIds } from '../ItemList/helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity: legacyEntity,\n entities,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator,\n sortProperties,\n itemListName\n } = props;\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const {\n query,\n url,\n query: { sort: querySort, sortby: querySortBy, itemListId: queryItemListId } = {}\n } = parseUrl(parsedQuery);\n const { sortbyFilters, updatedSortProperties } = getSortProps({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy\n });\n\n const itemListId = getItemListId(itemListName, queryItemListId);\n const { itemEntity: parentEntity, itemId: parentId } = parent;\n const updatedParentEntity = getUnpublishedEntityName(parentEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const entitiesToUse = entities && entities.length ? entities : [legacyEntity];\n const [filterEntity] = entitiesToUse;\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([updatedParentEntity, ...entitiesToUse]);\n\n const {\n [updatedParentEntity]: currentSchema = {},\n [filterEntity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n\n const { data: itemListData = {}, error: itemListError, loading: itemListLoading } = useQuery(\n getItemList,\n {\n variables: { id: itemListId },\n skip: !itemListId\n }\n );\n\n if (!hasRequiredItemListDetails({ itemListName, router, itemListId, queryItemListId })) return '';\n\n const errorsToCheck = [schemasError, requiredSchemaError, itemQueryError, itemListError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || itemQueryLoading || itemListLoading) return '';\n if (hasErr) return errMsg;\n\n const itemListIds = getItemListIds(itemListData);\n const isCard = !type.includes(FULL);\n const isAZ = type.includes(AZ_LIST_TYPE);\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n sort: null,\n sortby: null,\n sortProperties: updatedSortProperties,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator,\n itemListIds,\n entities: entitiesToUse,\n mainSchemas\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string.isRequired,\n entity: PropTypes.string,\n entities: PropTypes.array,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object,\n sortProperties: PropTypes.array,\n itemListName: PropTypes.string\n};\n\nListFactory.defaultProps = {\n entity: '',\n entities: [],\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sortProperties: [],\n sort: '',\n operator: AND,\n searchFilter: {},\n itemListName: ''\n};\n\nexport default ListFactory;\n"],"mappings":"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"}
@@ -7,6 +7,4 @@ export { default as getItemsPerPageToUse } from './get-items-per-page-to-use';
7
7
  export { default as getSortProps } from './get-sort-props';
8
8
  export { default as hasRequiredItemListDetails } from './has-required-item-list-details';
9
9
  export { default as getListComponent } from './get-list-component';
10
- export { default as getListQuery } from './get-list-query';
11
- export { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';
12
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent","getListQuery","getListSpecificSearchFilter"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB;AAClE,SAAST,OAAO,IAAIU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,OAAO,IAAIW,2BAA2B,QAAQ,mCAAmC"}
1
+ {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB"}
@@ -9,12 +9,12 @@ const SearchContent = ({
9
9
  searchInputAlignment,
10
10
  searchInputWrapperMobile,
11
11
  searchInputWrapperDesktop,
12
+ collapsible,
12
13
  isMobile,
13
14
  placeholder,
14
- modifier,
15
- collapsedSearch
15
+ modifier
16
16
  }) => {
17
- const [collapsed, setCollapsed] = useState(collapsedSearch);
17
+ const [collapsed, setCollapsed] = useState(collapsible);
18
18
  const router = useRouter();
19
19
  const {
20
20
  results,
@@ -44,7 +44,7 @@ const SearchContent = ({
44
44
  }
45
45
  };
46
46
  const handleOnBlur = () => {
47
- if (!collapsedSearch) return;
47
+ if (!collapsible) return;
48
48
  if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);
49
49
  };
50
50
  const handleClearSearchResults = () => {
@@ -106,8 +106,7 @@ SearchContent.propTypes = {
106
106
  isMobile: PropTypes.bool,
107
107
  collapsible: PropTypes.bool,
108
108
  entities: PropTypes.array.isRequired,
109
- modifier: PropTypes.string,
110
- collapsedSearch: PropTypes.bool
109
+ modifier: PropTypes.string
111
110
  };
112
111
  SearchContent.defaultProps = {
113
112
  searchInputAlignment: '',
@@ -116,8 +115,7 @@ SearchContent.defaultProps = {
116
115
  placeholder: '',
117
116
  isMobile: false,
118
117
  collapsible: false,
119
- modifier: '',
120
- collapsedSearch: false
118
+ modifier: ''
121
119
  };
122
120
  export default SearchContent;
123
121
  //# sourceMappingURL=SearchContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","createElement","viewBox","fillRule","d","clipRule","onFocus","onChange","type","name","Fragment","onClear","onKeyPress","onBlur","propTypes","string","bool","collapsible","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch\n}) => {\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsedSearch) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false,\n modifier: '',\n collapsedSearch: false\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","collapsible","isMobile","placeholder","modifier","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","createElement","viewBox","fillRule","d","clipRule","onFocus","onChange","type","name","Fragment","onClear","onKeyPress","onBlur","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n collapsible,\n isMobile,\n placeholder,\n modifier\n}) => {\n const [collapsed, setCollapsed] = useState(collapsible);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsible) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false,\n modifier: ''\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
@@ -3,14 +3,13 @@ import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import debounce from 'lodash.debounce';
5
5
  import FiltersList from './FiltersList';
6
- import { isDeviceDesktop, buildUrlQuery, getFilterValues, getResponsiveFilterClassnames } from '../helpers';
6
+ import { isDeviceDesktop, buildQuery, getInitialFilterValues, getResponsiveFilterClassnames } from '../helpers';
7
7
  import CloseMobileForm from './CloseMobileForm';
8
8
  import ResetDesktopForm from './ResetDesktopForm';
9
9
  import MobileFormToolbar from './MobileFormToolbar';
10
10
  import { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';
11
11
  const SearchFilter = ({
12
12
  searchFilterRef,
13
- listComponentName,
14
13
  data,
15
14
  filters,
16
15
  hasUrl,
@@ -23,13 +22,12 @@ const SearchFilter = ({
23
22
  groupAfterDesktop,
24
23
  groupAfterMobile,
25
24
  filterValues,
26
- setAppliedFilters,
27
- query
25
+ setAppliedFilters
28
26
  }) => {
29
27
  const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);
30
28
  const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);
31
- const doSubmit = newValues => {
32
- const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);
29
+ const doSubmit = (newValues = filterValues) => {
30
+ const newQuery = buildQuery(newValues, filters);
33
31
  handleSearch(newQuery);
34
32
  setMoreFiltersDesktopCollapsed(true);
35
33
  setMoreFiltersMobileCollapsed(true);
@@ -57,7 +55,7 @@ const SearchFilter = ({
57
55
  } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);
58
56
  const formId = `filter-${name}-form`;
59
57
  const handleReset = () => {
60
- const newValues = getFilterValues(null, filters, {});
58
+ const newValues = getInitialFilterValues(null, filters, {});
61
59
  setAppliedFilters({
62
60
  newValues,
63
61
  type: 'reset'
@@ -72,6 +70,7 @@ const SearchFilter = ({
72
70
  });
73
71
  };
74
72
  const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);
73
+ const shouldSearch = !hasUrl;
75
74
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("form", {
76
75
  ref: searchFilterRef,
77
76
  className: formClass,
@@ -79,7 +78,7 @@ const SearchFilter = ({
79
78
  id: formId,
80
79
  onSubmit: e => {
81
80
  e.preventDefault();
82
- doSubmit(filterValues);
81
+ doSubmit();
83
82
  }
84
83
  }, displaySearchFilter && /*#__PURE__*/React.createElement(CloseMobileForm, {
85
84
  handleClose: () => setDisplaySearchFilter(false)
@@ -90,7 +89,7 @@ const SearchFilter = ({
90
89
  }), /*#__PURE__*/React.createElement("div", {
91
90
  className: "filter__wrapper filter__wrapper--search-refine"
92
91
  }, !shouldGroup && /*#__PURE__*/React.createElement(FiltersList, {
93
- shouldSearch: !hasUrl,
92
+ shouldSearch: shouldSearch,
94
93
  data: data,
95
94
  filters: filters,
96
95
  hasUrl: hasUrl,
@@ -98,7 +97,7 @@ const SearchFilter = ({
98
97
  filterValues: filterValues,
99
98
  updateFilterValues: updateFilterValues
100
99
  }), shouldGroup && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FiltersList, {
101
- shouldSearch: !hasUrl,
100
+ shouldSearch: shouldSearch,
102
101
  data: data,
103
102
  filters: filters.slice(0, groupAfterMobile),
104
103
  hasUrl: hasUrl,
@@ -115,7 +114,7 @@ const SearchFilter = ({
115
114
  }, /*#__PURE__*/React.createElement("div", {
116
115
  className: MORE_FILTERS_CLASSES.MOBILE_CONTENT
117
116
  }, /*#__PURE__*/React.createElement(FiltersList, {
118
- shouldSearch: !hasUrl && isDeviceDesktop(),
117
+ shouldSearch: shouldSearch && isDeviceDesktop(),
119
118
  data: data,
120
119
  filters: filters.slice(groupAfterMobile, groupAfterDesktop ? groupAfterDesktop - 1 : 0),
121
120
  hasUrl: hasUrl,
@@ -181,13 +180,7 @@ SearchFilter.propTypes = {
181
180
  groupAfterDesktop: PropTypes.number.isRequired,
182
181
  groupAfterMobile: PropTypes.number.isRequired,
183
182
  filterValues: PropTypes.object.isRequired,
184
- setAppliedFilters: PropTypes.func.isRequired,
185
- listComponentName: PropTypes.string,
186
- query: PropTypes.object
187
- };
188
- SearchFilter.defaultProps = {
189
- listComponentName: '',
190
- query: {}
183
+ setAppliedFilters: PropTypes.func.isRequired
191
184
  };
192
185
  export default SearchFilter;
193
186
  //# sourceMappingURL=SearchFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"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 buildUrlQuery,\n getFilterValues,\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 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 const newValues = getFilterValues(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\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
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number"],"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":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,WAAW,MAAM,eAAe;AACvC,SACEC,eAAe,EACfC,UAAU,EACVC,sBAAsB,EACtBC,6BAA6B,QACxB,YAAY;AACnB,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,MAAM,EAAEC,MAAM,EAAEC,oBAAoB,QAAQ,cAAc;AAEnE,MAAMC,YAAY,GAAGA,CAAC;EACpBC,eAAe;EACfC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,YAAY;EACZC,IAAI;EACJC,uBAAuB;EACvBC,mBAAmB;EACnBC,sBAAsB;EACtBC,iBAAiB;EACjBC,gBAAgB;EAChBC,YAAY;EACZC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,0BAA0B,EAAEC,6BAA6B,CAAC,GAAGhC,QAAQ,CAAC,IAAI,CAAC;EAClF,MAAM,CAACiC,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGlC,QAAQ,CAAC,IAAI,CAAC;EAEpF,MAAMmC,QAAQ,GAAGA,CAACC,SAAS,GAAGP,YAAY,KAAK;IAC7C,MAAMQ,QAAQ,GAAG9B,UAAU,CAAC6B,SAAS,EAAEjB,OAAO,CAAC;IAC/CG,YAAY,CAACe,QAAQ,CAAC;IACtBH,8BAA8B,CAAC,IAAI,CAAC;IACpCF,6BAA6B,CAAC,IAAI,CAAC;EACrC,CAAC;EAED,MAAMM,YAAY,GAAGlC,QAAQ,CAACgC,SAAS,IAAI;IACzCD,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC,EAAE,GAAG,CAAC;EAEPnC,SAAS,CACP,MAAM;IACJ,IAAI4B,YAAY,CAACU,YAAY,EAAE;MAC7BD,YAAY,CAACT,YAAY,CAAC;MAC1BC,iBAAiB,CAAC;QAAEU,IAAI,EAAE;MAAc,CAAC,CAAC;IAC5C;EACF,CAAC,EACD,CAACX,YAAY,EAAES,YAAY,EAAER,iBAAiB,CAChD,CAAC;EAED,MAAMW,SAAS,GAAGtC,UAAU,CAAC,oCAAoC,EAAE;IACjE,sBAAsB,EAAEqB,uBAAuB,IAAIC,mBAAmB;IACtE,2BAA2B,EAAED;EAC/B,CAAC,CAAC;EAEF,MAAM;IACJkB,6BAA6B;IAC7BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC;EACF,CAAC,GAAGpC,6BAA6B,CAACwB,2BAA2B,EAAEF,0BAA0B,CAAC;EAE1F,MAAMe,MAAM,GAAI,UAASvB,IAAK,OAAM;EAEpC,MAAMwB,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMX,SAAS,GAAG5B,sBAAsB,CAAC,IAAI,EAAEW,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3DW,iBAAiB,CAAC;MAAEM,SAAS;MAAEI,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC/CL,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC;EAED,MAAMY,kBAAkB,GAAGA,CAACZ,SAAS,EAAEa,YAAY,KAAK;IACtDnB,iBAAiB,CAAC;MAAEM,SAAS;MAAEG,YAAY,EAAEU,YAAY;MAAET,IAAI,EAAE;IAAS,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMU,WAAW,GAAG,CAAC,EAAEvB,iBAAiB,IAAIC,gBAAgB,CAAC;EAC7D,MAAMW,YAAY,GAAG,CAACnB,MAAM;EAC5B,oBACErB,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAqD,QAAA,qBACErD,KAAA,CAAAoD,aAAA;IACEE,GAAG,EAAEpC,eAAgB;IACrBqC,SAAS,EAAEb,SAAU;IACrB,eAAaK,MAAO;IACpBS,EAAE,EAAET,MAAO;IACXU,QAAQ,EAAEC,CAAC,IAAI;MACbA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClBvB,QAAQ,CAAC,CAAC;IACZ;EAAE,GACDV,mBAAmB,iBAClB1B,KAAA,CAAAoD,aAAA,CAACzC,eAAe;IAACiD,WAAW,EAAEA,CAAA,KAAMjC,sBAAsB,CAAC,KAAK;EAAE,CAAE,CACrE,eAED3B,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC;EAA8B,gBAC3CvD,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAE9ChD,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC;EAAgD,GAC5D,CAACJ,WAAW,iBACXnD,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAa;IAC3BrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,CACxC,CACF,EAEAE,WAAW,iBACVnD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAqD,QAAA,qBACErD,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAa;IAC3BrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CAAC,CAAC,EAAEhC,gBAAgB,CAAE;IAC5CR,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,CACxC,CAAC,EAED,CAAC,CAACpB,gBAAgB,iBACjB7B,KAAA,CAAAoD,aAAA;IACE,eAAY,8BAA8B;IAC1CG,SAAS,EAAEX,6BAA8B;IACzCH,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KAAM7B,6BAA6B,CAAC,CAACD,0BAA0B;EAAE,GAAC,SAErE,CACT,eAEDhC,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEZ;EAA8B,gBAC5C3C,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAAC+C;EAAe,gBAClD/D,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAY,IAAIjC,eAAe,CAAC,CAAE;IAChDY,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CACpBhC,gBAAgB,EAChBD,iBAAiB,GAAGA,iBAAiB,GAAG,CAAC,GAAG,CAC9C,CAAE;IACFP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,CACxC,CAAC,EAED,CAAC,CAACrB,iBAAiB,iBAClB5B,KAAA,CAAAoD,aAAA;IACE,eAAY,+BAA+B;IAC3CG,SAAS,EAAET,8BAA+B;IAC1CL,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KACP3B,8BAA8B,CAAC,CAACD,2BAA2B;EAC5D,GAAC,cAEI,CACT,eAEDlC,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEV;EAA+B,gBAC7C7C,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACgD;EAAgB,gBACnDhE,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAE,KAAM;IACpBrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CAACjC,iBAAiB,CAAE;IAC1CP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,CACxC,CACE,CAAC,eAENjD,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACiD;EAAgB,gBACnDjE,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAE9ChD,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MACK,CACL,CACF,CACF,CAAC,eAENd,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACkD;EAAe,gBAClDlE,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAE9ChD,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MACK,CACL,CACF,CACL,CACH,eAEDd,KAAA,CAAAoD,aAAA,WAAK,CAAC,EAEL,CAAC1B,mBAAmB,iBACnB1B,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MACK,CAEP,CACF,CAAC,EAELY,mBAAmB,iBAAI1B,KAAA,CAAAoD,aAAA,CAACvC,iBAAiB;IAACkC,MAAM,EAAEA,MAAO;IAACC,WAAW,EAAEA;EAAY,CAAE,CAClF,CAAC,EAENvB,uBAAuB,IACtB,CAACC,mBAAmB,iBAClB1B,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC,6CAA6C;IAAC,eAAY;EAAe,gBACtFvD,KAAA,CAAAoD,aAAA;IAAKe,IAAI,EAAC,QAAQ;IAACL,OAAO,EAAEA,CAAA,KAAMnC,sBAAsB,CAAC,IAAI;EAAE,GAC5DZ,MACE,CACF,CAET,CAAC;AAEP,CAAC;AAEDE,YAAY,CAACmD,SAAS,GAAG;EACvBjD,IAAI,EAAEhB,SAAS,CAACkE,MAAM,CAACC,UAAU;EACjClD,OAAO,EAAEjB,SAAS,CAACoE,KAAK,CAACD,UAAU;EACnCpD,eAAe,EAAEf,SAAS,CAACkE,MAAM,CAACC,UAAU;EAC5CjD,MAAM,EAAElB,SAAS,CAACqE,IAAI,CAACF,UAAU;EACjChD,MAAM,EAAEnB,SAAS,CAACsE,MAAM,CAACH,UAAU;EACnC/C,YAAY,EAAEpB,SAAS,CAACuE,IAAI,CAACJ,UAAU;EACvC9C,IAAI,EAAErB,SAAS,CAACsE,MAAM,CAACH,UAAU;EACjC5C,mBAAmB,EAAEvB,SAAS,CAACqE,IAAI,CAACF,UAAU;EAC9C3C,sBAAsB,EAAExB,SAAS,CAACuE,IAAI,CAACJ,UAAU;EACjD7C,uBAAuB,EAAEtB,SAAS,CAACqE,IAAI,CAACF,UAAU;EAClD1C,iBAAiB,EAAEzB,SAAS,CAACwE,MAAM,CAACL,UAAU;EAC9CzC,gBAAgB,EAAE1B,SAAS,CAACwE,MAAM,CAACL,UAAU;EAC7CxC,YAAY,EAAE3B,SAAS,CAACkE,MAAM,CAACC,UAAU;EACzCvC,iBAAiB,EAAE5B,SAAS,CAACuE,IAAI,CAACJ;AACpC,CAAC;AAED,eAAerD,YAAY"}