@wix/auto-patterns 1.1.0 → 1.3.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 +36 -17
- package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +85 -14
- package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- 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/cms/CmsCompositeConfig.js +75 -0
- package/dist/cjs/config/cms/CmsCompositeConfig.js.map +1 -0
- package/dist/cjs/config/cms/filterUtils.js +82 -0
- package/dist/cjs/config/cms/filterUtils.js.map +1 -0
- package/dist/cjs/config/cms/sortUtils.js +32 -0
- package/dist/cjs/config/cms/sortUtils.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 +100 -21
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useEmptyStates.js +55 -0
- package/dist/cjs/hooks/useEmptyStates.js.map +1 -0
- package/dist/cjs/hooks/useFeatures.js +14 -5
- package/dist/cjs/hooks/useFeatures.js.map +1 -1
- package/dist/cjs/hooks/useFetchData.js +23 -0
- package/dist/cjs/hooks/useFetchData.js.map +1 -0
- package/dist/cjs/hooks/useFilters.js +123 -182
- package/dist/cjs/hooks/useFilters.js.map +1 -1
- package/dist/cjs/hooks/useTableProps.js +13 -1
- package/dist/cjs/hooks/useTableProps.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/PatternsWizardOverridesContext.js +1 -1
- package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/cjs/providers/index.js +4 -4
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/types.js +1 -9
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +15 -13
- package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +58 -12
- package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
- 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/cms/CmsCompositeConfig.js +69 -0
- package/dist/esm/config/cms/CmsCompositeConfig.js.map +1 -0
- package/dist/esm/config/cms/filterUtils.js +79 -0
- package/dist/esm/config/cms/filterUtils.js.map +1 -0
- package/dist/esm/config/cms/sortUtils.js +29 -0
- package/dist/esm/config/cms/sortUtils.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 +101 -22
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useEmptyStates.js +41 -0
- package/dist/esm/hooks/useEmptyStates.js.map +1 -0
- package/dist/esm/hooks/useFeatures.js +9 -7
- package/dist/esm/hooks/useFeatures.js.map +1 -1
- package/dist/esm/hooks/useFetchData.js +18 -0
- package/dist/esm/hooks/useFetchData.js.map +1 -0
- package/dist/esm/hooks/useFilters.js +121 -180
- package/dist/esm/hooks/useFilters.js.map +1 -1
- package/dist/esm/hooks/useTableProps.js +13 -1
- package/dist/esm/hooks/useTableProps.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/PatternsWizardOverridesContext.js +1 -1
- package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
- package/dist/esm/providers/index.js +1 -1
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/types.js +0 -8
- 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/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/cms/CmsCompositeConfig.d.ts +7 -0
- package/dist/types/config/cms/CmsCompositeConfig.d.ts.map +1 -0
- package/dist/types/config/cms/filterUtils.d.ts +16 -0
- package/dist/types/config/cms/filterUtils.d.ts.map +1 -0
- package/dist/types/config/cms/sortUtils.d.ts +9 -0
- package/dist/types/config/cms/sortUtils.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/useEmptyStates.d.ts +5 -0
- package/dist/types/hooks/useEmptyStates.d.ts.map +1 -0
- package/dist/types/hooks/useFeatures.d.ts +1 -0
- package/dist/types/hooks/useFeatures.d.ts.map +1 -1
- package/dist/types/hooks/useFetchData.d.ts +4 -0
- package/dist/types/hooks/useFetchData.d.ts.map +1 -0
- package/dist/types/hooks/useFilters.d.ts +4 -7
- package/dist/types/hooks/useFilters.d.ts.map +1 -1
- package/dist/types/hooks/useTableProps.d.ts +9 -4
- package/dist/types/hooks/useTableProps.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/PatternsWizardOverridesContext.d.ts +7 -2
- package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
- 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 +106 -28
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +14 -14
- 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/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/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
|
@@ -5,188 +5,123 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.useFilters = void 0;
|
|
6
6
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
7
|
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
|
-
var _types = require("../types");
|
|
10
8
|
var _patterns = require("@wix/patterns");
|
|
9
|
+
var _providers = require("../providers");
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
};
|
|
60
|
-
})) ?? [],
|
|
61
|
-
props: {
|
|
62
|
-
accordionItemProps: {
|
|
63
|
-
label: filter.displayName
|
|
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
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return acc;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
break;
|
|
118
|
-
case 'radio-group':
|
|
119
|
-
filters.push({
|
|
120
|
-
key,
|
|
121
|
-
filter: (0, _patterns.idNameArrayFilter)(),
|
|
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 => {
|
|
128
|
-
return {
|
|
129
|
-
id: value.id,
|
|
130
|
-
name: value.value
|
|
131
|
-
};
|
|
132
|
-
})) ?? []
|
|
133
|
-
},
|
|
134
|
-
query: (acc, values) => {
|
|
135
|
-
if (values[key]) {
|
|
136
|
-
if (filter.definition.type === _types.SupportedValueTypeEnum.BOOLEAN) {
|
|
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
|
-
});
|
|
148
|
-
}
|
|
12
|
+
const {
|
|
13
|
+
schema
|
|
14
|
+
} = (0, _providers.useConfig)();
|
|
15
|
+
const filters = _react.default.useMemo(() => {
|
|
16
|
+
var _config$filters;
|
|
17
|
+
const currFilters = [];
|
|
18
|
+
(_config$filters = config.filters) == null || _config$filters.items.forEach(filter => {
|
|
19
|
+
var _filter$dateConfig, _filter$dateConfig2, _filter$dateConfig3, _filter$numberConfig, _filter$numberConfig2, _filter$numberConfig3;
|
|
20
|
+
const {
|
|
21
|
+
fieldId: key
|
|
22
|
+
} = filter;
|
|
23
|
+
const fieldDefinition = schema.fields[key];
|
|
24
|
+
if (!fieldDefinition) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const label = filter.displayName || fieldDefinition.displayName;
|
|
28
|
+
const {
|
|
29
|
+
initiallyOpen,
|
|
30
|
+
sectionTitle
|
|
31
|
+
} = filter.accordionItemProps || {};
|
|
32
|
+
const {
|
|
33
|
+
toolbarTagProps
|
|
34
|
+
} = filter;
|
|
35
|
+
const commonFilterProps = {
|
|
36
|
+
accordionItemProps: {
|
|
37
|
+
label,
|
|
38
|
+
initiallyOpen,
|
|
39
|
+
sectionTitle
|
|
40
|
+
},
|
|
41
|
+
toolbarItemProps: {
|
|
42
|
+
label
|
|
43
|
+
},
|
|
44
|
+
toolbarTagProps
|
|
45
|
+
};
|
|
46
|
+
switch (fieldDefinition.type) {
|
|
47
|
+
case 'DATE':
|
|
48
|
+
case 'DATETIME':
|
|
49
|
+
currFilters.push({
|
|
50
|
+
key,
|
|
51
|
+
filter: (0, _patterns.dateRangeFilter)(),
|
|
52
|
+
component: _patterns.DateRangeFilter,
|
|
53
|
+
props: {
|
|
54
|
+
...commonFilterProps,
|
|
55
|
+
mode: (_filter$dateConfig = filter.dateConfig) == null ? void 0 : _filter$dateConfig.mode,
|
|
56
|
+
dateRangeOptions: (_filter$dateConfig2 = filter.dateConfig) == null ? void 0 : _filter$dateConfig2.dateRangeOptions,
|
|
57
|
+
filterByTime: (_filter$dateConfig3 = filter.dateConfig) == null ? void 0 : _filter$dateConfig3.filterByTime
|
|
149
58
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
59
|
+
});
|
|
60
|
+
break;
|
|
61
|
+
// case 'multi-select':
|
|
62
|
+
// currFilters.push({
|
|
63
|
+
// key,
|
|
64
|
+
// filter: idNameArrayFilter(),
|
|
65
|
+
// component: MultiSelectCheckboxFilter,
|
|
66
|
+
// collectionData:
|
|
67
|
+
// filter.static?.values.map((value) => {
|
|
68
|
+
// return { id: value.id, name: value.value };
|
|
69
|
+
// }) ?? [],
|
|
70
|
+
// props: {
|
|
71
|
+
// accordionItemProps: { label: filter.displayName },
|
|
72
|
+
// popoverProps: { appendTo: 'window' },
|
|
73
|
+
// },
|
|
74
|
+
// });
|
|
75
|
+
|
|
76
|
+
// break;
|
|
77
|
+
// case 'single':
|
|
78
|
+
// currFilters.push({
|
|
79
|
+
// key,
|
|
80
|
+
// filter: idNameArrayFilter(),
|
|
81
|
+
// component: SingleSelectFilter,
|
|
82
|
+
// collectionData:
|
|
83
|
+
// filter.static?.values.map((value) => {
|
|
84
|
+
// return { id: value.id, name: value.value };
|
|
85
|
+
// }) ?? [],
|
|
86
|
+
// props: {
|
|
87
|
+
// placeholder: `Select ${filter.displayName}`,
|
|
88
|
+
// accordionItemProps: { label: filter.displayName },
|
|
89
|
+
// },
|
|
90
|
+
// });
|
|
91
|
+
|
|
92
|
+
// break;
|
|
93
|
+
// case 'radio-group':
|
|
94
|
+
// currFilters.push({
|
|
95
|
+
// key,
|
|
96
|
+
// filter: idNameArrayFilter(),
|
|
97
|
+
// component: RadioGroupFilter,
|
|
98
|
+
// props: {
|
|
99
|
+
// accordionItemProps: { label: filter.displayName },
|
|
100
|
+
// data:
|
|
101
|
+
// filter.static?.values.map((value) => {
|
|
102
|
+
// return { id: value.id, name: value.value };
|
|
103
|
+
// }) ?? [],
|
|
104
|
+
// },
|
|
105
|
+
// });
|
|
106
|
+
|
|
107
|
+
// break;
|
|
108
|
+
case 'NUMBER':
|
|
109
|
+
currFilters.push({
|
|
110
|
+
key,
|
|
111
|
+
filter: (0, _patterns.numberRangeFilter)(),
|
|
112
|
+
component: _patterns.NumberRangeFilter,
|
|
113
|
+
props: {
|
|
114
|
+
...commonFilterProps,
|
|
115
|
+
min: (_filter$numberConfig = filter.numberConfig) == null ? void 0 : _filter$numberConfig.min,
|
|
116
|
+
max: (_filter$numberConfig2 = filter.numberConfig) == null ? void 0 : _filter$numberConfig2.max,
|
|
117
|
+
decimal: (_filter$numberConfig3 = filter.numberConfig) == null ? void 0 : _filter$numberConfig3.decimal
|
|
183
118
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
});
|
|
119
|
+
});
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
return currFilters;
|
|
124
|
+
}, [config.filters, schema.fields]);
|
|
190
125
|
const FilterCollectionComponent = ({
|
|
191
126
|
filter
|
|
192
127
|
}) => {
|
|
@@ -202,20 +137,26 @@ const useFilters = config => {
|
|
|
202
137
|
__self: void 0,
|
|
203
138
|
__source: {
|
|
204
139
|
fileName: _jsxFileName,
|
|
205
|
-
lineNumber:
|
|
140
|
+
lineNumber: 149,
|
|
206
141
|
columnNumber: 7
|
|
207
142
|
}
|
|
208
143
|
}));
|
|
209
144
|
};
|
|
145
|
+
const collectionToolbarFiltersProps = _react.default.useMemo(() => {
|
|
146
|
+
var _config$filters2, _config$filters3;
|
|
147
|
+
return {
|
|
148
|
+
inline: ((_config$filters2 = config.filters) == null ? void 0 : _config$filters2.maxToolbarFilters) || 0,
|
|
149
|
+
panelTitle: (_config$filters3 = config.filters) == null ? void 0 : _config$filters3.panelTitle
|
|
150
|
+
};
|
|
151
|
+
}, [config.filters]);
|
|
210
152
|
return filters.reduce((acc, filter) => {
|
|
211
153
|
acc.filters[filter.key] = filter.filter;
|
|
212
|
-
acc.queries.push(filter.query);
|
|
213
154
|
acc.components.push(filter.collectionData ? /*#__PURE__*/_react.default.createElement(FilterCollectionComponent, {
|
|
214
155
|
filter: filter,
|
|
215
156
|
__self: void 0,
|
|
216
157
|
__source: {
|
|
217
158
|
fileName: _jsxFileName,
|
|
218
|
-
lineNumber:
|
|
159
|
+
lineNumber: 174,
|
|
219
160
|
columnNumber: 11
|
|
220
161
|
}
|
|
221
162
|
}) : /*#__PURE__*/_react.default.createElement(filter.component, (0, _extends2.default)({
|
|
@@ -225,7 +166,7 @@ const useFilters = config => {
|
|
|
225
166
|
__self: void 0,
|
|
226
167
|
__source: {
|
|
227
168
|
fileName: _jsxFileName,
|
|
228
|
-
lineNumber:
|
|
169
|
+
lineNumber: 176,
|
|
229
170
|
columnNumber: 11
|
|
230
171
|
}
|
|
231
172
|
})));
|
|
@@ -233,7 +174,7 @@ const useFilters = config => {
|
|
|
233
174
|
}, {
|
|
234
175
|
filters: {},
|
|
235
176
|
components: [],
|
|
236
|
-
|
|
177
|
+
collectionToolbarFiltersProps
|
|
237
178
|
});
|
|
238
179
|
};
|
|
239
180
|
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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_patterns","_providers","_jsxFileName","useFilters","config","schema","useConfig","filters","React","useMemo","_config$filters","currFilters","items","forEach","filter","_filter$dateConfig","_filter$dateConfig2","_filter$dateConfig3","_filter$numberConfig","_filter$numberConfig2","_filter$numberConfig3","fieldId","key","fieldDefinition","fields","label","displayName","initiallyOpen","sectionTitle","accordionItemProps","toolbarTagProps","commonFilterProps","toolbarItemProps","type","push","dateRangeFilter","component","DateRangeFilter","props","mode","dateConfig","dateRangeOptions","filterByTime","numberRangeFilter","NumberRangeFilter","min","numberConfig","max","decimal","FilterCollectionComponent","collection","useStaticListFilterCollection","collectionData","default","createElement","_extends2","__self","__source","fileName","lineNumber","columnNumber","collectionToolbarFiltersProps","_config$filters2","_config$filters3","inline","maxToolbarFilters","panelTitle","reduce","acc","components","exports"],"sources":["../../../src/hooks/useFilters.tsx"],"sourcesContent":["import React from 'react';\nimport { PageConfig } from '../types';\nimport {\n CollectionToolbarFiltersProps,\n DateRangeFilter,\n dateRangeFilter,\n Filter,\n NumberRangeFilter,\n numberRangeFilter,\n useStaticListFilterCollection,\n} from '@wix/patterns';\nimport { useConfig } from '../providers';\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 collectionToolbarFiltersProps: Pick<\n CollectionToolbarFiltersProps,\n 'inline' | 'panelTitle' | 'useNewFilters'\n >;\n}\n\nexport const useFilters = (config: PageConfig) => {\n const { schema } = useConfig();\n const filters = React.useMemo(() => {\n const currFilters: FilterOptions[] = [];\n config.filters?.items.forEach((filter) => {\n const { fieldId: key } = filter;\n const fieldDefinition = schema.fields[key];\n if (!fieldDefinition) {\n return;\n }\n\n const label = filter.displayName || fieldDefinition.displayName;\n const { initiallyOpen, sectionTitle } = filter.accordionItemProps || {};\n const { toolbarTagProps } = filter;\n\n const commonFilterProps = {\n accordionItemProps: {\n label,\n initiallyOpen,\n sectionTitle,\n },\n toolbarItemProps: {\n label,\n },\n toolbarTagProps,\n };\n\n switch (fieldDefinition.type) {\n case 'DATE':\n case 'DATETIME':\n currFilters.push({\n key,\n filter: dateRangeFilter(),\n component: DateRangeFilter,\n props: {\n ...commonFilterProps,\n mode: filter.dateConfig?.mode,\n dateRangeOptions: filter.dateConfig?.dateRangeOptions,\n filterByTime: filter.dateConfig?.filterByTime,\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 ...commonFilterProps,\n min: filter.numberConfig?.min,\n max: filter.numberConfig?.max,\n decimal: filter.numberConfig?.decimal,\n },\n });\n\n break;\n }\n });\n return currFilters;\n }, [config.filters, schema.fields]);\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 const collectionToolbarFiltersProps = React.useMemo<\n Pick<CollectionToolbarFiltersProps, 'inline' | 'panelTitle'>\n >(\n () => ({\n inline: config.filters?.maxToolbarFilters || 0,\n panelTitle: config.filters?.panelTitle,\n }),\n [config.filters],\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: [], collectionToolbarFiltersProps },\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,18 +4,30 @@ exports.__esModule = true;
|
|
|
4
4
|
exports.useTableProps = void 0;
|
|
5
5
|
var _useColumns = require("./useColumns");
|
|
6
6
|
var _useFeatures = require("./useFeatures");
|
|
7
|
+
var _useEmptyStates = require("./useEmptyStates");
|
|
8
|
+
var _useFetchData = require("./useFetchData");
|
|
7
9
|
const useTableProps = () => {
|
|
8
10
|
const columns = (0, _useColumns.useColumns)();
|
|
9
11
|
const {
|
|
10
12
|
views,
|
|
11
13
|
dataExtension,
|
|
14
|
+
customColumns,
|
|
12
15
|
filters
|
|
13
16
|
} = (0, _useFeatures.useFeatures)();
|
|
17
|
+
const {
|
|
18
|
+
emptyState
|
|
19
|
+
} = (0, _useEmptyStates.useEmptyStates)();
|
|
20
|
+
const {
|
|
21
|
+
fetchData
|
|
22
|
+
} = (0, _useFetchData.useFetchData)();
|
|
14
23
|
return {
|
|
15
24
|
columns,
|
|
16
25
|
views,
|
|
17
26
|
dataExtension,
|
|
18
|
-
|
|
27
|
+
customColumns,
|
|
28
|
+
filters,
|
|
29
|
+
emptyState,
|
|
30
|
+
fetchData
|
|
19
31
|
};
|
|
20
32
|
};
|
|
21
33
|
exports.useTableProps = useTableProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useColumns","require","_useFeatures","useTableProps","columns","useColumns","views","dataExtension","filters","useFeatures","exports"],"sources":["../../../src/hooks/useTableProps.ts"],"sourcesContent":["import { useColumns } from './useColumns';\nimport { useFeatures } from './useFeatures';\n\nexport const useTableProps = () => {\n const columns = useColumns();\n const { views, dataExtension, filters } = useFeatures();\n\n return {\n columns,\n views,\n dataExtension,\n filters,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_useColumns","require","_useFeatures","_useEmptyStates","_useFetchData","useTableProps","columns","useColumns","views","dataExtension","customColumns","filters","useFeatures","emptyState","useEmptyStates","fetchData","useFetchData","exports"],"sources":["../../../src/hooks/useTableProps.ts"],"sourcesContent":["import { useColumns } from './useColumns';\nimport { useFeatures } from './useFeatures';\nimport { useEmptyStates } from './useEmptyStates';\nimport { useFetchData } from './useFetchData';\nimport { ReturnValue } from './useFilters';\nimport { CollectionConfig, TableColumn } from '@wix/patterns';\n\nexport const useTableProps = (): {\n columns: TableColumn<any>[];\n views?: JSX.Element;\n dataExtension?: JSX.Element;\n filters: ReturnValue;\n emptyState: JSX.Element;\n customColumns?: JSX.Element;\n fetchData: CollectionConfig<any, any>['fetchData'];\n} => {\n const columns = useColumns();\n const { views, dataExtension, customColumns, filters } = useFeatures();\n const { emptyState } = useEmptyStates();\n const { fetchData } = useFetchData();\n\n return {\n columns,\n views,\n dataExtension,\n customColumns,\n filters,\n emptyState,\n fetchData,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAIO,MAAMI,aAAa,GAAGA,CAAA,KAQxB;EACH,MAAMC,OAAO,GAAG,IAAAC,sBAAU,EAAC,CAAC;EAC5B,MAAM;IAAEC,KAAK;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAQ,CAAC,GAAG,IAAAC,wBAAW,EAAC,CAAC;EACtE,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,8BAAc,EAAC,CAAC;EACvC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,0BAAY,EAAC,CAAC;EAEpC,OAAO;IACLV,OAAO;IACPE,KAAK;IACLC,aAAa;IACbC,aAAa;IACbC,OAAO;IACPE,UAAU;IACVE;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAZ,aAAA,GAAAA,aAAA","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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PatternsWizardOverridesContext","createContext","undefined","PatternsWizardOverridesProvider","children","value","createElement","Provider","__self","__source","fileName","lineNumber","columnNumber","exports","usePatternsWizardOverridesContext","useContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from \"react\";\nimport {\n IColumnValue,\n IMenuItem,\n PagePrimaryActionProps,\n PageSecondaryActionProps,\n} from \"../types\";\nimport { CollectionConfig } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: IMenuItem<any>) => void>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n usePagePrimaryAction?: () => PagePrimaryActionProps;\n usePageSecondaryAction?: () => PageSecondaryActionProps;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,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,SAAAJ,wBAAAI,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;AAmBpE,MAAMW,8BAA8B,gBAAG,IAAAC,oBAAa,EAElDC,SAAS,CAAC;AAEL,MAAMC,+BAGX,GAAGA,CAAC;EAAEC,QAAQ;EAAEC;AAAM,CAAC,KAAK;EAC5B,oBACE7B,MAAA,CAAAU,OAAA,CAAAoB,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA,KAAM;IAAAG,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/B,YAAA;MAAAgC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDR,QACsC,CAAC;AAE9C,CAAC;AAACS,OAAA,CAAAV,+BAAA,GAAAA,+BAAA;AAEK,MAAMW,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAO,IAAAC,iBAAU,EAACf,8BAA8B,CAAC;AACnD,CAAC;AAACa,OAAA,CAAAC,iCAAA,GAAAA,iCAAA","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
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
|
-
exports.
|
|
4
|
+
exports.ComponentTypeEnum = exports.CollectionTypeEnum = void 0;
|
|
5
5
|
let CollectionTypeEnum = exports.CollectionTypeEnum = /*#__PURE__*/function (CollectionTypeEnum) {
|
|
6
6
|
CollectionTypeEnum["TABLE"] = "Table";
|
|
7
7
|
CollectionTypeEnum["GRID"] = "Grid";
|
|
8
8
|
CollectionTypeEnum["TABLE_GRID_SWITCH"] = "TableGridSwitch";
|
|
9
9
|
return CollectionTypeEnum;
|
|
10
10
|
}({});
|
|
11
|
-
let SupportedValueTypeEnum = exports.SupportedValueTypeEnum = /*#__PURE__*/function (SupportedValueTypeEnum) {
|
|
12
|
-
SupportedValueTypeEnum["STRING"] = "STRING";
|
|
13
|
-
SupportedValueTypeEnum["NUMBER"] = "NUMBER";
|
|
14
|
-
SupportedValueTypeEnum["BOOLEAN"] = "BOOLEAN";
|
|
15
|
-
SupportedValueTypeEnum["DATE"] = "DATE";
|
|
16
|
-
SupportedValueTypeEnum["ENUM"] = "ENUM";
|
|
17
|
-
return SupportedValueTypeEnum;
|
|
18
|
-
}({});
|
|
19
11
|
let ComponentTypeEnum = exports.ComponentTypeEnum = /*#__PURE__*/function (ComponentTypeEnum) {
|
|
20
12
|
ComponentTypeEnum["SINGLE"] = "single";
|
|
21
13
|
ComponentTypeEnum["MULTI_SELECT"] = "multi-select";
|
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CollectionTypeEnum","exports","
|
|
1
|
+
{"version":3,"names":["CollectionTypeEnum","exports","ComponentTypeEnum"],"sources":["../../src/types.ts"],"sourcesContent":["import {\n CollectionToolbarFiltersProps,\n PrimaryActions,\n SecondaryActions,\n} from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\n\nexport enum CollectionTypeEnum {\n TABLE = 'Table',\n GRID = 'Grid',\n TABLE_GRID_SWITCH = 'TableGridSwitch',\n}\n\nexport type PatternsColumnType =\n | 'STRING'\n | 'NUMBER'\n | 'BOOLEAN'\n | 'DATE'\n | 'DATETIME'\n | 'ARRAY'\n | 'ENUM';\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\nexport interface FetchData {\n id: 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 FiltersConfig {\n items: Filter[];\n maxToolbarFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface Filter {\n fieldId: string;\n displayName?: string;\n accordionItemProps?: {\n initiallyOpen?: boolean;\n sectionTitle?: string;\n };\n toolbarTagProps?: {\n label: string;\n };\n componentType?: ComponentTypeEnum;\n numberConfig?: {\n min?: number;\n max?: number;\n decimal?: boolean;\n };\n dateConfig?: {\n mode?: DateRangeFilterMode;\n dateRangeOptions?: DateRangeOptions;\n filterByTime?: 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}\n\ninterface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\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 search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\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?: FiltersConfig;\n actions?: Action[];\n emptyState?: EmptyState;\n fetchData?: FetchData;\n views?: {\n enabled: boolean;\n };\n customFields?: {\n enabled: boolean;\n };\n customColumns?: {\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 displayName: string;\n type: PatternsColumnType;\n capabilities: {\n supportedQueryOperators: QueryOperator[];\n sortable: boolean;\n };\n}\n\n// TODO: fill this out\nexport interface SchemaConfig {\n fields: Record<string, Field | undefined>;\n}\n\nexport type PagePrimaryActionProps = React.ComponentProps<\n typeof PrimaryActions\n>;\n\nexport type PageSecondaryActionProps = React.ComponentProps<\n typeof SecondaryActions\n>;\n"],"mappings":";;;;IAOYA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA;AAAA,IAsDlBE,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA,OA4L7B","ignoreList":[]}
|