@blaze-cms/react-page-builder 0.133.0-core-styles.3 → 0.133.0-core-styles.7

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 (180) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/components/Banner/BannerRender.js +2 -2
  3. package/lib/components/Banner/BannerRender.js.map +1 -1
  4. package/lib/components/Banner/helpers.js +2 -2
  5. package/lib/components/Banner/helpers.js.map +1 -1
  6. package/lib/components/BlazeLink.js +2 -2
  7. package/lib/components/BlazeLink.js.map +1 -1
  8. package/lib/components/Button.js +5 -3
  9. package/lib/components/Button.js.map +1 -1
  10. package/lib/components/Card/CardsContainer.js +2 -2
  11. package/lib/components/Card/CardsContainer.js.map +1 -1
  12. package/lib/components/Card/CardsRender.js +2 -2
  13. package/lib/components/Card/CardsRender.js.map +1 -1
  14. package/lib/components/Card/helpers/filter-query-setup.js +2 -2
  15. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  16. package/lib/components/ClickWrapper.js +2 -2
  17. package/lib/components/ClickWrapper.js.map +1 -1
  18. package/lib/components/Code/Code.js +2 -2
  19. package/lib/components/Code/Code.js.map +1 -1
  20. package/lib/components/Image/Image.js +2 -2
  21. package/lib/components/Image/Image.js.map +1 -1
  22. package/lib/components/Layout/Layout.js +2 -2
  23. package/lib/components/Layout/Layout.js.map +1 -1
  24. package/lib/components/List/ListBuilder.js +2 -2
  25. package/lib/components/List/ListBuilder.js.map +1 -1
  26. package/lib/components/List/ListFactory.js +2 -2
  27. package/lib/components/List/ListFactory.js.map +1 -1
  28. package/lib/components/List/components/Cards/CardsRender.js +2 -2
  29. package/lib/components/List/components/Cards/CardsRender.js.map +1 -1
  30. package/lib/components/List/components/Full/FullRender.js +2 -2
  31. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  32. package/lib/components/List/components/Full/FullRenderItem.js +2 -2
  33. package/lib/components/List/components/Full/FullRenderItem.js.map +1 -1
  34. package/lib/components/List/components/Pagination/ListPagination.js +2 -2
  35. package/lib/components/List/components/Pagination/ListPagination.js.map +1 -1
  36. package/lib/components/List/helpers/build-az-url.js +2 -2
  37. package/lib/components/List/helpers/build-az-url.js.map +1 -1
  38. package/lib/components/List/helpers/build-pagination-url.js +2 -2
  39. package/lib/components/List/helpers/build-pagination-url.js.map +1 -1
  40. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
  41. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  42. package/lib/components/SearchFilter/SearchFilterContainer.js +58 -22
  43. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  44. package/lib/components/SearchFilter/components/Range.js +2 -2
  45. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  46. package/lib/components/SearchFilter/helpers/build-filters-query.js +18 -16
  47. package/lib/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  48. package/lib/components/SearchFilter/helpers/build-url-query.js +3 -2
  49. package/lib/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  50. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js +33 -0
  51. package/lib/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
  52. package/lib/components/SearchFilter/helpers/get-updated-filter-by.js +38 -0
  53. package/lib/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -0
  54. package/lib/components/SearchFilter/helpers/index.js +8 -1
  55. package/lib/components/SearchFilter/helpers/index.js.map +1 -1
  56. package/lib/components/SearchFilter/searchFilterReducer.js +2 -2
  57. package/lib/components/SearchFilterSort/helpers/update-sort.js +2 -2
  58. package/lib/components/SearchFilterSort/helpers/update-sort.js.map +1 -1
  59. package/lib/components/TextBlock/index.js +2 -2
  60. package/lib/components/TextBlock/index.js.map +1 -1
  61. package/lib/components/Video/Video.js +2 -2
  62. package/lib/components/Video/Video.js.map +1 -1
  63. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js +2 -2
  64. package/lib/components/Video/providers/JWPlayer/JWPlayerProvider.js.map +1 -1
  65. package/lib/helpers/append-images.js +2 -2
  66. package/lib/helpers/build-raw-query-base.js +2 -2
  67. package/lib/helpers/build-raw-query-base.js.map +1 -1
  68. package/lib/helpers/build-raw-query.js +2 -2
  69. package/lib/helpers/build-raw-query.js.map +1 -1
  70. package/lib/helpers/build-sort-values.js +4 -1
  71. package/lib/helpers/build-sort-values.js.map +1 -1
  72. package/lib/helpers/get-banner-data.js +2 -2
  73. package/lib/helpers/get-click-wrapper-options.js +2 -2
  74. package/lib/helpers/get-click-wrapper-options.js.map +1 -1
  75. package/lib/helpers/get-entities-with-banner.js +2 -2
  76. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  77. package/lib/helpers/get-generic-props.js +2 -2
  78. package/lib/helpers/get-generic-props.js.map +1 -1
  79. package/lib/helpers/get-generic-render-variables.js +14 -19
  80. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  81. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js +2 -2
  82. package/lib/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js.map +1 -1
  83. package/lib/helpers/process-data-summary-value.js +2 -2
  84. package/lib/helpers/process-data-summary-value.js.map +1 -1
  85. package/lib/helpers/remove-unwanted-characters.js +2 -2
  86. package/lib/helpers/render-children.js +2 -2
  87. package/lib/helpers/render-children.js.map +1 -1
  88. package/lib/helpers/split-children.js +2 -2
  89. package/lib/helpers/update-childrens-parent.js +2 -2
  90. package/lib/hooks/helpers/append-gtm-classname.js +2 -2
  91. package/lib/hooks/helpers/append-gtm-classname.js.map +1 -1
  92. package/lib/hooks/helpers/buildPBComponents.js +2 -2
  93. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  94. package/lib/hooks/helpers/get-lightbox-images.js +2 -2
  95. package/lib/hooks/helpers/get-lightbox-images.js.map +1 -1
  96. package/lib/hooks/helpers/inject-element-banners.js +2 -2
  97. package/lib/hooks/helpers/inject-element-banners.js.map +1 -1
  98. package/lib/hooks/helpers/inject-textblock-banners.js +2 -2
  99. package/lib/hooks/helpers/inject-textblock-banners.js.map +1 -1
  100. package/lib/utils/get-class-modifiers.js +2 -2
  101. package/lib/utils/get-class-modifiers.js.map +1 -1
  102. package/lib-es/components/Banner/BannerRender.js +2 -2
  103. package/lib-es/components/Banner/helpers.js +2 -2
  104. package/lib-es/components/BlazeLink.js +2 -2
  105. package/lib-es/components/Button.js +4 -3
  106. package/lib-es/components/Button.js.map +1 -1
  107. package/lib-es/components/Card/CardsContainer.js +2 -2
  108. package/lib-es/components/Card/CardsRender.js +2 -2
  109. package/lib-es/components/Card/helpers/filter-query-setup.js +2 -2
  110. package/lib-es/components/ClickWrapper.js +2 -2
  111. package/lib-es/components/Code/Code.js +2 -2
  112. package/lib-es/components/Image/Image.js +2 -2
  113. package/lib-es/components/Layout/Layout.js +2 -2
  114. package/lib-es/components/List/ListBuilder.js +2 -2
  115. package/lib-es/components/List/ListFactory.js +2 -2
  116. package/lib-es/components/List/components/Cards/CardsRender.js +2 -2
  117. package/lib-es/components/List/components/Full/FullRender.js +2 -2
  118. package/lib-es/components/List/components/Full/FullRenderItem.js +2 -2
  119. package/lib-es/components/List/components/Pagination/ListPagination.js +2 -2
  120. package/lib-es/components/List/helpers/build-az-url.js +2 -2
  121. package/lib-es/components/List/helpers/build-pagination-url.js +2 -2
  122. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +2 -2
  123. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  124. package/lib-es/components/SearchFilter/SearchFilterContainer.js +54 -13
  125. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  126. package/lib-es/components/SearchFilter/components/Range.js +2 -2
  127. package/lib-es/components/SearchFilter/helpers/build-filters-query.js +18 -16
  128. package/lib-es/components/SearchFilter/helpers/build-filters-query.js.map +1 -1
  129. package/lib-es/components/SearchFilter/helpers/build-url-query.js +1 -2
  130. package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  131. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js +21 -0
  132. package/lib-es/components/SearchFilter/helpers/get-initial-filter-values.js.map +1 -0
  133. package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js +19 -0
  134. package/lib-es/components/SearchFilter/helpers/get-updated-filter-by.js.map +1 -0
  135. package/lib-es/components/SearchFilter/helpers/index.js +3 -2
  136. package/lib-es/components/SearchFilter/helpers/index.js.map +1 -1
  137. package/lib-es/components/SearchFilter/searchFilterReducer.js +2 -2
  138. package/lib-es/components/SearchFilterSort/helpers/update-sort.js +2 -2
  139. package/lib-es/components/TextBlock/index.js +2 -2
  140. package/lib-es/components/Video/Video.js +2 -2
  141. package/lib-es/components/Video/providers/JWPlayer/JWPlayerProvider.js +2 -2
  142. package/lib-es/helpers/append-images.js +2 -2
  143. package/lib-es/helpers/build-raw-query-base.js +2 -2
  144. package/lib-es/helpers/build-raw-query.js +2 -2
  145. package/lib-es/helpers/build-sort-values.js +1 -1
  146. package/lib-es/helpers/build-sort-values.js.map +1 -1
  147. package/lib-es/helpers/get-banner-data.js +2 -2
  148. package/lib-es/helpers/get-click-wrapper-options.js +2 -2
  149. package/lib-es/helpers/get-entities-with-banner.js +2 -2
  150. package/lib-es/helpers/get-generic-props.js +2 -2
  151. package/lib-es/helpers/get-generic-render-variables.js +3 -4
  152. package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
  153. package/lib-es/helpers/inject-multiple-banners/get-banners-for-nodes/get-banners-for-nodes.js +2 -2
  154. package/lib-es/helpers/process-data-summary-value.js +2 -2
  155. package/lib-es/helpers/remove-unwanted-characters.js +2 -2
  156. package/lib-es/helpers/render-children.js +2 -2
  157. package/lib-es/helpers/split-children.js +2 -2
  158. package/lib-es/helpers/update-childrens-parent.js +2 -2
  159. package/lib-es/hooks/helpers/append-gtm-classname.js +2 -2
  160. package/lib-es/hooks/helpers/buildPBComponents.js +2 -2
  161. package/lib-es/hooks/helpers/get-lightbox-images.js +2 -2
  162. package/lib-es/hooks/helpers/inject-element-banners.js +2 -2
  163. package/lib-es/hooks/helpers/inject-textblock-banners.js +2 -2
  164. package/lib-es/utils/get-class-modifiers.js +2 -2
  165. package/package.json +4 -4
  166. package/src/components/Button.js +6 -1
  167. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +5 -2
  168. package/src/components/SearchFilter/SearchFilterContainer.js +42 -14
  169. package/src/components/SearchFilter/helpers/build-filters-query.js +23 -20
  170. package/src/components/SearchFilter/helpers/build-url-query.js +1 -3
  171. package/src/components/SearchFilter/helpers/get-initial-filter-values.js +24 -0
  172. package/src/components/SearchFilter/helpers/get-updated-filter-by.js +18 -0
  173. package/src/components/SearchFilter/helpers/index.js +5 -3
  174. package/src/helpers/build-sort-values.js +1 -1
  175. package/src/helpers/get-generic-render-variables.js +1 -2
  176. package/tests/unit/src/components/SearchFilter/helpers/build-query.test.js +6 -0
  177. package/tests/unit/src/components/SearchFilter/helpers/get-updated-filter-by.test.js +28 -0
  178. package/tests/unit/src/helpers/build-sort-values.test.js +20 -0
  179. package/tests/unit/src/helpers/get-generic-render-variables.test.js +25 -0
  180. /package/tests/unit/src/components/SearchFilter/helpers/{build-new-query.test.js → build-new-url.test.js} +0 -0
