@blaze-cms/react-page-builder 0.131.0 → 0.132.0-admin-updates.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/CHANGELOG.md +38 -0
  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/SearchFilter/__snapshots__/SearchFilterContainer.test.js.snap +1 -7
  204. package/tests/unit/src/components/SearchFilter/helpers/build-new-query.test.js +10 -10
  205. package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +24 -7
  206. package/tests/unit/src/components/SearchFilter/helpers/get-initial-filter-values.test.js +10 -10
  207. package/tests/unit/src/components/SearchFilterSort/SearchFilterSort.test.js +4 -1
  208. package/tests/unit/src/components/SearchFilterSort/helpers/handle-sort-update.test.js +26 -19
  209. package/tests/unit/src/components/SearchFilterSort/helpers/update-sort.test.js +10 -1
  210. package/tests/unit/src/helpers/__snapshots__/get-wrapped-value-with-link.test.js.snap +18 -0
  211. package/tests/unit/src/helpers/build-props-query.test.js +25 -0
  212. package/tests/unit/src/helpers/get-wrapped-value-with-link.test.js +2 -2
  213. package/tests/unit/src/helpers/parse-props-to-display.test.js +4 -0
  214. package/tests/unit/src/helpers/prcoess-data-summary-value.test.js +52 -0
  215. package/lib/components/SearchFilter/helpers/build-new-query.js +0 -15
  216. package/lib/components/SearchFilter/helpers/build-new-query.js.map +0 -1
  217. package/lib/components/SearchFilter/helpers/build-query.js +0 -37
  218. package/lib/components/SearchFilter/helpers/build-query.js.map +0 -1
  219. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +0 -43
  220. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +0 -1
  221. package/lib-es/components/SearchFilter/helpers/build-new-query.js +0 -6
  222. package/lib-es/components/SearchFilter/helpers/build-new-query.js.map +0 -1
  223. package/lib-es/components/SearchFilter/helpers/build-query.js +0 -23
  224. package/lib-es/components/SearchFilter/helpers/build-query.js.map +0 -1
  225. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +0 -26
  226. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +0 -1
  227. package/src/components/SearchFilter/helpers/build-new-query.js +0 -6
  228. package/src/components/SearchFilter/helpers/build-query.js +0 -26
  229. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +0 -30
@@ -1,4 +1,4 @@
1
- import buildQuery from '../../../../../../src/components/SearchFilter/helpers/build-query';
1
+ import buildUrlQuery from '../../../../../../src/components/SearchFilter/helpers/build-url-query';
2
2
  import { SEARCH_TERM } from '../../../../../../src/components/SearchFilter/constants';
3
3
 
4
4
  const mockedProps = [
@@ -10,10 +10,15 @@ const mockedProps = [
10
10
  ]
11
11
  ];
12
12
 
