@wix/auto-patterns 1.0.0 → 1.2.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.
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -16
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +10 -9
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/cjs/config/CmsCompositeConfig.js +85 -0
- package/dist/cjs/config/CmsCompositeConfig.js.map +1 -0
- package/dist/cjs/config/CompositeConfig.js +4 -0
- package/dist/cjs/config/CompositeConfig.js.map +1 -0
- package/dist/cjs/config/ConfigFactory.js +12 -0
- package/dist/cjs/config/ConfigFactory.js.map +1 -0
- package/dist/cjs/config/constants.js +9 -0
- package/dist/cjs/config/constants.js.map +1 -0
- package/dist/cjs/config/index.js +10 -0
- package/dist/cjs/config/index.js.map +1 -0
- package/dist/cjs/hooks/useColumns.js +2 -2
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useFeatures.js +4 -4
- package/dist/cjs/hooks/useFeatures.js.map +1 -1
- package/dist/cjs/hooks/useFilters.js +89 -173
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/providers/ConfigContext.js +43 -0
- package/dist/cjs/providers/ConfigContext.js.map +1 -0
- package/dist/cjs/providers/index.js +4 -4
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +7 -12
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +8 -7
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- package/dist/esm/config/CmsCompositeConfig.js +80 -0
- package/dist/esm/config/CmsCompositeConfig.js.map +1 -0
- package/dist/esm/config/CompositeConfig.js +2 -0
- package/dist/esm/config/CompositeConfig.js.map +1 -0
- package/dist/esm/config/ConfigFactory.js +8 -0
- package/dist/esm/config/ConfigFactory.js.map +1 -0
- package/dist/esm/config/constants.js +5 -0
- package/dist/esm/config/constants.js.map +1 -0
- package/dist/esm/config/index.js +2 -0
- package/dist/esm/config/index.js.map +1 -0
- package/dist/esm/hooks/useColumns.js +3 -3
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useFeatures.js +5 -5
- package/dist/esm/hooks/useFeatures.js.map +1 -1
- package/dist/esm/hooks/useFilters.js +86 -170
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/providers/ConfigContext.js +29 -0
- package/dist/esm/providers/ConfigContext.js.map +1 -0
- package/dist/esm/providers/index.js +1 -1
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts +2 -3
- package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
- package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
- package/dist/types/config/CmsCompositeConfig.d.ts +6 -0
- package/dist/types/config/CmsCompositeConfig.d.ts.map +1 -0
- package/dist/types/config/CompositeConfig.d.ts +8 -0
- package/dist/types/config/CompositeConfig.d.ts.map +1 -0
- package/dist/types/config/ConfigFactory.d.ts +4 -0
- package/dist/types/config/ConfigFactory.d.ts.map +1 -0
- package/dist/types/config/constants.d.ts +4 -0
- package/dist/types/config/constants.d.ts.map +1 -0
- package/dist/types/config/index.d.ts +2 -0
- package/dist/types/config/index.d.ts.map +1 -0
- package/dist/types/hooks/useColumns.d.ts.map +1 -1
- package/dist/types/hooks/useFilters.d.ts +2 -6
- package/dist/types/hooks/useFilters.d.ts.map +1 -1
- package/dist/types/providers/ConfigContext.d.ts +11 -0
- package/dist/types/providers/ConfigContext.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +1 -1
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/types.d.ts +21 -7
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +37 -5
- package/dist/cjs/__tests__/spec-setup.js +0 -7
- package/dist/cjs/__tests__/spec-setup.js.map +0 -1
- package/dist/cjs/providers/PatternsWizardContext.js +0 -48
- package/dist/cjs/providers/PatternsWizardContext.js.map +0 -1
- package/dist/cjs/schemas/cms.js +0 -37
- package/dist/cjs/schemas/cms.js.map +0 -1
- package/dist/cjs/schemas/index.js +0 -10
- package/dist/cjs/schemas/index.js.map +0 -1
- package/dist/cjs/schemas/schemaHandler.js +0 -4
- package/dist/cjs/schemas/schemaHandler.js.map +0 -1
- package/dist/cjs/schemas/schemaHandlerFactory.js +0 -15
- package/dist/cjs/schemas/schemaHandlerFactory.js.map +0 -1
- package/dist/cjs/utils.js +0 -76
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/__tests__/spec-setup.js +0 -5
- package/dist/esm/__tests__/spec-setup.js.map +0 -1
- package/dist/esm/providers/PatternsWizardContext.js +0 -34
- package/dist/esm/providers/PatternsWizardContext.js.map +0 -1
- package/dist/esm/schemas/cms.js +0 -31
- package/dist/esm/schemas/cms.js.map +0 -1
- package/dist/esm/schemas/index.js +0 -2
- package/dist/esm/schemas/index.js.map +0 -1
- package/dist/esm/schemas/schemaHandler.js +0 -2
- package/dist/esm/schemas/schemaHandler.js.map +0 -1
- package/dist/esm/schemas/schemaHandlerFactory.js +0 -10
- package/dist/esm/schemas/schemaHandlerFactory.js.map +0 -1
- package/dist/esm/utils.js +0 -33
- package/dist/esm/utils.js.map +0 -1
- package/dist/types/__tests__/spec-setup.d.ts +0 -2
- package/dist/types/__tests__/spec-setup.d.ts.map +0 -1
- package/dist/types/providers/PatternsWizardContext.d.ts +0 -17
- package/dist/types/providers/PatternsWizardContext.d.ts.map +0 -1
- package/dist/types/schemas/cms.d.ts +0 -21
- package/dist/types/schemas/cms.d.ts.map +0 -1
- package/dist/types/schemas/index.d.ts +0 -2
- package/dist/types/schemas/index.d.ts.map +0 -1
- package/dist/types/schemas/schemaHandler.d.ts +0 -7
- package/dist/types/schemas/schemaHandler.d.ts.map +0 -1
- package/dist/types/schemas/schemaHandlerFactory.d.ts +0 -4
- package/dist/types/schemas/schemaHandlerFactory.d.ts.map +0 -1
- package/dist/types/utils.d.ts +0 -5
- package/dist/types/utils.d.ts.map +0 -1
|
@@ -6,187 +6,105 @@ exports.useFilters = void 0;
|
|
|
6
6
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
var _types = require("../types");
|
|
10
9
|
var _patterns = require("@wix/patterns");
|
|
11
10
|
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/hooks/useFilters.tsx";
|
|
12
11
|
const useFilters = config => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
query: (acc, values) => {
|
|
30
|
-
if (values[key]) {
|
|
31
|
-
if (values[key].from) {
|
|
32
|
-
acc.$and.push({
|
|
33
|
-
[filter.id]: {
|
|
34
|
-
$gte: values[key].from.toISOString()
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
if (values[key].to) {
|
|
39
|
-
acc.$and.push({
|
|
40
|
-
[filter.id]: {
|
|
41
|
-
$lte: values[key].to.toISOString()
|
|
42
|
-
}
|
|
43
|
-
});
|
|
12
|
+
const filters = _react.default.useMemo(() => {
|
|
13
|
+
var _config$filters;
|
|
14
|
+
const currFilters = [];
|
|
15
|
+
(_config$filters = config.filters) == null || _config$filters.forEach(filter => {
|
|
16
|
+
var _filter$static, _filter$static2, _filter$static3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
|
|
17
|
+
const key = _lodash.default.camelCase(filter.displayName);
|
|
18
|
+
switch (filter.componentType) {
|
|
19
|
+
case 'date-range':
|
|
20
|
+
currFilters.push({
|
|
21
|
+
key,
|
|
22
|
+
filter: (0, _patterns.dateRangeFilter)(),
|
|
23
|
+
component: _patterns.DateRangeFilter,
|
|
24
|
+
props: {
|
|
25
|
+
accordionItemProps: {
|
|
26
|
+
label: filter.displayName
|
|
44
27
|
}
|
|
45
28
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
popoverProps: {
|
|
66
|
-
appendTo: 'window'
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
query: (acc, values) => {
|
|
70
|
-
if (values[key]) {
|
|
71
|
-
acc.$and.push({
|
|
72
|
-
[filter.id]: {
|
|
73
|
-
$in: values[key].map(item => item.id)
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
return acc;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
break;
|
|
81
|
-
case 'single':
|
|
82
|
-
filters.push({
|
|
83
|
-
key,
|
|
84
|
-
filter: (0, _patterns.idNameArrayFilter)(),
|
|
85
|
-
component: _patterns.SingleSelectFilter,
|
|
86
|
-
collectionData: ((_filter$static2 = filter.static) == null ? void 0 : _filter$static2.values.map(value => {
|
|
87
|
-
return {
|
|
88
|
-
id: value.id,
|
|
89
|
-
name: value.value
|
|
90
|
-
};
|
|
91
|
-
})) ?? [],
|
|
92
|
-
props: {
|
|
93
|
-
placeholder: `Select ${filter.displayName}`,
|
|
94
|
-
accordionItemProps: {
|
|
95
|
-
label: filter.displayName
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
query: (acc, values) => {
|
|
99
|
-
if (values[key]) {
|
|
100
|
-
if (filter.definition.type === _types.SupportedValueTypeEnum.BOOLEAN) {
|
|
101
|
-
acc.$and.push({
|
|
102
|
-
[filter.id]: {
|
|
103
|
-
$eq: values[key].map(item => item.id === 'true' ? true : false)
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
} else {
|
|
107
|
-
acc.$and.push({
|
|
108
|
-
[filter.id]: {
|
|
109
|
-
$in: values[key].map(item => item.id)
|
|
110
|
-
}
|
|
111
|
-
});
|
|
29
|
+
});
|
|
30
|
+
break;
|
|
31
|
+
case 'multi-select':
|
|
32
|
+
currFilters.push({
|
|
33
|
+
key,
|
|
34
|
+
filter: (0, _patterns.idNameArrayFilter)(),
|
|
35
|
+
component: _patterns.MultiSelectCheckboxFilter,
|
|
36
|
+
collectionData: ((_filter$static = filter.static) == null ? void 0 : _filter$static.values.map(value => {
|
|
37
|
+
return {
|
|
38
|
+
id: value.id,
|
|
39
|
+
name: value.value
|
|
40
|
+
};
|
|
41
|
+
})) ?? [],
|
|
42
|
+
props: {
|
|
43
|
+
accordionItemProps: {
|
|
44
|
+
label: filter.displayName
|
|
45
|
+
},
|
|
46
|
+
popoverProps: {
|
|
47
|
+
appendTo: 'window'
|
|
112
48
|
}
|
|
113
49
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
component: _patterns.RadioGroupFilter,
|
|
123
|
-
props: {
|
|
124
|
-
accordionItemProps: {
|
|
125
|
-
label: filter.displayName
|
|
126
|
-
},
|
|
127
|
-
data: ((_filter$static3 = filter.static) == null ? void 0 : _filter$static3.values.map(value => {
|
|
50
|
+
});
|
|
51
|
+
break;
|
|
52
|
+
case 'single':
|
|
53
|
+
currFilters.push({
|
|
54
|
+
key,
|
|
55
|
+
filter: (0, _patterns.idNameArrayFilter)(),
|
|
56
|
+
component: _patterns.SingleSelectFilter,
|
|
57
|
+
collectionData: ((_filter$static2 = filter.static) == null ? void 0 : _filter$static2.values.map(value => {
|
|
128
58
|
return {
|
|
129
59
|
id: value.id,
|
|
130
60
|
name: value.value
|
|
131
61
|
};
|
|
132
|
-
})) ?? []
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
acc.$and.push({
|
|
138
|
-
[filter.id]: {
|
|
139
|
-
$eq: values[key].map(item => item.id === 'true' ? true : false)
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
} else {
|
|
143
|
-
acc.$and.push({
|
|
144
|
-
[filter.id]: {
|
|
145
|
-
$in: values[key].map(item => item.id)
|
|
146
|
-
}
|
|
147
|
-
});
|
|
62
|
+
})) ?? [],
|
|
63
|
+
props: {
|
|
64
|
+
placeholder: `Select ${filter.displayName}`,
|
|
65
|
+
accordionItemProps: {
|
|
66
|
+
label: filter.displayName
|
|
148
67
|
}
|
|
149
68
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
query: (acc, values) => {
|
|
168
|
-
if (values[key]) {
|
|
169
|
-
if (values[key].from) {
|
|
170
|
-
acc.$and.push({
|
|
171
|
-
[filter.id]: {
|
|
172
|
-
$gte: values[key].from
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
if (values[key].to) {
|
|
177
|
-
acc.$and.push({
|
|
178
|
-
[filter.id]: {
|
|
179
|
-
$lte: values[key].to
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}
|
|
69
|
+
});
|
|
70
|
+
break;
|
|
71
|
+
case 'radio-group':
|
|
72
|
+
currFilters.push({
|
|
73
|
+
key,
|
|
74
|
+
filter: (0, _patterns.idNameArrayFilter)(),
|
|
75
|
+
component: _patterns.RadioGroupFilter,
|
|
76
|
+
props: {
|
|
77
|
+
accordionItemProps: {
|
|
78
|
+
label: filter.displayName
|
|
79
|
+
},
|
|
80
|
+
data: ((_filter$static3 = filter.static) == null ? void 0 : _filter$static3.values.map(value => {
|
|
81
|
+
return {
|
|
82
|
+
id: value.id,
|
|
83
|
+
name: value.value
|
|
84
|
+
};
|
|
85
|
+
})) ?? []
|
|
183
86
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
87
|
+
});
|
|
88
|
+
break;
|
|
89
|
+
case 'number':
|
|
90
|
+
currFilters.push({
|
|
91
|
+
key,
|
|
92
|
+
filter: (0, _patterns.numberRangeFilter)(),
|
|
93
|
+
component: _patterns.NumberRangeFilter,
|
|
94
|
+
props: {
|
|
95
|
+
accordionItemProps: {
|
|
96
|
+
label: filter.displayName
|
|
97
|
+
},
|
|
98
|
+
min: ((_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min) ?? 0,
|
|
99
|
+
max: ((_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max) ?? 100,
|
|
100
|
+
decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
return currFilters;
|
|
107
|
+
}, [config.filters]);
|
|
190
108
|
const FilterCollectionComponent = ({
|
|
191
109
|
filter
|
|
192
110
|
}) => {
|
|
@@ -202,20 +120,19 @@ const useFilters = config => {
|
|
|
202
120
|
__self: void 0,
|
|
203
121
|
__source: {
|
|
204
122
|
fileName: _jsxFileName,
|
|
205
|
-
lineNumber:
|
|
123
|
+
lineNumber: 123,
|
|
206
124
|
columnNumber: 7
|
|
207
125
|
}
|
|
208
126
|
}));
|
|
209
127
|
};
|
|
210
128
|
return filters.reduce((acc, filter) => {
|
|
211
129
|
acc.filters[filter.key] = filter.filter;
|
|
212
|
-
acc.queries.push(filter.query);
|
|
213
130
|
acc.components.push(filter.collectionData ? /*#__PURE__*/_react.default.createElement(FilterCollectionComponent, {
|
|
214
131
|
filter: filter,
|
|
215
132
|
__self: void 0,
|
|
216
133
|
__source: {
|
|
217
134
|
fileName: _jsxFileName,
|
|
218
|
-
lineNumber:
|
|
135
|
+
lineNumber: 138,
|
|
219
136
|
columnNumber: 11
|
|
220
137
|
}
|
|
221
138
|
}) : /*#__PURE__*/_react.default.createElement(filter.component, (0, _extends2.default)({
|
|
@@ -225,15 +142,14 @@ const useFilters = config => {
|
|
|
225
142
|
__self: void 0,
|
|
226
143
|
__source: {
|
|
227
144
|
fileName: _jsxFileName,
|
|
228
|
-
lineNumber:
|
|
145
|
+
lineNumber: 140,
|
|
229
146
|
columnNumber: 11
|
|
230
147
|
}
|
|
231
148
|
})));
|
|
232
149
|
return acc;
|
|
233
150
|
}, {
|
|
234
151
|
filters: {},
|
|
235
|
-
components: []
|
|
236
|
-
queries: []
|
|
152
|
+
components: []
|
|
237
153
|
});
|
|
238
154
|
};
|
|
239
155
|
exports.useFilters = useFilters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_types","_patterns","_jsxFileName","useFilters","config","_config$filters","filters","forEach","filter","_filter$static","_filter$static2","_filter$static3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","key","_","camelCase","displayName","componentType","push","dateRangeFilter","component","DateRangeFilter","props","accordionItemProps","label","query","acc","values","from","$and","id","$gte","toISOString","to","$lte","idNameArrayFilter","MultiSelectCheckboxFilter","collectionData","static","map","value","name","popoverProps","appendTo","$in","item","SingleSelectFilter","placeholder","definition","type","SupportedValueTypeEnum","BOOLEAN","$eq","RadioGroupFilter","data","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","reduce","queries","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { ProjectConfig, SupportedValueTypeEnum } from '../types';\nimport {\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n idNameArrayFilter,\n MultiSelectCheckboxFilter,\n NumberRangeFilter,\n numberRangeFilter,\n RadioGroupFilter,\n SingleSelectFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\n\nexport interface FilterOptions {\n key: string;\n filter: Filter<any>;\n query: (\n acc: { $and: Record<string, any> },\n values: Record<string, any>,\n ) => Record<string, any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n queries: FilterOptions['query'][];\n}\n\nexport const useFilters = (config: ProjectConfig) => {\n const filters: FilterOptions[] = [];\n\n config.filters?.forEach((filter) => {\n const key = _.camelCase(filter.displayName);\n\n switch (filter.componentType) {\n case 'date-range':\n filters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n },\n query: (acc, values) => {\n if (values[key]) {\n if (values[key].from) {\n acc.$and.push({\n [filter.id]: {\n $gte: values[key].from.toISOString(),\n },\n });\n }\n\n if (values[key].to) {\n acc.$and.push({\n [filter.id]: {\n $lte: values[key].to.toISOString(),\n },\n });\n }\n }\n\n return acc;\n },\n });\n\n break;\n case 'multi-select':\n filters.push({\n key,\n filter: idNameArrayFilter(),\n component: MultiSelectCheckboxFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n accordionItemProps: { label: filter.displayName },\n popoverProps: { appendTo: 'window' },\n },\n query: (acc, values) => {\n if (values[key]) {\n acc.$and.push({\n [filter.id]: {\n $in: values[key].map((item: any) => item.id),\n },\n });\n }\n\n return acc;\n },\n });\n\n break;\n case 'single':\n filters.push({\n key,\n filter: idNameArrayFilter(),\n component: SingleSelectFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n placeholder: `Select ${filter.displayName}`,\n accordionItemProps: { label: filter.displayName },\n },\n query: (acc, values) => {\n if (values[key]) {\n if (filter.definition.type === SupportedValueTypeEnum.BOOLEAN) {\n acc.$and.push({\n [filter.id]: {\n $eq: values[key].map((item: any) =>\n item.id === 'true' ? true : false,\n ),\n },\n });\n } else {\n acc.$and.push({\n [filter.id]: {\n $in: values[key].map((item: any) => item.id),\n },\n });\n }\n }\n return acc;\n },\n });\n\n break;\n case 'radio-group':\n filters.push({\n key,\n filter: idNameArrayFilter(),\n component: RadioGroupFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n data:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n },\n query: (acc, values) => {\n if (values[key]) {\n if (filter.definition.type === SupportedValueTypeEnum.BOOLEAN) {\n acc.$and.push({\n [filter.id]: {\n $eq: values[key].map((item: any) =>\n item.id === 'true' ? true : false,\n ),\n },\n });\n } else {\n acc.$and.push({\n [filter.id]: {\n $in: values[key].map((item: any) => item.id),\n },\n });\n }\n }\n return acc;\n },\n });\n\n break;\n case 'number':\n filters.push({\n key,\n filter: numberRangeFilter(),\n component: NumberRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n min: filter.numberConfig?.min ?? 0,\n max: filter.numberConfig?.max ?? 100,\n decimal: filter.numberConfig?.decimal,\n },\n query: (acc, values) => {\n if (values[key]) {\n if (values[key].from) {\n acc.$and.push({\n [filter.id]: {\n $gte: values[key].from,\n },\n });\n }\n\n if (values[key].to) {\n acc.$and.push({\n [filter.id]: {\n $lte: values[key].to,\n },\n });\n }\n }\n return acc;\n },\n });\n\n break;\n }\n });\n\n const FilterCollectionComponent: React.FC<{\n filter: FilterOptions;\n }> = ({ filter }) => {\n const collection = useStaticListFilterCollection(\n filter.filter,\n filter.collectionData ?? [],\n );\n\n return (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...(filter.collectionData ? { collection } : {})}\n collection={collection}\n {...filter.props}\n />\n );\n };\n\n return filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.queries.push(filter.query);\n acc.components.push(\n filter.collectionData ? (\n <FilterCollectionComponent filter={filter} />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [], queries: [] },\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAWuB,IAAAI,YAAA;AAoBhB,MAAMC,UAAU,GAAIC,MAAqB,IAAK;EAAA,IAAAC,eAAA;EACnD,MAAMC,OAAwB,GAAG,EAAE;EAEnC,CAAAD,eAAA,GAAAD,MAAM,CAACE,OAAO,aAAdD,eAAA,CAAgBE,OAAO,CAAEC,MAAM,IAAK;IAAA,IAAAC,cAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAClC,MAAMC,GAAG,GAAGC,eAAC,CAACC,SAAS,CAACT,MAAM,CAACU,WAAW,CAAC;IAE3C,QAAQV,MAAM,CAACW,aAAa;MAC1B,KAAK,YAAY;QACfb,OAAO,CAACc,IAAI,CAAC;UACXL,GAAG;UACHP,MAAM,EAAE,IAAAa,yBAAe,EAAC,CAAC;UACzBC,SAAS,EAAEC,yBAAe;UAC1BC,KAAK,EAAE;YACLC,kBAAkB,EAAE;cAAEC,KAAK,EAAElB,MAAM,CAACU;YAAY;UAClD,CAAC;UACDS,KAAK,EAAEA,CAACC,GAAG,EAAEC,MAAM,KAAK;YACtB,IAAIA,MAAM,CAACd,GAAG,CAAC,EAAE;cACf,IAAIc,MAAM,CAACd,GAAG,CAAC,CAACe,IAAI,EAAE;gBACpBF,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXC,IAAI,EAAEJ,MAAM,CAACd,GAAG,CAAC,CAACe,IAAI,CAACI,WAAW,CAAC;kBACrC;gBACF,CAAC,CAAC;cACJ;cAEA,IAAIL,MAAM,CAACd,GAAG,CAAC,CAACoB,EAAE,EAAE;gBAClBP,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXI,IAAI,EAAEP,MAAM,CAACd,GAAG,CAAC,CAACoB,EAAE,CAACD,WAAW,CAAC;kBACnC;gBACF,CAAC,CAAC;cACJ;YACF;YAEA,OAAON,GAAG;UACZ;QACF,CAAC,CAAC;QAEF;MACF,KAAK,cAAc;QACjBtB,OAAO,CAACc,IAAI,CAAC;UACXL,GAAG;UACHP,MAAM,EAAE,IAAA6B,2BAAiB,EAAC,CAAC;UAC3Bf,SAAS,EAAEgB,mCAAyB;UACpCC,cAAc,EACZ,EAAA9B,cAAA,GAAAD,MAAM,CAACgC,MAAM,qBAAb/B,cAAA,CAAeoB,MAAM,CAACY,GAAG,CAAEC,KAAK,IAAK;YACnC,OAAO;cAAEV,EAAE,EAAEU,KAAK,CAACV,EAAE;cAAEW,IAAI,EAAED,KAAK,CAACA;YAAM,CAAC;UAC5C,CAAC,CAAC,KAAI,EAAE;UACVlB,KAAK,EAAE;YACLC,kBAAkB,EAAE;cAAEC,KAAK,EAAElB,MAAM,CAACU;YAAY,CAAC;YACjD0B,YAAY,EAAE;cAAEC,QAAQ,EAAE;YAAS;UACrC,CAAC;UACDlB,KAAK,EAAEA,CAACC,GAAG,EAAEC,MAAM,KAAK;YACtB,IAAIA,MAAM,CAACd,GAAG,CAAC,EAAE;cACfa,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;gBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;kBACXc,GAAG,EAAEjB,MAAM,CAACd,GAAG,CAAC,CAAC0B,GAAG,CAAEM,IAAS,IAAKA,IAAI,CAACf,EAAE;gBAC7C;cACF,CAAC,CAAC;YACJ;YAEA,OAAOJ,GAAG;UACZ;QACF,CAAC,CAAC;QAEF;MACF,KAAK,QAAQ;QACXtB,OAAO,CAACc,IAAI,CAAC;UACXL,GAAG;UACHP,MAAM,EAAE,IAAA6B,2BAAiB,EAAC,CAAC;UAC3Bf,SAAS,EAAE0B,4BAAkB;UAC7BT,cAAc,EACZ,EAAA7B,eAAA,GAAAF,MAAM,CAACgC,MAAM,qBAAb9B,eAAA,CAAemB,MAAM,CAACY,GAAG,CAAEC,KAAK,IAAK;YACnC,OAAO;cAAEV,EAAE,EAAEU,KAAK,CAACV,EAAE;cAAEW,IAAI,EAAED,KAAK,CAACA;YAAM,CAAC;UAC5C,CAAC,CAAC,KAAI,EAAE;UACVlB,KAAK,EAAE;YACLyB,WAAW,EAAE,UAAUzC,MAAM,CAACU,WAAW,EAAE;YAC3CO,kBAAkB,EAAE;cAAEC,KAAK,EAAElB,MAAM,CAACU;YAAY;UAClD,CAAC;UACDS,KAAK,EAAEA,CAACC,GAAG,EAAEC,MAAM,KAAK;YACtB,IAAIA,MAAM,CAACd,GAAG,CAAC,EAAE;cACf,IAAIP,MAAM,CAAC0C,UAAU,CAACC,IAAI,KAAKC,6BAAsB,CAACC,OAAO,EAAE;gBAC7DzB,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXsB,GAAG,EAAEzB,MAAM,CAACd,GAAG,CAAC,CAAC0B,GAAG,CAAEM,IAAS,IAC7BA,IAAI,CAACf,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,KAC9B;kBACF;gBACF,CAAC,CAAC;cACJ,CAAC,MAAM;gBACLJ,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXc,GAAG,EAAEjB,MAAM,CAACd,GAAG,CAAC,CAAC0B,GAAG,CAAEM,IAAS,IAAKA,IAAI,CAACf,EAAE;kBAC7C;gBACF,CAAC,CAAC;cACJ;YACF;YACA,OAAOJ,GAAG;UACZ;QACF,CAAC,CAAC;QAEF;MACF,KAAK,aAAa;QAChBtB,OAAO,CAACc,IAAI,CAAC;UACXL,GAAG;UACHP,MAAM,EAAE,IAAA6B,2BAAiB,EAAC,CAAC;UAC3Bf,SAAS,EAAEiC,0BAAgB;UAC3B/B,KAAK,EAAE;YACLC,kBAAkB,EAAE;cAAEC,KAAK,EAAElB,MAAM,CAACU;YAAY,CAAC;YACjDsC,IAAI,EACF,EAAA7C,eAAA,GAAAH,MAAM,CAACgC,MAAM,qBAAb7B,eAAA,CAAekB,MAAM,CAACY,GAAG,CAAEC,KAAK,IAAK;cACnC,OAAO;gBAAEV,EAAE,EAAEU,KAAK,CAACV,EAAE;gBAAEW,IAAI,EAAED,KAAK,CAACA;cAAM,CAAC;YAC5C,CAAC,CAAC,KAAI;UACV,CAAC;UACDf,KAAK,EAAEA,CAACC,GAAG,EAAEC,MAAM,KAAK;YACtB,IAAIA,MAAM,CAACd,GAAG,CAAC,EAAE;cACf,IAAIP,MAAM,CAAC0C,UAAU,CAACC,IAAI,KAAKC,6BAAsB,CAACC,OAAO,EAAE;gBAC7DzB,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXsB,GAAG,EAAEzB,MAAM,CAACd,GAAG,CAAC,CAAC0B,GAAG,CAAEM,IAAS,IAC7BA,IAAI,CAACf,EAAE,KAAK,MAAM,GAAG,IAAI,GAAG,KAC9B;kBACF;gBACF,CAAC,CAAC;cACJ,CAAC,MAAM;gBACLJ,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXc,GAAG,EAAEjB,MAAM,CAACd,GAAG,CAAC,CAAC0B,GAAG,CAAEM,IAAS,IAAKA,IAAI,CAACf,EAAE;kBAC7C;gBACF,CAAC,CAAC;cACJ;YACF;YACA,OAAOJ,GAAG;UACZ;QACF,CAAC,CAAC;QAEF;MACF,KAAK,QAAQ;QACXtB,OAAO,CAACc,IAAI,CAAC;UACXL,GAAG;UACHP,MAAM,EAAE,IAAAiD,2BAAiB,EAAC,CAAC;UAC3BnC,SAAS,EAAEoC,2BAAiB;UAC5BlC,KAAK,EAAE;YACLC,kBAAkB,EAAE;cAAEC,KAAK,EAAElB,MAAM,CAACU;YAAY,CAAC;YACjDyC,GAAG,EAAE,EAAA/C,oBAAA,GAAAJ,MAAM,CAACoD,YAAY,qBAAnBhD,oBAAA,CAAqB+C,GAAG,KAAI,CAAC;YAClCE,GAAG,EAAE,EAAAhD,qBAAA,GAAAL,MAAM,CAACoD,YAAY,qBAAnB/C,qBAAA,CAAqBgD,GAAG,KAAI,GAAG;YACpCC,OAAO,GAAAhD,qBAAA,GAAEN,MAAM,CAACoD,YAAY,qBAAnB9C,qBAAA,CAAqBgD;UAChC,CAAC;UACDnC,KAAK,EAAEA,CAACC,GAAG,EAAEC,MAAM,KAAK;YACtB,IAAIA,MAAM,CAACd,GAAG,CAAC,EAAE;cACf,IAAIc,MAAM,CAACd,GAAG,CAAC,CAACe,IAAI,EAAE;gBACpBF,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXC,IAAI,EAAEJ,MAAM,CAACd,GAAG,CAAC,CAACe;kBACpB;gBACF,CAAC,CAAC;cACJ;cAEA,IAAID,MAAM,CAACd,GAAG,CAAC,CAACoB,EAAE,EAAE;gBAClBP,GAAG,CAACG,IAAI,CAACX,IAAI,CAAC;kBACZ,CAACZ,MAAM,CAACwB,EAAE,GAAG;oBACXI,IAAI,EAAEP,MAAM,CAACd,GAAG,CAAC,CAACoB;kBACpB;gBACF,CAAC,CAAC;cACJ;YACF;YACA,OAAOP,GAAG;UACZ;QACF,CAAC,CAAC;QAEF;IACJ;EACF,CAAC,CAAC;EAEF,MAAMmC,yBAEJ,GAAGA,CAAC;IAAEvD;EAAO,CAAC,KAAK;IACnB,MAAMwD,UAAU,GAAG,IAAAC,uCAA6B,EAC9CzD,MAAM,CAACA,MAAM,EACbA,MAAM,CAAC+B,cAAc,IAAI,EAC3B,CAAC;IAED,oBACE3C,MAAA,CAAAsE,OAAA,CAAAC,aAAA,CAAC3D,MAAM,CAACc,SAAS,MAAA8C,SAAA,CAAAF,OAAA;MACfnD,GAAG,EAAEP,MAAM,CAACO,GAAI;MAChBP,MAAM,EAAEA,MAAM,CAACA;IAAO,GACjBA,MAAM,CAAC+B,cAAc,GAAG;MAAEyB;IAAW,CAAC,GAAG,CAAC,CAAC;MAChDA,UAAU,EAAEA;IAAW,GACnBxD,MAAM,CAACgB,KAAK;MAAA6C,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAArE,YAAA;QAAAsE,UAAA;QAAAC,YAAA;MAAA;IAAA,EACjB,CAAC;EAEN,CAAC;EAED,OAAOnE,OAAO,CAACoE,MAAM,CACnB,CAAC9C,GAAG,EAAEpB,MAAM,KAAK;IACfoB,GAAG,CAACtB,OAAO,CAACE,MAAM,CAACO,GAAG,CAAC,GAAGP,MAAM,CAACA,MAAM;IACvCoB,GAAG,CAAC+C,OAAO,CAACvD,IAAI,CAACZ,MAAM,CAACmB,KAAK,CAAC;IAC9BC,GAAG,CAACgD,UAAU,CAACxD,IAAI,CACjBZ,MAAM,CAAC+B,cAAc,gBACnB3C,MAAA,CAAAsE,OAAA,CAAAC,aAAA,CAACJ,yBAAyB;MAACvD,MAAM,EAAEA,MAAO;MAAA6D,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAArE,YAAA;QAAAsE,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAC,gBAE7C7E,MAAA,CAAAsE,OAAA,CAAAC,aAAA,CAAC3D,MAAM,CAACc,SAAS,MAAA8C,SAAA,CAAAF,OAAA;MACfnD,GAAG,EAAEP,MAAM,CAACO,GAAI;MAChBP,MAAM,EAAEA,MAAM,CAACA;IAAO,GAClBA,MAAM,CAACgB,KAAK;MAAA6C,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAArE,YAAA;QAAAsE,UAAA;QAAAC,YAAA;MAAA;IAAA,EACjB,CAEL,CAAC;IAED,OAAO7C,GAAG;EACZ,CAAC,EACD;IAAEtB,OAAO,EAAE,CAAC,CAAC;IAAEsE,UAAU,EAAE,EAAE;IAAED,OAAO,EAAE;EAAG,CAC7C,CAAC;AACH,CAAC;AAACE,OAAA,CAAA1E,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_patterns","_jsxFileName","useFilters","config","filters","React","useMemo","_config$filters","currFilters","forEach","filter","_filter$static","_filter$static2","_filter$static3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","key","_","camelCase","displayName","componentType","push","dateRangeFilter","component","DateRangeFilter","props","accordionItemProps","label","idNameArrayFilter","MultiSelectCheckboxFilter","collectionData","static","values","map","value","id","name","popoverProps","appendTo","SingleSelectFilter","placeholder","RadioGroupFilter","data","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","reduce","acc","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport _ from 'lodash';\nimport { PageConfig } from '../types';\nimport {\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n idNameArrayFilter,\n MultiSelectCheckboxFilter,\n NumberRangeFilter,\n numberRangeFilter,\n RadioGroupFilter,\n SingleSelectFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\n\nexport interface FilterOptions {\n key: string;\n filter: Filter<any>;\n component: React.ElementType;\n collectionData?: { id: string; name: string }[];\n props: Record<string, any>;\n}\n\nexport interface ReturnValue {\n filters: { [key: string]: Filter<any> };\n components: React.JSX.Element[];\n}\n\nexport const useFilters = (config: PageConfig) => {\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n config.filters?.forEach((filter) => {\n const key = _.camelCase(filter.displayName);\n\n switch (filter.componentType) {\n case 'date-range':\n currFilters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n },\n });\n\n break;\n case 'multi-select':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: MultiSelectCheckboxFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n accordionItemProps: { label: filter.displayName },\n popoverProps: { appendTo: 'window' },\n },\n });\n\n break;\n case 'single':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: SingleSelectFilter,\n collectionData:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n props: {\n placeholder: `Select ${filter.displayName}`,\n accordionItemProps: { label: filter.displayName },\n },\n });\n\n break;\n case 'radio-group':\n currFilters.push({\n key,\n filter: idNameArrayFilter(),\n component: RadioGroupFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n data:\n filter.static?.values.map((value) => {\n return { id: value.id, name: value.value };\n }) ?? [],\n },\n });\n\n break;\n case 'number':\n currFilters.push({\n key,\n filter: numberRangeFilter(),\n component: NumberRangeFilter,\n props: {\n accordionItemProps: { label: filter.displayName },\n min: filter.numberConfig?.min ?? 0,\n max: filter.numberConfig?.max ?? 100,\n decimal: filter.numberConfig?.decimal,\n },\n });\n\n break;\n }\n });\n return currFilters;\n }, [config.filters]);\n\n const FilterCollectionComponent: React.FC<{\n filter: FilterOptions;\n }> = ({ filter }) => {\n const collection = useStaticListFilterCollection(\n filter.filter,\n filter.collectionData ?? [],\n );\n\n return (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...(filter.collectionData ? { collection } : {})}\n collection={collection}\n {...filter.props}\n />\n );\n };\n\n return filters.reduce<ReturnValue>(\n (acc, filter) => {\n acc.filters[filter.key] = filter.filter;\n acc.components.push(\n filter.collectionData ? (\n <FilterCollectionComponent filter={filter} />\n ) : (\n <filter.component\n key={filter.key}\n filter={filter.filter}\n {...filter.props}\n />\n ),\n );\n\n return acc;\n },\n { filters: {}, components: [] },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useConfig = exports.ConfigProvider = void 0;
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _ConfigFactory = require("../config/ConfigFactory");
|
|
7
|
+
var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/providers/ConfigContext.tsx";
|
|
8
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
9
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
const ConfigContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
11
|
+
const ConfigProvider = ({
|
|
12
|
+
page,
|
|
13
|
+
children
|
|
14
|
+
}) => {
|
|
15
|
+
const [config, setConfig] = (0, _react.useState)(null);
|
|
16
|
+
(0, _react.useEffect)(() => {
|
|
17
|
+
(0, _ConfigFactory.getCompositeConfig)(page).then(setConfig).catch(error => {
|
|
18
|
+
console.error('Error fetching config:', error);
|
|
19
|
+
});
|
|
20
|
+
}, [page]);
|
|
21
|
+
if (!config) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
|
|
25
|
+
value: config,
|
|
26
|
+
__self: void 0,
|
|
27
|
+
__source: {
|
|
28
|
+
fileName: _jsxFileName,
|
|
29
|
+
lineNumber: 35,
|
|
30
|
+
columnNumber: 5
|
|
31
|
+
}
|
|
32
|
+
}, children);
|
|
33
|
+
};
|
|
34
|
+
exports.ConfigProvider = ConfigProvider;
|
|
35
|
+
const useConfig = () => {
|
|
36
|
+
const context = (0, _react.useContext)(ConfigContext);
|
|
37
|
+
if (!context) {
|
|
38
|
+
throw new Error('useConfig must be used within a ConfigProvider');
|
|
39
|
+
}
|
|
40
|
+
return context;
|
|
41
|
+
};
|
|
42
|
+
exports.useConfig = useConfig;
|
|
43
|
+
//# sourceMappingURL=ConfigContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_ConfigFactory","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ConfigContext","createContext","ConfigProvider","page","children","config","setConfig","useState","useEffect","getCompositeConfig","then","catch","error","console","createElement","Provider","value","__self","__source","fileName","lineNumber","columnNumber","exports","useConfig","context","useContext","Error"],"sources":["../../../src/providers/ConfigContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n} from 'react';\nimport { PageConfig } from '../types';\nimport { CompositeConfig } from '../config/CompositeConfig';\nimport { getCompositeConfig } from '../config/ConfigFactory';\n\nconst ConfigContext = createContext<CompositeConfig | null>(null);\n\ninterface ConfigProviderProps {\n page: PageConfig;\n children: ReactNode;\n}\n\nexport const ConfigProvider = ({ page, children }: ConfigProviderProps) => {\n const [config, setConfig] = useState<CompositeConfig | null>(null);\n\n useEffect(() => {\n getCompositeConfig(page)\n .then(setConfig)\n .catch((error) => {\n console.error('Error fetching config:', error);\n });\n }, [page]);\n\n if (!config) {\n return null;\n }\n\n return (\n <ConfigContext.Provider value={config}>{children}</ConfigContext.Provider>\n );\n};\n\nexport const useConfig = (): CompositeConfig => {\n const context = useContext(ConfigContext);\n if (!context) {\n throw new Error('useConfig must be used within a ConfigProvider');\n }\n return context;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,cAAA,GAAAD,OAAA;AAA6D,IAAAE,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE7D,MAAMW,aAAa,gBAAG,IAAAC,oBAAa,EAAyB,IAAI,CAAC;AAO1D,MAAMC,cAAc,GAAGA,CAAC;EAAEC,IAAI;EAAEC;AAA8B,CAAC,KAAK;EACzE,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAyB,IAAI,CAAC;EAElE,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAAC,iCAAkB,EAACN,IAAI,CAAC,CACrBO,IAAI,CAACJ,SAAS,CAAC,CACfK,KAAK,CAAEC,KAAK,IAAK;MAChBC,OAAO,CAACD,KAAK,CAAC,wBAAwB,EAAEA,KAAK,CAAC;IAChD,CAAC,CAAC;EACN,CAAC,EAAE,CAACT,IAAI,CAAC,CAAC;EAEV,IAAI,CAACE,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,oBACE9B,MAAA,CAAAW,OAAA,CAAA4B,aAAA,CAACd,aAAa,CAACe,QAAQ;IAACC,KAAK,EAAEX,MAAO;IAAAY,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxC,YAAA;MAAAyC,UAAA;MAAAC,YAAA;IAAA;EAAA,GAAEjB,QAAiC,CAAC;AAE9E,CAAC;AAACkB,OAAA,CAAApB,cAAA,GAAAA,cAAA;AAEK,MAAMqB,SAAS,GAAGA,CAAA,KAAuB;EAC9C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACzB,aAAa,CAAC;EACzC,IAAI,CAACwB,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOF,OAAO;AAChB,CAAC;AAACF,OAAA,CAAAC,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
var
|
|
5
|
-
Object.keys(
|
|
4
|
+
var _ConfigContext = require("./ConfigContext");
|
|
5
|
+
Object.keys(_ConfigContext).forEach(function (key) {
|
|
6
6
|
if (key === "default" || key === "__esModule") return;
|
|
7
|
-
if (key in exports && exports[key] ===
|
|
8
|
-
exports[key] =
|
|
7
|
+
if (key in exports && exports[key] === _ConfigContext[key]) return;
|
|
8
|
+
exports[key] = _ConfigContext[key];
|
|
9
9
|
});
|
|
10
10
|
var _PatternsWizardOverridesContext = require("./PatternsWizardOverridesContext");
|
|
11
11
|
Object.keys(_PatternsWizardOverridesContext).forEach(function (key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_ConfigContext","require","Object","keys","forEach","key","exports","_PatternsWizardOverridesContext"],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './ConfigContext';\nexport * from './PatternsWizardOverridesContext';\n"],"mappings":";;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,cAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,+BAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,+BAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,+BAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,+BAAA,CAAAF,GAAA;AAAA","ignoreList":[]}
|
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CollectionTypeEnum","exports","SupportedValueTypeEnum","ComponentTypeEnum"],"sources":["../../src/types.ts"],"sourcesContent":["export enum CollectionTypeEnum {\n TABLE = 'Table',\n GRID = 'Grid',\n TABLE_GRID_SWITCH = 'TableGridSwitch',\n}\n\nexport enum SupportedValueTypeEnum {\n STRING = 'STRING',\n NUMBER = 'NUMBER',\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n ENUM = 'ENUM',\n}\n\nexport interface Column {\n id: string;\n name: string;\n type: SupportedValueTypeEnum;\n width?: string;\n}\n\nexport interface FilterValue {\n id: string;\n value: string;\n system?: boolean;\n deletable?: boolean;\n}\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FieldDefinition {\n id: string;\n name: string;\n description?: string;\n path: string;\n type?: SupportedValueTypeEnum;\n schemaName?: string;\n enums?: string[];\n}\n\nexport interface Filter {\n id: string;\n displayName: string;\n componentType: ComponentTypeEnum;\n definition: FieldDefinition;\n numberConfig?: {\n min?: number;\n max?: number;\n decimal?: boolean;\n };\n static?: {\n values: FilterValue[];\n };\n}\n\nexport interface CollectionConfig {\n type: CollectionTypeEnum;\n grid?: GridCollectionConfig;\n}\n\nexport interface GridCollectionConfig {\n renderItem: {\n title: string;\n subtitle?: string;\n primaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n secondaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n };\n imagePlacement?: 'top' | 'side';\n renderAddItem?: boolean;\n sections?: {\n title: string;\n action?: {\n label: string;\n // onClick: () => void;\n };\n };\n dragAndDrop?: boolean;\n}\n\ninterface Action {\n id: string;\n text: string;\n icon: string;\n}\nexport interface
|
|
1
|
+
{"version":3,"names":["CollectionTypeEnum","exports","SupportedValueTypeEnum","ComponentTypeEnum"],"sources":["../../src/types.ts"],"sourcesContent":["export enum CollectionTypeEnum {\n TABLE = 'Table',\n GRID = 'Grid',\n TABLE_GRID_SWITCH = 'TableGridSwitch',\n}\n\nexport enum SupportedValueTypeEnum {\n STRING = 'STRING',\n NUMBER = 'NUMBER',\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n ENUM = 'ENUM',\n}\n\nexport interface Column {\n id: string;\n name: string;\n type: SupportedValueTypeEnum;\n width?: string;\n}\n\nexport interface FilterValue {\n id: string;\n value: string;\n system?: boolean;\n deletable?: boolean;\n}\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FieldDefinition {\n id: string;\n name: string;\n description?: string;\n path: string;\n type?: SupportedValueTypeEnum;\n schemaName?: string;\n enums?: string[];\n}\n\nexport interface Filter {\n id: string;\n displayName: string;\n componentType: ComponentTypeEnum;\n definition: FieldDefinition;\n numberConfig?: {\n min?: number;\n max?: number;\n decimal?: boolean;\n };\n static?: {\n values: FilterValue[];\n };\n}\n\nexport interface CollectionConfig {\n type: CollectionTypeEnum;\n grid?: GridCollectionConfig;\n}\n\nexport interface GridCollectionConfig {\n renderItem: {\n title: string;\n subtitle?: string;\n primaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n secondaryActionProps?: {\n label: string;\n // onClick: () => void;\n };\n };\n imagePlacement?: 'top' | 'side';\n renderAddItem?: boolean;\n sections?: {\n title: string;\n action?: {\n label: string;\n // onClick: () => void;\n };\n };\n dragAndDrop?: boolean;\n}\n\ninterface Action {\n id: string;\n text: string;\n icon: string;\n}\nexport interface PageConfig {\n pageTitle: { text: string; hideTotal?: boolean };\n pageSubtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n viewType: string;\n collectionId: string;\n entityTypeSource: EntityTypeSource;\n entityId: string;\n entityName: string;\n columns: Column[];\n collectionConfig: CollectionConfig;\n entitySchemaName: string;\n filters?: Filter[];\n actions?: Action[];\n views?: {\n enabled: boolean;\n };\n customFields?: {\n enabled: boolean;\n };\n optimisticActions?: {\n enabled: boolean;\n };\n}\n\nexport interface ProjectDTO {\n key: string;\n id: string;\n userId: string;\n createdAt: Date;\n updatedAt: Date;\n config: PageConfig;\n}\n\nexport interface PatternsWizardBaseProps {\n configuration: PageConfig;\n}\n\nexport type EntityProps = { [key: string]: any };\n\nexport interface IMenuItem<T extends EntityProps = {}> {\n item: T;\n}\nexport interface IColumnValue<T> {\n value: T;\n}\n\nexport type EntityTypeSource = 'cms';\n\nexport type QueryOperator =\n | 'CONTAINS'\n | 'ENDS_WITH'\n | 'EQ'\n | 'EXISTS'\n | 'GT'\n | 'GTE'\n | 'HAS_ALL'\n | 'HAS_SOME'\n | 'LT'\n | 'LTE'\n | 'NE'\n | 'STARTS_WITH'\n | 'URLIZED';\n\nexport interface Field {\n id: string;\n type: string;\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\n// TODO: fill this out\nexport interface SchemaConfig {\n fields: Field[];\n}\n"],"mappings":";;;;IAAYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAMlBE,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA;AAAA,IAsBtBC,iBAAiB,GAAAF,OAAA,CAAAE,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,OAkJ7B","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { CollectionPage } from '@wix/patterns/page';
|
|
3
3
|
import { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';
|
|
4
|
-
import {
|
|
4
|
+
import { usePatternsWizardOverridesContext, ConfigProvider } from '../../providers';
|
|
5
5
|
export const AutoPatternsCollectionPage = _ref => {
|
|
6
6
|
let {
|
|
7
7
|
configuration
|
|
@@ -11,19 +11,14 @@ export const AutoPatternsCollectionPage = _ref => {
|
|
|
11
11
|
pageSubtitle
|
|
12
12
|
} = configuration;
|
|
13
13
|
const context = usePatternsWizardOverridesContext();
|
|
14
|
-
return /*#__PURE__*/React.createElement(
|
|
15
|
-
|
|
16
|
-
configuration
|
|
17
|
-
}
|
|
14
|
+
return /*#__PURE__*/React.createElement(ConfigProvider, {
|
|
15
|
+
page: configuration
|
|
18
16
|
}, /*#__PURE__*/React.createElement(CollectionPage, {
|
|
19
|
-
height: "100vh"
|
|
17
|
+
height: "100vh",
|
|
18
|
+
dataHook: "auto-patterns-page"
|
|
20
19
|
}, /*#__PURE__*/React.createElement(CollectionPage.Header, {
|
|
21
|
-
title:
|
|
22
|
-
|
|
23
|
-
},
|
|
24
|
-
subtitle: {
|
|
25
|
-
text: pageSubtitle
|
|
26
|
-
}
|
|
20
|
+
title: pageTitle,
|
|
21
|
+
subtitle: pageSubtitle
|
|
27
22
|
}), /*#__PURE__*/React.createElement(CollectionPage.Content, null, context != null && context.HeaderAddon ? /*#__PURE__*/React.createElement(context.HeaderAddon, null) : null, /*#__PURE__*/React.createElement(AutoPatternsCollectionPageContent, null))));
|
|
28
23
|
};
|
|
29
24
|
//# sourceMappingURL=AutoPatternsCollectionPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CollectionPage","AutoPatternsCollectionPageContent","
|
|
1
|
+
{"version":3,"names":["React","CollectionPage","AutoPatternsCollectionPageContent","usePatternsWizardOverridesContext","ConfigProvider","AutoPatternsCollectionPage","_ref","configuration","pageTitle","pageSubtitle","context","createElement","page","height","dataHook","Header","title","subtitle","Content","HeaderAddon"],"sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionPage } from '@wix/patterns/page';\nimport { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';\nimport {\n usePatternsWizardOverridesContext,\n ConfigProvider,\n} from '../../providers';\nimport { PageConfig } from '../../types';\n\nexport interface AutoPatternsCollectionPageProps {\n configuration: PageConfig;\n}\n\nexport const AutoPatternsCollectionPage: React.FC<\n AutoPatternsCollectionPageProps\n> = ({ configuration }) => {\n const { pageTitle, pageSubtitle } = configuration;\n const context = usePatternsWizardOverridesContext();\n return (\n <ConfigProvider page={configuration}>\n <CollectionPage height=\"100vh\" dataHook=\"auto-patterns-page\">\n <CollectionPage.Header title={pageTitle} subtitle={pageSubtitle} />\n <CollectionPage.Content>\n {context?.HeaderAddon ? <context.HeaderAddon /> : null}\n <AutoPatternsCollectionPageContent />\n </CollectionPage.Content>\n </CollectionPage>\n </ConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,iCAAiC,QAAQ,sCAAsC;AACxF,SACEC,iCAAiC,EACjCC,cAAc,QACT,iBAAiB;AAOxB,OAAO,MAAMC,0BAEZ,GAAGC,IAAA,IAAuB;EAAA,IAAtB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EACpB,MAAM;IAAEE,SAAS;IAAEC;EAAa,CAAC,GAAGF,aAAa;EACjD,MAAMG,OAAO,GAAGP,iCAAiC,CAAC,CAAC;EACnD,oBACEH,KAAA,CAAAW,aAAA,CAACP,cAAc;IAACQ,IAAI,EAAEL;EAAc,gBAClCP,KAAA,CAAAW,aAAA,CAACV,cAAc;IAACY,MAAM,EAAC,OAAO;IAACC,QAAQ,EAAC;EAAoB,gBAC1Dd,KAAA,CAAAW,aAAA,CAACV,cAAc,CAACc,MAAM;IAACC,KAAK,EAAER,SAAU;IAACS,QAAQ,EAAER;EAAa,CAAE,CAAC,eACnET,KAAA,CAAAW,aAAA,CAACV,cAAc,CAACiB,OAAO,QACpBR,OAAO,YAAPA,OAAO,CAAES,WAAW,gBAAGnB,KAAA,CAAAW,aAAA,CAACD,OAAO,CAACS,WAAW,MAAE,CAAC,GAAG,IAAI,eACtDnB,KAAA,CAAAW,aAAA,CAACT,iCAAiC,MAAE,CACd,CACV,CACF,CAAC;AAErB,CAAC","ignoreList":[]}
|
package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { CollectionToolbarFilters, Table, useTableCollection } from '@wix/patterns';
|
|
3
3
|
import { useTableProps } from '../../hooks';
|
|
4
|
-
import {
|
|
4
|
+
import { usePatternsWizardOverridesContext, useConfig } from '../../providers';
|
|
5
5
|
import { Edit } from '@wix/wix-ui-icons-common';
|
|
6
6
|
export const AutoPatternsCollectionPageContent = () => {
|
|
7
|
-
const
|
|
7
|
+
const config = useConfig();
|
|
8
8
|
const {
|
|
9
|
-
|
|
10
|
-
configuration: {
|
|
9
|
+
page: {
|
|
11
10
|
pageTitle,
|
|
12
11
|
collectionId,
|
|
13
12
|
entityId,
|
|
14
13
|
entityName,
|
|
15
14
|
actions: secondaryActions = []
|
|
16
|
-
}
|
|
17
|
-
|
|
15
|
+
},
|
|
16
|
+
collection
|
|
17
|
+
} = config;
|
|
18
18
|
const context = usePatternsWizardOverridesContext();
|
|
19
19
|
const {
|
|
20
20
|
columns,
|
|
@@ -37,7 +37,7 @@ export const AutoPatternsCollectionPageContent = () => {
|
|
|
37
37
|
} = _ref;
|
|
38
38
|
return String(err);
|
|
39
39
|
},
|
|
40
|
-
...
|
|
40
|
+
...collection
|
|
41
41
|
});
|
|
42
42
|
const secondaryActionComponents = React.useMemo(() => {
|
|
43
43
|
if (secondaryActions.length === 0) {
|
|
@@ -55,6 +55,7 @@ export const AutoPatternsCollectionPageContent = () => {
|
|
|
55
55
|
}));
|
|
56
56
|
}, [secondaryActions, context == null ? void 0 : context.actions]);
|
|
57
57
|
return /*#__PURE__*/React.createElement(Table, {
|
|
58
|
+
dataHook: "auto-patterns-table",
|
|
58
59
|
state: tableState,
|
|
59
60
|
columns: columns,
|
|
60
61
|
views: views,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","CollectionToolbarFilters","Table","useTableCollection","useTableProps","
|
|
1
|
+
{"version":3,"names":["React","CollectionToolbarFilters","Table","useTableCollection","useTableProps","usePatternsWizardOverridesContext","useConfig","Edit","AutoPatternsCollectionPageContent","config","page","pageTitle","collectionId","entityId","entityName","actions","secondaryActions","collection","context","columns","views","dataExtension","filters","components","tableState","queryName","itemKey","item","itemName","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","secondaryActionComponents","useMemo","length","undefined","map","action","icon","createElement","text","onClick","_context$actions","_context$actions$acti","id","call","dataHook","state","actionCell"],"sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"sourcesContent":["import React from 'react';\nimport {\n CollectionToolbarFilters,\n Table,\n useTableCollection,\n} from '@wix/patterns';\nimport { useTableProps } from '../../hooks';\nimport { usePatternsWizardOverridesContext, useConfig } from '../../providers';\nimport { Edit } from '@wix/wix-ui-icons-common';\n\nexport const AutoPatternsCollectionPageContent: React.FC = () => {\n const config = useConfig();\n\n const {\n page: {\n pageTitle,\n collectionId,\n entityId,\n entityName,\n actions: secondaryActions = [],\n },\n collection,\n } = config;\n\n const context = usePatternsWizardOverridesContext();\n\n const {\n columns,\n views,\n dataExtension,\n filters: { filters, components },\n } = useTableProps();\n\n const tableState = useTableCollection<any>({\n queryName: `${collectionId}-${pageTitle}`,\n itemKey: (item) => item[`${entityId}`],\n itemName: (item) => item[`${entityName}`],\n filters,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n ...collection,\n });\n\n const secondaryActionComponents = React.useMemo(() => {\n if (secondaryActions.length === 0) {\n return undefined;\n }\n\n return secondaryActions.map((action) => (item: any) => ({\n icon: <Edit />,\n text: action.text,\n onClick: () => {\n context?.actions?.[action.id]?.({ item });\n },\n }));\n }, [secondaryActions, context?.actions]);\n\n return (\n <Table\n dataHook=\"auto-patterns-table\"\n state={tableState}\n columns={columns}\n views={views}\n dataExtension={dataExtension}\n actionCell={(item) => ({\n secondaryActions: secondaryActionComponents?.map((action) =>\n action(item),\n ),\n })}\n filters={\n components.length > 0 ? (\n <CollectionToolbarFilters>{components}</CollectionToolbarFilters>\n ) : undefined\n }\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,wBAAwB,EACxBC,KAAK,EACLC,kBAAkB,QACb,eAAe;AACtB,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,iCAAiC,EAAEC,SAAS,QAAQ,iBAAiB;AAC9E,SAASC,IAAI,QAAQ,0BAA0B;AAE/C,OAAO,MAAMC,iCAA2C,GAAGA,CAAA,KAAM;EAC/D,MAAMC,MAAM,GAAGH,SAAS,CAAC,CAAC;EAE1B,MAAM;IACJI,IAAI,EAAE;MACJC,SAAS;MACTC,YAAY;MACZC,QAAQ;MACRC,UAAU;MACVC,OAAO,EAAEC,gBAAgB,GAAG;IAC9B,CAAC;IACDC;EACF,CAAC,GAAGR,MAAM;EAEV,MAAMS,OAAO,GAAGb,iCAAiC,CAAC,CAAC;EAEnD,MAAM;IACJc,OAAO;IACPC,KAAK;IACLC,aAAa;IACbC,OAAO,EAAE;MAAEA,OAAO;MAAEC;IAAW;EACjC,CAAC,GAAGnB,aAAa,CAAC,CAAC;EAEnB,MAAMoB,UAAU,GAAGrB,kBAAkB,CAAM;IACzCsB,SAAS,EAAE,GAAGb,YAAY,IAAID,SAAS,EAAE;IACzCe,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAAC,GAAGd,QAAQ,EAAE,CAAC;IACtCe,QAAQ,EAAGD,IAAI,IAAKA,IAAI,CAAC,GAAGb,UAAU,EAAE,CAAC;IACzCQ,OAAO;IACPO,gBAAgB,EAAGF,IAAI,IAAKA,IAAI,CAACG,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3C,GAAGhB;EACL,CAAC,CAAC;EAEF,MAAMkB,yBAAyB,GAAGnC,KAAK,CAACoC,OAAO,CAAC,MAAM;IACpD,IAAIpB,gBAAgB,CAACqB,MAAM,KAAK,CAAC,EAAE;MACjC,OAAOC,SAAS;IAClB;IAEA,OAAOtB,gBAAgB,CAACuB,GAAG,CAAEC,MAAM,IAAMb,IAAS,KAAM;MACtDc,IAAI,eAAEzC,KAAA,CAAA0C,aAAA,CAACnC,IAAI,MAAE,CAAC;MACdoC,IAAI,EAAEH,MAAM,CAACG,IAAI;MACjBC,OAAO,EAAEA,CAAA,KAAM;QAAA,IAAAC,gBAAA,EAAAC,qBAAA;QACb5B,OAAO,aAAA2B,gBAAA,GAAP3B,OAAO,CAAEH,OAAO,cAAA+B,qBAAA,GAAhBD,gBAAA,CAAmBL,MAAM,CAACO,EAAE,CAAC,aAA7BD,qBAAA,CAAAE,IAAA,CAAAH,gBAAA,EAAgC;UAAElB;QAAK,CAAC,CAAC;MAC3C;IACF,CAAC,CAAC,CAAC;EACL,CAAC,EAAE,CAACX,gBAAgB,EAAEE,OAAO,oBAAPA,OAAO,CAAEH,OAAO,CAAC,CAAC;EAExC,oBACEf,KAAA,CAAA0C,aAAA,CAACxC,KAAK;IACJ+C,QAAQ,EAAC,qBAAqB;IAC9BC,KAAK,EAAE1B,UAAW;IAClBL,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEA,KAAM;IACbC,aAAa,EAAEA,aAAc;IAC7B8B,UAAU,EAAGxB,IAAI,KAAM;MACrBX,gBAAgB,EAAEmB,yBAAyB,oBAAzBA,yBAAyB,CAAEI,GAAG,CAAEC,MAAM,IACtDA,MAAM,CAACb,IAAI,CACb;IACF,CAAC,CAAE;IACHL,OAAO,EACLC,UAAU,CAACc,MAAM,GAAG,CAAC,gBACnBrC,KAAA,CAAA0C,aAAA,CAACzC,wBAAwB,QAAEsB,UAAqC,CAAC,GAC/De;EACL,CACF,CAAC;AAEN,CAAC","ignoreList":[]}
|