@@ -2,9 +2,7 @@ import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
2
  import parseFilterValue from './parse-filter-value';
3
3
  import { buildQueryKey } from '../../../helpers';
4
4
 
5
- const buildUrlQuery = (filterValues, filters, listComponentName = '', query = {}) => {
6
- if (!filterValues) return '';
7
-
5
+ const buildUrlQuery = (filterValues = {}, filters = [], listComponentName = '', query = {}) => {
8
6
  const newQuery = [];
9
7
  const queryKeys = [];
10
8
  const searchValue = filterValues[SEARCH_TERM];
@@ -0,0 +1,24 @@
1
+ import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
+ import getFilterValueFromQuery from './get-filter-value-from-query';
3
+ import { buildQueryKey } from '../../../helpers';
4
+
5
+ const getInitialFilterValues = (filterData, filters, query, listComponentName) => {
6
+ const filterValues = {};
7
+ const searchQueryKey = buildQueryKey(SEARCH_TERM, listComponentName);
8
+ filterValues[SEARCH_TERM] = query[searchQueryKey] || '';
9
+
10
+ filters.forEach(filterProps => {
11
+ const {
12
+ propsToDisplay: [key],
13
+ type
14
+ } = filterProps;
15
+ if (type === TEXT_SEARCH) return;
16
+ const data = filterData && filterData[key] ? filterData[key] : {};
17
+ const queryKey = buildQueryKey(key, listComponentName);
18
+ filterValues[key] = getFilterValueFromQuery(queryKey, filterProps, data, query);
19
+ });
20
+
21
+ return filterValues;
22
+ };
23
+
24
+ export default getInitialFilterValues;
@@ -0,0 +1,18 @@
1
+ const getUpdatedFilterBy = (filterBy, filterByProperty, parentData) => {
2
+ if (!parentData || (filterBy && filterBy.length))
3
+ return { updatedFilterBy: filterBy, updatedFilterByProperty: filterByProperty };
4
+
5
+ const updatedFilterBy = [];
6
+ filterByProperty.forEach(property => {
7
+ const [key] = property.split('/');
8
+ const filterData = parentData[key];
9
+
10
+ if (!filterData) return;
11
+ if (Array.isArray(filterData)) filterData.forEach(dat => updatedFilterBy.push(`${key}/${dat}`));
12
+ else updatedFilterBy.push(`${key}/${filterData}`);
13
+ });
14
+
15
+ return { updatedFilterBy, updatedFilterByProperty: filterByProperty };
16
+ };
17
+
18
+ export default getUpdatedFilterBy;
@@ -12,12 +12,12 @@ import getSelectOptions from './get-select-options';
12
12
  import isDeviceDesktop from './is-device-desktop';
13
13
  import getFilterValues from './get-filter-values';
14
14
  import getFilterValueFromQuery from './get-filter-value-from-query';
15
- import buildUrlQuery from './build-url-query';
16
15
  import buildFiltersQuery from './build-filters-query';
17
16
  import getFilterRangesAndCheckboxesValues from './get-filter-ranges-and-checkboxes-values';
17
+ import getUpdatedFilterBy from './get-updated-filter-by';
18
+ import buildUrlQuery from './build-url-query';
18
19
 
19
20
  export {
20
- buildUrlQuery,
21
21
  buildNewUrl,
22
22
  buildRawQueryStringified,
23
23
  decodeValue,
@@ -34,5 +34,7 @@ export {
34
34
  getFilterValues,
35
35
  getFilterValueFromQuery,
36
36
  buildFiltersQuery,
37
- getFilterRangesAndCheckboxesValues
37
+ getFilterRangesAndCheckboxesValues,
38
+ getUpdatedFilterBy,
39
+ buildUrlQuery
38
40
  };
@@ -23,7 +23,7 @@ const buildSortValues = (sortFilters, relations, stringProps, useSortObject) =>
23
23
  const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);
24
24
  return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;
25
25
  })
