@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.
Files changed (46) hide show
  1. package/esm2020/lib/components/nice-filter-view/components/common/data.directive.mjs +14 -0
  2. package/esm2020/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.mjs +22 -0
  3. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +85 -0
  4. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export.directive.mjs +27 -0
  5. package/esm2020/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +33 -0
  6. package/esm2020/lib/components/nice-filter-view/components/search/search.component.mjs +54 -0
  7. package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +48 -0
  8. package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +58 -0
  9. package/esm2020/lib/components/nice-filter-view/directives/mat-tables.mjs +22 -0
  10. package/esm2020/lib/components/nice-filter-view/directives/query-params.directive.mjs +81 -0
  11. package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +89 -0
  12. package/esm2020/lib/components/nice-filter-view/nice-filter-view.component.mjs +34 -0
  13. package/esm2020/lib/components/nice-filter-view/nice-filter-view.constant.mjs +5 -0
  14. package/esm2020/lib/components/nice-filter-view/nice-filter-view.module.mjs +143 -0
  15. package/esm2020/lib/components/nice-filter-view/public-api.mjs +16 -0
  16. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +29 -0
  17. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +229 -0
  18. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +119 -0
  19. package/esm2020/lib/components/public-api.mjs +2 -1
  20. package/esm2020/lib/utils/query-params.utils.mjs +5 -1
  21. package/fesm2015/recursyve-nice-data-filter-kit.mjs +958 -17
  22. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  23. package/fesm2020/recursyve-nice-data-filter-kit.mjs +972 -16
  24. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  25. package/lib/components/nice-filter-view/components/common/data.directive.d.ts +8 -0
  26. package/lib/components/nice-filter-view/components/custom-data-view/custom-data-view.component.d.ts +11 -0
  27. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +25 -0
  28. package/lib/components/nice-filter-view/components/export-buttons/export.directive.d.ts +11 -0
  29. package/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.d.ts +14 -0
  30. package/lib/components/nice-filter-view/components/search/search.component.d.ts +20 -0
  31. package/lib/components/nice-filter-view/directives/mat-paginator.d.ts +16 -0
  32. package/lib/components/nice-filter-view/directives/mat-sort.d.ts +16 -0
  33. package/lib/components/nice-filter-view/directives/mat-tables.d.ts +12 -0
  34. package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +21 -0
  35. package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +55 -0
  36. package/lib/components/nice-filter-view/nice-filter-view.component.d.ts +12 -0
  37. package/lib/components/nice-filter-view/nice-filter-view.constant.d.ts +4 -0
  38. package/lib/components/nice-filter-view/nice-filter-view.module.d.ts +40 -0
  39. package/lib/components/nice-filter-view/public-api.d.ts +15 -0
  40. package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +15 -0
  41. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +36 -0
  42. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +31 -0
  43. package/lib/components/public-api.d.ts +1 -0
  44. package/lib/utils/query-params.utils.d.ts +3 -0
  45. package/package.json +1 -1
  46. package/src/lib/nice-data-filter.theme.scss +25 -0
