@blaze-cms/react-page-builder 0.114.0-alpha.0 → 0.114.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +76 -0
  2. package/README.md +5 -8
  3. package/lib/components/Card/CardRender.js +61 -17
  4. package/lib/components/Card/CardRender.js.map +1 -1
  5. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  6. package/lib/components/DataSummary/helpers/build-loop-props-content.js +1 -1
  7. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  8. package/lib/components/List/ListBuilder.js +11 -6
  9. package/lib/components/List/ListBuilder.js.map +1 -1
  10. package/lib/components/List/ListFactory.js +20 -7
  11. package/lib/components/List/ListFactory.js.map +1 -1
  12. package/lib/components/List/helpers/get-sort-props.js +46 -0
  13. package/lib/components/List/helpers/get-sort-props.js.map +1 -0
  14. package/lib/components/List/helpers/index.js +8 -0
  15. package/lib/components/List/helpers/index.js.map +1 -1
  16. package/lib/components/SearchFilter/SearchFilter/FiltersList.js +11 -5
  17. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  18. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +7 -2
  19. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  20. package/lib/components/SearchFilter/components/Checkbox.js +5 -2
  21. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  22. package/lib/components/SearchFilter/components/Range.js +7 -3
  23. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  24. package/lib/components/SearchFilter/components/Select.js +5 -2
  25. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  26. package/lib/components/SearchFilter/helpers/build-query.js +6 -5
  27. package/lib/components/SearchFilter/helpers/build-query.js.map +1 -1
  28. package/lib/components/SearchFilter/helpers/get-range-value.js +6 -4
  29. package/lib/components/SearchFilter/helpers/get-range-value.js.map +1 -1
  30. package/lib/components/SearchFilter/helpers/is-device-desktop.js +1 -1
  31. package/lib/components/SearchFilter/helpers/is-device-desktop.js.map +1 -1
  32. package/lib/helpers/get-generic-render-variables.js +32 -22
  33. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  34. package/lib-es/components/Card/CardRender.js +32 -5
  35. package/lib-es/components/Card/CardRender.js.map +1 -1
  36. package/lib-es/components/Card/helpers/filter-query-setup.js.map +1 -1
  37. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +1 -1
  38. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  39. package/lib-es/components/List/ListBuilder.js +11 -6
  40. package/lib-es/components/List/ListBuilder.js.map +1 -1
  41. package/lib-es/components/List/ListFactory.js +20 -8
  42. package/lib-es/components/List/ListFactory.js.map +1 -1
  43. package/lib-es/components/List/helpers/get-sort-props.js +26 -0
  44. package/lib-es/components/List/helpers/get-sort-props.js.map +1 -0
  45. package/lib-es/components/List/helpers/index.js +1 -0
  46. package/lib-es/components/List/helpers/index.js.map +1 -1
  47. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +11 -5
  48. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  49. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +7 -2
  50. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  51. package/lib-es/components/SearchFilter/components/Checkbox.js +5 -2
  52. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  53. package/lib-es/components/SearchFilter/components/Range.js +7 -3
  54. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  55. package/lib-es/components/SearchFilter/components/Select.js +5 -2
  56. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  57. package/lib-es/components/SearchFilter/helpers/build-query.js +5 -4
  58. package/lib-es/components/SearchFilter/helpers/build-query.js.map +1 -1
  59. package/lib-es/components/SearchFilter/helpers/get-range-value.js +1 -1
  60. package/lib-es/components/SearchFilter/helpers/get-range-value.js.map +1 -1
  61. package/lib-es/components/SearchFilter/helpers/is-device-desktop.js +1 -1
  62. package/lib-es/components/SearchFilter/helpers/is-device-desktop.js.map +1 -1
  63. package/lib-es/helpers/get-generic-render-variables.js +22 -15
  64. package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
  65. package/package.json +3 -3
  66. package/src/components/Card/CardRender.js +24 -6
  67. package/src/components/Card/helpers/filter-query-setup.js +1 -0
  68. package/src/components/DataSummary/helpers/build-loop-props-content.js +1 -6
  69. package/src/components/List/ListBuilder.js +11 -6
  70. package/src/components/List/ListFactory.js +18 -8
  71. package/src/components/List/helpers/get-sort-props.js +17 -0
  72. package/src/components/List/helpers/index.js +1 -0
  73. package/src/components/SearchFilter/SearchFilter/FiltersList.js +15 -2
  74. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +7 -2
  75. package/src/components/SearchFilter/components/Checkbox.js +4 -2
  76. package/src/components/SearchFilter/components/Range.js +7 -3
  77. package/src/components/SearchFilter/components/Select.js +4 -2
  78. package/src/components/SearchFilter/helpers/build-query.js +5 -4
  79. package/src/components/SearchFilter/helpers/get-range-value.js +3 -1
  80. package/src/components/SearchFilter/helpers/is-device-desktop.js +2 -1
  81. package/src/helpers/get-generic-render-variables.js +22 -12
  82. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +24 -0
  83. package/tests/unit/src/components/List/helpers/get-sort-props.test.js +58 -0
  84. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Range.test.js.snap +2 -2
  85. package/tests/unit/src/helpers/build-raw-query.test.js +2 -1
  86. package/tests/unit/src/helpers/get-generic-render-variables.test.js +5 -11
  87. package/lib/helpers/check-sort-by.js +0 -16
  88. package/lib/helpers/check-sort-by.js.map +0 -1
  89. package/lib-es/helpers/check-sort-by.js +0 -4
  90. package/lib-es/helpers/check-sort-by.js.map +0 -1
  91. package/src/helpers/check-sort-by.js +0 -4
