@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,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,
|
|
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,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQThCO1FBQzVELE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxNQUE4QjtRQUNoRSxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNKO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxnQkFBdUM7UUFDN0UsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO2FBQU07WUFDSCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksVUFBVSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbXNVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBoYXNGaWx0ZXJQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBrZXlzID0gW1wic3RhcnRcIiwgXCJsZW5ndGhcIiwgXCJvcmRlclwiLCBcInNlYXJjaFwiLCBcInJ1bGVzXCJdO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5zb21lKGtleSA9PiBrZXlzLmluY2x1ZGVzKGtleSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZXh0cmFjdEZpbHRlclBhcmFtZXRlcnMocGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmlsdGVyUGFyYW1ldGVyc01vZGVsIHtcbiAgICAgICAgY29uc3QgZmlsdGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsID0ge307XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLnN0YXJ0KSkge1xuICAgICAgICAgICAgZmlsdGVycy5zdGFydCA9IE51bWJlcihwYXJhbXMuc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMubGVuZ3RoID0gTnVtYmVyKHBhcmFtcy5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLm9yZGVyKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJzLm9yZGVyID0gSlNPTi5wYXJzZShwYXJhbXMub3JkZXIpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWx0ZXJzLm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLnNlYXJjaCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMuc2VhcmNoID0gcGFyYW1zLnNlYXJjaDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5ydWxlcykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZmlsdGVycy5ydWxlcyA9IEpTT04ucGFyc2UocGFyYW1zLnJ1bGVzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVycy5ydWxlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZmlsdGVyUGFyYW1ldGVyc1RvUGFyYW1zTWFwKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChmaWx0ZXJQYXJhbWV0ZXJzLnN0YXJ0KSkge1xuICAgICAgICAgICAgcGFyYW1zLnN0YXJ0ID0gZmlsdGVyUGFyYW1ldGVycy5zdGFydDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoKSkge1xuICAgICAgICAgICAgcGFyYW1zLmxlbmd0aCA9IGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5vcmRlcikpIHtcbiAgICAgICAgICAgIHBhcmFtcy5vcmRlciA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtZXRlcnMub3JkZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLm9yZGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoKSkge1xuICAgICAgICAgICAgcGFyYW1zLnNlYXJjaCA9IGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5ydWxlcykpIHtcbiAgICAgICAgICAgIHBhcmFtcy5ydWxlcyA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtZXRlcnMucnVsZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21PYmplY3Qob2JqOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgICAgICAgZnJvbU9iamVjdDogb2JqXG4gICAgICAgIH0pLnRvU3RyaW5nKCk7XG4gICAgfVxufVxuIl19
|