@genesislcap/foundation-forms 14.267.0 → 14.268.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/custom-elements.json +81 -0
- package/dist/dts/filters/filters.d.ts +15 -0
- package/dist/dts/filters/filters.d.ts.map +1 -1
- package/dist/dts/filters/filters.styles.d.ts.map +1 -1
- package/dist/dts/filters/filters.template.d.ts.map +1 -1
- package/dist/esm/filters/filters.js +145 -0
- package/dist/esm/filters/filters.styles.js +31 -0
- package/dist/esm/filters/filters.template.js +49 -1
- package/dist/foundation-forms.api.json +382 -0
- package/dist/foundation-forms.d.ts +15 -0
- package/docs/api/foundation-forms.filters.allsavedfilters.md +11 -0
- package/docs/api/foundation-forms.filters.connectedcallback.md +15 -0
- package/docs/api/foundation-forms.filters.deletefilter.md +15 -0
- package/docs/api/foundation-forms.filters.filtername.md +11 -0
- package/docs/api/foundation-forms.filters.filternamechanged.md +23 -0
- package/docs/api/foundation-forms.filters.kvstorage.md +11 -0
- package/docs/api/foundation-forms.filters.loadallsavedfilters.md +15 -0
- package/docs/api/foundation-forms.filters.loadfilterdata.md +22 -0
- package/docs/api/foundation-forms.filters.md +15 -0
- package/docs/api/foundation-forms.filters.savefilter.md +15 -0
- package/docs/api/foundation-forms.filters.showfilterpersistencecontrols.md +13 -0
- package/docs/api-report.md +20 -0
- package/package.json +15 -14
|
@@ -556,6 +556,20 @@
|
|
|
556
556
|
"description": "Foundation filters component for automatically generated filters based on json schema\nobtained from the api, supplied initial data or supplied JSON schema.\nAllowing customisable filters elements using UI schema and set of custom renderers",
|
|
557
557
|
"name": "Filters",
|
|
558
558
|
"members": [
|
|
559
|
+
{
|
|
560
|
+
"kind": "field",
|
|
561
|
+
"name": "kvStorage",
|
|
562
|
+
"type": {
|
|
563
|
+
"text": "KVStorage"
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"kind": "field",
|
|
568
|
+
"name": "filterName",
|
|
569
|
+
"type": {
|
|
570
|
+
"text": "string"
|
|
571
|
+
}
|
|
572
|
+
},
|
|
559
573
|
{
|
|
560
574
|
"kind": "field",
|
|
561
575
|
"name": "resourceName",
|
|
@@ -565,6 +579,23 @@
|
|
|
565
579
|
"description": "Name of the backend resource which will provide metadata\nused to generate filters.",
|
|
566
580
|
"privacy": "public"
|
|
567
581
|
},
|
|
582
|
+
{
|
|
583
|
+
"kind": "field",
|
|
584
|
+
"name": "allSavedFilters",
|
|
585
|
+
"type": {
|
|
586
|
+
"text": "any[]"
|
|
587
|
+
},
|
|
588
|
+
"default": "[]"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"kind": "field",
|
|
592
|
+
"name": "showFilterPersistenceControls",
|
|
593
|
+
"type": {
|
|
594
|
+
"text": "boolean"
|
|
595
|
+
},
|
|
596
|
+
"description": "Controls the visibility of the filter persistence controls UI.",
|
|
597
|
+
"privacy": "public"
|
|
598
|
+
},
|
|
568
599
|
{
|
|
569
600
|
"kind": "method",
|
|
570
601
|
"name": "resourceNameChanged",
|
|
@@ -635,6 +666,48 @@
|
|
|
635
666
|
"description": "Created criteria based on the given data that can be used to filter the data.",
|
|
636
667
|
"privacy": "public"
|
|
637
668
|
},
|
|
669
|
+
{
|
|
670
|
+
"kind": "method",
|
|
671
|
+
"name": "saveFilter"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"kind": "method",
|
|
675
|
+
"name": "deleteFilter"
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"kind": "method",
|
|
679
|
+
"name": "loadAllSavedFilters"
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"kind": "method",
|
|
683
|
+
"name": "filterNameChanged",
|
|
684
|
+
"parameters": [
|
|
685
|
+
{
|
|
686
|
+
"name": "oldValue",
|
|
687
|
+
"type": {
|
|
688
|
+
"text": "string"
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"name": "newValue",
|
|
693
|
+
"type": {
|
|
694
|
+
"text": "string"
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
]
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"kind": "method",
|
|
701
|
+
"name": "loadFilterData",
|
|
702
|
+
"parameters": [
|
|
703
|
+
{
|
|
704
|
+
"name": "filterKey",
|
|
705
|
+
"type": {
|
|
706
|
+
"text": "string"
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
]
|
|
710
|
+
},
|
|
638
711
|
{
|
|
639
712
|
"kind": "field",
|
|
640
713
|
"name": "_presentation",
|
|
@@ -764,6 +837,14 @@
|
|
|
764
837
|
"description": "Name of the backend resource which will provide metadata\nused to generate filters.",
|
|
765
838
|
"fieldName": "resourceName"
|
|
766
839
|
},
|
|
840
|
+
{
|
|
841
|
+
"name": "show-filter-persistence-controls",
|
|
842
|
+
"type": {
|
|
843
|
+
"text": "boolean"
|
|
844
|
+
},
|
|
845
|
+
"description": "Controls the visibility of the filter persistence controls UI.",
|
|
846
|
+
"fieldName": "showFilterPersistenceControls"
|
|
847
|
+
},
|
|
767
848
|
{
|
|
768
849
|
"name": "design-system-prefix",
|
|
769
850
|
"type": {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { KVStorage } from '@genesislcap/foundation-comms';
|
|
1
2
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
2
3
|
import { JSONSchema7 } from 'json-schema';
|
|
3
4
|
import { RendererEntry, UiSchema } from '../types';
|
|
@@ -15,12 +16,20 @@ export declare const filtersRenderers: any[];
|
|
|
15
16
|
* @public
|
|
16
17
|
*/
|
|
17
18
|
export declare class Filters extends FoundationElement {
|
|
19
|
+
kvStorage: KVStorage;
|
|
20
|
+
filterName: string;
|
|
18
21
|
/**
|
|
19
22
|
* Name of the backend resource which will provide metadata
|
|
20
23
|
* used to generate filters.
|
|
21
24
|
* @public
|
|
22
25
|
*/
|
|
23
26
|
resourceName: string;
|
|
27
|
+
allSavedFilters: any[];
|
|
28
|
+
/**
|
|
29
|
+
* Controls the visibility of the filter persistence controls UI.
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
showFilterPersistenceControls: boolean;
|
|
24
33
|
private resourceNameChanged;
|
|
25
34
|
/**
|
|
26
35
|
* @internal
|
|
@@ -110,5 +119,11 @@ export declare class Filters extends FoundationElement {
|
|
|
110
119
|
* @internal
|
|
111
120
|
*/
|
|
112
121
|
disconnectedCallback(): void;
|
|
122
|
+
saveFilter(): Promise<void>;
|
|
123
|
+
deleteFilter(): Promise<void>;
|
|
124
|
+
connectedCallback(): Promise<void>;
|
|
125
|
+
loadAllSavedFilters(): Promise<void>;
|
|
126
|
+
filterNameChanged(oldValue: string, newValue: string): void;
|
|
127
|
+
loadFilterData(filterKey: string): Promise<void>;
|
|
113
128
|
}
|
|
114
129
|
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAM1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY1C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKnD,gBAAgB;AAChB,eAAO,MAAM,aAAa,iDAAqC,CAAC;AAchE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAY5B,CAAC;AAKF;;;;;GAKG;AACH,qBAKa,OAAQ,SAAQ,iBAAiB;IACjC,SAAS,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,GAAG,EAAE,CAAM;IAExC;;;OAGG;IAEH,6BAA6B,EAAE,OAAO,CAAC;YAEzB,mBAAmB;IAWjC;;OAEG;IACI,gBAAgB;IAMvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,QAAQ,CAAC;IAC/B;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAoB;IAC1D;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IACpC;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAW;IAE7D,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAC3B;;;OAGG;IACS,KAAK,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,aAAa;IAyBb;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAO3B;;OAEG;IACH,oBAAoB;IAMd,UAAU;IA0CV,YAAY;IA4BZ,iBAAiB;IAOjB,mBAAmB;IAsBzB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAU9C,cAAc,CAAC,SAAS,EAAE,MAAM;CAiBvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.styles.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,
|
|
1
|
+
{"version":3,"file":"filters.styles.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,iDA0FnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.template.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters.template.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.template.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,WAAY,MAAM,iEAsFhD,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,8DAErC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { __awaiter, __decorate } from "tslib";
|
|
2
2
|
import { Connect } from '@genesislcap/foundation-comms';
|
|
3
|
+
import { KVStorage } from '@genesislcap/foundation-comms';
|
|
3
4
|
import { CriteriaBuilder, Join } from '@genesislcap/foundation-criteria';
|
|
4
5
|
import { createLogger } from '@genesislcap/foundation-logger';
|
|
6
|
+
import { showNotificationToast } from '@genesislcap/foundation-notifications';
|
|
5
7
|
import { isControl, isStringControl, mapStateToControlProps, rankWith } from '@jsonforms/core';
|
|
6
8
|
import { attr, customElement, observable } from '@microsoft/fast-element';
|
|
7
9
|
import { FoundationElement } from '@microsoft/fast-foundation';
|
|
@@ -47,6 +49,8 @@ export const filtersRenderers = [
|
|
|
47
49
|
FilterDateControlRendererEntry,
|
|
48
50
|
InvisibleControlEntry,
|
|
49
51
|
];
|
|
52
|
+
// Add this at the top of the file, outside the class
|
|
53
|
+
const FORM_FILTER_PREFIX = 'formFilter:';
|
|
50
54
|
/**
|
|
51
55
|
* Foundation filters component for automatically generated filters based on json schema
|
|
52
56
|
* obtained from the api, supplied initial data or supplied JSON schema.
|
|
@@ -56,6 +60,7 @@ export const filtersRenderers = [
|
|
|
56
60
|
let Filters = class Filters extends FoundationElement {
|
|
57
61
|
constructor() {
|
|
58
62
|
super(...arguments);
|
|
63
|
+
this.allSavedFilters = [];
|
|
59
64
|
/**
|
|
60
65
|
* Allows to provide the main set of renderers used by the form. If not provided, the built-in renderers will be used by default.
|
|
61
66
|
* @public
|
|
@@ -89,6 +94,7 @@ let Filters = class Filters extends FoundationElement {
|
|
|
89
94
|
clearFiltersData() {
|
|
90
95
|
this.data = {};
|
|
91
96
|
this.value = '';
|
|
97
|
+
this.filterName = '';
|
|
92
98
|
}
|
|
93
99
|
/**
|
|
94
100
|
* @internal
|
|
@@ -133,10 +139,149 @@ let Filters = class Filters extends FoundationElement {
|
|
|
133
139
|
super.disconnectedCallback();
|
|
134
140
|
this.data = {};
|
|
135
141
|
}
|
|
142
|
+
saveFilter() {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
if (!this.value) {
|
|
145
|
+
filtersLogger.warn('Filter value is empty, not saving filter!');
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
const key = `${FORM_FILTER_PREFIX}${this.filterName}`;
|
|
149
|
+
try {
|
|
150
|
+
yield this.kvStorage.put([{ key, value: JSON.stringify(this.data) }]);
|
|
151
|
+
filtersLogger.info(`Saved filter: ${key}`);
|
|
152
|
+
yield this.loadAllSavedFilters();
|
|
153
|
+
showNotificationToast({
|
|
154
|
+
title: 'Success',
|
|
155
|
+
body: 'Filter saved successfully!',
|
|
156
|
+
toast: {
|
|
157
|
+
autoClose: true,
|
|
158
|
+
closeTimeout: 3000,
|
|
159
|
+
type: 'success',
|
|
160
|
+
},
|
|
161
|
+
}, this.prefix || 'rapid');
|
|
162
|
+
}
|
|
163
|
+
catch (err) {
|
|
164
|
+
filtersLogger.error('Failed to save filter', err);
|
|
165
|
+
showNotificationToast({
|
|
166
|
+
title: 'Error',
|
|
167
|
+
body: 'Failed to save filter',
|
|
168
|
+
toast: {
|
|
169
|
+
autoClose: true,
|
|
170
|
+
closeTimeout: 3000,
|
|
171
|
+
type: 'error',
|
|
172
|
+
},
|
|
173
|
+
}, this.prefix || 'rapid');
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
deleteFilter() {
|
|
178
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
179
|
+
const key = `${FORM_FILTER_PREFIX}${this.filterName}`;
|
|
180
|
+
try {
|
|
181
|
+
yield this.kvStorage.delete([key]);
|
|
182
|
+
filtersLogger.info(`Deleted filter: ${key}`);
|
|
183
|
+
yield this.loadAllSavedFilters();
|
|
184
|
+
this.filterName = '';
|
|
185
|
+
this.data = {};
|
|
186
|
+
this.value = '';
|
|
187
|
+
}
|
|
188
|
+
catch (err) {
|
|
189
|
+
filtersLogger.error('Failed to delete filter', err);
|
|
190
|
+
showNotificationToast({
|
|
191
|
+
title: 'Error',
|
|
192
|
+
body: 'Failed to delete filter',
|
|
193
|
+
toast: {
|
|
194
|
+
autoClose: true,
|
|
195
|
+
closeTimeout: 3000,
|
|
196
|
+
type: 'error',
|
|
197
|
+
},
|
|
198
|
+
}, this.prefix || 'rapid');
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
connectedCallback() {
|
|
203
|
+
const _super = Object.create(null, {
|
|
204
|
+
connectedCallback: { get: () => super.connectedCallback }
|
|
205
|
+
});
|
|
206
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
207
|
+
_super.connectedCallback.call(this);
|
|
208
|
+
if (this.showFilterPersistenceControls) {
|
|
209
|
+
yield this.loadAllSavedFilters();
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
loadAllSavedFilters() {
|
|
214
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
215
|
+
this.kvStorage
|
|
216
|
+
.list()
|
|
217
|
+
.then((keys) => {
|
|
218
|
+
if (Array.isArray(keys)) {
|
|
219
|
+
this.allSavedFilters = keys
|
|
220
|
+
.filter((key) => key.startsWith(FORM_FILTER_PREFIX))
|
|
221
|
+
.map((key) => {
|
|
222
|
+
const cleanKey = key.replace(/^formFilter:/, '');
|
|
223
|
+
return { value: cleanKey, label: cleanKey };
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
filtersLogger.warn('KVStorage.list() did not return an array', keys);
|
|
228
|
+
this.allSavedFilters = [];
|
|
229
|
+
}
|
|
230
|
+
})
|
|
231
|
+
.catch((err) => {
|
|
232
|
+
filtersLogger.error('Failed to load saved filters from KVStorage', err);
|
|
233
|
+
this.allSavedFilters = [];
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
filterNameChanged(oldValue, newValue) {
|
|
238
|
+
if (newValue) {
|
|
239
|
+
this.loadFilterData(newValue).then(() => {
|
|
240
|
+
this.searchFilters();
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
this.data = {};
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
loadFilterData(filterKey) {
|
|
248
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
249
|
+
try {
|
|
250
|
+
const key = `${FORM_FILTER_PREFIX}${filterKey}`;
|
|
251
|
+
const result = yield this.kvStorage.get(key);
|
|
252
|
+
if (result && result.kv && typeof result.kv.value === 'string') {
|
|
253
|
+
this.data = JSON.parse(result.kv.value);
|
|
254
|
+
}
|
|
255
|
+
else if (result && result.kv && result.kv.value) {
|
|
256
|
+
filtersLogger.warn('Loaded filter value is not a string, cannot parse', result.kv.value);
|
|
257
|
+
this.data = {};
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
this.data = {};
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
catch (err) {
|
|
264
|
+
filtersLogger.error('Failed to load filter data from KVStorage', err);
|
|
265
|
+
this.data = {};
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}
|
|
136
269
|
};
|
|
270
|
+
__decorate([
|
|
271
|
+
KVStorage
|
|
272
|
+
], Filters.prototype, "kvStorage", void 0);
|
|
273
|
+
__decorate([
|
|
274
|
+
observable
|
|
275
|
+
], Filters.prototype, "filterName", void 0);
|
|
137
276
|
__decorate([
|
|
138
277
|
attr
|
|
139
278
|
], Filters.prototype, "resourceName", void 0);
|
|
279
|
+
__decorate([
|
|
280
|
+
observable
|
|
281
|
+
], Filters.prototype, "allSavedFilters", void 0);
|
|
282
|
+
__decorate([
|
|
283
|
+
attr({ mode: 'boolean', attribute: 'show-filter-persistence-controls' })
|
|
284
|
+
], Filters.prototype, "showFilterPersistenceControls", void 0);
|
|
140
285
|
__decorate([
|
|
141
286
|
observable
|
|
142
287
|
], Filters.prototype, "uischema", void 0);
|
|
@@ -11,6 +11,8 @@ export const foundationFiltersStyles = css `
|
|
|
11
11
|
margin: 0;
|
|
12
12
|
border-radius: calc(${controlCornerRadius} * 1px);
|
|
13
13
|
min-width: 64px;
|
|
14
|
+
|
|
15
|
+
--filter-persistence-controls-container-height: 145px;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
.header {
|
|
@@ -54,6 +56,35 @@ export const foundationFiltersStyles = css `
|
|
|
54
56
|
.action-button {
|
|
55
57
|
width: 70px;
|
|
56
58
|
}
|
|
59
|
+
|
|
60
|
+
.filter-persistence-controls-container {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
height: var(--filter-persistence-controls-container-height);
|
|
64
|
+
padding: 5px 15px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.filter-persistence-controls {
|
|
68
|
+
display: flex;
|
|
69
|
+
flex-direction: column;
|
|
70
|
+
width: 100%;
|
|
71
|
+
padding-bottom: 10px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.filter-persistence-controls > rapid-label {
|
|
75
|
+
margin-bottom: calc(var(--design-unit) * 1px);
|
|
76
|
+
color: var(--neutral-foreground-hint);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.filter-persistence-controls-components {
|
|
80
|
+
display: flex;
|
|
81
|
+
gap: 10px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.filter-persistence-controls-components > rapid-button {
|
|
85
|
+
width: 100px;
|
|
86
|
+
justify-content: center;
|
|
87
|
+
}
|
|
57
88
|
`.withBehaviors(forcedColorsStylesheetBehavior(css `
|
|
58
89
|
:host {
|
|
59
90
|
background: ${SystemColors.Canvas};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { sync } from '@genesislcap/foundation-utils';
|
|
2
|
+
import { html, repeat, when } from '@microsoft/fast-element';
|
|
2
3
|
import { JSONForms } from '../jsonforms/json-forms';
|
|
3
4
|
import { ControlWrapper } from '../jsonforms/renderers/ControlWrapperRenderer';
|
|
4
5
|
import { DispatchRenderer } from '../jsonforms/renderers/dispatch-renderer';
|
|
@@ -9,6 +10,51 @@ DispatchRenderer;
|
|
|
9
10
|
export const getPrefixedFilters = (prefix) => html `
|
|
10
11
|
<template>
|
|
11
12
|
<div class="container" part="container">
|
|
13
|
+
${when((x) => x.showFilterPersistenceControls, html `
|
|
14
|
+
<div class="filter-persistence-controls-container">
|
|
15
|
+
<div class="filter-persistence-controls">
|
|
16
|
+
<rapid-label>Saved Filters</rapid-label>
|
|
17
|
+
<rapid-select :value=${sync((x) => x.filterName)}>
|
|
18
|
+
<rapid-option value="">--Select--</rapid-option>
|
|
19
|
+
${repeat((x) => x.allSavedFilters, html `
|
|
20
|
+
<rapid-option
|
|
21
|
+
value=${(x) => x.value}
|
|
22
|
+
:selected=${sync((x, c) => x.value == c.parent.filterName)}
|
|
23
|
+
>
|
|
24
|
+
${(x, c) => x.label}
|
|
25
|
+
</rapid-option>
|
|
26
|
+
`)}
|
|
27
|
+
</rapid-select>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="filter-persistence-controls">
|
|
30
|
+
<rapid-label>Name</rapid-label>
|
|
31
|
+
<div class="filter-persistence-controls-components">
|
|
32
|
+
<rapid-text-field
|
|
33
|
+
:value=${sync((x) => x.filterName)}
|
|
34
|
+
style="margin-bottom: 16px; width: 100%;"
|
|
35
|
+
></rapid-text-field>
|
|
36
|
+
<rapid-button
|
|
37
|
+
slot="actions-start"
|
|
38
|
+
appearance="primary"
|
|
39
|
+
@click=${(x) => x.saveFilter()}
|
|
40
|
+
:disabled=${(x) => !x.filterName || !x.value}
|
|
41
|
+
>
|
|
42
|
+
Save
|
|
43
|
+
</rapid-button>
|
|
44
|
+
<rapid-button
|
|
45
|
+
slot="actions-start"
|
|
46
|
+
appearance="primary"
|
|
47
|
+
@click=${(x) => x.deleteFilter()}
|
|
48
|
+
:disabled=${(x) => !x.filterName}
|
|
49
|
+
>
|
|
50
|
+
Delete
|
|
51
|
+
</rapid-button>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
<rapid-divider></rapid-divider>
|
|
56
|
+
`)}
|
|
57
|
+
|
|
12
58
|
<div class="container-forms" part="container-forms">
|
|
13
59
|
<json-forms
|
|
14
60
|
:renderers=${(x) => x.renderers}
|
|
@@ -20,6 +66,7 @@ export const getPrefixedFilters = (prefix) => html `
|
|
|
20
66
|
></json-forms>
|
|
21
67
|
</div>
|
|
22
68
|
<div class="actions" part="actions">
|
|
69
|
+
<slot name="actions-start"></slot>
|
|
23
70
|
<${prefix}-button
|
|
24
71
|
@click="${(x) => x.clearFiltersData()}"
|
|
25
72
|
class="action-button"
|
|
@@ -36,6 +83,7 @@ export const getPrefixedFilters = (prefix) => html `
|
|
|
36
83
|
>
|
|
37
84
|
Search
|
|
38
85
|
</${prefix}-button>
|
|
86
|
+
<slot name="actions-end"></slot>
|
|
39
87
|
</div>
|
|
40
88
|
</div>
|
|
41
89
|
</template>
|
|
@@ -302,6 +302,72 @@
|
|
|
302
302
|
"name": "Filters",
|
|
303
303
|
"preserveMemberOrder": false,
|
|
304
304
|
"members": [
|
|
305
|
+
{
|
|
306
|
+
"kind": "Property",
|
|
307
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#allSavedFilters:member",
|
|
308
|
+
"docComment": "",
|
|
309
|
+
"excerptTokens": [
|
|
310
|
+
{
|
|
311
|
+
"kind": "Content",
|
|
312
|
+
"text": "allSavedFilters: "
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"kind": "Content",
|
|
316
|
+
"text": "any[]"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"kind": "Content",
|
|
320
|
+
"text": ";"
|
|
321
|
+
}
|
|
322
|
+
],
|
|
323
|
+
"isReadonly": false,
|
|
324
|
+
"isOptional": false,
|
|
325
|
+
"releaseTag": "Public",
|
|
326
|
+
"name": "allSavedFilters",
|
|
327
|
+
"propertyTypeTokenRange": {
|
|
328
|
+
"startIndex": 1,
|
|
329
|
+
"endIndex": 2
|
|
330
|
+
},
|
|
331
|
+
"isStatic": false,
|
|
332
|
+
"isProtected": false,
|
|
333
|
+
"isAbstract": false
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"kind": "Method",
|
|
337
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#connectedCallback:member(1)",
|
|
338
|
+
"docComment": "",
|
|
339
|
+
"excerptTokens": [
|
|
340
|
+
{
|
|
341
|
+
"kind": "Content",
|
|
342
|
+
"text": "connectedCallback(): "
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"kind": "Reference",
|
|
346
|
+
"text": "Promise",
|
|
347
|
+
"canonicalReference": "!Promise:interface"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"kind": "Content",
|
|
351
|
+
"text": "<void>"
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"kind": "Content",
|
|
355
|
+
"text": ";"
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"isStatic": false,
|
|
359
|
+
"returnTypeTokenRange": {
|
|
360
|
+
"startIndex": 1,
|
|
361
|
+
"endIndex": 3
|
|
362
|
+
},
|
|
363
|
+
"releaseTag": "Public",
|
|
364
|
+
"isProtected": false,
|
|
365
|
+
"overloadIndex": 1,
|
|
366
|
+
"parameters": [],
|
|
367
|
+
"isOptional": false,
|
|
368
|
+
"isAbstract": false,
|
|
369
|
+
"name": "connectedCallback"
|
|
370
|
+
},
|
|
305
371
|
{
|
|
306
372
|
"kind": "Property",
|
|
307
373
|
"canonicalReference": "@genesislcap/foundation-forms!Filters#data:member",
|
|
@@ -332,6 +398,136 @@
|
|
|
332
398
|
"isProtected": false,
|
|
333
399
|
"isAbstract": false
|
|
334
400
|
},
|
|
401
|
+
{
|
|
402
|
+
"kind": "Method",
|
|
403
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#deleteFilter:member(1)",
|
|
404
|
+
"docComment": "",
|
|
405
|
+
"excerptTokens": [
|
|
406
|
+
{
|
|
407
|
+
"kind": "Content",
|
|
408
|
+
"text": "deleteFilter(): "
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"kind": "Reference",
|
|
412
|
+
"text": "Promise",
|
|
413
|
+
"canonicalReference": "!Promise:interface"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"kind": "Content",
|
|
417
|
+
"text": "<void>"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"kind": "Content",
|
|
421
|
+
"text": ";"
|
|
422
|
+
}
|
|
423
|
+
],
|
|
424
|
+
"isStatic": false,
|
|
425
|
+
"returnTypeTokenRange": {
|
|
426
|
+
"startIndex": 1,
|
|
427
|
+
"endIndex": 3
|
|
428
|
+
},
|
|
429
|
+
"releaseTag": "Public",
|
|
430
|
+
"isProtected": false,
|
|
431
|
+
"overloadIndex": 1,
|
|
432
|
+
"parameters": [],
|
|
433
|
+
"isOptional": false,
|
|
434
|
+
"isAbstract": false,
|
|
435
|
+
"name": "deleteFilter"
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"kind": "Property",
|
|
439
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#filterName:member",
|
|
440
|
+
"docComment": "",
|
|
441
|
+
"excerptTokens": [
|
|
442
|
+
{
|
|
443
|
+
"kind": "Content",
|
|
444
|
+
"text": "filterName: "
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"kind": "Content",
|
|
448
|
+
"text": "string"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"kind": "Content",
|
|
452
|
+
"text": ";"
|
|
453
|
+
}
|
|
454
|
+
],
|
|
455
|
+
"isReadonly": false,
|
|
456
|
+
"isOptional": false,
|
|
457
|
+
"releaseTag": "Public",
|
|
458
|
+
"name": "filterName",
|
|
459
|
+
"propertyTypeTokenRange": {
|
|
460
|
+
"startIndex": 1,
|
|
461
|
+
"endIndex": 2
|
|
462
|
+
},
|
|
463
|
+
"isStatic": false,
|
|
464
|
+
"isProtected": false,
|
|
465
|
+
"isAbstract": false
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"kind": "Method",
|
|
469
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#filterNameChanged:member(1)",
|
|
470
|
+
"docComment": "",
|
|
471
|
+
"excerptTokens": [
|
|
472
|
+
{
|
|
473
|
+
"kind": "Content",
|
|
474
|
+
"text": "filterNameChanged(oldValue: "
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"kind": "Content",
|
|
478
|
+
"text": "string"
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"kind": "Content",
|
|
482
|
+
"text": ", newValue: "
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"kind": "Content",
|
|
486
|
+
"text": "string"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"kind": "Content",
|
|
490
|
+
"text": "): "
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"kind": "Content",
|
|
494
|
+
"text": "void"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"kind": "Content",
|
|
498
|
+
"text": ";"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"isStatic": false,
|
|
502
|
+
"returnTypeTokenRange": {
|
|
503
|
+
"startIndex": 5,
|
|
504
|
+
"endIndex": 6
|
|
505
|
+
},
|
|
506
|
+
"releaseTag": "Public",
|
|
507
|
+
"isProtected": false,
|
|
508
|
+
"overloadIndex": 1,
|
|
509
|
+
"parameters": [
|
|
510
|
+
{
|
|
511
|
+
"parameterName": "oldValue",
|
|
512
|
+
"parameterTypeTokenRange": {
|
|
513
|
+
"startIndex": 1,
|
|
514
|
+
"endIndex": 2
|
|
515
|
+
},
|
|
516
|
+
"isOptional": false
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"parameterName": "newValue",
|
|
520
|
+
"parameterTypeTokenRange": {
|
|
521
|
+
"startIndex": 3,
|
|
522
|
+
"endIndex": 4
|
|
523
|
+
},
|
|
524
|
+
"isOptional": false
|
|
525
|
+
}
|
|
526
|
+
],
|
|
527
|
+
"isOptional": false,
|
|
528
|
+
"isAbstract": false,
|
|
529
|
+
"name": "filterNameChanged"
|
|
530
|
+
},
|
|
335
531
|
{
|
|
336
532
|
"kind": "Property",
|
|
337
533
|
"canonicalReference": "@genesislcap/foundation-forms!Filters#jsonSchema:member",
|
|
@@ -363,6 +559,126 @@
|
|
|
363
559
|
"isProtected": false,
|
|
364
560
|
"isAbstract": false
|
|
365
561
|
},
|
|
562
|
+
{
|
|
563
|
+
"kind": "Property",
|
|
564
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#kvStorage:member",
|
|
565
|
+
"docComment": "",
|
|
566
|
+
"excerptTokens": [
|
|
567
|
+
{
|
|
568
|
+
"kind": "Content",
|
|
569
|
+
"text": "kvStorage: "
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"kind": "Reference",
|
|
573
|
+
"text": "KVStorage",
|
|
574
|
+
"canonicalReference": "@genesislcap/foundation-comms!KVStorage:interface"
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"kind": "Content",
|
|
578
|
+
"text": ";"
|
|
579
|
+
}
|
|
580
|
+
],
|
|
581
|
+
"isReadonly": false,
|
|
582
|
+
"isOptional": false,
|
|
583
|
+
"releaseTag": "Public",
|
|
584
|
+
"name": "kvStorage",
|
|
585
|
+
"propertyTypeTokenRange": {
|
|
586
|
+
"startIndex": 1,
|
|
587
|
+
"endIndex": 2
|
|
588
|
+
},
|
|
589
|
+
"isStatic": false,
|
|
590
|
+
"isProtected": false,
|
|
591
|
+
"isAbstract": false
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"kind": "Method",
|
|
595
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#loadAllSavedFilters:member(1)",
|
|
596
|
+
"docComment": "",
|
|
597
|
+
"excerptTokens": [
|
|
598
|
+
{
|
|
599
|
+
"kind": "Content",
|
|
600
|
+
"text": "loadAllSavedFilters(): "
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"kind": "Reference",
|
|
604
|
+
"text": "Promise",
|
|
605
|
+
"canonicalReference": "!Promise:interface"
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"kind": "Content",
|
|
609
|
+
"text": "<void>"
|
|
610
|
+
},
|
|
611
|
+
{
|
|
612
|
+
"kind": "Content",
|
|
613
|
+
"text": ";"
|
|
614
|
+
}
|
|
615
|
+
],
|
|
616
|
+
"isStatic": false,
|
|
617
|
+
"returnTypeTokenRange": {
|
|
618
|
+
"startIndex": 1,
|
|
619
|
+
"endIndex": 3
|
|
620
|
+
},
|
|
621
|
+
"releaseTag": "Public",
|
|
622
|
+
"isProtected": false,
|
|
623
|
+
"overloadIndex": 1,
|
|
624
|
+
"parameters": [],
|
|
625
|
+
"isOptional": false,
|
|
626
|
+
"isAbstract": false,
|
|
627
|
+
"name": "loadAllSavedFilters"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"kind": "Method",
|
|
631
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#loadFilterData:member(1)",
|
|
632
|
+
"docComment": "",
|
|
633
|
+
"excerptTokens": [
|
|
634
|
+
{
|
|
635
|
+
"kind": "Content",
|
|
636
|
+
"text": "loadFilterData(filterKey: "
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"kind": "Content",
|
|
640
|
+
"text": "string"
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"kind": "Content",
|
|
644
|
+
"text": "): "
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"kind": "Reference",
|
|
648
|
+
"text": "Promise",
|
|
649
|
+
"canonicalReference": "!Promise:interface"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"kind": "Content",
|
|
653
|
+
"text": "<void>"
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"kind": "Content",
|
|
657
|
+
"text": ";"
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
"isStatic": false,
|
|
661
|
+
"returnTypeTokenRange": {
|
|
662
|
+
"startIndex": 3,
|
|
663
|
+
"endIndex": 5
|
|
664
|
+
},
|
|
665
|
+
"releaseTag": "Public",
|
|
666
|
+
"isProtected": false,
|
|
667
|
+
"overloadIndex": 1,
|
|
668
|
+
"parameters": [
|
|
669
|
+
{
|
|
670
|
+
"parameterName": "filterKey",
|
|
671
|
+
"parameterTypeTokenRange": {
|
|
672
|
+
"startIndex": 1,
|
|
673
|
+
"endIndex": 2
|
|
674
|
+
},
|
|
675
|
+
"isOptional": false
|
|
676
|
+
}
|
|
677
|
+
],
|
|
678
|
+
"isOptional": false,
|
|
679
|
+
"isAbstract": false,
|
|
680
|
+
"name": "loadFilterData"
|
|
681
|
+
},
|
|
366
682
|
{
|
|
367
683
|
"kind": "Property",
|
|
368
684
|
"canonicalReference": "@genesislcap/foundation-forms!Filters#prefix:member",
|
|
@@ -458,6 +774,72 @@
|
|
|
458
774
|
"isProtected": false,
|
|
459
775
|
"isAbstract": false
|
|
460
776
|
},
|
|
777
|
+
{
|
|
778
|
+
"kind": "Method",
|
|
779
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#saveFilter:member(1)",
|
|
780
|
+
"docComment": "",
|
|
781
|
+
"excerptTokens": [
|
|
782
|
+
{
|
|
783
|
+
"kind": "Content",
|
|
784
|
+
"text": "saveFilter(): "
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"kind": "Reference",
|
|
788
|
+
"text": "Promise",
|
|
789
|
+
"canonicalReference": "!Promise:interface"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"kind": "Content",
|
|
793
|
+
"text": "<void>"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"kind": "Content",
|
|
797
|
+
"text": ";"
|
|
798
|
+
}
|
|
799
|
+
],
|
|
800
|
+
"isStatic": false,
|
|
801
|
+
"returnTypeTokenRange": {
|
|
802
|
+
"startIndex": 1,
|
|
803
|
+
"endIndex": 3
|
|
804
|
+
},
|
|
805
|
+
"releaseTag": "Public",
|
|
806
|
+
"isProtected": false,
|
|
807
|
+
"overloadIndex": 1,
|
|
808
|
+
"parameters": [],
|
|
809
|
+
"isOptional": false,
|
|
810
|
+
"isAbstract": false,
|
|
811
|
+
"name": "saveFilter"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"kind": "Property",
|
|
815
|
+
"canonicalReference": "@genesislcap/foundation-forms!Filters#showFilterPersistenceControls:member",
|
|
816
|
+
"docComment": "/**\n * Controls the visibility of the filter persistence controls UI.\n *\n * @public\n */\n",
|
|
817
|
+
"excerptTokens": [
|
|
818
|
+
{
|
|
819
|
+
"kind": "Content",
|
|
820
|
+
"text": "showFilterPersistenceControls: "
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
"kind": "Content",
|
|
824
|
+
"text": "boolean"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"kind": "Content",
|
|
828
|
+
"text": ";"
|
|
829
|
+
}
|
|
830
|
+
],
|
|
831
|
+
"isReadonly": false,
|
|
832
|
+
"isOptional": false,
|
|
833
|
+
"releaseTag": "Public",
|
|
834
|
+
"name": "showFilterPersistenceControls",
|
|
835
|
+
"propertyTypeTokenRange": {
|
|
836
|
+
"startIndex": 1,
|
|
837
|
+
"endIndex": 2
|
|
838
|
+
},
|
|
839
|
+
"isStatic": false,
|
|
840
|
+
"isProtected": false,
|
|
841
|
+
"isAbstract": false
|
|
842
|
+
},
|
|
461
843
|
{
|
|
462
844
|
"kind": "Property",
|
|
463
845
|
"canonicalReference": "@genesislcap/foundation-forms!Filters#uischema:member",
|
|
@@ -10,6 +10,7 @@ import { FoundationElement } from '@microsoft/fast-foundation';
|
|
|
10
10
|
import { FoundationLayoutContainer } from '@genesislcap/foundation-utils';
|
|
11
11
|
import { JsonFormsState } from '@jsonforms/core';
|
|
12
12
|
import { JSONSchema7 } from 'json-schema';
|
|
13
|
+
import { KVStorage } from '@genesislcap/foundation-comms';
|
|
13
14
|
import { Layout } from '@jsonforms/core';
|
|
14
15
|
import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
|
|
15
16
|
import { Logger } from '@genesislcap/foundation-logger';
|
|
@@ -182,12 +183,20 @@ declare type Expressions = {
|
|
|
182
183
|
* @public
|
|
183
184
|
*/
|
|
184
185
|
export declare class Filters extends FoundationElement {
|
|
186
|
+
kvStorage: KVStorage;
|
|
187
|
+
filterName: string;
|
|
185
188
|
/**
|
|
186
189
|
* Name of the backend resource which will provide metadata
|
|
187
190
|
* used to generate filters.
|
|
188
191
|
* @public
|
|
189
192
|
*/
|
|
190
193
|
resourceName: string;
|
|
194
|
+
allSavedFilters: any[];
|
|
195
|
+
/**
|
|
196
|
+
* Controls the visibility of the filter persistence controls UI.
|
|
197
|
+
* @public
|
|
198
|
+
*/
|
|
199
|
+
showFilterPersistenceControls: boolean;
|
|
191
200
|
private resourceNameChanged;
|
|
192
201
|
/**
|
|
193
202
|
* @internal
|
|
@@ -277,6 +286,12 @@ export declare class Filters extends FoundationElement {
|
|
|
277
286
|
* @internal
|
|
278
287
|
*/
|
|
279
288
|
disconnectedCallback(): void;
|
|
289
|
+
saveFilter(): Promise<void>;
|
|
290
|
+
deleteFilter(): Promise<void>;
|
|
291
|
+
connectedCallback(): Promise<void>;
|
|
292
|
+
loadAllSavedFilters(): Promise<void>;
|
|
293
|
+
filterNameChanged(oldValue: string, newValue: string): void;
|
|
294
|
+
loadFilterData(filterKey: string): Promise<void>;
|
|
280
295
|
}
|
|
281
296
|
|
|
282
297
|
/** @internal */
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [allSavedFilters](./foundation-forms.filters.allsavedfilters.md)
|
|
4
|
+
|
|
5
|
+
## Filters.allSavedFilters property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
allSavedFilters: any[];
|
|
11
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [connectedCallback](./foundation-forms.filters.connectedcallback.md)
|
|
4
|
+
|
|
5
|
+
## Filters.connectedCallback() method
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
connectedCallback(): Promise<void>;
|
|
11
|
+
```
|
|
12
|
+
**Returns:**
|
|
13
|
+
|
|
14
|
+
Promise<void>
|
|
15
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [deleteFilter](./foundation-forms.filters.deletefilter.md)
|
|
4
|
+
|
|
5
|
+
## Filters.deleteFilter() method
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
deleteFilter(): Promise<void>;
|
|
11
|
+
```
|
|
12
|
+
**Returns:**
|
|
13
|
+
|
|
14
|
+
Promise<void>
|
|
15
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [filterName](./foundation-forms.filters.filtername.md)
|
|
4
|
+
|
|
5
|
+
## Filters.filterName property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
filterName: string;
|
|
11
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [filterNameChanged](./foundation-forms.filters.filternamechanged.md)
|
|
4
|
+
|
|
5
|
+
## Filters.filterNameChanged() method
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
filterNameChanged(oldValue: string, newValue: string): void;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
| Parameter | Type | Description |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| oldValue | string | |
|
|
18
|
+
| newValue | string | |
|
|
19
|
+
|
|
20
|
+
**Returns:**
|
|
21
|
+
|
|
22
|
+
void
|
|
23
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [kvStorage](./foundation-forms.filters.kvstorage.md)
|
|
4
|
+
|
|
5
|
+
## Filters.kvStorage property
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
kvStorage: KVStorage;
|
|
11
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [loadAllSavedFilters](./foundation-forms.filters.loadallsavedfilters.md)
|
|
4
|
+
|
|
5
|
+
## Filters.loadAllSavedFilters() method
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
loadAllSavedFilters(): Promise<void>;
|
|
11
|
+
```
|
|
12
|
+
**Returns:**
|
|
13
|
+
|
|
14
|
+
Promise<void>
|
|
15
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [loadFilterData](./foundation-forms.filters.loadfilterdata.md)
|
|
4
|
+
|
|
5
|
+
## Filters.loadFilterData() method
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
loadFilterData(filterKey: string): Promise<void>;
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
| Parameter | Type | Description |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| filterKey | string | |
|
|
18
|
+
|
|
19
|
+
**Returns:**
|
|
20
|
+
|
|
21
|
+
Promise<void>
|
|
22
|
+
|
|
@@ -17,11 +17,26 @@ export declare class Filters extends FoundationElement
|
|
|
17
17
|
|
|
18
18
|
| Property | Modifiers | Type | Description |
|
|
19
19
|
| --- | --- | --- | --- |
|
|
20
|
+
| [allSavedFilters](./foundation-forms.filters.allsavedfilters.md) | | any\[\] | |
|
|
20
21
|
| [data](./foundation-forms.filters.data.md) | | any | Initial data for the filters. |
|
|
22
|
+
| [filterName](./foundation-forms.filters.filtername.md) | | string | |
|
|
21
23
|
| [jsonSchema](./foundation-forms.filters.jsonschema.md) | | JSONSchema7 | Alternatively to providing [Form.resourceName](./foundation-forms.form.resourcename.md) you can hardcode the JSON schema on the client. |
|
|
24
|
+
| [kvStorage](./foundation-forms.filters.kvstorage.md) | | KVStorage | |
|
|
22
25
|
| [prefix](./foundation-forms.filters.prefix.md) | | string | Name of the design system prefix that will be used in renderers. |
|
|
23
26
|
| [renderers](./foundation-forms.filters.renderers.md) | | [RendererEntry](./foundation-forms.rendererentry.md)<!-- -->\[\] | Allows to provide the main set of renderers used by the form. If not provided, the built-in renderers will be used by default. |
|
|
24
27
|
| [resourceName](./foundation-forms.filters.resourcename.md) | | string | Name of the backend resource which will provide metadata used to generate filters. |
|
|
28
|
+
| [showFilterPersistenceControls](./foundation-forms.filters.showfilterpersistencecontrols.md) | | boolean | Controls the visibility of the filter persistence controls UI. |
|
|
25
29
|
| [uischema](./foundation-forms.filters.uischema.md) | | [UiSchema](./foundation-forms.uischema.md) | UI schema used to define configuration of the layout and elements in the filters Check [UiSchema](./foundation-forms.uischema.md) for possible options. |
|
|
26
30
|
| [value](./foundation-forms.filters.value.md) | | string | Created criteria based on the given data that can be used to filter the data. |
|
|
27
31
|
|
|
32
|
+
## Methods
|
|
33
|
+
|
|
34
|
+
| Method | Modifiers | Description |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| [connectedCallback()](./foundation-forms.filters.connectedcallback.md) | | |
|
|
37
|
+
| [deleteFilter()](./foundation-forms.filters.deletefilter.md) | | |
|
|
38
|
+
| [filterNameChanged(oldValue, newValue)](./foundation-forms.filters.filternamechanged.md) | | |
|
|
39
|
+
| [loadAllSavedFilters()](./foundation-forms.filters.loadallsavedfilters.md) | | |
|
|
40
|
+
| [loadFilterData(filterKey)](./foundation-forms.filters.loadfilterdata.md) | | |
|
|
41
|
+
| [saveFilter()](./foundation-forms.filters.savefilter.md) | | |
|
|
42
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [saveFilter](./foundation-forms.filters.savefilter.md)
|
|
4
|
+
|
|
5
|
+
## Filters.saveFilter() method
|
|
6
|
+
|
|
7
|
+
**Signature:**
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
saveFilter(): Promise<void>;
|
|
11
|
+
```
|
|
12
|
+
**Returns:**
|
|
13
|
+
|
|
14
|
+
Promise<void>
|
|
15
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
|
|
2
|
+
|
|
3
|
+
[Home](./index.md) > [@genesislcap/foundation-forms](./foundation-forms.md) > [Filters](./foundation-forms.filters.md) > [showFilterPersistenceControls](./foundation-forms.filters.showfilterpersistencecontrols.md)
|
|
4
|
+
|
|
5
|
+
## Filters.showFilterPersistenceControls property
|
|
6
|
+
|
|
7
|
+
Controls the visibility of the filter persistence controls UI.
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
showFilterPersistenceControls: boolean;
|
|
13
|
+
```
|
package/docs/api-report.md
CHANGED
|
@@ -16,6 +16,7 @@ import { FoundationElement } from '@microsoft/fast-foundation';
|
|
|
16
16
|
import { FoundationLayoutContainer } from '@genesislcap/foundation-utils';
|
|
17
17
|
import { JsonFormsState } from '@jsonforms/core';
|
|
18
18
|
import { JSONSchema7 } from 'json-schema';
|
|
19
|
+
import { KVStorage } from '@genesislcap/foundation-comms';
|
|
19
20
|
import { Layout } from '@jsonforms/core';
|
|
20
21
|
import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
|
|
21
22
|
import { Logger } from '@genesislcap/foundation-logger';
|
|
@@ -64,19 +65,38 @@ export const createExpressions: (payload: any) => Expressions;
|
|
|
64
65
|
|
|
65
66
|
// @public
|
|
66
67
|
export class Filters extends FoundationElement {
|
|
68
|
+
// (undocumented)
|
|
69
|
+
allSavedFilters: any[];
|
|
67
70
|
// @internal (undocumented)
|
|
68
71
|
clearFiltersData(): void;
|
|
72
|
+
// (undocumented)
|
|
73
|
+
connectedCallback(): Promise<void>;
|
|
69
74
|
data: any;
|
|
75
|
+
// (undocumented)
|
|
76
|
+
deleteFilter(): Promise<void>;
|
|
70
77
|
// @internal (undocumented)
|
|
71
78
|
disconnectedCallback(): void;
|
|
79
|
+
// (undocumented)
|
|
80
|
+
filterName: string;
|
|
81
|
+
// (undocumented)
|
|
82
|
+
filterNameChanged(oldValue: string, newValue: string): void;
|
|
72
83
|
jsonSchema: JSONSchema7;
|
|
84
|
+
// (undocumented)
|
|
85
|
+
kvStorage: KVStorage;
|
|
86
|
+
// (undocumented)
|
|
87
|
+
loadAllSavedFilters(): Promise<void>;
|
|
88
|
+
// (undocumented)
|
|
89
|
+
loadFilterData(filterKey: string): Promise<void>;
|
|
73
90
|
// @internal (undocumented)
|
|
74
91
|
onChange(event: CustomEvent): void;
|
|
75
92
|
prefix: string;
|
|
76
93
|
renderers: RendererEntry[];
|
|
77
94
|
resourceName: string;
|
|
95
|
+
// (undocumented)
|
|
96
|
+
saveFilter(): Promise<void>;
|
|
78
97
|
// @internal (undocumented)
|
|
79
98
|
searchFilters(): void;
|
|
99
|
+
showFilterPersistenceControls: boolean;
|
|
80
100
|
uischema: UiSchema;
|
|
81
101
|
value: string;
|
|
82
102
|
// @internal (undocumented)
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/foundation-forms",
|
|
3
3
|
"description": "Genesis Foundation Forms",
|
|
4
|
-
"version": "14.
|
|
4
|
+
"version": "14.268.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "SEE LICENSE IN license.txt",
|
|
7
7
|
"main": "dist/esm/index.js",
|
|
@@ -48,22 +48,23 @@
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@genesislcap/foundation-testing": "14.
|
|
52
|
-
"@genesislcap/genx": "14.
|
|
53
|
-
"@genesislcap/rollup-builder": "14.
|
|
54
|
-
"@genesislcap/ts-builder": "14.
|
|
55
|
-
"@genesislcap/uvu-playwright-builder": "14.
|
|
56
|
-
"@genesislcap/vite-builder": "14.
|
|
57
|
-
"@genesislcap/webpack-builder": "14.
|
|
51
|
+
"@genesislcap/foundation-testing": "14.268.0",
|
|
52
|
+
"@genesislcap/genx": "14.268.0",
|
|
53
|
+
"@genesislcap/rollup-builder": "14.268.0",
|
|
54
|
+
"@genesislcap/ts-builder": "14.268.0",
|
|
55
|
+
"@genesislcap/uvu-playwright-builder": "14.268.0",
|
|
56
|
+
"@genesislcap/vite-builder": "14.268.0",
|
|
57
|
+
"@genesislcap/webpack-builder": "14.268.0",
|
|
58
58
|
"@types/json-schema": "^7.0.11",
|
|
59
59
|
"rimraf": "^5.0.0"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@genesislcap/foundation-comms": "14.
|
|
63
|
-
"@genesislcap/foundation-criteria": "14.
|
|
64
|
-
"@genesislcap/foundation-logger": "14.
|
|
65
|
-
"@genesislcap/foundation-
|
|
66
|
-
"@genesislcap/foundation-
|
|
62
|
+
"@genesislcap/foundation-comms": "14.268.0",
|
|
63
|
+
"@genesislcap/foundation-criteria": "14.268.0",
|
|
64
|
+
"@genesislcap/foundation-logger": "14.268.0",
|
|
65
|
+
"@genesislcap/foundation-notifications": "14.268.0",
|
|
66
|
+
"@genesislcap/foundation-ui": "14.268.0",
|
|
67
|
+
"@genesislcap/foundation-utils": "14.268.0",
|
|
67
68
|
"@json-schema-tools/dereferencer": "^1.6.1",
|
|
68
69
|
"@jsonforms/core": "^3.2.1",
|
|
69
70
|
"@microsoft/fast-components": "2.30.6",
|
|
@@ -85,5 +86,5 @@
|
|
|
85
86
|
"access": "public"
|
|
86
87
|
},
|
|
87
88
|
"customElements": "dist/custom-elements.json",
|
|
88
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "4164f4fe44a1227a63273130da7af630b40fd49a"
|
|
89
90
|
}
|