13
- describe('buildQuery helper function', () => {
14
- const simpleExample = buildQuery(...mockedProps[0]);
15
- const withTextSearch = buildQuery(...mockedProps[1]);
16
- const withSearchAndRange = buildQuery(...mockedProps[2]);
13
+ describe('buildUrlQuery helper function', () => {
14
+ const simpleExample = buildUrlQuery(...mockedProps[0]);
15
+ const withTextSearch = buildUrlQuery(...mockedProps[1]);
16
+ const withSearchAndRange = buildUrlQuery(...mockedProps[2]);
17
+ const withListName = buildUrlQuery(...mockedProps[2], 'listName');
18
+ const withListNameAndOtherQueryBits = buildUrlQuery(...mockedProps[2], 'listName', {
19
+ sort: 'asc',
20
+ anotherQuery: '123'
21
+ });
17
22
 
18
23
  it('should always return a string', () => {
19
24
  expect(typeof simpleExample).toBe('string');
@@ -24,10 +29,22 @@ describe('buildQuery helper function', () => {
24
29
  });
25
30
 
26
31
  it('should return new query string with search term if available', () => {
27
- expect(withTextSearch).toEqual('search_term=new%20search%20value');
32
+ expect(withTextSearch).toEqual('search_term=new search value');
28
33
  });
29
34
 
30
35
  it('should return new query string with search text and all other available query values', () => {
31
- expect(withSearchAndRange).toEqual('search_term=new%20search%20value&rangeFilter=2-10');
36
+ expect(withSearchAndRange).toEqual('search_term=new search value&rangeFilter=2-10');
37
+ });
38
+
39
+ it('should return new query string listName if passed', () => {
40
+ expect(withListName).toEqual(
41
+ 'pb[listName][search_term]=new search value&pb[listName][rangeFilter]=2-10'
42
+ );
43
+ });
44
+
45
+ it('should return new query string with unaltered bits from other query', () => {
46
+ expect(withListNameAndOtherQueryBits).toEqual(
47
+ 'pb[listName][search_term]=new search value&pb[listName][rangeFilter]=2-10&sort=asc&anotherQuery=123'
48
+ );
32
49
  });
33
50
  });
@@ -1,4 +1,4 @@
1
- import getInitialFilterValues from '../../../../../../src/components/SearchFilter/helpers/get-initial-filter-values';
1
+ import getFilterValues from '../../../../../../src/components/SearchFilter/helpers/get-filter-values';
2
2
  import { SEARCH_TERM } from '../../../../../../src/components/SearchFilter/constants';
3
3
 
4
4
  const filters = [
@@ -16,25 +16,24 @@ const mockedProps = [
16
16
  [{ rangeFilter: { min: 5, max: 10 }, checkboxFilter: {}, emptySelect: {} }, filters, query]
17
17
  ];
18
18
 
19
- describe('getInitialFilterValues helper function', () => {
20
- const withNoValue = getInitialFilterValues(...mockedProps[0]);
21
- const withValues = getInitialFilterValues(...mockedProps[1]);
19
+ describe('getFilterValues helper function', () => {
20
+ const withNoValue = getFilterValues(...mockedProps[0]);
21
+ const withValues = getFilterValues(...mockedProps[1]);
22
22
 
23
23
  it('should return init filter values based on query and filterData', () => {
24
- expect(withNoValue).toEqual({ dataNotSet: false, search_term: '' });
24
+ expect(withNoValue).toEqual({ search_term: '', dataNotSet: false });
25
25
  expect(withValues).toEqual({
26
- dataNotSet: false,
27
26
  search_term: query[SEARCH_TERM],
28
27
  rangeFilter: { max: 10, maxValue: 8, min: 5, minValue: 7, step: 1 },
29
28
  checkboxFilter: ['check1', 'check2'],
30
- emptySelect: null
29
+ emptySelect: null,
30
+ dataNotSet: false
31
31
  });
32
32
  });
33
33
 
34
34
  it('should return init filter values without filterData', () => {
35
- const withNoData = getInitialFilterValues(null, filters, query);
35
+ const withNoData = getFilterValues(null, filters, query);
36
36
  expect(withNoData).toEqual({
37
- dataNotSet: true,
38
37
  search_term: query[SEARCH_TERM],
39
38
  rangeFilter: {
40
39
  max: 8,
@@ -44,7 +43,8 @@ describe('getInitialFilterValues helper function', () => {
44
43
  step: 1
45
44
  },
46
45
  checkboxFilter: query.checkboxFilter,
47
- emptySelect: null
46
+ emptySelect: null,
47
+ dataNotSet: true
48
48
  });
49
49
  });
50
50
  });
@@ -5,8 +5,11 @@ import { render } from '@blaze-cms/tools/test-helpers/test-functions';
5
5
  import '@testing-library/jest-dom/extend-expect';
6
6
  import SearchFilterSort from '../../../../../src/components/SearchFilterSort/SearchFilterSort';
7
7
 
8
+ jest.mock('next/router', () => ({
9
+ useRouter: jest.fn(() => ({ asPath: 'test-url' }))
10
+ }));
11
+
8
12
  const props = {
9
- router: { asPath: 'some-path' },
10
13
  filters: [{ label: 'label1', propsToDisplay: ['name'], sort: 'ascending' }],
11
14
  label: 'someLabel',
12
15
  id: '123456'
@@ -1,43 +1,50 @@
1
1
  import handleSortUpdate from '../../../../../../src/components/SearchFilterSort/helpers/handle-sort-update';
2
2
 
3
3
  const routerPushResultMock = () => ({ then: jest.fn() });
4
+ // router, value, query, url, selectLabel, listComponentName
4
5
  const mockedProps = [
5
- [{ push: jest.fn(routerPushResultMock) }, 'defaultOption', {}, 'url', 'defaultOption'],
6
- [
7
- { push: jest.fn(routerPushResultMock) },
8
- 'defaultOption',
9
- { sort: 'asc', sortby: 'name', type: 'big' },
10
- 'baseurl',
11
- 'defaultOption'
12
- ],
13
- [
14
- { push: jest.fn(routerPushResultMock) },
15
- 'name:desc',
16
- { someOther: 'ott' },
17
- 'url',
18
- 'defaultOption'
19
- ]
6
+ {
7
+ router: { asPath: 'asPath', push: jest.fn(routerPushResultMock) },
8
+ value: 'defaultOption',
9
+ query: {},
10
+ url: 'url',
11
+ selectLabel: 'defaultOption'
12
+ },
13
+ {
14
+ router: { asPath: 'asPath', push: jest.fn(routerPushResultMock) },
15
+ value: 'defaultOption',
16
+ query: { sort: 'asc', sortby: 'name', type: 'big' },
17
+ url: 'baseurl',
18
+ selectLabel: 'defaultOption'
19
+ },
20
+ {
21
+ router: { asPath: 'asPath', push: jest.fn(routerPushResultMock) },
22
+ value: 'name:desc',
23
+ query: { someOther: 'ott' },
24
+ url: 'url',
25
+ selectLabel: 'defaultOption'
26
+ }
20
27
  ];
21
28
 
22
29
  describe('handleSortUpdate helper function', () => {
23
- mockedProps.forEach(props => handleSortUpdate(...props));
30
+ mockedProps.forEach(props => handleSortUpdate({ ...props }));
24
31
 
25
32
  it('should navigate to url with no sort if default value is selected', () => {
26
- expect(mockedProps[0][0].push).toHaveBeenLastCalledWith('/Resolver', 'url', {
33
+ expect(mockedProps[0].router.push).toHaveBeenLastCalledWith('/Resolver', 'url', {
27
34
  shallow: true,
28
35
  scroll: false
29
36
  });
30
37
  });
31
38
 
32
39
  it('should navigate to url with no sort with previous querys if default value is selected', () => {
33
- expect(mockedProps[1][0].push).toHaveBeenLastCalledWith('/Resolver', 'baseurl?type=big', {
40
+ expect(mockedProps[1].router.push).toHaveBeenLastCalledWith('/Resolver', 'baseurl?type=big', {
34
41
  shallow: true,
35
42
  scroll: false
36
43
  });
37
44
  });
38
45
 
39
46
  it('should navigate to url with new sort if selected', () => {
40
- expect(mockedProps[2][0].push).toHaveBeenLastCalledWith(
47
+ expect(mockedProps[2].router.push).toHaveBeenLastCalledWith(
41
48
  '/Resolver',
42
49
  'url?someOther=ott&sort=desc&sortby=name',
43
50
  { shallow: true, scroll: false }
@@ -1,10 +1,15 @@
1
1
  import updateSort from '../../../../../../src/components/SearchFilterSort/helpers/update-sort';
2
2
 
3
- const mockedProps = [['name:asc', {}, 'aurl'], ['name:asc', { other: '12', query2: 'an' }, 'aurl']];
3
+ const mockedProps = [
4
+ ['name:asc', {}, 'aurl'],
5
+ ['name:asc', { other: '12', query2: 'an' }, 'aurl'],
6
+ ['name:desc', { query1: 'aquery' }, 'theUrl', '#hashBit']
7
+ ];
4
8
 
5
9
  describe('updateSort helper function', () => {
6
10
  const basicSort = updateSort(...mockedProps[0]);
7
11
  const sortWithOtherQuerys = updateSort(...mockedProps[1]);
12
+ const sortWithhash = updateSort(...mockedProps[2]);
8
13
 
9
14
  it('should return a parsed url based on the parameters passed', () => {
10
15
  expect(basicSort).toEqual('aurl?sort=asc&sortby=name');
@@ -13,4 +18,8 @@ describe('updateSort helper function', () => {
13
18
  it('should return a parsed url with extra query params if passed', () => {
14
19
  expect(sortWithOtherQuerys).toEqual('aurl?other=12&query2=an&sort=asc&sortby=name');
15
20
  });
21
+
22
+ it('should return a parsed url with extra query params and hash if passed', () => {
23
+ expect(sortWithhash).toEqual('theUrl?query1=aquery&sort=desc&sortby=name#hashBit');
24
+ });
16
25
  });
@@ -0,0 +1,18 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`get wrapped value with link func should return array with correponding value and link 1`] = `
4
+ <React.Fragment>
5
+ <React.Fragment>
6
+ test-name
7
+ ,
8
+ </React.Fragment>
9
+
10
+ </React.Fragment>
11
+ `;
12
+
13
+ exports[`get wrapped value with link func should return array with correponding value and link 2`] = `
14
+ <React.Fragment>
15
+ test-name2
16
+
17
+ </React.Fragment>
18
+ `;
@@ -182,6 +182,31 @@ describe('get card render props', () => {
182
182
  'id,name,url,sponsored,featured,category{name,listingPageId,listingPageEntity, id publishedListingPage{id, url}},address{country,id}'
183
183
  );
184
184
  });
185
+
186
+ it('should url props where enableLink is set', () => {
187
+ const _data = {
188
+ getEntitySchema: {
189
+ interfaces: [CONTENT_INTERFACE],
190
+ properties: {
191
+ id: 'id',
192
+ nestedProperty: {
193
+ type: 'object'
194
+ }
195
+ },
196
+ relations: [{ localField: 'address' }],
197
+ dynamicProperties: {
198
+ nestedDynamicProperty: {
199
+ type: 'object'
200
+ }
201
+ }
202
+ }
203
+ };
204
+ const linkProps = ['nestedProperty.title', 'nestedDynamicProperty.title', 'address.title'];
205
+ const query = buildPropsQuery(_data, linkProps, {}, linkProps);
206
+ expect(query).toEqual(
207
+ 'id,name,url,sponsored,featured,nestedProperty{title,url},nestedDynamicProperty{title,url},address{title,id,url}'
208
+ );
209
+ });
185
210
  });
186
211
 
187
212
  function testUrlProperty({ extraProperties = {}, dynamicProperties = {}, cardProps }) {
@@ -33,7 +33,7 @@ describe('get wrapped value with link func', () => {
33
33
  expect(resultWithArray).toHaveLength(2);
34
34
  expect(resultWithArray[0].props.href).toEqual(link);
35
35
  expect(resultWithArray[0].key).toEqual(`${keyPrefix}-0`);
36
- expect(resultWithArray[0].props.children).toEqual(`${arrayOfValues[0][keyField]}, `);
37
- expect(resultWithArray[1]).toEqual(`${arrayOfValues[1][keyField]} `);
36
+ expect(resultWithArray[0].props.children).toMatchSnapshot();
37
+ expect(resultWithArray[1]).toMatchSnapshot();
38
38
  });
39
39
  });
@@ -1,5 +1,8 @@
1
1
  import '@testing-library/jest-dom/extend-expect';
2
2
  import parsePropsToDisplay from '../../../../src/helpers/parse-props-to-display';
3
+ import processDataSummaryValue from '../../../../src/helpers/process-data-summary-value';
4
+
5
+ jest.mock('../../../../src/helpers/process-data-summary-value', () => jest.fn(value => value));
3
6
 
4
7
  const mockedPropsToDisplayStringArr = ['name', 'other', 'cat.name', 'tag.name'];
5
8
  const mockedPropsToDisplayObjectArr = [
@@ -34,6 +37,7 @@ describe('parsePropsToDisplay func', () => {
34
37
  it('should return an array of react elements if an array of objects is passed', () => {
35
38
  const nonElement = !!withObjArr.find(({ type }) => typeof type !== 'symbol');
36
39
  expect(nonElement).toEqual(false);
40
+ expect(processDataSummaryValue).toHaveBeenCalled();
37
41
  });
38
42
 
39
43
  it('should display bold tag wrapper when props to display has bold property', () => {
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+ import React from 'react';
5
+ import processDataSummaryValue from '../../../../src/helpers/process-data-summary-value';
6
+ import components from '../../../../src/components';
7
+
8
+ const { code: Code } = components;
9
+
10
+ const keyField = 'name';
11
+ const john = { keyField, name: 'John', age: 30 };
12
+ const jane = { keyField, name: 'Jane', age: 25 };
13
+
14
+ describe('processDataSummaryValue', () => {
15
+ test('should return the same value when isHtml is false', () => {
16
+ const value = 'Hello, world!';
17
+ const result = processDataSummaryValue(value, { isHtml: false });
18
+ expect(result).toBe(value);
19
+ });
20
+
21
+ test('should render code when isHtml is true and objPropValue is a string', () => {
22
+ const value = 'value';
23
+ const result = processDataSummaryValue(value, { isHtml: true });
24
+ const expectedResult = <Code code={value} disableWrapper />;
25
+ expect(result).toEqual(expectedResult);
26
+ });
27
+
28
+ test('should render code for each object property when isHtml is true and objPropValue is an array of objects', () => {
29
+ const value = [john, jane];
30
+ const result = processDataSummaryValue(value, { isHtml: true });
31
+ const expectedResult = [
32
+ {
33
+ keyField,
34
+ name: <Code code={john.name} disableWrapper />,
35
+ age: 30
36
+ },
37
+ {
38
+ keyField,
39
+ name: <Code code={jane.name} disableWrapper />,
40
+ age: 25
41
+ }
42
+ ];
43
+ expect(result).toEqual(expectedResult);
44
+ });
45
+
46
+ test('should not render code for the only property when isHtml is false and objPropValue is an object', () => {
47
+ const value = [john];
48
+ const result = processDataSummaryValue(value, { isHtml: false });
49
+ const expectedResult = [john];
50
+ expect(result).toEqual(expectedResult);
51
+ });
52
+ });
@@ -1,15 +0,0 @@
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 buildNewQuery = function buildNewQuery(url, currentUrl, queryParams, sortValues) {
10
- var newUrl = url ? "".concat(url, "?").concat(queryParams) : "".concat(currentUrl, "?").concat(queryParams);
11
- return sortValues ? "".concat(newUrl, "&").concat(sortValues) : newUrl;
12
- };
13
- var _default = buildNewQuery;
14
- exports["default"] = _default;
15
- //# sourceMappingURL=build-new-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-new-query.js","names":["buildNewQuery","url","currentUrl","queryParams","sortValues","newUrl","concat","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/build-new-query.js"],"sourcesContent":["const buildNewQuery = (url, currentUrl, queryParams, sortValues) => {\n const newUrl = url ? `${url}?${queryParams}` : `${currentUrl}?${queryParams}`;\n return sortValues ? `${newUrl}&${sortValues}` : newUrl;\n};\n\nexport default buildNewQuery;\n"],"mappings":";;;;;;;;AAAA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,GAAG,EAAEC,UAAU,EAAEC,WAAW,EAAEC,UAAU,EAAK;EAClE,IAAMC,MAAM,GAAGJ,GAAG,MAAAK,MAAA,CAAML,GAAG,OAAAK,MAAA,CAAIH,WAAW,OAAAG,MAAA,CAAQJ,UAAU,OAAAI,MAAA,CAAIH,WAAW,CAAE;EAC7E,OAAOC,UAAU,MAAAE,MAAA,CAAMD,MAAM,OAAAC,MAAA,CAAIF,UAAU,IAAKC,MAAM;AACxD,CAAC;AAAC,IAAAE,QAAA,GAEaP,aAAa;AAAAQ,OAAA,cAAAD,QAAA"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- require("core-js/modules/es.array.concat.js");
10
- require("core-js/modules/es.array.for-each.js");
11
- require("core-js/modules/es.object.to-string.js");
12
- require("core-js/modules/web.dom-collections.for-each.js");
13
- require("core-js/modules/es.array.includes.js");
14
- require("core-js/modules/es.array.join.js");
15
- var _constants = require("../constants");
16
- var _parseFilterValue = _interopRequireDefault(require("./parse-filter-value"));
17
- var buildQuery = function buildQuery(filterValues, filters) {
18
- var newQuery = [];
19
- var searchValue = filterValues[_constants.SEARCH_TERM] ? encodeURIComponent(filterValues[_constants.SEARCH_TERM]) : '';
20
- if (searchValue) newQuery.push("".concat(_constants.SEARCH_TERM, "=").concat(searchValue));
21
- filters.forEach(function (_ref) {
22
- var propsToDisplay = _ref.propsToDisplay,
23
- type = _ref.type;
24
- if (type === _constants.TEXT_SEARCH) return;
25
- propsToDisplay.forEach(function (prop) {
26
- var value = filterValues[prop];
27
- var parsedValue = (0, _parseFilterValue["default"])(prop, type, value);
28
- if (parsedValue && !newQuery.includes(parsedValue)) {
29
- newQuery.push(parsedValue);
30
- }
31
- });
32
- });
33
- return newQuery.join('&');
34
- };
35
- var _default = buildQuery;
36
- exports["default"] = _default;
37
- //# sourceMappingURL=build-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-query.js","names":["_constants","require","_parseFilterValue","_interopRequireDefault","buildQuery","filterValues","filters","newQuery","searchValue","SEARCH_TERM","encodeURIComponent","push","concat","forEach","_ref","propsToDisplay","type","TEXT_SEARCH","prop","value","parsedValue","parseFilterValue","includes","join","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/build-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\n\nconst buildQuery = (filterValues, filters) => {\n const newQuery = [];\n const searchValue = filterValues[SEARCH_TERM]\n ? encodeURIComponent(filterValues[SEARCH_TERM])\n : '';\n if (searchValue) newQuery.push(`${SEARCH_TERM}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const parsedValue = parseFilterValue(prop, type, value);\n if (parsedValue && !newQuery.includes(parsedValue)) {\n newQuery.push(parsedValue);\n }\n });\n });\n\n return newQuery.join('&');\n};\n\nexport default buildQuery;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAIC,YAAY,EAAEC,OAAO,EAAK;EAC5C,IAAMC,QAAQ,GAAG,EAAE;EACnB,IAAMC,WAAW,GAAGH,YAAY,CAACI,sBAAW,CAAC,GACzCC,kBAAkB,CAACL,YAAY,CAACI,sBAAW,CAAC,CAAC,GAC7C,EAAE;EACN,IAAID,WAAW,EAAED,QAAQ,CAACI,IAAI,IAAAC,MAAA,CAAIH,sBAAW,OAAAG,MAAA,CAAIJ,WAAW,CAAE,CAAC;EAE/DF,OAAO,CAACO,OAAO,CAAC,UAAAC,IAAA,EAA8B;IAAA,IAA3BC,cAAc,GAAAD,IAAA,CAAdC,cAAc;MAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACrC,IAAIA,IAAI,KAAKC,sBAAW,EAAE;IAE1BF,cAAc,CAACF,OAAO,CAAC,UAAAK,IAAI,EAAI;MAC7B,IAAMC,KAAK,GAAGd,YAAY,CAACa,IAAI,CAAC;MAChC,IAAME,WAAW,GAAG,IAAAC,4BAAgB,EAACH,IAAI,EAAEF,IAAI,EAAEG,KAAK,CAAC;MACvD,IAAIC,WAAW,IAAI,CAACb,QAAQ,CAACe,QAAQ,CAACF,WAAW,CAAC,EAAE;QAClDb,QAAQ,CAACI,IAAI,CAACS,WAAW,CAAC;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOb,QAAQ,CAACgB,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAAC,IAAAC,QAAA,GAEapB,UAAU;AAAAqB,OAAA,cAAAD,QAAA"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- require("core-js/modules/es.array.for-each.js");
11
- require("core-js/modules/es.object.to-string.js");
12
- require("core-js/modules/web.dom-collections.for-each.js");
13
- require("core-js/modules/es.object.keys.js");
14
- require("core-js/modules/es.array.find.js");
15
- var _constants = require("../constants");
16
- var _getFilterValueFromQuery = _interopRequireDefault(require("./get-filter-value-from-query"));
17
- var getInitialFilterValues = function getInitialFilterValues(filterData, filters, query) {
18
- var filterValues = {};
19
- filterValues[_constants.SEARCH_TERM] = query[_constants.SEARCH_TERM] || '';
20
- if (!filterData) {
21
- filters.forEach(function (filterProps) {
22
- var _filterProps$propsToD = (0, _slicedToArray2["default"])(filterProps.propsToDisplay, 1),
23
- key = _filterProps$propsToD[0];
24
- filterValues[key] = query[key] ? (0, _getFilterValueFromQuery["default"])(key, filterProps, {}, query) : null;
25
- });
26
- filterValues.dataNotSet = true;
27
- return filterValues;
28
- }
29
- Object.keys(filterData).forEach(function (key) {
30
- var filterProps = filters.find(function (_ref) {
31
- var propsToDisplay = _ref.propsToDisplay;
32
- return propsToDisplay.find(function (prop) {
33
- return key === prop;
34
- });
35
- }) || {};
36
- filterValues[key] = (0, _getFilterValueFromQuery["default"])(key, filterProps, filterData[key], query);
37
- });
38
- filterValues.dataNotSet = false;
39
- return filterValues;
40
- };
41
- var _default = getInitialFilterValues;
42
- exports["default"] = _default;
43
- //# sourceMappingURL=get-initial-filter-values.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-initial-filter-values.js","names":["_constants","require","_getFilterValueFromQuery","_interopRequireDefault","getInitialFilterValues","filterData","filters","query","filterValues","SEARCH_TERM","forEach","filterProps","_filterProps$propsToD","_slicedToArray2","propsToDisplay","key","getFilterValueFromQuery","dataNotSet","Object","keys","find","_ref","prop","_default","exports"],"sources":["../../../../src/components/SearchFilter/helpers/get-initial-filter-values.js"],"sourcesContent":["import { SEARCH_TERM } from '../constants';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\n\nconst getInitialFilterValues = (filterData, filters, query) => {\n const filterValues = {};\n filterValues[SEARCH_TERM] = query[SEARCH_TERM] || '';\n\n if (!filterData) {\n filters.forEach(filterProps => {\n const {\n propsToDisplay: [key]\n } = filterProps;\n filterValues[key] = query[key] ? getFilterValueFromQuery(key, filterProps, {}, query) : null;\n });\n filterValues.dataNotSet = true;\n return filterValues;\n }\n\n Object.keys(filterData).forEach(key => {\n const filterProps =\n filters.find(({ propsToDisplay }) => propsToDisplay.find(prop => key === prop)) || {};\n filterValues[key] = getFilterValueFromQuery(key, filterProps, filterData[key], query);\n });\n\n filterValues.dataNotSet = false;\n\n return filterValues;\n};\n\nexport default getInitialFilterValues;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,wBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAK;EAC7D,IAAMC,YAAY,GAAG,CAAC,CAAC;EACvBA,YAAY,CAACC,sBAAW,CAAC,GAAGF,KAAK,CAACE,sBAAW,CAAC,IAAI,EAAE;EAEpD,IAAI,CAACJ,UAAU,EAAE;IACfC,OAAO,CAACI,OAAO,CAAC,UAAAC,WAAW,EAAI;MAC7B,IAAAC,qBAAA,OAAAC,eAAA,aAEIF,WAAW,CADbG,cAAc;QAAGC,GAAG,GAAAH,qBAAA;MAEtBJ,YAAY,CAACO,GAAG,CAAC,GAAGR,KAAK,CAACQ,GAAG,CAAC,GAAG,IAAAC,mCAAuB,EAACD,GAAG,EAAEJ,WAAW,EAAE,CAAC,CAAC,EAAEJ,KAAK,CAAC,GAAG,IAAI;IAC9F,CAAC,CAAC;IACFC,YAAY,CAACS,UAAU,GAAG,IAAI;IAC9B,OAAOT,YAAY;EACrB;EAEAU,MAAM,CAACC,IAAI,CAACd,UAAU,CAAC,CAACK,OAAO,CAAC,UAAAK,GAAG,EAAI;IACrC,IAAMJ,WAAW,GACfL,OAAO,CAACc,IAAI,CAAC,UAAAC,IAAA;MAAA,IAAGP,cAAc,GAAAO,IAAA,CAAdP,cAAc;MAAA,OAAOA,cAAc,CAACM,IAAI,CAAC,UAAAE,IAAI;QAAA,OAAIP,GAAG,KAAKO,IAAI;MAAA,EAAC;IAAA,EAAC,IAAI,CAAC,CAAC;IACvFd,YAAY,CAACO,GAAG,CAAC,GAAG,IAAAC,mCAAuB,EAACD,GAAG,EAAEJ,WAAW,EAAEN,UAAU,CAACU,GAAG,CAAC,EAAER,KAAK,CAAC;EACvF,CAAC,CAAC;EAEFC,YAAY,CAACS,UAAU,GAAG,KAAK;EAE/B,OAAOT,YAAY;AACrB,CAAC;AAAC,IAAAe,QAAA,GAEanB,sBAAsB;AAAAoB,OAAA,cAAAD,QAAA"}
@@ -1,6 +0,0 @@
1
- const buildNewQuery = (url, currentUrl, queryParams, sortValues) => {
2
- const newUrl = url ? `${url}?${queryParams}` : `${currentUrl}?${queryParams}`;
3
- return sortValues ? `${newUrl}&${sortValues}` : newUrl;
4
- };
5
- export default buildNewQuery;
6
- //# sourceMappingURL=build-new-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-new-query.js","names":["buildNewQuery","url","currentUrl","queryParams","sortValues","newUrl"],"sources":["../../../../src/components/SearchFilter/helpers/build-new-query.js"],"sourcesContent":["const buildNewQuery = (url, currentUrl, queryParams, sortValues) => {\n const newUrl = url ? `${url}?${queryParams}` : `${currentUrl}?${queryParams}`;\n return sortValues ? `${newUrl}&${sortValues}` : newUrl;\n};\n\nexport default buildNewQuery;\n"],"mappings":"AAAA,MAAMA,aAAa,GAAGA,CAACC,GAAG,EAAEC,UAAU,EAAEC,WAAW,EAAEC,UAAU,KAAK;EAClE,MAAMC,MAAM,GAAGJ,GAAG,GAAI,GAAEA,GAAI,IAAGE,WAAY,EAAC,GAAI,GAAED,UAAW,IAAGC,WAAY,EAAC;EAC7E,OAAOC,UAAU,GAAI,GAAEC,MAAO,IAAGD,UAAW,EAAC,GAAGC,MAAM;AACxD,CAAC;AAED,eAAeL,aAAa"}
@@ -1,23 +0,0 @@
1
- import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
- import parseFilterValue from './parse-filter-value';
3
- const buildQuery = (filterValues, filters) => {
4
- const newQuery = [];
5
- const searchValue = filterValues[SEARCH_TERM] ? encodeURIComponent(filterValues[SEARCH_TERM]) : '';
6
- if (searchValue) newQuery.push(`${SEARCH_TERM}=${searchValue}`);
7
- filters.forEach(({
8
- propsToDisplay,
9
- type
10
- }) => {
11
- if (type === TEXT_SEARCH) return;
12
- propsToDisplay.forEach(prop => {
13
- const value = filterValues[prop];
14
- const parsedValue = parseFilterValue(prop, type, value);
15
- if (parsedValue && !newQuery.includes(parsedValue)) {
16
- newQuery.push(parsedValue);
17
- }
18
- });
19
- });
20
- return newQuery.join('&');
21
- };
22
- export default buildQuery;
23
- //# sourceMappingURL=build-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-query.js","names":["SEARCH_TERM","TEXT_SEARCH","parseFilterValue","buildQuery","filterValues","filters","newQuery","searchValue","encodeURIComponent","push","forEach","propsToDisplay","type","prop","value","parsedValue","includes","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\n\nconst buildQuery = (filterValues, filters) => {\n const newQuery = [];\n const searchValue = filterValues[SEARCH_TERM]\n ? encodeURIComponent(filterValues[SEARCH_TERM])\n : '';\n if (searchValue) newQuery.push(`${SEARCH_TERM}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const parsedValue = parseFilterValue(prop, type, value);\n if (parsedValue && !newQuery.includes(parsedValue)) {\n newQuery.push(parsedValue);\n }\n });\n });\n\n return newQuery.join('&');\n};\n\nexport default buildQuery;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,cAAc;AACvD,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,UAAU,GAAGA,CAACC,YAAY,EAAEC,OAAO,KAAK;EAC5C,MAAMC,QAAQ,GAAG,EAAE;EACnB,MAAMC,WAAW,GAAGH,YAAY,CAACJ,WAAW,CAAC,GACzCQ,kBAAkB,CAACJ,YAAY,CAACJ,WAAW,CAAC,CAAC,GAC7C,EAAE;EACN,IAAIO,WAAW,EAAED,QAAQ,CAACG,IAAI,CAAE,GAAET,WAAY,IAAGO,WAAY,EAAC,CAAC;EAE/DF,OAAO,CAACK,OAAO,CAAC,CAAC;IAAEC,cAAc;IAAEC;EAAK,CAAC,KAAK;IAC5C,IAAIA,IAAI,KAAKX,WAAW,EAAE;IAE1BU,cAAc,CAACD,OAAO,CAACG,IAAI,IAAI;MAC7B,MAAMC,KAAK,GAAGV,YAAY,CAACS,IAAI,CAAC;MAChC,MAAME,WAAW,GAAGb,gBAAgB,CAACW,IAAI,EAAED,IAAI,EAAEE,KAAK,CAAC;MACvD,IAAIC,WAAW,IAAI,CAACT,QAAQ,CAACU,QAAQ,CAACD,WAAW,CAAC,EAAE;QAClDT,QAAQ,CAACG,IAAI,CAACM,WAAW,CAAC;MAC5B;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAOT,QAAQ,CAACW,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,eAAed,UAAU"}
@@ -1,26 +0,0 @@
1
- import { SEARCH_TERM } from '../constants';
2
- import getFilterValueFromQuery from './get-filter-value-from-query';
3
- const getInitialFilterValues = (filterData, filters, query) => {
4
- const filterValues = {};
5
- filterValues[SEARCH_TERM] = query[SEARCH_TERM] || '';
6
- if (!filterData) {
7
- filters.forEach(filterProps => {
8
- const {
9
- propsToDisplay: [key]
10
- } = filterProps;
11
- filterValues[key] = query[key] ? getFilterValueFromQuery(key, filterProps, {}, query) : null;
12
- });
13
- filterValues.dataNotSet = true;
14
- return filterValues;
15
- }
16
- Object.keys(filterData).forEach(key => {
17
- const filterProps = filters.find(({
18
- propsToDisplay
19
- }) => propsToDisplay.find(prop => key === prop)) || {};
20
- filterValues[key] = getFilterValueFromQuery(key, filterProps, filterData[key], query);
21
- });
22
- filterValues.dataNotSet = false;
23
- return filterValues;
24
- };
25
- export default getInitialFilterValues;
26
- //# sourceMappingURL=get-initial-filter-values.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-initial-filter-values.js","names":["SEARCH_TERM","getFilterValueFromQuery","getInitialFilterValues","filterData","filters","query","filterValues","forEach","filterProps","propsToDisplay","key","dataNotSet","Object","keys","find","prop"],"sources":["../../../../src/components/SearchFilter/helpers/get-initial-filter-values.js"],"sourcesContent":["import { SEARCH_TERM } from '../constants';\nimport getFilterValueFromQuery from './get-filter-value-from-query';\n\nconst getInitialFilterValues = (filterData, filters, query) => {\n const filterValues = {};\n filterValues[SEARCH_TERM] = query[SEARCH_TERM] || '';\n\n if (!filterData) {\n filters.forEach(filterProps => {\n const {\n propsToDisplay: [key]\n } = filterProps;\n filterValues[key] = query[key] ? getFilterValueFromQuery(key, filterProps, {}, query) : null;\n });\n filterValues.dataNotSet = true;\n return filterValues;\n }\n\n Object.keys(filterData).forEach(key => {\n const filterProps =\n filters.find(({ propsToDisplay }) => propsToDisplay.find(prop => key === prop)) || {};\n filterValues[key] = getFilterValueFromQuery(key, filterProps, filterData[key], query);\n });\n\n filterValues.dataNotSet = false;\n\n return filterValues;\n};\n\nexport default getInitialFilterValues;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,cAAc;AAC1C,OAAOC,uBAAuB,MAAM,+BAA+B;AAEnE,MAAMC,sBAAsB,GAAGA,CAACC,UAAU,EAAEC,OAAO,EAAEC,KAAK,KAAK;EAC7D,MAAMC,YAAY,GAAG,CAAC,CAAC;EACvBA,YAAY,CAACN,WAAW,CAAC,GAAGK,KAAK,CAACL,WAAW,CAAC,IAAI,EAAE;EAEpD,IAAI,CAACG,UAAU,EAAE;IACfC,OAAO,CAACG,OAAO,CAACC,WAAW,IAAI;MAC7B,MAAM;QACJC,cAAc,EAAE,CAACC,GAAG;MACtB,CAAC,GAAGF,WAAW;MACfF,YAAY,CAACI,GAAG,CAAC,GAAGL,KAAK,CAACK,GAAG,CAAC,GAAGT,uBAAuB,CAACS,GAAG,EAAEF,WAAW,EAAE,CAAC,CAAC,EAAEH,KAAK,CAAC,GAAG,IAAI;IAC9F,CAAC,CAAC;IACFC,YAAY,CAACK,UAAU,GAAG,IAAI;IAC9B,OAAOL,YAAY;EACrB;EAEAM,MAAM,CAACC,IAAI,CAACV,UAAU,CAAC,CAACI,OAAO,CAACG,GAAG,IAAI;IACrC,MAAMF,WAAW,GACfJ,OAAO,CAACU,IAAI,CAAC,CAAC;MAAEL;IAAe,CAAC,KAAKA,cAAc,CAACK,IAAI,CAACC,IAAI,IAAIL,GAAG,KAAKK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACvFT,YAAY,CAACI,GAAG,CAAC,GAAGT,uBAAuB,CAACS,GAAG,EAAEF,WAAW,EAAEL,UAAU,CAACO,GAAG,CAAC,EAAEL,KAAK,CAAC;EACvF,CAAC,CAAC;EAEFC,YAAY,CAACK,UAAU,GAAG,KAAK;EAE/B,OAAOL,YAAY;AACrB,CAAC;AAED,eAAeJ,sBAAsB"}
@@ -1,6 +0,0 @@
1
- const buildNewQuery = (url, currentUrl, queryParams, sortValues) => {
2
- const newUrl = url ? `${url}?${queryParams}` : `${currentUrl}?${queryParams}`;
3
- return sortValues ? `${newUrl}&${sortValues}` : newUrl;
4
- };
5
-
6
- export default buildNewQuery;
@@ -1,26 +0,0 @@
1
- import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
- import parseFilterValue from './parse-filter-value';
3
-
4
- const buildQuery = (filterValues, filters) => {
5
- const newQuery = [];
6
- const searchValue = filterValues[SEARCH_TERM]
7
- ? encodeURIComponent(filterValues[SEARCH_TERM])
8
- : '';
9
- if (searchValue) newQuery.push(`${SEARCH_TERM}=${searchValue}`);
10
-
11
- filters.forEach(({ propsToDisplay, type }) => {
12
- if (type === TEXT_SEARCH) return;
13
-
14
- propsToDisplay.forEach(prop => {
15
- const value = filterValues[prop];
16
- const parsedValue = parseFilterValue(prop, type, value);
17
- if (parsedValue && !newQuery.includes(parsedValue)) {
18
- newQuery.push(parsedValue);
19
- }
20
- });
21
- });
22
-
23
- return newQuery.join('&');
24
- };
25
-
26
- export default buildQuery;
@@ -1,30 +0,0 @@
1
- import { SEARCH_TERM } from '../constants';
2
- import getFilterValueFromQuery from './get-filter-value-from-query';
3
-
4
- const getInitialFilterValues = (filterData, filters, query) => {
5
- const filterValues = {};
6
- filterValues[SEARCH_TERM] = query[SEARCH_TERM] || '';
7
-
8
- if (!filterData) {
9
- filters.forEach(filterProps => {
10
- const {
11
- propsToDisplay: [key]
12
- } = filterProps;
13
- filterValues[key] = query[key] ? getFilterValueFromQuery(key, filterProps, {}, query) : null;
14
- });
15
- filterValues.dataNotSet = true;
16
- return filterValues;
17
- }
18
-
19
- Object.keys(filterData).forEach(key => {
20
- const filterProps =
21
- filters.find(({ propsToDisplay }) => propsToDisplay.find(prop => key === prop)) || {};
22
- filterValues[key] = getFilterValueFromQuery(key, filterProps, filterData[key], query);
23
- });
24
-
25
- filterValues.dataNotSet = false;
26
-
27
- return filterValues;
28
- };
29
-
30
- export default getInitialFilterValues;