@@ -1,31 +1,41 @@
1
- import checkSortby from './check-sort-by';
2
1
  import getSortbyFieldName from './get-sort-by-field-name';
3
2
  import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';
4
3
 
4
+ const buildSortValues = (sortFilters, relations, stringProps) => {
5
+ if (!sortFilters || !sortFilters.length) return { sort: [] };
6
+ const sortValues = sortFilters
7
+ .map(
8
+ ({ sort, propsToDisplay }) =>
9
+ !!sort &&
10
+ !!propsToDisplay[0] &&
11
+ `${getSortbyFieldName(relations, propsToDisplay[0], stringProps)}:${sort.toLowerCase()}`
12
+ )
13
+ .filter(Boolean)
14
+ .join(',');
15
+
16
+ return { sort: sortValues };
17
+ };
5
18
  const getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {
6
19
  if (isTextSearchApplied) {
7
20
  return {};
8
21
  }
9
- const { sort, sortby } = filterProps;
10
-
11
- const isSortbyArray = Array.isArray(sortby);
12
-
13
- const hasSortFields = sort && checkSortby(sortby, isSortbyArray);
14
-
15
- const sortValue = hasSortFields
16
- ? `${getSortbyFieldName(relations, sortby, stringProps, isSortbyArray)}:${sort.toLowerCase()}`
17
- : '';
22
+ const { sort, sortby, sortProperties = [] } = filterProps;
18
23
 
19
- return sortValue ? { sort: sortValue } : {};
24
+ return buildSortValues(
25
+ [{ sort, propsToDisplay: [sortby] }, ...sortProperties],
26
+ relations,
27
+ stringProps
28
+ );
20
29
  };
21
30
 
22
31
  const getGenericRenderVariables = (
23
32
  relations,
24
- { limit = DEFAULT_LIMIT, offset, ...filterProps } = {},
33
+ filterProps = {},
25
34
  stringProps = [],
26
35
  rawQueryStringified = '',
27
36
  isTextSearchFilterApplied = false
28
37
  ) => {
38
+ const { limit = DEFAULT_LIMIT, offset } = filterProps;
29
39
  const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);
30
40
  const raw = rawQueryStringified ? { rawQueryStringified } : {};
31
41
 
@@ -57,4 +57,28 @@ describe('buildLoopPropsContent helper function', () => {
57
57
  it('should return looped data based on limit if is reachable', () => {
58
58
  expect(withLimit).toEqual(mockedResults[3]);
59
59
  });
60
+
61
+ it('should have empty label if label is not set', () => {
62
+ const withNoLabel = buildLoopPropsContent(
63
+ mockedLoopProps,
64
+ [
65
+ {
66
+ bold: false,
67
+ enableLink: true,
68
+ label: '',
69
+ modifier: '',
70
+ prefix: '',
71
+ propertiesToDisplay: ['nestedLoopProp.nestedValue'],
72
+ shouldStrip: true
73
+ }
74
+ ],
75
+ 0,
76
+ mockedData[0]
77
+ );
78
+
79
+ withNoLabel.forEach(([label]) => {
80
+ expect(label).toEqual('');
81
+ });
82
+ expect.hasAssertions();
83
+ });
60
84
  });
