@recursyve/nice-data-filter-kit 14.0.7 → 14.1.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/esm2020/lib/components/nice-filter-view/components/common/data.directive.mjs +14 -0
- package/esm2020/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +22 -0
- package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +85 -0
- package/esm2020/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +27 -0
- package/esm2020/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +33 -0
- package/esm2020/lib/components/nice-filter-view/components/search/search.component.mjs +54 -0
- package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +48 -0
- package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +58 -0
- package/esm2020/lib/components/nice-filter-view/directives/mat-tables.mjs +22 -0
- package/esm2020/lib/components/nice-filter-view/directives/query-params.directive.mjs +81 -0
- package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +89 -0
- package/esm2020/lib/components/nice-filter-view/nice-filter-view.component.mjs +34 -0
- package/esm2020/lib/components/nice-filter-view/nice-filter-view.constant.mjs +5 -0
- package/esm2020/lib/components/nice-filter-view/nice-filter-view.module.mjs +143 -0
- package/esm2020/lib/components/nice-filter-view/public-api.mjs +16 -0
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +29 -0
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +229 -0
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +119 -0
- package/esm2020/lib/components/public-api.mjs +2 -1
- package/esm2020/lib/utils/query-params.utils.mjs +5 -1
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +958 -17
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs +972 -16
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/lib/components/nice-filter-view/components/common/data.directive.d.ts +8 -0
- package/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.d.ts +11 -0
- package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +25 -0
- package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +11 -0
- package/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.d.ts +14 -0
- package/lib/components/nice-filter-view/components/search/search.component.d.ts +20 -0
- package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +16 -0
- package/lib/components/nice-filter-view/directives/mat-sort.d.ts +16 -0
- package/lib/components/nice-filter-view/directives/mat-tables.d.ts +12 -0
- package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +21 -0
- package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +55 -0
- package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +12 -0
- package/lib/components/nice-filter-view/nice-filter-view.constant.d.ts +4 -0
- package/lib/components/nice-filter-view/nice-filter-view.module.d.ts +40 -0
- package/lib/components/nice-filter-view/public-api.d.ts +15 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +15 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +36 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +31 -0
- package/lib/components/public-api.d.ts +1 -0
- package/lib/utils/query-params.utils.d.ts +3 -0
- package/package.json +1 -1
- package/src/lib/nice-data-filter.theme.scss +25 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Component, ViewChild } from "@angular/core";
|
|
2
|
+
import { NiceFilterViewComponent } from "./nice-filter-view.component";
|
|
3
|
+
import { NiceFilterViewQuery } from "./store/nice-filter-view.query";
|
|
4
|
+
import { NiceFilterViewService } from "./store/nice-filter-view.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NiceBaseFilterViewComponent {
|
|
7
|
+
ngOnInit(autoLoad = true, { mode, loadConfig, configQueryParams } = {}) {
|
|
8
|
+
if (mode) {
|
|
9
|
+
this.filterViewService.setMode(mode);
|
|
10
|
+
}
|
|
11
|
+
const { autoLoad: defaultAutoLoad } = this.filterViewQuery.getValue();
|
|
12
|
+
if (autoLoad && defaultAutoLoad) {
|
|
13
|
+
this.filterViewService.filter();
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.filterViewService.setAutoLoad(autoLoad);
|
|
17
|
+
}
|
|
18
|
+
if (loadConfig) {
|
|
19
|
+
this.filterViewService.loadConfig(configQueryParams);
|
|
20
|
+
}
|
|
21
|
+
this.filterViewLoading$ = this.filterViewQuery.selectLoading();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Call the filter endpoint with the current filter parameters.
|
|
25
|
+
*/
|
|
26
|
+
loadData() {
|
|
27
|
+
this.filterViewService.filter();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Disable the filter view. This will stop calling any api routes.
|
|
31
|
+
*/
|
|
32
|
+
disable() {
|
|
33
|
+
this.filterViewService.disable();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Enable the filter view. This will resume calling any api routes.
|
|
37
|
+
*/
|
|
38
|
+
enable() {
|
|
39
|
+
this.filterViewService.enable();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Update the loading state
|
|
43
|
+
*/
|
|
44
|
+
setLoading(loading) {
|
|
45
|
+
this.filterViewService.setLoading(loading);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Set a set of rules that won't be saved in the current filterParameters config.
|
|
49
|
+
* NOTE: These rules will be injected in each filter request.
|
|
50
|
+
*/
|
|
51
|
+
setBaseRules(rule, reload = true) {
|
|
52
|
+
this.filterViewService.setBaseRules(rule, reload);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Reset all rules with a new set of rules.
|
|
56
|
+
*/
|
|
57
|
+
setRules(rules, reload = true) {
|
|
58
|
+
this.filterViewService.setRules(rules, reload);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Add or update a rule.
|
|
62
|
+
* NOTE: This will only check for rules in the first element of the rules array in the current filterParameters.
|
|
63
|
+
*/
|
|
64
|
+
upsertRule(id, newRule, reload = true) {
|
|
65
|
+
this.filterViewService.upsertRule(id, newRule, reload);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Remove a rule.
|
|
69
|
+
* NOTE: This will only check for rules in the first element of the rules array in the current filterParameters.
|
|
70
|
+
*/
|
|
71
|
+
removeRule(id, reload = true) {
|
|
72
|
+
this.filterViewService.removeRule(id, reload);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
NiceBaseFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceBaseFilterViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
NiceBaseFilterViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceBaseFilterViewComponent, selector: "ng-component", viewQueries: [{ propertyName: "filterViewService", first: true, predicate: NiceFilterViewComponent, descendants: true, read: NiceFilterViewService, static: true }, { propertyName: "filterViewQuery", first: true, predicate: NiceFilterViewComponent, descendants: true, read: NiceFilterViewQuery, static: true }], ngImport: i0, template: ``, isInline: true });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceBaseFilterViewComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{
|
|
80
|
+
template: ``
|
|
81
|
+
}]
|
|
82
|
+
}], propDecorators: { filterViewService: [{
|
|
83
|
+
type: ViewChild,
|
|
84
|
+
args: [NiceFilterViewComponent, { read: NiceFilterViewService, static: true }]
|
|
85
|
+
}], filterViewQuery: [{
|
|
86
|
+
type: ViewChild,
|
|
87
|
+
args: [NiceFilterViewComponent, { read: NiceFilterViewQuery, static: true }]
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1iYXNlLWZpbHRlci12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L25pY2UtYmFzZS1maWx0ZXItdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBV3pFLE1BQU0sT0FBZ0IsMkJBQTJCO0lBU3RDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsS0FBb0MsRUFBRTtRQUN4RyxJQUFJLElBQUksRUFBRTtZQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEM7UUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEUsSUFBSSxRQUFRLElBQUksZUFBZSxFQUFFO1lBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNuQzthQUFNO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLE9BQWdCO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxJQUFxQyxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVEsQ0FBQyxLQUFnQyxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQzNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsRUFBVSxFQUFFLE9BQWtCLEVBQUUsTUFBTSxHQUFHLElBQUk7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSSxVQUFVLENBQUMsRUFBVSxFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7O3dIQXJGaUIsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUdBQ2xDLHVCQUF1QiwyQkFBVSxxQkFBcUIsNkVBR3RELHVCQUF1QiwyQkFBVSxtQkFBbUIsMkNBTnJELEVBQUU7MkZBRU0sMkJBQTJCO2tCQUhoRCxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzhCQUdhLGlCQUFpQjtzQkFEMUIsU0FBUzt1QkFBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUl2RSxlQUFlO3NCQUR4QixTQUFTO3VCQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXMgfSBmcm9tIFwiLi4vLi4vYXBpL2ZpbHRlci5hcGlcIjtcbmltcG9ydCB7IFF1ZXJ5TW9kZWwsIFF1ZXJ5UnVsZU1vZGVsLCBSdWxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3F1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld0NvbXBvbmVudCB9IGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1F1ZXJ5IH0gZnJvbSBcIi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUJhc2VGaWx0ZXJWaWV3SW5pdE9wdGlvbnMge1xuICAgIG1vZGU/OiBcInBhZ2luYXRlZFwiIHwgXCJhY2N1bXVsYXRlZFwiO1xuICAgIGxvYWRDb25maWc/OiBib29sZWFuO1xuICAgIGNvbmZpZ1F1ZXJ5UGFyYW1zPzogUXVlcnlQYXJhbXM7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgYFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOaWNlQmFzZUZpbHRlclZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoTmljZUZpbHRlclZpZXdDb21wb25lbnQsIHsgcmVhZDogTmljZUZpbHRlclZpZXdTZXJ2aWNlLCBzdGF0aWM6IHRydWUgfSlcbiAgICBwcm90ZWN0ZWQgZmlsdGVyVmlld1NlcnZpY2U6IE5pY2VGaWx0ZXJWaWV3U2VydmljZTtcblxuICAgIEBWaWV3Q2hpbGQoTmljZUZpbHRlclZpZXdDb21wb25lbnQsIHsgcmVhZDogTmljZUZpbHRlclZpZXdRdWVyeSwgc3RhdGljOiB0cnVlIH0pXG4gICAgcHJvdGVjdGVkIGZpbHRlclZpZXdRdWVyeTogTmljZUZpbHRlclZpZXdRdWVyeTtcblxuICAgIHB1YmxpYyBmaWx0ZXJWaWV3TG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoYXV0b0xvYWQgPSB0cnVlLCB7IG1vZGUsIGxvYWRDb25maWcsIGNvbmZpZ1F1ZXJ5UGFyYW1zIH06IE5pY2VCYXNlRmlsdGVyVmlld0luaXRPcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICAgICAgaWYgKG1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2Uuc2V0TW9kZShtb2RlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgYXV0b0xvYWQ6IGRlZmF1bHRBdXRvTG9hZCB9ID0gdGhpcy5maWx0ZXJWaWV3UXVlcnkuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGF1dG9Mb2FkICYmIGRlZmF1bHRBdXRvTG9hZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJWaWV3U2VydmljZS5maWx0ZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2Uuc2V0QXV0b0xvYWQoYXV0b0xvYWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxvYWRDb25maWcpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2UubG9hZENvbmZpZyhjb25maWdRdWVyeVBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlclZpZXdMb2FkaW5nJCA9IHRoaXMuZmlsdGVyVmlld1F1ZXJ5LnNlbGVjdExvYWRpbmcoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsIHRoZSBmaWx0ZXIgZW5kcG9pbnQgd2l0aCB0aGUgY3VycmVudCBmaWx0ZXIgcGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2UuZmlsdGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSB0aGUgZmlsdGVyIHZpZXcuIFRoaXMgd2lsbCBzdG9wIGNhbGxpbmcgYW55IGFwaSByb3V0ZXMuXG4gICAgICovXG4gICAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2UuZGlzYWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVuYWJsZSB0aGUgZmlsdGVyIHZpZXcuIFRoaXMgd2lsbCByZXN1bWUgY2FsbGluZyBhbnkgYXBpIHJvdXRlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbHRlclZpZXdTZXJ2aWNlLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZSB0aGUgbG9hZGluZyBzdGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJWaWV3U2VydmljZS5zZXRMb2FkaW5nKGxvYWRpbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBhIHNldCBvZiBydWxlcyB0aGF0IHdvbid0IGJlIHNhdmVkIGluIHRoZSBjdXJyZW50IGZpbHRlclBhcmFtZXRlcnMgY29uZmlnLlxuICAgICAqIE5PVEU6IFRoZXNlIHJ1bGVzIHdpbGwgYmUgaW5qZWN0ZWQgaW4gZWFjaCBmaWx0ZXIgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0QmFzZVJ1bGVzKHJ1bGU6IChRdWVyeVJ1bGVNb2RlbCB8IFF1ZXJ5TW9kZWwpW10sIHJlbG9hZCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXJWaWV3U2VydmljZS5zZXRCYXNlUnVsZXMocnVsZSwgcmVsb2FkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXNldCBhbGwgcnVsZXMgd2l0aCBhIG5ldyBzZXQgb2YgcnVsZXMuXG4gICAgICovXG4gICAgcHVibGljIHNldFJ1bGVzKHJ1bGVzOiBRdWVyeU1vZGVsIHwgUXVlcnlNb2RlbFtdLCByZWxvYWQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2Uuc2V0UnVsZXMocnVsZXMsIHJlbG9hZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIG9yIHVwZGF0ZSBhIHJ1bGUuXG4gICAgICogTk9URTogVGhpcyB3aWxsIG9ubHkgY2hlY2sgZm9yIHJ1bGVzIGluIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBydWxlcyBhcnJheSBpbiB0aGUgY3VycmVudCBmaWx0ZXJQYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cHNlcnRSdWxlKGlkOiBzdHJpbmcsIG5ld1J1bGU6IFJ1bGVNb2RlbCwgcmVsb2FkID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2UudXBzZXJ0UnVsZShpZCwgbmV3UnVsZSwgcmVsb2FkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgYSBydWxlLlxuICAgICAqIE5PVEU6IFRoaXMgd2lsbCBvbmx5IGNoZWNrIGZvciBydWxlcyBpbiB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgcnVsZXMgYXJyYXkgaW4gdGhlIGN1cnJlbnQgZmlsdGVyUGFyYW1ldGVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUnVsZShpZDogc3RyaW5nLCByZWxvYWQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmlld1NlcnZpY2UucmVtb3ZlUnVsZShpZCwgcmVsb2FkKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
import { NiceFilterViewQuery } from "./store/nice-filter-view.query";
|
|
3
|
+
import { NiceFilterViewService } from "./store/nice-filter-view.service";
|
|
4
|
+
import { NiceFilterViewStore } from "./store/nice-filter-view.store";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./store/nice-filter-view.service";
|
|
7
|
+
export class NiceFilterViewComponent {
|
|
8
|
+
constructor(service) {
|
|
9
|
+
this.service = service;
|
|
10
|
+
this.queryParams = {};
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges(changes) {
|
|
13
|
+
if ("queryParams" in changes) {
|
|
14
|
+
this.service.setQueryParams(this.queryParams);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
NiceFilterViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewComponent, deps: [{ token: i1.NiceFilterViewService }], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
NiceFilterViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterViewComponent, selector: "nice-filter-view", inputs: { queryParams: "queryParams" }, providers: [
|
|
20
|
+
NiceFilterViewQuery,
|
|
21
|
+
NiceFilterViewService,
|
|
22
|
+
NiceFilterViewStore
|
|
23
|
+
], usesOnChanges: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], encapsulation: i0.ViewEncapsulation.None });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: "nice-filter-view", encapsulation: ViewEncapsulation.None, providers: [
|
|
27
|
+
NiceFilterViewQuery,
|
|
28
|
+
NiceFilterViewService,
|
|
29
|
+
NiceFilterViewStore
|
|
30
|
+
], template: "<ng-content></ng-content>\n" }]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewService }]; }, propDecorators: { queryParams: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9uaWNlLWZpbHRlci12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L25pY2UtZmlsdGVyLXZpZXcudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQWFyRSxNQUFNLE9BQU8sdUJBQXVCO0lBSWhDLFlBQW9CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBRjNDLGdCQUFXLEdBQWdCLEVBQUUsQ0FBQztJQUVnQixDQUFDO0lBRS9DLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQzs7b0hBVlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUZBTnJCO1FBQ1AsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixtQkFBbUI7S0FDdEIsK0NDZkwsNkJBQ0E7MkZEZ0JhLHVCQUF1QjtrQkFYbkMsU0FBUzsrQkFDSSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUN0Qjs0R0FJTSxXQUFXO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1F1ZXJ5IH0gZnJvbSBcIi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1N0b3JlIH0gZnJvbSBcIi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zdG9yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLWZpbHRlci12aWV3XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwibmljZS1maWx0ZXItdmlldy50ZW1wbGF0ZS5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCJuaWNlLWZpbHRlci12aWV3LnN0eWxlLnNjc3NcIl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgTmljZUZpbHRlclZpZXdRdWVyeSxcbiAgICAgICAgTmljZUZpbHRlclZpZXdTZXJ2aWNlLFxuICAgICAgICBOaWNlRmlsdGVyVmlld1N0b3JlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zID0ge307XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlcnZpY2U6IE5pY2VGaWx0ZXJWaWV3U2VydmljZSkge31cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChcInF1ZXJ5UGFyYW1zXCIgaW4gY2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNldFF1ZXJ5UGFyYW1zKHRoaXMucXVlcnlQYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const EXPORTS_SETTINGS = new InjectionToken("exports_settings");
|
|
3
|
+
export const FILTER_VIEW_ICONS = new InjectionToken("filter_view_icons");
|
|
4
|
+
export const FILTER_VIEW_STATE = new InjectionToken("filter_view_state");
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5jb25zdGFudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L25pY2UtZmlsdGVyLXZpZXcuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDekUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVFNfU0VUVElOR1MgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXCJleHBvcnRzX3NldHRpbmdzXCIpO1xuZXhwb3J0IGNvbnN0IEZJTFRFUl9WSUVXX0lDT05TID0gbmV3IEluamVjdGlvblRva2VuKFwiZmlsdGVyX3ZpZXdfaWNvbnNcIik7XG5leHBvcnQgY29uc3QgRklMVEVSX1ZJRVdfU1RBVEUgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXCJmaWx0ZXJfdmlld19zdGF0ZVwiKTtcbiJdfQ==
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { AsyncPipe, NgIf, NgTemplateOutlet } from "@angular/common";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { FormsModule } from "@angular/forms";
|
|
4
|
+
import { MatBottomSheetModule } from "@angular/material/bottom-sheet";
|
|
5
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
6
|
+
import { MatIconModule } from "@angular/material/icon";
|
|
7
|
+
import { MatTooltipModule } from "@angular/material/tooltip";
|
|
8
|
+
import { TranslateModule } from "@ngx-translate/core";
|
|
9
|
+
import { NiceExportBottomSheetModule } from "@recursyve/nice-ui-kit.v2";
|
|
10
|
+
import { defaultIcons } from "../base-list/models/icons.model";
|
|
11
|
+
import { NiceFilterService } from "../base-list/providers/base-filter.service";
|
|
12
|
+
import { NiceFilterDataDirective } from "./components/common/data.directive";
|
|
13
|
+
import { NiceFilterCustomDataViewComponent } from "./components/custom-data-view/custom-data-view.component";
|
|
14
|
+
import { NiceFilterExportButtonsComponent } from "./components/export-buttons/export-buttons.component";
|
|
15
|
+
import { NiceFilterExportDirective } from "./components/export-buttons/export.directive";
|
|
16
|
+
import { NiceFilterInfiniteScrollDataViewComponent } from "./components/infinite-scroll-data-view/infinite-scroll-data-view.component";
|
|
17
|
+
import { NiceFilterSearchComponent } from "./components/search/search.component";
|
|
18
|
+
import { NiceFilterMatPaginatorPaginationDirective } from "./directives/mat-paginator";
|
|
19
|
+
import { NiceFilterMatSortSortingDirective } from "./directives/mat-sort";
|
|
20
|
+
import { NiceFilterMatTableViewDirective } from "./directives/mat-tables";
|
|
21
|
+
import { NiceFilterQueryParamsDirective } from "./directives/query-params.directive";
|
|
22
|
+
import { NiceFilterViewComponent } from "./nice-filter-view.component";
|
|
23
|
+
import { EXPORTS_SETTINGS, FILTER_VIEW_ICONS, FILTER_VIEW_STATE } from "./nice-filter-view.constant";
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
export class NiceFilterViewModule {
|
|
26
|
+
static forRoot(options) {
|
|
27
|
+
return {
|
|
28
|
+
ngModule: NiceFilterViewModule,
|
|
29
|
+
providers: [
|
|
30
|
+
{
|
|
31
|
+
provide: FILTER_VIEW_ICONS,
|
|
32
|
+
useValue: {
|
|
33
|
+
...defaultIcons,
|
|
34
|
+
...(options?.icons ?? {})
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
].filter(x => !!x)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
static providerFactory(options) {
|
|
41
|
+
return [
|
|
42
|
+
{
|
|
43
|
+
provide: NiceFilterService,
|
|
44
|
+
useClass: options.filterService
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
provide: EXPORTS_SETTINGS,
|
|
48
|
+
useValue: options.exports ?? {
|
|
49
|
+
pdf: true,
|
|
50
|
+
xlsx: true,
|
|
51
|
+
csv: true
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
provide: FILTER_VIEW_STATE,
|
|
56
|
+
useValue: options.state ?? {}
|
|
57
|
+
}
|
|
58
|
+
].filter(x => !!x);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
NiceFilterViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
62
|
+
NiceFilterViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, declarations: [NiceFilterViewComponent,
|
|
63
|
+
NiceFilterCustomDataViewComponent,
|
|
64
|
+
NiceFilterExportButtonsComponent,
|
|
65
|
+
NiceFilterInfiniteScrollDataViewComponent,
|
|
66
|
+
NiceFilterSearchComponent,
|
|
67
|
+
NiceFilterDataDirective,
|
|
68
|
+
NiceFilterExportDirective,
|
|
69
|
+
NiceFilterMatTableViewDirective,
|
|
70
|
+
NiceFilterMatSortSortingDirective,
|
|
71
|
+
NiceFilterMatPaginatorPaginationDirective,
|
|
72
|
+
NiceFilterQueryParamsDirective], imports: [TranslateModule,
|
|
73
|
+
MatIconModule,
|
|
74
|
+
FormsModule,
|
|
75
|
+
AsyncPipe,
|
|
76
|
+
NgIf,
|
|
77
|
+
NgTemplateOutlet,
|
|
78
|
+
MatTooltipModule,
|
|
79
|
+
MatButtonModule,
|
|
80
|
+
MatBottomSheetModule,
|
|
81
|
+
NiceExportBottomSheetModule], exports: [NiceFilterViewComponent,
|
|
82
|
+
NiceFilterCustomDataViewComponent,
|
|
83
|
+
NiceFilterExportButtonsComponent,
|
|
84
|
+
NiceFilterInfiniteScrollDataViewComponent,
|
|
85
|
+
NiceFilterSearchComponent,
|
|
86
|
+
NiceFilterDataDirective,
|
|
87
|
+
NiceFilterExportDirective,
|
|
88
|
+
NiceFilterMatTableViewDirective,
|
|
89
|
+
NiceFilterMatSortSortingDirective,
|
|
90
|
+
NiceFilterMatPaginatorPaginationDirective,
|
|
91
|
+
NiceFilterQueryParamsDirective] });
|
|
92
|
+
NiceFilterViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, imports: [TranslateModule,
|
|
93
|
+
MatIconModule,
|
|
94
|
+
FormsModule,
|
|
95
|
+
MatTooltipModule,
|
|
96
|
+
MatButtonModule,
|
|
97
|
+
MatBottomSheetModule,
|
|
98
|
+
NiceExportBottomSheetModule] });
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewModule, decorators: [{
|
|
100
|
+
type: NgModule,
|
|
101
|
+
args: [{
|
|
102
|
+
imports: [
|
|
103
|
+
TranslateModule,
|
|
104
|
+
MatIconModule,
|
|
105
|
+
FormsModule,
|
|
106
|
+
AsyncPipe,
|
|
107
|
+
NgIf,
|
|
108
|
+
NgTemplateOutlet,
|
|
109
|
+
MatTooltipModule,
|
|
110
|
+
MatButtonModule,
|
|
111
|
+
MatBottomSheetModule,
|
|
112
|
+
NiceExportBottomSheetModule
|
|
113
|
+
],
|
|
114
|
+
declarations: [
|
|
115
|
+
NiceFilterViewComponent,
|
|
116
|
+
NiceFilterCustomDataViewComponent,
|
|
117
|
+
NiceFilterExportButtonsComponent,
|
|
118
|
+
NiceFilterInfiniteScrollDataViewComponent,
|
|
119
|
+
NiceFilterSearchComponent,
|
|
120
|
+
NiceFilterDataDirective,
|
|
121
|
+
NiceFilterExportDirective,
|
|
122
|
+
NiceFilterMatTableViewDirective,
|
|
123
|
+
NiceFilterMatSortSortingDirective,
|
|
124
|
+
NiceFilterMatPaginatorPaginationDirective,
|
|
125
|
+
NiceFilterQueryParamsDirective
|
|
126
|
+
],
|
|
127
|
+
providers: [],
|
|
128
|
+
exports: [
|
|
129
|
+
NiceFilterViewComponent,
|
|
130
|
+
NiceFilterCustomDataViewComponent,
|
|
131
|
+
NiceFilterExportButtonsComponent,
|
|
132
|
+
NiceFilterInfiniteScrollDataViewComponent,
|
|
133
|
+
NiceFilterSearchComponent,
|
|
134
|
+
NiceFilterDataDirective,
|
|
135
|
+
NiceFilterExportDirective,
|
|
136
|
+
NiceFilterMatTableViewDirective,
|
|
137
|
+
NiceFilterMatSortSortingDirective,
|
|
138
|
+
NiceFilterMatPaginatorPaginationDirective,
|
|
139
|
+
NiceFilterQueryParamsDirective
|
|
140
|
+
],
|
|
141
|
+
}]
|
|
142
|
+
}] });
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9uaWNlLWZpbHRlci12aWV3Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BFLE9BQU8sRUFBdUIsUUFBUSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFeEUsT0FBTyxFQUFFLFlBQVksRUFBdUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN6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WSxFQUFFO3dCQUNWLHVCQUF1Qjt3QkFDdkIsaUNBQWlDO3dCQUNqQyxnQ0FBZ0M7d0JBQ2hDLHlDQUF5Qzt3QkFDekMseUJBQXlCO3dCQUV6Qix1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsK0JBQStCO3dCQUMvQixpQ0FBaUM7d0JBQ2pDLHlDQUF5Qzt3QkFDekMsOEJBQThCO3FCQUNqQztvQkFDRCxTQUFTLEVBQUUsRUFBRTtvQkFDYixPQUFPLEVBQUU7d0JBQ0wsdUJBQXVCO3dCQUN2QixpQ0FBaUM7d0JBQ2pDLGdDQUFnQzt3QkFDaEMseUNBQXlDO3dCQUN6Qyx5QkFBeUI7d0JBRXpCLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3dCQUN6QiwrQkFBK0I7d0JBQy9CLGlDQUFpQzt3QkFDakMseUNBQXlDO3dCQUN6Qyw4QkFBOEI7cUJBQ2pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRCb3R0b21TaGVldE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9ib3R0b20tc2hlZXRcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTmljZUV4cG9ydEJvdHRvbVNoZWV0TW9kdWxlIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcbmltcG9ydCB7IEV4cG9ydFNldHRpbmdzIH0gZnJvbSBcIi4uL2Jhc2UtbGlzdC9tb2RlbHMvZXhwb3J0Lm1vZGVsXCI7XG5pbXBvcnQgeyBkZWZhdWx0SWNvbnMsIE5pY2VCYXNlSWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vYmFzZS1saXN0L21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclNlcnZpY2UgfSBmcm9tIFwiLi4vYmFzZS1saXN0L3Byb3ZpZGVycy9iYXNlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyRGF0YURpcmVjdGl2ZSB9IGZyb20gXCIuL2NvbXBvbmVudHMvY29tbW9uL2RhdGEuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyQ3VzdG9tRGF0YVZpZXdDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2N1c3RvbS1kYXRhLXZpZXcvY3VzdG9tLWRhdGEtdmlldy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJFeHBvcnRCdXR0b25zQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9leHBvcnQtYnV0dG9ucy9leHBvcnQtYnV0dG9ucy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJFeHBvcnREaXJlY3RpdmUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2V4cG9ydC1idXR0b25zL2V4cG9ydC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJJbmZpbml0ZVNjcm9sbERhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9pbmZpbml0ZS1zY3JvbGwtZGF0YS12aWV3L2luZmluaXRlLXNjcm9sbC1kYXRhLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlck1hdFBhZ2luYXRvclBhZ2luYXRpb25EaXJlY3RpdmUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL21hdC1wYWdpbmF0b3JcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJNYXRTb3J0U29ydGluZ0RpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvbWF0LXNvcnRcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJNYXRUYWJsZVZpZXdEaXJlY3RpdmUgfSBmcm9tIFwiLi9kaXJlY3RpdmVzL21hdC10YWJsZXNcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJRdWVyeVBhcmFtc0RpcmVjdGl2ZSB9IGZyb20gXCIuL2RpcmVjdGl2ZXMvcXVlcnktcGFyYW1zLmRpcmVjdGl2ZVwiO1xuXG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld0NvbXBvbmVudCB9IGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBFWFBPUlRTX1NFVFRJTkdTLCBGSUxURVJfVklFV19JQ09OUywgRklMVEVSX1ZJRVdfU1RBVEUgfSBmcm9tIFwiLi9uaWNlLWZpbHRlci12aWV3LmNvbnN0YW50XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1N0YXRlIH0gZnJvbSBcIi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zdG9yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VGaWx0ZXJWaWV3T3B0aW9uczxUPiB7XG4gICAgZmlsdGVyU2VydmljZTogVHlwZTxOaWNlRmlsdGVyU2VydmljZTxUPj47XG4gICAgZXhwb3J0cz86IEV4cG9ydFNldHRpbmdzO1xuICAgIHN0YXRlPzogUGFydGlhbDxOaWNlRmlsdGVyVmlld1N0YXRlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOaWNlRmlsdGVyVmlld0dsb2JhbE9wdGlvbnMge1xuICAgIGljb25zPzogTmljZUJhc2VJY29uT3B0aW9ucztcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIEFzeW5jUGlwZSxcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRCb3R0b21TaGVldE1vZHVsZSxcblxuICAgICAgICBOaWNlRXhwb3J0Qm90dG9tU2hlZXRNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBOaWNlRmlsdGVyVmlld0NvbXBvbmVudCxcbiAgICAgICAgTmljZUZpbHRlckN1c3RvbURhdGFWaWV3Q29tcG9uZW50LFxuICAgICAgICBOaWNlRmlsdGVyRXhwb3J0QnV0dG9uc0NvbXBvbmVudCxcbiAgICAgICAgTmljZUZpbHRlckluZmluaXRlU2Nyb2xsRGF0YVZpZXdDb21wb25lbnQsXG4gICAgICAgIE5pY2VGaWx0ZXJTZWFyY2hDb21wb25lbnQsXG5cbiAgICAgICAgTmljZUZpbHRlckRhdGFEaXJlY3RpdmUsXG4gICAgICAgIE5pY2VGaWx0ZXJFeHBvcnREaXJlY3RpdmUsXG4gICAgICAgIE5pY2VGaWx0ZXJNYXRUYWJsZVZpZXdEaXJlY3RpdmUsXG4gICAgICAgIE5pY2VGaWx0ZXJNYXRTb3J0U29ydGluZ0RpcmVjdGl2ZSxcbiAgICAgICAgTmljZUZpbHRlck1hdFBhZ2luYXRvclBhZ2luYXRpb25EaXJlY3RpdmUsXG4gICAgICAgIE5pY2VGaWx0ZXJRdWVyeVBhcmFtc0RpcmVjdGl2ZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE5pY2VGaWx0ZXJWaWV3Q29tcG9uZW50LFxuICAgICAgICBOaWNlRmlsdGVyQ3VzdG9tRGF0YVZpZXdDb21wb25lbnQsXG4gICAgICAgIE5pY2VGaWx0ZXJFeHBvcnRCdXR0b25zQ29tcG9uZW50LFxuICAgICAgICBOaWNlRmlsdGVySW5maW5pdGVTY3JvbGxEYXRhVmlld0NvbXBvbmVudCxcbiAgICAgICAgTmljZUZpbHRlclNlYXJjaENvbXBvbmVudCxcblxuICAgICAgICBOaWNlRmlsdGVyRGF0YURpcmVjdGl2ZSxcbiAgICAgICAgTmljZUZpbHRlckV4cG9ydERpcmVjdGl2ZSxcbiAgICAgICAgTmljZUZpbHRlck1hdFRhYmxlVmlld0RpcmVjdGl2ZSxcbiAgICAgICAgTmljZUZpbHRlck1hdFNvcnRTb3J0aW5nRGlyZWN0aXZlLFxuICAgICAgICBOaWNlRmlsdGVyTWF0UGFnaW5hdG9yUGFnaW5hdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgTmljZUZpbHRlclF1ZXJ5UGFyYW1zRGlyZWN0aXZlXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclZpZXdNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogTmljZUZpbHRlclZpZXdHbG9iYWxPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOaWNlRmlsdGVyVmlld01vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IE5pY2VGaWx0ZXJWaWV3TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBGSUxURVJfVklFV19JQ09OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmRlZmF1bHRJY29ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihvcHRpb25zPy5pY29ucyA/PyB7fSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0uZmlsdGVyKHggPT4gISF4KVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcHJvdmlkZXJGYWN0b3J5PFQ+KG9wdGlvbnM6IE5pY2VGaWx0ZXJWaWV3T3B0aW9uczxUPik6IFByb3ZpZGVyW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5pY2VGaWx0ZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBvcHRpb25zLmZpbHRlclNlcnZpY2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogRVhQT1JUU19TRVRUSU5HUyxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5leHBvcnRzID8/IHtcbiAgICAgICAgICAgICAgICAgICAgcGRmOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB4bHN4OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBjc3Y6IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEZJTFRFUl9WSUVXX1NUQVRFLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLnN0YXRlID8/IHt9XG4gICAgICAgICAgICB9XG4gICAgICAgIF0uZmlsdGVyKHggPT4gISF4KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from "./components/common/data.directive";
|
|
2
|
+
export * from "./components/custom-data-view/custom-data-view.component";
|
|
3
|
+
export * from "./components/export-buttons/export-buttons.component";
|
|
4
|
+
export * from "./components/export-buttons/export.directive";
|
|
5
|
+
export * from "./components/infinite-scroll-data-view/infinite-scroll-data-view.component";
|
|
6
|
+
export * from "./components/search/search.component";
|
|
7
|
+
export * from "./directives/mat-paginator";
|
|
8
|
+
export * from "./directives/mat-sort";
|
|
9
|
+
export * from "./directives/mat-tables";
|
|
10
|
+
export * from "./directives/query-params.directive";
|
|
11
|
+
export * from "./store/nice-filter-view.service";
|
|
12
|
+
export * from "./store/nice-filter-view.query";
|
|
13
|
+
export * from "./nice-base-filter-view.component";
|
|
14
|
+
export * from "./nice-filter-view.component";
|
|
15
|
+
export * from "./nice-filter-view.module";
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDRFQUE0RSxDQUFDO0FBQzNGLGNBQWMsc0NBQXNDLENBQUM7QUFFckQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NvbW1vbi9kYXRhLmRpcmVjdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9jdXN0b20tZGF0YS12aWV3L2N1c3RvbS1kYXRhLXZpZXcuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2V4cG9ydC1idXR0b25zL2V4cG9ydC1idXR0b25zLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9leHBvcnQtYnV0dG9ucy9leHBvcnQuZGlyZWN0aXZlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2luZmluaXRlLXNjcm9sbC1kYXRhLXZpZXcvaW5maW5pdGUtc2Nyb2xsLWRhdGEtdmlldy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnRcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vZGlyZWN0aXZlcy9tYXQtcGFnaW5hdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kaXJlY3RpdmVzL21hdC1zb3J0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kaXJlY3RpdmVzL21hdC10YWJsZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpcmVjdGl2ZXMvcXVlcnktcGFyYW1zLmRpcmVjdGl2ZVwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnlcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vbmljZS1iYXNlLWZpbHRlci12aWV3LmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmljZS1maWx0ZXItdmlldy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcubW9kdWxlXCI7XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { QueryEntity } from "@datorama/akita";
|
|
3
|
+
import { NiceFilterViewStore } from "./nice-filter-view.store";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./nice-filter-view.store";
|
|
6
|
+
export class NiceFilterViewQuery extends QueryEntity {
|
|
7
|
+
constructor(store) {
|
|
8
|
+
super(store);
|
|
9
|
+
this.store = store;
|
|
10
|
+
}
|
|
11
|
+
selectFilterConfigLoading() {
|
|
12
|
+
return this.select("filterConfigLoading");
|
|
13
|
+
}
|
|
14
|
+
selectFilterConfig() {
|
|
15
|
+
return this.select("filterConfig");
|
|
16
|
+
}
|
|
17
|
+
selectFilterParameters() {
|
|
18
|
+
return this.select("filterParameters");
|
|
19
|
+
}
|
|
20
|
+
selectFilterResult() {
|
|
21
|
+
return this.select("filterResult");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
NiceFilterViewQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, deps: [{ token: i1.NiceFilterViewStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
25
|
+
NiceFilterViewQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, decorators: [{
|
|
27
|
+
type: Injectable
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewStore }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHcEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBQ3JFLFlBQXNCLEtBQTBCO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQXFCO0lBRWhELENBQUM7SUFFTSx5QkFBeUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLHNCQUFzQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDOztnSEFuQlEsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlcnlFbnRpdHkgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgRmlsdGVyUGFyYW1ldGVyc01vZGVsLCBGaWx0ZXJSZXN1bHRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1N0YXRlLCBOaWNlRmlsdGVyVmlld1N0b3JlIH0gZnJvbSBcIi4vbmljZS1maWx0ZXItdmlldy5zdG9yZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclZpZXdRdWVyeSBleHRlbmRzIFF1ZXJ5RW50aXR5PE5pY2VGaWx0ZXJWaWV3U3RhdGU+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RvcmU6IE5pY2VGaWx0ZXJWaWV3U3RvcmUpIHtcbiAgICAgICAgc3VwZXIoc3RvcmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWdMb2FkaW5nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdMb2FkaW5nXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWcoKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdcIik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEZpbHRlclBhcmFtZXRlcnMoKTogT2JzZXJ2YWJsZTxGaWx0ZXJQYXJhbWV0ZXJzTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0KFwiZmlsdGVyUGFyYW1ldGVyc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RmlsdGVyUmVzdWx0KCk6IE9ic2VydmFibGU8RmlsdGVyUmVzdWx0TW9kZWwgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdChcImZpbHRlclJlc3VsdFwiKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { Inject, Injectable } from "@angular/core";
|
|
2
|
+
import { FileUtils } from "@recursyve/nice-ui-kit.v2";
|
|
3
|
+
import { firstValueFrom } from "rxjs";
|
|
4
|
+
import { NiceFilterService } from "../../base-list/providers/base-filter.service";
|
|
5
|
+
import { NiceFilterViewStore } from "./nice-filter-view.store";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./nice-filter-view.store";
|
|
8
|
+
export class NiceFilterViewService {
|
|
9
|
+
constructor(store, filterService) {
|
|
10
|
+
this.store = store;
|
|
11
|
+
this.filterService = filterService;
|
|
12
|
+
}
|
|
13
|
+
reset() {
|
|
14
|
+
this.store.reset();
|
|
15
|
+
}
|
|
16
|
+
disable() {
|
|
17
|
+
this.store.update({
|
|
18
|
+
disabled: true
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
enable() {
|
|
22
|
+
this.store.update({
|
|
23
|
+
disabled: false
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
setAutoLoad(autoLoad) {
|
|
27
|
+
this.store.update({ autoLoad });
|
|
28
|
+
}
|
|
29
|
+
setLoading(loading) {
|
|
30
|
+
this.store.setLoading(loading);
|
|
31
|
+
}
|
|
32
|
+
setMode(mode) {
|
|
33
|
+
this.store.update({ mode });
|
|
34
|
+
}
|
|
35
|
+
async loadConfig(configQueryParams = {}) {
|
|
36
|
+
this.store.setFilterConfigLoading(true);
|
|
37
|
+
try {
|
|
38
|
+
const filterConfig = await firstValueFrom(this.filterService.getFilterConfig({ params: configQueryParams }));
|
|
39
|
+
this.store.update({
|
|
40
|
+
filterConfig
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
this.store.setError(e);
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
this.store.setFilterConfigLoading(false);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async filter() {
|
|
51
|
+
const { filterParameters, disabled } = this.store.getValue();
|
|
52
|
+
if (disabled) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
this.store.setLoading(true);
|
|
57
|
+
const result = await firstValueFrom(this.filterService.filter(this.getParameters(filterParameters)));
|
|
58
|
+
this.store.setResult(result);
|
|
59
|
+
}
|
|
60
|
+
catch (e) {
|
|
61
|
+
this.store.setError(e);
|
|
62
|
+
}
|
|
63
|
+
finally {
|
|
64
|
+
this.store.setLoading(false);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
async downloadData(type, downloadFileName) {
|
|
68
|
+
const { filterParameters, disabled } = this.store.getValue();
|
|
69
|
+
if (disabled) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
this.store.setLoading(true);
|
|
74
|
+
const result = await firstValueFrom(this.filterService.getFile(type, this.getParameters(filterParameters)));
|
|
75
|
+
FileUtils.downloadFile(`${downloadFileName}.${type}`, result);
|
|
76
|
+
}
|
|
77
|
+
catch (e) {
|
|
78
|
+
this.store.setError(e);
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
this.store.setLoading(false);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async printData() {
|
|
85
|
+
const { filterParameters, disabled } = this.store.getValue();
|
|
86
|
+
if (disabled) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
this.store.setLoading(true);
|
|
91
|
+
const result = await firstValueFrom(this.filterService.getPrintableHtml(this.getParameters(filterParameters)));
|
|
92
|
+
FileUtils.openPrintableWindow(result);
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
this.store.setError(e);
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
this.store.setLoading(false);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
setParameters(filterParameters, reload = false) {
|
|
102
|
+
this.store.setParameters(filterParameters);
|
|
103
|
+
if (reload) {
|
|
104
|
+
this.filter();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
resetPaging() {
|
|
108
|
+
const { filterParameters } = this.store.getValue();
|
|
109
|
+
this.setParameters({
|
|
110
|
+
...filterParameters,
|
|
111
|
+
start: 0
|
|
112
|
+
}, false);
|
|
113
|
+
this.resetResult(true);
|
|
114
|
+
}
|
|
115
|
+
setQueryParams(queryParams) {
|
|
116
|
+
this.store.update({ queryParams });
|
|
117
|
+
}
|
|
118
|
+
setBaseRules(rule, reload) {
|
|
119
|
+
this.store.update({
|
|
120
|
+
baseRules: rule
|
|
121
|
+
});
|
|
122
|
+
if (reload) {
|
|
123
|
+
this.filter();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
setRules(rules, reload) {
|
|
127
|
+
if (!Array.isArray(rules)) {
|
|
128
|
+
rules = [rules];
|
|
129
|
+
}
|
|
130
|
+
const { filterParameters } = this.store.getValue();
|
|
131
|
+
const newRules = {
|
|
132
|
+
order: filterParameters.order,
|
|
133
|
+
rules
|
|
134
|
+
};
|
|
135
|
+
this.setParameters(newRules, reload);
|
|
136
|
+
}
|
|
137
|
+
upsertRule(id, newRule, reload) {
|
|
138
|
+
const { filterParameters } = this.store.getValue();
|
|
139
|
+
const currentQuery = filterParameters.rules?.[0];
|
|
140
|
+
const rule = {
|
|
141
|
+
id,
|
|
142
|
+
...newRule
|
|
143
|
+
};
|
|
144
|
+
const query = { rules: [rule], condition: "and" };
|
|
145
|
+
if (!currentQuery || currentQuery.rules.length === 0) {
|
|
146
|
+
this.setRules(query, reload);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const oldRule = currentQuery.rules.find((r) => r.id === id);
|
|
150
|
+
let newRules = currentQuery.rules;
|
|
151
|
+
if (oldRule) {
|
|
152
|
+
if (newRule) {
|
|
153
|
+
// Array replace
|
|
154
|
+
newRules = [
|
|
155
|
+
...currentQuery.rules.slice(0, currentQuery.rules.indexOf(oldRule)),
|
|
156
|
+
query,
|
|
157
|
+
...currentQuery.rules.slice(currentQuery.rules.indexOf(oldRule) + 1, currentQuery.rules.length)
|
|
158
|
+
];
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
newRules = currentQuery.rules.filter((r) => r.id !== id);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
newRules = [...newRules, query];
|
|
166
|
+
}
|
|
167
|
+
this.setRules({
|
|
168
|
+
condition: currentQuery.condition,
|
|
169
|
+
rules: newRules
|
|
170
|
+
}, reload);
|
|
171
|
+
}
|
|
172
|
+
removeRule(id, reload) {
|
|
173
|
+
const { filterParameters } = this.store.getValue();
|
|
174
|
+
const currentQuery = filterParameters.rules?.[0];
|
|
175
|
+
const oldRule = currentQuery.rules.find((r) => r.id === id);
|
|
176
|
+
if (!oldRule) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const newRules = currentQuery.rules.filter((r) => r.id !== id);
|
|
180
|
+
this.setRules({
|
|
181
|
+
condition: currentQuery.condition,
|
|
182
|
+
rules: newRules
|
|
183
|
+
}, reload);
|
|
184
|
+
}
|
|
185
|
+
addValue(value, opts) {
|
|
186
|
+
this.store.addValue(value, opts);
|
|
187
|
+
}
|
|
188
|
+
upsertValue(value, key = "id") {
|
|
189
|
+
this.store.upsertValue(value, key);
|
|
190
|
+
}
|
|
191
|
+
removeValue(value, key = "id") {
|
|
192
|
+
this.store.removeValue(value, key);
|
|
193
|
+
}
|
|
194
|
+
resetResult(waitForNextFilter) {
|
|
195
|
+
if (!waitForNextFilter) {
|
|
196
|
+
this.store.update({
|
|
197
|
+
filterResult: null
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
this.store.update({
|
|
202
|
+
resetResult: true
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
getParameters(filterParameters) {
|
|
207
|
+
const { baseRules } = this.store.getValue();
|
|
208
|
+
const parameters = {
|
|
209
|
+
...filterParameters,
|
|
210
|
+
rules: filterParameters?.rules ? [...filterParameters.rules] : []
|
|
211
|
+
};
|
|
212
|
+
if (baseRules?.length) {
|
|
213
|
+
parameters.rules.push({
|
|
214
|
+
condition: "and",
|
|
215
|
+
rules: baseRules
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
return parameters;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
NiceFilterViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService, deps: [{ token: i1.NiceFilterViewStore }, { token: NiceFilterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
222
|
+
NiceFilterViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService });
|
|
223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService, decorators: [{
|
|
224
|
+
type: Injectable
|
|
225
|
+
}], ctorParameters: function () { return [{ type: i1.NiceFilterViewStore }, { type: undefined, decorators: [{
|
|
226
|
+
type: Inject,
|
|
227
|
+
args: [NiceFilterService]
|
|
228
|
+
}] }]; } });
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXRDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEtBQTBCLEVBRXhCLGFBQXFCO1FBRnZCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRXhCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBQ2hDLENBQUM7SUFFRyxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNkLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENB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Q0FBQztnQkFDZCxXQUFXLEVBQUUsSUFBSTthQUNwQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsZ0JBQXdDO1FBQ3pELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVDLE1BQU0sVUFBVSxHQUFHO1lBQ2YsR0FBRyxnQkFBZ0I7WUFDbkIsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ3BFLENBQUM7UUFDRixJQUFJLFNBQVMsRUFBRSxNQUFNLEVBQUU7WUFDbkIsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixLQUFLLEVBQUUsU0FBUzthQUNuQixDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7O2tIQXhPUSxxQkFBcUIscURBR2xCLGlCQUFpQjtzSEFIcEIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUlGLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFkZEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGEvc3JjL2xpYi9hZGRFbnRpdGllc1wiO1xuaW1wb3J0IHsgRmlsZVV0aWxzIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgUXVlcnlNb2RlbCwgUXVlcnlSdWxlTW9kZWwsIFJ1bGVNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2Jhc2UtbGlzdC9wcm92aWRlcnMvYmFzZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTdG9yZSB9IGZyb20gXCIuL25pY2UtZmlsdGVyLXZpZXcuc3RvcmVcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJWaWV3U2VydmljZTxGaWx0ZXIgZXh0ZW5kcyBOaWNlRmlsdGVyU2VydmljZTxhbnk+ID0gTmljZUZpbHRlclNlcnZpY2U8YW55Pj4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHN0b3JlOiBOaWNlRmlsdGVyVmlld1N0b3JlLFxuICAgICAgICBASW5qZWN0KE5pY2VGaWx0ZXJTZXJ2aWNlKVxuICAgICAgICBwcm90ZWN0ZWQgZmlsdGVyU2VydmljZTogRmlsdGVyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmFibGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QXV0b0xvYWQoYXV0b0xvYWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoeyBhdXRvTG9hZCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhsb2FkaW5nKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TW9kZShtb2RlOiBcInBhZ2luYXRlZFwiIHwgXCJhY2N1bXVsYXRlZFwiKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgbW9kZSB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZENvbmZpZyhjb25maWdRdWVyeVBhcmFtczogUXVlcnlQYXJhbXMgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnN0b3JlLnNldEZpbHRlckNvbmZpZ0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJDb25maWcgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZpbHRlclNlcnZpY2UuZ2V0RmlsdGVyQ29uZmlnKHsgcGFyYW1zOiBjb25maWdRdWVyeVBhcmFtcyB9KSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgZmlsdGVyQ29uZmlnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RmlsdGVyQ29uZmlnTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZmlsdGVyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMsIGRpc2FibGVkIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuZmlsdGVyU2VydmljZS5maWx0ZXIodGhpcy5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpKSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldFJlc3VsdChyZXN1bHQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBkb3dubG9hZERhdGEodHlwZTogc3RyaW5nLCBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZpbHRlclNlcnZpY2UuZ2V0RmlsZSh0eXBlLCB0aGlzLmdldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVycykpKTtcbiAgICAgICAgICAgIEZpbGVVdGlscy5kb3dubG9hZEZpbGUoYCR7ZG93bmxvYWRGaWxlTmFtZX0uJHt0eXBlfWAsIHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHByaW50RGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZpbHRlclNlcnZpY2UuZ2V0UHJpbnRhYmxlSHRtbCh0aGlzLmdldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVycykpKTtcbiAgICAgICAgICAgIEZpbGVVdGlscy5vcGVuUHJpbnRhYmxlV2luZG93KHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsLCByZWxvYWQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVycyk7XG4gICAgICAgIGlmIChyZWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRQYWdpbmcoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLnNldFBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgIHN0YXJ0OiAwXG4gICAgICAgIH0sIGZhbHNlKTtcblxuICAgICAgICB0aGlzLnJlc2V0UmVzdWx0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRRdWVyeVBhcmFtcyhxdWVyeVBhcmFtczogUXVlcnlQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoeyBxdWVyeVBhcmFtcyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QmFzZVJ1bGVzKHJ1bGU6IChRdWVyeVJ1bGVNb2RlbCB8IFF1ZXJ5TW9kZWwpW10sIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBiYXNlUnVsZXM6IHJ1bGVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHJlbG9hZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSdWxlcyhydWxlczogUXVlcnlNb2RlbCB8IFF1ZXJ5TW9kZWxbXSwgcmVsb2FkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShydWxlcykpIHtcbiAgICAgICAgICAgIHJ1bGVzID0gW3J1bGVzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBuZXdSdWxlczogRmlsdGVyUGFyYW1ldGVyc01vZGVsID0ge1xuICAgICAgICAgICAgb3JkZXI6IGZpbHRlclBhcmFtZXRlcnMub3JkZXIsXG4gICAgICAgICAgICBydWxlc1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc2V0UGFyYW1ldGVycyhuZXdSdWxlcywgcmVsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBzZXJ0UnVsZShpZDogc3RyaW5nLCBuZXdSdWxlOiBSdWxlTW9kZWwsIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFF1ZXJ5ID0gZmlsdGVyUGFyYW1ldGVycy5ydWxlcz8uWzBdO1xuICAgICAgICBjb25zdCBydWxlOiBRdWVyeVJ1bGVNb2RlbCA9IHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgLi4ubmV3UnVsZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBxdWVyeTogUXVlcnlNb2RlbCA9IHsgcnVsZXM6IFtydWxlXSwgY29uZGl0aW9uOiBcImFuZFwiIH07XG4gICAgICAgIGlmICghY3VycmVudFF1ZXJ5IHx8IGN1cnJlbnRRdWVyeS5ydWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UnVsZXMocXVlcnkgLCByZWxvYWQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2xkUnVsZSA9IGN1cnJlbnRRdWVyeS5ydWxlcy5maW5kKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgPT09IGlkKSBhcyBRdWVyeVJ1bGVNb2RlbDtcbiAgICAgICAgbGV0IG5ld1J1bGVzID0gY3VycmVudFF1ZXJ5LnJ1bGVzO1xuICAgICAgICBpZiAob2xkUnVsZSkge1xuICAgICAgICAgICAgaWYgKG5ld1J1bGUpIHtcbiAgICAgICAgICAgICAgICAvLyBBcnJheSByZXBsYWNlXG4gICAgICAgICAgICAgICAgbmV3UnVsZXMgPSBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnJlbnRRdWVyeS5ydWxlcy5zbGljZSgwLCBjdXJyZW50UXVlcnkucnVsZXMuaW5kZXhPZihvbGRSdWxlKSksXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAuLi5jdXJyZW50UXVlcnkucnVsZXMuc2xpY2UoY3VycmVudFF1ZXJ5LnJ1bGVzLmluZGV4T2Yob2xkUnVsZSkgKyAxLCBjdXJyZW50UXVlcnkucnVsZXMubGVuZ3RoKVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1J1bGVzID0gY3VycmVudFF1ZXJ5LnJ1bGVzLmZpbHRlcigocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkICE9PSBpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdSdWxlcyA9IFsuLi5uZXdSdWxlcywgcXVlcnldO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0UnVsZXMoe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBjdXJyZW50UXVlcnkuY29uZGl0aW9uLFxuICAgICAgICAgICAgcnVsZXM6IG5ld1J1bGVzXG4gICAgICAgIH0sIHJlbG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVJ1bGUoaWQ6IHN0cmluZywgcmVsb2FkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBjdXJyZW50UXVlcnkgPSBmaWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzPy5bMF07XG4gICAgICAgIGNvbnN0IG9sZFJ1bGUgPSBjdXJyZW50UXVlcnkucnVsZXMuZmluZCgocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkID09PSBpZCkgYXMgUXVlcnlSdWxlTW9kZWw7XG4gICAgICAgIGlmICghb2xkUnVsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV3UnVsZXMgPSBjdXJyZW50UXVlcnkucnVsZXMuZmlsdGVyKChyKSA9PiAociBhcyBRdWVyeVJ1bGVNb2RlbCkuaWQgIT09IGlkKTtcbiAgICAgICAgdGhpcy5zZXRSdWxlcyh7XG4gICAgICAgICAgICBjb25kaXRpb246IGN1cnJlbnRRdWVyeS5jb25kaXRpb24sXG4gICAgICAgICAgICBydWxlczogbmV3UnVsZXNcbiAgICAgICAgfSwgcmVsb2FkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWUodmFsdWU6IGFueSwgb3B0cz86IEFkZEVudGl0aWVzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmFkZFZhbHVlKHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBzZXJ0VmFsdWUodmFsdWU6IGFueSwga2V5ID0gXCJpZFwiKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBzZXJ0VmFsdWUodmFsdWUsIGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZVZhbHVlKHZhbHVlOiBhbnksIGtleSA9IFwiaWRcIik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnJlbW92ZVZhbHVlKHZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNldFJlc3VsdCh3YWl0Rm9yTmV4dEZpbHRlcjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXdhaXRGb3JOZXh0RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiBudWxsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgICAgICByZXNldFJlc3VsdDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzPzogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogRmlsdGVyUGFyYW1ldGVyc01vZGVsIHtcbiAgICAgICAgY29uc3QgeyBiYXNlUnVsZXMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgcGFyYW1ldGVycyA9IHtcbiAgICAgICAgICAgIC4uLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICBydWxlczogZmlsdGVyUGFyYW1ldGVycz8ucnVsZXMgPyBbLi4uZmlsdGVyUGFyYW1ldGVycy5ydWxlc10gOiBbXVxuICAgICAgICB9O1xuICAgICAgICBpZiAoYmFzZVJ1bGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHBhcmFtZXRlcnMucnVsZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uOiBcImFuZFwiLFxuICAgICAgICAgICAgICAgIHJ1bGVzOiBiYXNlUnVsZXNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJhbWV0ZXJzO1xuICAgIH1cbn1cbiJdfQ==
|