26
- .filter(Boolean)
26
+ .filter((item, index, arr) => (!item ? false : arr.indexOf(item) === index))
27
27
  .join(',');
28
28
 
29
29
  return { sort: sortValues };
@@ -3,10 +3,9 @@ import buildSortValues from './build-sort-values';
3
3
 
4
4
  const getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {
5
5
  const { sort, sortby, sortProperties = [] } = filterProps;
6
- const [sortProperty = []] = sortProperties || [];
7
6
 
8
7
  return buildSortValues(
9
- [{ sort, propsToDisplay: sortby }, ...[sortProperty]],
8
+ [{ sort, propsToDisplay: sortby }, ...sortProperties],
10
9
  relations,
11
10
  stringProps,
12
11
  useSortObject
@@ -11,6 +11,7 @@ const mockedProps = [
11
11
  ];
12
12
 
13
13
  describe('buildUrlQuery helper function', () => {
14
+ const noProps = buildUrlQuery();
14
15
  const simpleExample = buildUrlQuery(...mockedProps[0]);
15
16
  const withTextSearch = buildUrlQuery(...mockedProps[1]);
16
17
  const withSearchAndRange = buildUrlQuery(...mockedProps[2]);
@@ -20,6 +21,11 @@ describe('buildUrlQuery helper function', () => {
20
21
  anotherQuery: '123'
21
22
  });
22
23
 
24
+ it('should not break if no params are passed', () => {
25
+ expect(typeof noProps).toBe('string');
26
+ expect(noProps).toEqual('');
27
+ });
28
+
23
29
  it('should always return a string', () => {
24
30
  expect(typeof simpleExample).toBe('string');
25
31
  });
@@ -0,0 +1,28 @@
1
+ import getUpdatedFilterBy from '../../../../../../src/components/SearchFilter/helpers/get-updated-filter-by';
2
+
3
+ const mockedFilterByProperty = ['categoryId/product', 'subjectIds/product'];
4
+
5
+ const mockedParentData = {
6
+ id: 'abc123d',
7
+ categoryId: null,
8
+ subjectIds: ['subjectid123s']
9
+ };
10
+
11
+ describe('getUpdatedFilterBy helper', () => {
12
+ const mockedFilterBy = [1, 2, 3];
13
+ const noParentData = getUpdatedFilterBy(mockedFilterBy, [], {});
14
+ const withFilterBy = getUpdatedFilterBy(mockedFilterBy, [], { id: '123' });
15
+ const withUpdatedFilterBy = getUpdatedFilterBy([], mockedFilterByProperty, mockedParentData);
16
+
17
+ it('should return current filterBy and filterByProperty if no parentData or if filterBy values exist', () => {
18
+ expect(noParentData).toEqual({ updatedFilterBy: mockedFilterBy, updatedFilterByProperty: [] });
19
+ expect(withFilterBy).toEqual({ updatedFilterBy: mockedFilterBy, updatedFilterByProperty: [] });
20
+ });
21
+
22
+ it('should return updated filterBy based on parent data matchess', () => {
23
+ expect(withUpdatedFilterBy).toEqual({
24
+ updatedFilterBy: ['subjectIds/subjectid123s'],
25
+ updatedFilterByProperty: mockedFilterByProperty
26
+ });
27
+ });
28
+ });
@@ -31,4 +31,24 @@ describe('buildSortValues helper function', () => {
31
31
  );
32
32
  expect(withUseSortObject).toEqual({ 'slug.keyword': 'asc' });
33
33
  });
34
+
35
+ it('should filter out duplicate sort values', () => {
36
+ const sort = buildSortValues(
37
+ [
38
+ {
39
+ propsToDisplay: ['slug'],
40
+ sort: 'ASC',
41
+ label: ''
42
+ },
43
+ {
44
+ propsToDisplay: ['slug'],
45
+ sort: 'ASC',
46
+ label: ''
47
+ }
48
+ ],
49
+ [],
50
+ ['name', 'slug', 'metaTitle']
51
+ );
52
+ expect(sort).toEqual({ sort: 'slug.keyword:asc' });
53
+ });
34
54
  });
@@ -122,4 +122,29 @@ describe('get card/list render variables', () => {
122
122
 
123
123
  expect(sort).toEqual('tag.name.keyword:asc');
124
124
  });
125
+
126
+ it('should handle multiple sort properties', () => {
127
+ const sortProperties = [
128
+ {
129
+ propsToDisplay: ['featured'],
130
+ sort: 'DESC',
131
+ label: '',
132
+ status: 'show'
133
+ },
134
+ {
135
+ propsToDisplay: ['date'],
136
+ sort: 'DESC',
137
+ label: '',
138
+ items: null,
139
+ status: 'show'
140
+ }
141
+ ];
142
+ const { sort } = getGenericRenderVariables({
143
+ relations: [{ localField: 'tag', entityIdentifier: 'tags' }],
144
+ filterProps: mockedProps({ sort: '', sortby: '', sortProperties }),
145
+ stringProps: ['tags.name']
146
+ });
147
+
148
+ expect(sort).toEqual('featured:desc,date:desc');
149
+ });
125
150
  });