@@ -0,0 +1,58 @@
1
+ import getSortProps from '../../../../../../src/components/List/helpers/get-sort-props';
2
+
3
+ const property = 'updated';
4
+ const defaultProperty = 'name';
5
+ const asc = 'asc';
6
+ const desc = 'desc';
7
+ const sortProperties = [
8
+ {
9
+ propsToDisplay: [property],
10
+ sort: asc
11
+ }
12
+ ];
13
+ const querySortBy = 'date';
14
+ const props = {
15
+ querySort: '',
16
+ sortProperties,
17
+ defaultSort: desc,
18
+ querySortBy: '',
19
+ defaultSortBy: [defaultProperty]
20
+ };
21
+
22
+ describe('getSortProps helper function', () => {
23
+ it('should ignore old sortby/sort and use sortProperties', () => {
24
+ const { sortbyFilters, updatedSortProperties } = getSortProps(props);
25
+ expect(sortbyFilters).toEqual([property]);
26
+ expect(updatedSortProperties).toEqual(sortProperties);
27
+ });
28
+
29
+ it('should add query sort', () => {
30
+ const { sortbyFilters, updatedSortProperties } = getSortProps({
31
+ ...props,
32
+ querySortBy,
33
+ querySort: desc
34
+ });
35
+ expect(sortbyFilters).toEqual([querySortBy, property]);
36
+ expect(updatedSortProperties).toEqual([
37
+ {
38
+ propsToDisplay: [querySortBy],
39
+ sort: desc
40
+ },
41
+ ...sortProperties
42
+ ]);
43
+ });
44
+
45
+ it('should use old style sort', () => {
46
+ const { sortbyFilters, updatedSortProperties } = getSortProps({
47
+ ...props,
48
+ sortProperties: []
49
+ });
50
+ expect(sortbyFilters).toEqual([defaultProperty]);
51
+ expect(updatedSortProperties).toEqual([
52
+ {
53
+ propsToDisplay: [defaultProperty],
54
+ sort: desc
55
+ }
56
+ ]);
57
+ });
58
+ });
@@ -18,7 +18,7 @@ Array [
18
18
  0
19
19
  </span>
20
20
  <span>
21
- 6600
21
+ 6,600
22
22
  </span>
23
23
  </div>
24
24
  <div
@@ -118,7 +118,7 @@ Array [
118
118
  0
119
119
  </span>
120
120
  <span>
121
- 6600
121
+ 6,600
122
122
  </span>
123
123
  </div>
124
124
  <div
@@ -304,6 +304,7 @@ describe('build raw query', () => {
304
304
  id,
305
305
  itemsToDisplay
306
306
  );
307
+
307
308
  expect(rawQueryOneCheckboxFilterMoreItemsToDisplayValues).toEqual(
308
309
  RAW_QUERY_OR_OPERATOR_ITEMS_TO_DISPLAY
309
310
  );
@@ -347,7 +348,7 @@ describe('build raw query', () => {
347
348
  filterData,
348
349
  id,
349
350
  [],
350
- false,
351
+ true,
351
352
  { shouldReturnAggs: true, isAZ: true }
352
353
  );
353
354
  expect(queryWithAggs).toEqual(RAW_QUERY_WITH_AGGS);
@@ -17,11 +17,7 @@ const mockedProps = overrides => ({
17
17
  });
18
18
 
19
19
  describe('get card/list render variables', () => {
20
- it('should be a function', () => {
21
- expect(typeof getGenericRenderVariables).toEqual('function');
22
- });
23
-
24
- it('should return always an object', () => {
20
+ it('should always return an object', () => {
25
21
  const variables = getGenericRenderVariables();
26
22
  const variablesWithProps = getGenericRenderVariables([], mockedProps(), STRING_PROPS_EMPTY);
27
23
 
@@ -78,20 +74,18 @@ describe('get card/list render variables', () => {
78
74
  mockedProps({ sortby: ['length'] }),
79
75
  STRING_PROPS_EMPTY
80
76
  );
81
-
82
77
  expect(sort).toEqual('length:desc');
83
78
  });
84
79
 
85
80
  it('should return correct sort data when when there is a prop that is of type string', () => {
86
- const { sort } = getGenericRenderVariables([], mockedProps({ sortby: ['name'] }), STRING_PROPS);
87
-
81
+ const { sort } = getGenericRenderVariables([], mockedProps({ sortby: 'name' }), STRING_PROPS);
88
82
  expect(sort).toEqual('name.keyword:desc');
89
83
  });
90
84
 
91
85
  it("should return correct sort data when when there is a prop that is of type string and it's also a relation prop", () => {
92
86
  const { sort } = getGenericRenderVariables(
93
87
  [{ localField: 'entity', entityIdentifier: 'entity' }],
94
- mockedProps({ sortby: ['entity.name'], sort: 'ASC' }),
88
+ mockedProps({ sortby: 'entity.name', sort: 'ASC' }),
95
89
  ['entity.name']
96
90
  );
97
91
 
@@ -103,7 +97,7 @@ describe('get card/list render variables', () => {
103
97
  const sortby = `${localField}.length`;
104
98
  const { sort } = getGenericRenderVariables(
105
99
  [{ localField, entityIdentifier: 'entity' }],
106
- mockedProps({ sortby: [sortby], sort: 'ASC' }),
100
+ mockedProps({ sortby, sort: 'ASC' }),
107
101
  []
108
102
  );
109
103
 
@@ -113,7 +107,7 @@ describe('get card/list render variables', () => {
113
107
  it('should return correct sort data when when there is a relation prop that is of type string but with updated value', () => {
114
108
  const { sort } = getGenericRenderVariables(
115
109
  [{ localField: 'tag', entityIdentifier: 'tags' }],
116
- mockedProps({ sortby: ['tag.name'], sort: 'ASC' }),
110
+ mockedProps({ sortby: 'tag.name', sort: 'ASC' }),
117
111
  ['tags.name']
118
112
  );
119
113
 
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.object.define-property.js");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var checkSortby = function checkSortby(sortby, isSortbyArray) {
11
- return isSortbyArray && sortby.length || !isSortbyArray && sortby;
12
- };
13
-
14
- var _default = checkSortby;
15
- exports["default"] = _default;
16
- //# sourceMappingURL=check-sort-by.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/helpers/check-sort-by.js"],"names":["checkSortby","sortby","isSortbyArray","length"],"mappings":";;;;;;;;;AAAA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAASC,aAAT;AAAA,SACjBA,aAAa,IAAID,MAAM,CAACE,MAAzB,IAAqC,CAACD,aAAD,IAAkBD,MADrC;AAAA,CAApB;;eAGeD,W","sourcesContent":["const checkSortby = (sortby, isSortbyArray) =>\n (isSortbyArray && sortby.length) || (!isSortbyArray && sortby);\n\nexport default checkSortby;\n"],"file":"check-sort-by.js"}
@@ -1,4 +0,0 @@
1
- const checkSortby = (sortby, isSortbyArray) => isSortbyArray && sortby.length || !isSortbyArray && sortby;
2
-
3
- export default checkSortby;
4
- //# sourceMappingURL=check-sort-by.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/helpers/check-sort-by.js"],"names":["checkSortby","sortby","isSortbyArray","length"],"mappings":"AAAA,MAAMA,WAAW,GAAG,CAACC,MAAD,EAASC,aAAT,KACjBA,aAAa,IAAID,MAAM,CAACE,MAAzB,IAAqC,CAACD,aAAD,IAAkBD,MADzD;;AAGA,eAAeD,WAAf","sourcesContent":["const checkSortby = (sortby, isSortbyArray) =>\n (isSortbyArray && sortby.length) || (!isSortbyArray && sortby);\n\nexport default checkSortby;\n"],"file":"check-sort-by.js"}
@@ -1,4 +0,0 @@
1
- const checkSortby = (sortby, isSortbyArray) =>
2
- (isSortbyArray && sortby.length) || (!isSortbyArray && sortby);
3
-
4
- export default checkSortby;