@@ -0,0 +1,119 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Inject, Injectable } from "@angular/core";
3
+ import { arrayAdd, arrayRemove, arrayUpsert, EntityStore, StoreConfig } from "@datorama/akita";
4
+ import { FILTER_VIEW_STATE } from "../nice-filter-view.constant";
5
+ import * as i0 from "@angular/core";
6
+ export const initialValue = {
7
+ subStates: {},
8
+ mode: "paginated",
9
+ autoLoad: true,
10
+ disabled: false,
11
+ filterConfigLoading: false,
12
+ filterConfig: [],
13
+ filterResult: null,
14
+ filterParameters: {
15
+ start: 0,
16
+ length: 10,
17
+ order: {},
18
+ search: "",
19
+ rules: [],
20
+ data: {}
21
+ },
22
+ baseRules: [],
23
+ queryParams: null,
24
+ resetResult: false
25
+ };
26
+ let NiceFilterViewStore = class NiceFilterViewStore extends EntityStore {
27
+ constructor(state) {
28
+ super({
29
+ ...initialValue,
30
+ ...state
31
+ });
32
+ }
33
+ setFilterConfigLoading(loading) {
34
+ this.update({ filterConfigLoading: loading });
35
+ }
36
+ setParameters(filterParameters) {
37
+ this.update({ filterParameters });
38
+ }
39
+ setResult(filterResult) {
40
+ const { mode, resetResult } = this.getValue();
41
+ if (mode === "accumulated") {
42
+ this.update((state) => ({
43
+ filterResult: {
44
+ page: filterResult.page,
45
+ total: filterResult.total,
46
+ values: [
47
+ ...(resetResult ? [] : state.filterResult?.values ?? []),
48
+ ...filterResult.values
49
+ ]
50
+ },
51
+ resetResult: false
52
+ }));
53
+ }
54
+ else {
55
+ this.update({
56
+ filterResult
57
+ });
58
+ }
59
+ if (mode === "accumulated") {
60
+ this.add(filterResult.values);
61
+ }
62
+ else {
63
+ this.set(filterResult.values);
64
+ }
65
+ }
66
+ addValue(value, opts) {
67
+ const { filterResult } = this.getValue();
68
+ if (!filterResult) {
69
+ return;
70
+ }
71
+ this.update({
72
+ filterResult: {
73
+ ...filterResult,
74
+ values: arrayAdd(filterResult.values, value, opts)
75
+ }
76
+ });
77
+ this.add(value, opts);
78
+ }
79
+ upsertValue(value, key = "id") {
80
+ const { filterResult } = this.getValue();
81
+ if (!filterResult) {
82
+ return;
83
+ }
84
+ this.update({
85
+ filterResult: {
86
+ ...filterResult,
87
+ values: arrayUpsert(filterResult.values, value[key], value)
88
+ }
89
+ });
90
+ this.upsert(value[key], value);
91
+ }
92
+ removeValue(value, key = "id") {
93
+ const { filterResult } = this.getValue();
94
+ if (!filterResult) {
95
+ return;
96
+ }
97
+ this.update({
98
+ filterResult: {
99
+ ...filterResult,
100
+ values: arrayRemove(filterResult.values, value[key])
101
+ }
102
+ });
103
+ this.remove(value[key]);
104
+ }
105
+ };
106
+ NiceFilterViewStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore, deps: [{ token: FILTER_VIEW_STATE }], target: i0.ɵɵFactoryTarget.Injectable });
107
+ NiceFilterViewStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore });
108
+ NiceFilterViewStore = __decorate([
109
+ StoreConfig({ name: "nice-filter-view", resettable: true }),
110
+ __metadata("design:paramtypes", [Object])
111
+ ], NiceFilterViewStore);
112
+ export { NiceFilterViewStore };
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore, decorators: [{
114
+ type: Injectable
115
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
116
+ type: Inject,
117
+ args: [FILTER_VIEW_STATE]
118
+ }] }]; } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBZSxXQUFXLEVBQVcsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLckgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBZ0JqRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXdCO0lBQzdDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsSUFBSSxFQUFFLFdBQVc7SUFDakIsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsS0FBSztJQUNmLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsWUFBWSxFQUFFLElBQUk7SUFDbEIsZ0JBQWdCLEVBQUU7UUFDZCxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sRUFBRSxFQUFFO1FBQ1YsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxFQUFFO1FBQ1QsSUFBSSxFQUFFLEVBQUU7S0FDWDtJQUNELFNBQVMsRUFBRSxFQUFFO0lBQ2IsV0FBVyxFQUFFLElBQUk7SUFDakIsV0FBVyxFQUFFLEtBQUs7Q0FDckIsQ0FBQztJQUlXLG1CQUFtQixTQUFuQixtQkFBb0IsU0FBUSxXQUFnQztJQUNyRSxZQUF1QyxLQUFtQztRQUN0RSxLQUFLLENBQUM7WUFDRixHQUFHLFlBQVk7WUFDZixHQUFHLEtBQUs7U0FDWCxD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WSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkQ7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDSixDQUFBO2dIQTFGWSxtQkFBbUIsa0JBQ1IsaUJBQWlCO29IQUQ1QixtQkFBbUI7QUFBbkIsbUJBQW1CO0lBRC9CLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7O0dBQy9DLG1CQUFtQixDQTBGL0I7U0ExRlksbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRi9CLFVBQVU7OzBCQUdNLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGFycmF5QWRkLCBhcnJheVJlbW92ZSwgYXJyYXlVcHNlcnQsIEVudGl0eVN0YXRlLCBFbnRpdHlTdG9yZSwgSGFzaE1hcCwgU3RvcmVDb25maWcgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBBZGRFbnRpdGllc09wdGlvbnMgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhL3NyYy9saWIvYWRkRW50aXRpZXNcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsIEZpbHRlclBhcmFtZXRlcnNNb2RlbCwgRmlsdGVyUmVzdWx0TW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgUXVlcnlNb2RlbCwgUXVlcnlSdWxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBGSUxURVJfVklFV19TVEFURSB9IGZyb20gXCIuLi9uaWNlLWZpbHRlci12aWV3LmNvbnN0YW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUZpbHRlclZpZXdTdGF0ZSBleHRlbmRzIEVudGl0eVN0YXRlIHtcbiAgICBzdWJTdGF0ZXM6IEhhc2hNYXA8YW55PjtcbiAgICBtb2RlOiBcInBhZ2luYXRlZFwiIHwgXCJhY2N1bXVsYXRlZFwiO1xuICAgIGF1dG9Mb2FkOiBib29sZWFuO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIGZpbHRlckNvbmZpZ0xvYWRpbmc6IGJvb2xlYW47XG4gICAgZmlsdGVyQ29uZmlnOiBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXTtcbiAgICBmaWx0ZXJSZXN1bHQ6IEZpbHRlclJlc3VsdE1vZGVsIHwgbnVsbDtcbiAgICBmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWw7XG4gICAgYmFzZVJ1bGVzOiAoUXVlcnlSdWxlTW9kZWwgfCBRdWVyeU1vZGVsKVtdO1xuICAgIHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtcztcbiAgICByZXNldFJlc3VsdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxWYWx1ZTogTmljZUZpbHRlclZpZXdTdGF0ZSA9IHtcbiAgICBzdWJTdGF0ZXM6IHt9LFxuICAgIG1vZGU6IFwicGFnaW5hdGVkXCIsXG4gICAgYXV0b0xvYWQ6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGZpbHRlckNvbmZpZ0xvYWRpbmc6IGZhbHNlLFxuICAgIGZpbHRlckNvbmZpZzogW10sXG4gICAgZmlsdGVyUmVzdWx0OiBudWxsLFxuICAgIGZpbHRlclBhcmFtZXRlcnM6IHtcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGxlbmd0aDogMTAsXG4gICAgICAgIG9yZGVyOiB7fSxcbiAgICAgICAgc2VhcmNoOiBcIlwiLFxuICAgICAgICBydWxlczogW10sXG4gICAgICAgIGRhdGE6IHt9XG4gICAgfSxcbiAgICBiYXNlUnVsZXM6IFtdLFxuICAgIHF1ZXJ5UGFyYW1zOiBudWxsLFxuICAgIHJlc2V0UmVzdWx0OiBmYWxzZVxufTtcblxuQEluamVjdGFibGUoKVxuQFN0b3JlQ29uZmlnKHsgbmFtZTogXCJuaWNlLWZpbHRlci12aWV3XCIsIHJlc2V0dGFibGU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyVmlld1N0b3JlIGV4dGVuZHMgRW50aXR5U3RvcmU8TmljZUZpbHRlclZpZXdTdGF0ZT4ge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRklMVEVSX1ZJRVdfU1RBVEUpIHN0YXRlOiBQYXJ0aWFsPE5pY2VGaWx0ZXJWaWV3U3RhdGU+KSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIC4uLmluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgIC4uLnN0YXRlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRGaWx0ZXJDb25maWdMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGUoeyBmaWx0ZXJDb25maWdMb2FkaW5nOiBsb2FkaW5nIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZSh7IGZpbHRlclBhcmFtZXRlcnMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFJlc3VsdChmaWx0ZXJSZXN1bHQ6IEZpbHRlclJlc3VsdE1vZGVsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgbW9kZSwgcmVzZXRSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKG1vZGUgPT09IFwiYWNjdW11bGF0ZWRcIikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUoKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgICAgICBwYWdlOiBmaWx0ZXJSZXN1bHQucGFnZSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IGZpbHRlclJlc3VsdC50b3RhbCxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi4ocmVzZXRSZXN1bHQgPyBbXSA6IHN0YXRlLmZpbHRlclJlc3VsdD8udmFsdWVzID8/IFtdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdC52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzZXRSZXN1bHQ6IGZhbHNlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtb2RlID09PSBcImFjY3VtdWxhdGVkXCIpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKGZpbHRlclJlc3VsdC52YWx1ZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXQoZmlsdGVyUmVzdWx0LnZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWUodmFsdWU6IGFueSwgb3B0cz86IEFkZEVudGl0aWVzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclJlc3VsdCB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoIWZpbHRlclJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGUoe1xuICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyUmVzdWx0LFxuICAgICAgICAgICAgICAgIHZhbHVlczogYXJyYXlBZGQoZmlsdGVyUmVzdWx0LnZhbHVlcywgdmFsdWUsIG9wdHMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRkKHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBzZXJ0VmFsdWUodmFsdWU6IGFueSwga2V5ID0gXCJpZFwiKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheVVwc2VydChmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZVtrZXldLCB2YWx1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cHNlcnQodmFsdWVba2V5XSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZSh2YWx1ZTogYW55LCBrZXkgPSBcImlkXCIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5UmVtb3ZlKGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlW2tleV0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVtb3ZlKHZhbHVlW2tleV0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  export * from "./base-list/public-api";
2
2
  export * from "./multi-state-list/public-api";
3
+ export * from "./nice-filter-view/public-api";
3
4
  export * from "./query-builder/public-api";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIGV4cG9ydCAqIGZyb20gXCIuL2Jhc2UtbGlzdC9wdWJsaWMtYXBpXCI7XG4gZXhwb3J0ICogZnJvbSBcIi4vbXVsdGktc3RhdGUtbGlzdC9wdWJsaWMtYXBpXCI7XG4gZXhwb3J0ICogZnJvbSBcIi4vcXVlcnktYnVpbGRlci9wdWJsaWMtYXBpXCI7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIgZXhwb3J0ICogZnJvbSBcIi4vYmFzZS1saXN0L3B1YmxpYy1hcGlcIjtcbiBleHBvcnQgKiBmcm9tIFwiLi9tdWx0aS1zdGF0ZS1saXN0L3B1YmxpYy1hcGlcIjtcbiBleHBvcnQgKiBmcm9tIFwiLi9uaWNlLWZpbHRlci12aWV3L3B1YmxpYy1hcGlcIjtcbiBleHBvcnQgKiBmcm9tIFwiLi9xdWVyeS1idWlsZGVyL3B1YmxpYy1hcGlcIjtcbiJdfQ==
@@ -1,6 +1,10 @@
1
1
  import { HttpParams } from "@angular/common/http";
2
2
  import { isNullOrUndefined } from "@recursyve/nice-ui-kit.v2";
3
3
  export class QueryParamsUtils {
4
+ static hasFilterParameters(params) {
5
+ const keys = ["start", "length", "order", "search", "rules"];
6
+ return Object.keys(params).some(key => keys.includes(key));
7
+ }
4
8
  static extractFilterParameters(params) {
5
9
  const filters = {};
6
10
  if (!isNullOrUndefined(params.start)) {
@@ -63,4 +67,4 @@ export class QueryParamsUtils {
63
67
  }).toString();
64
68
  }
65
69
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxDQUFDLHVCQUF1QixDQUFDLE1BQThCO1FBQ2hFLE1BQU0sT0FBTyxHQUEwQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSTtnQkFDQSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ3hCO1NBQ0o7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25DLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUNsQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsSUFBSTtnQkFDQSxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ3hCO1NBQ0o7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLGdCQUF1QztRQUM3RSxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQztTQUN6QztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNILE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6RDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVE7UUFDN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3pDLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDckIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxVQUFVLENBQUM7WUFDbEIsVUFBVSxFQUFFLEdBQUc7U0FDbEIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IGlzTnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcbmltcG9ydCB7IEZpbHRlclBhcmFtZXRlcnNNb2RlbCB9IGZyb20gXCIuLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVBhcmFtc1V0aWxzIHtcbiAgICBwdWJsaWMgc3RhdGljIGV4dHJhY3RGaWx0ZXJQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCB7XG4gICAgICAgIGNvbnN0IGZpbHRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCA9IHt9O1xuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5zdGFydCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMuc3RhcnQgPSBOdW1iZXIocGFyYW1zLnN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5sZW5ndGgpKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLmxlbmd0aCA9IE51bWJlcihwYXJhbXMubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5vcmRlcikpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZmlsdGVycy5vcmRlciA9IEpTT04ucGFyc2UocGFyYW1zLm9yZGVyKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVycy5vcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5zZWFyY2gpKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnNlYXJjaCA9IHBhcmFtcy5zZWFyY2g7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChwYXJhbXMucnVsZXMpKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGZpbHRlcnMucnVsZXMgPSBKU09OLnBhcnNlKHBhcmFtcy5ydWxlcyk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGZpbHRlcnMucnVsZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlsdGVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZpbHRlclBhcmFtZXRlcnNUb1BhcmFtc01hcChmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICAgICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5zdGFydCkpIHtcbiAgICAgICAgICAgIHBhcmFtcy5zdGFydCA9IGZpbHRlclBhcmFtZXRlcnMuc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChmaWx0ZXJQYXJhbWV0ZXJzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHBhcmFtcy5sZW5ndGggPSBmaWx0ZXJQYXJhbWV0ZXJzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMub3JkZXIpKSB7XG4gICAgICAgICAgICBwYXJhbXMub3JkZXIgPSBKU09OLnN0cmluZ2lmeShmaWx0ZXJQYXJhbWV0ZXJzLm9yZGVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtcy5vcmRlciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChmaWx0ZXJQYXJhbWV0ZXJzLnNlYXJjaCkpIHtcbiAgICAgICAgICAgIHBhcmFtcy5zZWFyY2ggPSBmaWx0ZXJQYXJhbWV0ZXJzLnNlYXJjaDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMucnVsZXMpKSB7XG4gICAgICAgICAgICBwYXJhbXMucnVsZXMgPSBKU09OLnN0cmluZ2lmeShmaWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tT2JqZWN0KG9iajogYW55KTogc3RyaW5nIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMob2JqKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG5ldyBIdHRwUGFyYW1zKHtcbiAgICAgICAgICAgIGZyb21PYmplY3Q6IG9ialxuICAgICAgICB9KS50b1N0cmluZygpO1xuICAgIH1cbn1cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQThCO1FBQzVELE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxNQUE4QjtRQUNoRSxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNKO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxnQkFBdUM7UUFDN0UsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO2FBQU07WUFDSCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksVUFBVSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbXNVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBoYXNGaWx0ZXJQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBrZXlzID0gW1wic3RhcnRcIiwgXCJsZW5ndGhcIiwgXCJvcmRlclwiLCBcInNlYXJjaFwiLCBcInJ1bGVzXCJdO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5zb21lKGtleSA9PiBrZXlzLmluY2x1ZGVzKGtleSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZXh0cmFjdEZpbHRlclBhcmFtZXRlcnMocGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmlsdGVyUGFyYW1ldGVyc01vZGVsIHtcbiAgICAgICAgY29uc3QgZmlsdGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsID0ge307XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLnN0YXJ0KSkge1xuICAgICAgICAgICAgZmlsdGVycy5zdGFydCA9IE51bWJlcihwYXJhbXMuc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMubGVuZ3RoID0gTnVtYmVyKHBhcmFtcy5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLm9yZGVyKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJzLm9yZGVyID0gSlNPTi5wYXJzZShwYXJhbXMub3JkZXIpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWx0ZXJzLm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLnNlYXJjaCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMuc2VhcmNoID0gcGFyYW1zLnNlYXJjaDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5ydWxlcykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZmlsdGVycy5ydWxlcyA9IEpTT04ucGFyc2UocGFyYW1zLnJ1bGVzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVycy5ydWxlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZmlsdGVyUGFyYW1ldGVyc1RvUGFyYW1zTWFwKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChmaWx0ZXJQYXJhbWV0ZXJzLnN0YXJ0KSkge1xuICAgICAgICAgICAgcGFyYW1zLnN0YXJ0ID0gZmlsdGVyUGFyYW1ldGVycy5zdGFydDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoKSkge1xuICAgICAgICAgICAgcGFyYW1zLmxlbmd0aCA9IGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5vcmRlcikpIHtcbiAgICAgICAgICAgIHBhcmFtcy5vcmRlciA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtZXRlcnMub3JkZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLm9yZGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoKSkge1xuICAgICAgICAgICAgcGFyYW1zLnNlYXJjaCA9IGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5ydWxlcykpIHtcbiAgICAgICAgICAgIHBhcmFtcy5ydWxlcyA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtZXRlcnMucnVsZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21PYmplY3Qob2JqOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgICAgICAgZnJvbU9iamVjdDogb2JqXG4gICAgICAgIH0pLnRvU3RyaW5nKCk7XG4gICAgfVxufVxuIl19