@recursyve/nice-data-filter-kit 15.0.1 → 15.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/nice-base-filter-view.component.mjs +2 -1
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +20 -2
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +95 -4
- package/esm2020/lib/directive/selectable-list/model/selectable-list-options.model.mjs +1 -1
- package/esm2020/lib/directive/selectable-list/selectable-list.directive.mjs +5 -2
- package/esm2020/lib/directive/selectable-list/store/selectable-list-state.service.mjs +10 -5
- package/esm2020/lib/models/filter.model.mjs +1 -1
- package/esm2020/lib/utils/filter.utils.mjs +3 -2
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +119 -10
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs +126 -10
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +1 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +4 -1
- package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +4 -0
- package/lib/directive/selectable-list/model/selectable-list-options.model.d.ts +1 -0
- package/lib/directive/selectable-list/store/selectable-list-state.service.d.ts +1 -0
- package/lib/models/filter.model.d.ts +2 -0
- package/package.json +1 -1
|
@@ -6,6 +6,9 @@ export class NiceSelectableListStateService {
|
|
|
6
6
|
get preloadedWindow() {
|
|
7
7
|
return this.options?.preloadWindow ?? 2;
|
|
8
8
|
}
|
|
9
|
+
get queryParamsDisabled() {
|
|
10
|
+
return this.options?.disableQueryParams ?? false;
|
|
11
|
+
}
|
|
9
12
|
constructor(store, route, router, preloadService, options) {
|
|
10
13
|
this.store = store;
|
|
11
14
|
this.route = route;
|
|
@@ -201,10 +204,12 @@ export class NiceSelectableListStateService {
|
|
|
201
204
|
};
|
|
202
205
|
}
|
|
203
206
|
setQueryParams() {
|
|
204
|
-
this.
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
207
|
+
if (!this.queryParamsDisabled) {
|
|
208
|
+
this.router.navigate([], {
|
|
209
|
+
queryParams: this.generateQueryParams(),
|
|
210
|
+
queryParamsHandling: "merge"
|
|
211
|
+
});
|
|
212
|
+
}
|
|
208
213
|
}
|
|
209
214
|
}
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2RpcmVjdGl2ZS9zZWxlY3RhYmxlLWxpc3Qvc3RvcmUvc2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQU1yRSxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ1ksS0FBZ0QsRUFDaEQsS0FBcUIsRUFDckIsTUFBYyxFQUNkLGNBQXVELEVBQ3ZELE9BQW1DO1FBSm5DLFVBQUssR0FBTCxLQUFLLENBQTJDO1FBQ2hELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBeUM7UUFDdkQsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7SUFDNUMsQ0FBQztJQUVHLFNBQVMsQ0FBQyxNQUFTO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sUUFBUSxDQUFDLFVBQWtCO1FBQzlCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENB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QyxDQUFDLElBQUk7WUFDbEMsUUFBUSxFQUFFLE1BQU0sSUFBSSxJQUFJO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUN2QyxtQkFBbUIsRUFBRSxPQUFPO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBhcnJheUFkZCwgYXJyYXlSZW1vdmUsIEVudGl0eVN0b3JlIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YVwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0TG9hZEFsbEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCIuLi9tb2RlbC9sb2FkLWFsbC1lbnRpdGllcy1vcHRpb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlU2VsZWN0YWJsZUxpc3RPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVsL3NlbGVjdGFibGUtbGlzdC1vcHRpb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlUHJlbG9hZFNlbGVjdGVkRW50aXRpZXNQcm92aWRlciB9IGZyb20gXCIuLi9wcm92aWRlcnMvcHJlbG9hZC1zZWxlY3RlZC1lbnRpdGllcy5wcm92aWRlclwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0U3RhdGUgfSBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3Quc3RhdGVcIjtcblxuZXhwb3J0IGNsYXNzIE5pY2VTZWxlY3RhYmxlTGlzdFN0YXRlU2VydmljZTxULCBJRCA9IGFueT4ge1xuICAgIHB1YmxpYyBnZXQgaWRLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uaWRLZXkgPz8gXCJpZFwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJlbG9hZGVkV2luZG93KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LnByZWxvYWRXaW5kb3cgPz8gMjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogRW50aXR5U3RvcmU8TmljZVNlbGVjdGFibGVMaXN0U3RhdGU8YW55Pj4sXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHByZWxvYWRTZXJ2aWNlPzogTmljZVByZWxvYWRTZWxlY3RlZEVudGl0aWVzUHJvdmlkZXI8VD4sXG4gICAgICAgIHByaXZhdGUgb3B0aW9ucz86IE5pY2VTZWxlY3RhYmxlTGlzdE9wdGlvbnNcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgc2V0QWN0aXZlKGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldEFjdGl2ZShlbnRpdHlbdGhpcy5pZEtleV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbmRleChpZGVudGlmaWVyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7IGlkcyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IGlkcy5pbmRleE9mKGlkZW50aWZpZXIpO1xuICAgICAgICByZXR1cm4gaW5kZXggKyAxO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RBbGwob3B0aW9ucz86IE5pY2VTZWxlY3RhYmxlTGlzdExvYWRBbGxFbnRpdGllc09wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLnByZWxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGFsbFNlbGVjdGVkOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkcyA9IGF3YWl0IHRoaXMucHJlbG9hZFNlcnZpY2UubG9hZEFsbEVudGl0aWVzKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnN0b3JlLnNldChpZHMubWFwKChpZCkgPT4gKHtcbiAgICAgICAgICAgIFt0aGlzLmlkS2V5XTogaWQsXG4gICAgICAgICAgICBsb2FkZWQ6IGZhbHNlXG4gICAgICAgIH0pKSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGFsbFNlbGVjdGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3QoaWQ6IElEKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IGFycmF5UmVtb3ZlKHN0YXRlLnVuc2VsZWN0ZWRFbnRpdHksIGlkIGFzIGFueSlcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuYWRkKHtcbiAgICAgICAgICAgIFt0aGlzLmlkS2V5XTogaWQsXG4gICAgICAgICAgICBsb2FkZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLnByZWxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLmxvYWRFbnRpdHlCeUlkKGlkIGFzIGFueSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwc2VydChpZCBhcyBhbnksIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRpdHksXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RNYW55KGlkczogSURbXSwgYWN0aXZlOiBJRCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnN0b3JlLmFkZChcbiAgICAgICAgICAgIGlkcy5tYXAoKGlkKSA9PiAoe1xuICAgICAgICAgICAgICAgIFt0aGlzLmlkS2V5XTogaWQsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZVxuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRBY3RpdmUoYWN0aXZlKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZEVudGl0aWVzKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbGVjdEVudGl0eShlbnRpdHk6IFQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgdW5zZWxlY3RlZEVudGl0eTogYXJyYXlSZW1vdmUoc3RhdGUudW5zZWxlY3RlZEVudGl0eSwgZW50aXR5W3RoaXMuaWRLZXldKVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS51cHNlcnQoZW50aXR5W3RoaXMuaWRLZXldLCB7IC4uLmVudGl0eSwgbG9hZGVkOiB0cnVlIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLnByZWxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICBjb25zdCBwcmVsb2FkZWRFbnRpdHkgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLnJlbG9hZEVudGl0eShlbnRpdHkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cHNlcnQocHJlbG9hZGVkRW50aXR5W3RoaXMuaWRLZXldLCB7IC4uLnByZWxvYWRlZEVudGl0eSwgbG9hZGVkOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbGVjdE1hbnlFbnRpdGllcyhlbnRpdGllczogVFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBzZXJ0TWFueShlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gKHsgLi4uZW50aXR5LCBsb2FkZWQ6IHRydWUgfSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWxvYWRlZEVudGl0aWVzID0gYXdhaXQgdGhpcy5wcmVsb2FkU2VydmljZS5yZWxvYWRFbnRpdGllcyhlbnRpdGllcyk7XG4gICAgICAgIHRoaXMuc3RvcmUudXBzZXJ0TWFueShwcmVsb2FkZWRFbnRpdGllcy5tYXAoKHByZWxvYWRlZEVudGl0eSkgPT4gKHsgLi4ucHJlbG9hZGVkRW50aXR5LCBsb2FkZWQ6IHRydWUgfSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdW5zZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2V0KFtdKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgYWxsU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgdW5zZWxlY3RlZEVudGl0eTogW11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0KGlkOiBJRCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICB1bnNlbGVjdGVkRW50aXR5OiBhcnJheUFkZChzdGF0ZS51bnNlbGVjdGVkRW50aXR5LCBpZClcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGlkIGFzIGFueSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0RW50aXR5KGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICB1bnNlbGVjdGVkRW50aXR5OiBhcnJheUFkZChzdGF0ZS51bnNlbGVjdGVkRW50aXR5LCBlbnRpdHlbdGhpcy5pZEtleV0pXG4gICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLnN0b3JlLnJlbW92ZShlbnRpdHlbdGhpcy5pZEtleV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNlbGVjdE1hbnlFbnRpdGllcyhlbnRpdGllczogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiBlbnRpdHlbdGhpcy5pZEtleV0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlRW50aXR5KGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZShlbnRpdHlbdGhpcy5pZEtleV0sIGVudGl0eSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldEVudGl0aWVzKGlkczogSURbXSwgYWN0aXZlSWQ6IElEKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IFtdLFxuICAgICAgICAgICAgYWxsU2VsZWN0ZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuc2V0KGlkcy5tYXAoKGlkKSA9PiAoe1xuICAgICAgICAgICAgW3RoaXMuaWRLZXldOiBpZCxcbiAgICAgICAgICAgIGxvYWRlZDogZmFsc2VcbiAgICAgICAgfSkpKTtcblxuICAgICAgICBpZiAoYWN0aXZlSWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0QWN0aXZlKGFjdGl2ZUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEVudGl0aWVzKHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZXh0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGlkcywgYWN0aXZlIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaWRzLmluZGV4T2YoYWN0aXZlKTtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkQWN0aXZlRW50aXR5KGlkc1tpbmRleCArIDFdLCAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJldmlvdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgaWRzLCBhY3RpdmUgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihhY3RpdmUpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2luZGV4IC0gMV0sIC0xKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZmlyc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgaWRzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEFjdGl2ZUVudGl0eShpZHNbMF0sIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsYXN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGlkcyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2lkcy5sZW5ndGggLSAxXSwgLTEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZW1vdmVBY3RpdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgYWN0aXZlLCBpZHMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihhY3RpdmUpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAoaWRzLmxlbmd0aCAtIDEpKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2luZGV4IC0gMV0sIC0xKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZEFjdGl2ZUVudGl0eShpZHNbaW5kZXggKyAxXSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZEFjdGl2ZUVudGl0eShpZDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRBY3RpdmUoaWQpO1xuXG4gICAgICAgICAgICBjb25zdCB7IGVudGl0aWVzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgICAgICBpZiAoIWVudGl0aWVzWytpZCArIGRpcmVjdGlvbiAqIHRoaXMucHJlbG9hZGVkV2luZG93XT8ubG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkRW50aXRpZXMoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRFbnRpdGllcyhsb2FkRXh0cmVtaXR5OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9Mb2FkID0gdGhpcy5nZXRMaXN0SWRUb0xvYWQobG9hZEV4dHJlbWl0eSk7XG4gICAgICAgIGlmICghdG9Mb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLmxvYWRFbnRpdGllc0J5SWQodG9Mb2FkKTtcbiAgICAgICAgdGhpcy5zdG9yZS51cHNlcnRNYW55KGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiAoeyAuLi5lbnRpdHksIGxvYWRlZDogdHJ1ZSB9KSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaXN0SWRUb0xvYWQobG9hZEV4dHJlbWl0eTogYm9vbGVhbik6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgeyBhY3RpdmUsIGlkcywgZW50aXRpZXMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgZnJvbSA9IGlkcy5pbmRleE9mKGFjdGl2ZSkgLSB0aGlzLnByZWxvYWRlZFdpbmRvdyA+IDAgPyBpZHMuaW5kZXhPZihhY3RpdmUpIC0gdGhpcy5wcmVsb2FkZWRXaW5kb3cgOiAwO1xuICAgICAgICBjb25zdCB0byA9IGlkcy5pbmRleE9mKGFjdGl2ZSkgKyB0aGlzLnByZWxvYWRlZFdpbmRvdyA8IGlkcy5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IGlkcy5pbmRleE9mKGFjdGl2ZSkgKyB0aGlzLnByZWxvYWRlZFdpbmRvd1xuICAgICAgICAgICAgOiBpZHMubGVuZ3RoIC0gMTtcblxuICAgICAgICBjb25zdCB0b0xvYWQgPSBbXTtcbiAgICAgICAgaWYgKGxvYWRFeHRyZW1pdHkpIHtcbiAgICAgICAgICAgIGlmIChpZHMubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0b0xvYWQucHVzaChpZHNbMF0sIGlkc1tpZHMubGVuZ3RoIC0gMV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGZyb207IGkgPD0gdG87IGkrKykge1xuICAgICAgICAgICAgaWYgKGlkc1tpXSA9PT0gbnVsbCB8fCBpZHNbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRvTG9hZC5pbmNsdWRlcyhpZHNbaV0pICYmICFlbnRpdGllc1tpZHNbaV1dPy5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0b0xvYWQucHVzaChpZHNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRvTG9hZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2VuZXJhdGVRdWVyeVBhcmFtcygpOiB7IHNlbGVjdGlvbjogbnVtYmVyW10gfCBudWxsOyBzZWxlY3RlZDogbnVtYmVyIHwgbnVsbDsgfSB7XG4gICAgICAgIGNvbnN0IHsgaWRzLCBhY3RpdmUgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbjogaWRzLmxlbmd0aCA/IGlkcyA6IG51bGwsXG4gICAgICAgICAgICBzZWxlY3RlZDogYWN0aXZlID8/IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UXVlcnlQYXJhbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5nZW5lcmF0ZVF1ZXJ5UGFyYW1zKCksXG4gICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCJcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2RpcmVjdGl2ZS9zZWxlY3RhYmxlLWxpc3Qvc3RvcmUvc2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQU1yRSxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDLElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxLQUFLLENBQUM7SUFDckQsQ0FBQztJQUVELFlBQ1ksS0FBZ0QsRUFDaEQsS0FBcUIsRUFDckIsTUFBYyxFQUNkLGNBQXVELEVBQ3ZELE9BQW1DO1FBSm5DLFVBQUssR0FBTCxLQUFLLENBQTJDO1FBQ2hELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBeUM7UUFDdkQsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7SUFDNUMsQ0FBQztJQUVHLFNBQVMsQ0FBQyxNQUFTO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sUUFBUSxDQUFDLFVBQWtCO1FBQzlCLE1BQU0sRUFBRSxHQUFHLEVB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USxFQUFFLENBQUM7UUFDOUMsT0FBTztZQUNILFNBQVMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbEMsUUFBUSxFQUFFLE1BQU0sSUFBSSxJQUFJO1NBQzNCLENBQUM7SUFDTixDQUFDO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtnQkFDckIsV0FBVyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtnQkFDdkMsbUJBQW1CLEVBQUUsT0FBTzthQUMvQixDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBhcnJheUFkZCwgYXJyYXlSZW1vdmUsIEVudGl0eVN0b3JlIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YVwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0TG9hZEFsbEVudGl0aWVzT3B0aW9ucyB9IGZyb20gXCIuLi9tb2RlbC9sb2FkLWFsbC1lbnRpdGllcy1vcHRpb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlU2VsZWN0YWJsZUxpc3RPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVsL3NlbGVjdGFibGUtbGlzdC1vcHRpb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlUHJlbG9hZFNlbGVjdGVkRW50aXRpZXNQcm92aWRlciB9IGZyb20gXCIuLi9wcm92aWRlcnMvcHJlbG9hZC1zZWxlY3RlZC1lbnRpdGllcy5wcm92aWRlclwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0U3RhdGUgfSBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3Quc3RhdGVcIjtcblxuZXhwb3J0IGNsYXNzIE5pY2VTZWxlY3RhYmxlTGlzdFN0YXRlU2VydmljZTxULCBJRCA9IGFueT4ge1xuICAgIHB1YmxpYyBnZXQgaWRLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uaWRLZXkgPz8gXCJpZFwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJlbG9hZGVkV2luZG93KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LnByZWxvYWRXaW5kb3cgPz8gMjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHF1ZXJ5UGFyYW1zRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmRpc2FibGVRdWVyeVBhcmFtcyA/PyBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogRW50aXR5U3RvcmU8TmljZVNlbGVjdGFibGVMaXN0U3RhdGU8YW55Pj4sXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHByZWxvYWRTZXJ2aWNlPzogTmljZVByZWxvYWRTZWxlY3RlZEVudGl0aWVzUHJvdmlkZXI8VD4sXG4gICAgICAgIHByaXZhdGUgb3B0aW9ucz86IE5pY2VTZWxlY3RhYmxlTGlzdE9wdGlvbnNcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgc2V0QWN0aXZlKGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldEFjdGl2ZShlbnRpdHlbdGhpcy5pZEtleV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbmRleChpZGVudGlmaWVyOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB7IGlkcyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBpbmRleCA9IGlkcy5pbmRleE9mKGlkZW50aWZpZXIpO1xuICAgICAgICByZXR1cm4gaW5kZXggKyAxO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RBbGwob3B0aW9ucz86IE5pY2VTZWxlY3RhYmxlTGlzdExvYWRBbGxFbnRpdGllc09wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLnByZWxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGFsbFNlbGVjdGVkOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkcyA9IGF3YWl0IHRoaXMucHJlbG9hZFNlcnZpY2UubG9hZEFsbEVudGl0aWVzKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnN0b3JlLnNldChpZHMubWFwKChpZCkgPT4gKHtcbiAgICAgICAgICAgIFt0aGlzLmlkS2V5XTogaWQsXG4gICAgICAgICAgICBsb2FkZWQ6IGZhbHNlXG4gICAgICAgIH0pKSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGFsbFNlbGVjdGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3QoaWQ6IElEKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IGFycmF5UmVtb3ZlKHN0YXRlLnVuc2VsZWN0ZWRFbnRpdHksIGlkIGFzIGFueSlcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuYWRkKHtcbiAgICAgICAgICAgIFt0aGlzLmlkS2V5XTogaWQsXG4gICAgICAgICAgICBsb2FkZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLnByZWxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLmxvYWRFbnRpdHlCeUlkKGlkIGFzIGFueSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwc2VydChpZCBhcyBhbnksIHtcbiAgICAgICAgICAgICAgICAuLi5lbnRpdHksXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RNYW55KGlkczogSURbXSwgYWN0aXZlOiBJRCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnN0b3JlLmFkZChcbiAgICAgICAgICAgIGlkcy5tYXAoKGlkKSA9PiAoe1xuICAgICAgICAgICAgICAgIFt0aGlzLmlkS2V5XTogaWQsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZVxuICAgICAgICAgICAgfSkpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRBY3RpdmUoYWN0aXZlKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZEVudGl0aWVzKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbGVjdEVudGl0eShlbnRpdHk6IFQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgdW5zZWxlY3RlZEVudGl0eTogYXJyYXlSZW1vdmUoc3RhdGUudW5zZWxlY3RlZEVudGl0eSwgZW50aXR5W3RoaXMuaWRLZXldKVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS51cHNlcnQoZW50aXR5W3RoaXMuaWRLZXldLCB7IC4uLmVudGl0eSwgbG9hZGVkOiB0cnVlIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLnByZWxvYWRTZXJ2aWNlKSB7XG4gICAgICAgICAgICBjb25zdCBwcmVsb2FkZWRFbnRpdHkgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLnJlbG9hZEVudGl0eShlbnRpdHkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cHNlcnQocHJlbG9hZGVkRW50aXR5W3RoaXMuaWRLZXldLCB7IC4uLnByZWxvYWRlZEVudGl0eSwgbG9hZGVkOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbGVjdE1hbnlFbnRpdGllcyhlbnRpdGllczogVFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBzZXJ0TWFueShlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gKHsgLi4uZW50aXR5LCBsb2FkZWQ6IHRydWUgfSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWxvYWRlZEVudGl0aWVzID0gYXdhaXQgdGhpcy5wcmVsb2FkU2VydmljZS5yZWxvYWRFbnRpdGllcyhlbnRpdGllcyk7XG4gICAgICAgIHRoaXMuc3RvcmUudXBzZXJ0TWFueShwcmVsb2FkZWRFbnRpdGllcy5tYXAoKHByZWxvYWRlZEVudGl0eSkgPT4gKHsgLi4ucHJlbG9hZGVkRW50aXR5LCBsb2FkZWQ6IHRydWUgfSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdW5zZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2V0KFtdKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgYWxsU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgdW5zZWxlY3RlZEVudGl0eTogW11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0KGlkOiBJRCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICB1bnNlbGVjdGVkRW50aXR5OiBhcnJheUFkZChzdGF0ZS51bnNlbGVjdGVkRW50aXR5LCBpZClcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGlkIGFzIGFueSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0RW50aXR5KGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICB1bnNlbGVjdGVkRW50aXR5OiBhcnJheUFkZChzdGF0ZS51bnNlbGVjdGVkRW50aXR5LCBlbnRpdHlbdGhpcy5pZEtleV0pXG4gICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLnN0b3JlLnJlbW92ZShlbnRpdHlbdGhpcy5pZEtleV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNlbGVjdE1hbnlFbnRpdGllcyhlbnRpdGllczogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiBlbnRpdHlbdGhpcy5pZEtleV0pKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlRW50aXR5KGVudGl0eTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZShlbnRpdHlbdGhpcy5pZEtleV0sIGVudGl0eSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldEVudGl0aWVzKGlkczogSURbXSwgYWN0aXZlSWQ6IElEKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IFtdLFxuICAgICAgICAgICAgYWxsU2VsZWN0ZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuc2V0KGlkcy5tYXAoKGlkKSA9PiAoe1xuICAgICAgICAgICAgW3RoaXMuaWRLZXldOiBpZCxcbiAgICAgICAgICAgIGxvYWRlZDogZmFsc2VcbiAgICAgICAgfSkpKTtcblxuICAgICAgICBpZiAoYWN0aXZlSWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0QWN0aXZlKGFjdGl2ZUlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEVudGl0aWVzKHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZXh0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGlkcywgYWN0aXZlIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaWRzLmluZGV4T2YoYWN0aXZlKTtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkQWN0aXZlRW50aXR5KGlkc1tpbmRleCArIDFdLCAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJldmlvdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgaWRzLCBhY3RpdmUgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihhY3RpdmUpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2luZGV4IC0gMV0sIC0xKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZmlyc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgaWRzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEFjdGl2ZUVudGl0eShpZHNbMF0sIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsYXN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGlkcyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2lkcy5sZW5ndGggLSAxXSwgLTEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZW1vdmVBY3RpdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgYWN0aXZlLCBpZHMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihhY3RpdmUpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAoaWRzLmxlbmd0aCAtIDEpKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2luZGV4IC0gMV0sIC0xKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZEFjdGl2ZUVudGl0eShpZHNbaW5kZXggKyAxXSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZEFjdGl2ZUVudGl0eShpZDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRBY3RpdmUoaWQpO1xuXG4gICAgICAgICAgICBjb25zdCB7IGVudGl0aWVzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgICAgICBpZiAoIWVudGl0aWVzWytpZCArIGRpcmVjdGlvbiAqIHRoaXMucHJlbG9hZGVkV2luZG93XT8ubG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkRW50aXRpZXMoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRFbnRpdGllcyhsb2FkRXh0cmVtaXR5OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9Mb2FkID0gdGhpcy5nZXRMaXN0SWRUb0xvYWQobG9hZEV4dHJlbWl0eSk7XG4gICAgICAgIGlmICghdG9Mb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLmxvYWRFbnRpdGllc0J5SWQodG9Mb2FkKTtcbiAgICAgICAgdGhpcy5zdG9yZS51cHNlcnRNYW55KGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiAoeyAuLi5lbnRpdHksIGxvYWRlZDogdHJ1ZSB9KSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaXN0SWRUb0xvYWQobG9hZEV4dHJlbWl0eTogYm9vbGVhbik6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgeyBhY3RpdmUsIGlkcywgZW50aXRpZXMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgZnJvbSA9IGlkcy5pbmRleE9mKGFjdGl2ZSkgLSB0aGlzLnByZWxvYWRlZFdpbmRvdyA+IDAgPyBpZHMuaW5kZXhPZihhY3RpdmUpIC0gdGhpcy5wcmVsb2FkZWRXaW5kb3cgOiAwO1xuICAgICAgICBjb25zdCB0byA9IGlkcy5pbmRleE9mKGFjdGl2ZSkgKyB0aGlzLnByZWxvYWRlZFdpbmRvdyA8IGlkcy5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IGlkcy5pbmRleE9mKGFjdGl2ZSkgKyB0aGlzLnByZWxvYWRlZFdpbmRvd1xuICAgICAgICAgICAgOiBpZHMubGVuZ3RoIC0gMTtcblxuICAgICAgICBjb25zdCB0b0xvYWQgPSBbXTtcbiAgICAgICAgaWYgKGxvYWRFeHRyZW1pdHkpIHtcbiAgICAgICAgICAgIGlmIChpZHMubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0b0xvYWQucHVzaChpZHNbMF0sIGlkc1tpZHMubGVuZ3RoIC0gMV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGZyb207IGkgPD0gdG87IGkrKykge1xuICAgICAgICAgICAgaWYgKGlkc1tpXSA9PT0gbnVsbCB8fCBpZHNbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRvTG9hZC5pbmNsdWRlcyhpZHNbaV0pICYmICFlbnRpdGllc1tpZHNbaV1dPy5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0b0xvYWQucHVzaChpZHNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRvTG9hZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2VuZXJhdGVRdWVyeVBhcmFtcygpOiB7IHNlbGVjdGlvbjogbnVtYmVyW10gfCBudWxsOyBzZWxlY3RlZDogbnVtYmVyIHwgbnVsbDsgfSB7XG4gICAgICAgIGNvbnN0IHsgaWRzLCBhY3RpdmUgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbjogaWRzLmxlbmd0aCA/IGlkcyA6IG51bGwsXG4gICAgICAgICAgICBzZWxlY3RlZDogYWN0aXZlID8/IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UXVlcnlQYXJhbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5xdWVyeVBhcmFtc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmdlbmVyYXRlUXVlcnlQYXJhbXMoKSxcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -6,4 +6,4 @@ export var FilterType;
|
|
|
6
6
|
FilterType["Select"] = "select";
|
|
7
7
|
FilterType["Radio"] = "radio";
|
|
8
8
|
})(FilterType || (FilterType = {}));
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9tb2RlbHMvZmlsdGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDQSxNQUFNLENBQU4sSUFBWSxVQU1YO0FBTkQsV0FBWSxVQUFVO0lBQ2xCLDJCQUFhLENBQUE7SUFDYiwrQkFBaUIsQ0FBQTtJQUNqQiwyQkFBYSxDQUFBO0lBQ2IsK0JBQWlCLENBQUE7SUFDakIsNkJBQWUsQ0FBQTtBQUNuQixDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeU1vZGVsIH0gZnJvbSBcIi4vcXVlcnkubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwge1xuICAgIHN0YXJ0PzogbnVtYmVyO1xuICAgIGxlbmd0aD86IG51bWJlcjtcbiAgICBvcmRlcj86IE9yZGVyTW9kZWwgfCBudWxsOyAvLyBUaGlzIGlzIHRoZSBwcmltYXJ5IG9yZGVyICh1c2VkIGZvciB0aGUgbWF0IHRhYmxlKVxuICAgIGZhbGxiYWNrT3JkZXI/OiBPcmRlck1vZGVsIHwgT3JkZXJNb2RlbFtdOyAvLyBUaGVzZSBvcmRlcnMgYXJlIGZhbGxiYWNrOyB3ZWxsIGJlIHBsYWNlZCBhZnRlciBvcmRlclxuICAgIHNlYXJjaD86IHN0cmluZztcbiAgICBydWxlcz86IFF1ZXJ5TW9kZWxbXTtcbiAgICBkcmF3PzogbnVtYmVyO1xuICAgIGRhdGE/OiBvYmplY3Q7XG4gICAgZ3JvdXBCeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJQYWdlTW9kZSB7XG4gICAgbnVtYmVyOiBudW1iZXI7XG4gICAgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclNlYXJjaE1vZGVsIHtcbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9yZGVyTW9kZWwge1xuICAgIGNvbHVtbj86IHN0cmluZztcbiAgICBkaXJlY3Rpb24/OiBcImFzY1wiIHwgXCJkZXNjXCI7XG4gICAgbnVsbExhc3Q/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlclF1ZXJ5TW9kZWwge1xuICAgIHBhZ2U/OiBGaWx0ZXJQYWdlTW9kZTtcbiAgICBzZWFyY2g/OiBGaWx0ZXJTZWFyY2hNb2RlbDtcbiAgICBxdWVyeT86IFF1ZXJ5TW9kZWw7XG4gICAgb3JkZXI/OiBPcmRlck1vZGVsIHwgT3JkZXJNb2RlbFtdO1xuICAgIGRhdGE/OiBvYmplY3QgfCB1bmRlZmluZWQ7XG4gICAgZ3JvdXBCeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJSZXN1bHRNb2RlbDxUID0gYW55PiB7XG4gICAgdmFsdWVzOiBUW107XG4gICAgdG90YWw6IG51bWJlcjtcbiAgICBwYWdlPzoge1xuICAgICAgICBudW1iZXI6IG51bWJlcjtcbiAgICAgICAgc2l6ZTogbnVtYmVyO1xuICAgIH07XG59XG5cbmV4cG9ydCBlbnVtIEZpbHRlclR5cGUge1xuICAgIFRleHQgPSBcInRleHRcIixcbiAgICBOdW1iZXIgPSBcIm51bWJlclwiLFxuICAgIERhdGUgPSBcImRhdGVcIixcbiAgICBTZWxlY3QgPSBcInNlbGVjdFwiLFxuICAgIFJhZGlvID0gXCJyYWRpb1wiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmFkaW9GaWx0ZXJPcHRpb25Db25maWd1cmF0aW9uIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyT3BlcmF0b3JzQ29uZmlndXJhdGlvbiB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyR3JvdXBDb25maWd1cmF0aW9uIHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyQmFzZUNvbmZpZ3VyYXRpb25Nb2RlbCB7XG4gICAgdHlwZTogRmlsdGVyVHlwZTtcbiAgICBvcGVyYXRvcnM6IEZpbHRlck9wZXJhdG9yc0NvbmZpZ3VyYXRpb25bXTtcbiAgICBncm91cD86IEZpbHRlckdyb3VwQ29uZmlndXJhdGlvbjtcbiAgICB2YWx1ZXM/OiB1bmtub3duW107XG4gICAgbGF6eUxvYWRpbmc/OiBib29sZWFuO1xuICAgIG9wdGlvbnM/OiBSYWRpb0ZpbHRlck9wdGlvbkNvbmZpZ3VyYXRpb25bXTtcbiAgICBtYXNrPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCBleHRlbmRzIEZpbHRlckJhc2VDb25maWd1cmF0aW9uTW9kZWwge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEZpbHRlclZhbHVlIHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -15,7 +15,8 @@ export class FilterUtils {
|
|
|
15
15
|
rules: filterParameters.rules ?? []
|
|
16
16
|
},
|
|
17
17
|
order: OrderUtils.combineOrders(filterParameters.order, filterParameters.fallbackOrder),
|
|
18
|
-
data: filterParameters.data
|
|
18
|
+
data: filterParameters.data,
|
|
19
|
+
groupBy: filterParameters.groupBy
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
22
|
static filterChangeNeedsRefresh(currentFilters, newFilters) {
|
|
@@ -38,4 +39,4 @@ export class FilterUtils {
|
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi91dGlscy9maWx0ZXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxPQUFPLFdBQVc7SUFDYixNQUFNLENBQUMsbUJBQW1CLENBQUMsZ0JBQXVDO1FBQ3JFLE9BQU87WUFDSCxJQUFJLEVBQUU7Z0JBQ0YsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksQ0FBQzthQUNyQztZQUNELE1BQU0sRUFBRTtnQkFDSixLQUFLLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLEVBQUU7YUFDdkM7WUFDRCxLQUFLLEVBQUU7Z0JBQ0gsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRTthQUN0QztZQUNELEtBQUssRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUM7WUFDdkYsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUk7WUFDM0IsT0FBTyxFQUFFLGdCQUFnQixDQUFDLE9BQU87U0FDcEMsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsY0FBcUMsRUFBRSxVQUFpQztRQUMzRyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JELElBQUksYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzlCLE1BQU0sWUFBWSxHQUFJLGNBQXNCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEQsTUFBTSxRQUFRLEdBQUksY0FBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzdCLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQzthQUMvRDtpQkFBTSxJQUFJLE9BQU8sWUFBWSxLQUFLLFFBQVEsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO2dCQUNsRSxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7YUFDL0Q7aUJBQU07Z0JBQ0gsT0FBTyxZQUFZLEtBQUssUUFBUSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIEZpbHRlclF1ZXJ5TW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgT3JkZXJVdGlscyB9IGZyb20gXCIuL29yZGVyLnV0aWxzXCI7XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBwYXJhbWV0ZXJzVG9SZXF1ZXN0KGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IEZpbHRlclF1ZXJ5TW9kZWwge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgICAgIG51bWJlcjogTWF0aC5jZWlsKChmaWx0ZXJQYXJhbWV0ZXJzLnN0YXJ0ID8/IDApIC8gKGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoID8/IDEpKSxcbiAgICAgICAgICAgICAgICBzaXplOiBmaWx0ZXJQYXJhbWV0ZXJzLmxlbmd0aCA/PyAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoID8/IFwiXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogXCJhbmRcIixcbiAgICAgICAgICAgICAgICBydWxlczogZmlsdGVyUGFyYW1ldGVycy5ydWxlcyA/PyBbXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9yZGVyOiBPcmRlclV0aWxzLmNvbWJpbmVPcmRlcnMoZmlsdGVyUGFyYW1ldGVycy5vcmRlciwgZmlsdGVyUGFyYW1ldGVycy5mYWxsYmFja09yZGVyKSxcbiAgICAgICAgICAgIGRhdGE6IGZpbHRlclBhcmFtZXRlcnMuZGF0YSxcbiAgICAgICAgICAgIGdyb3VwQnk6IGZpbHRlclBhcmFtZXRlcnMuZ3JvdXBCeVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZmlsdGVyQ2hhbmdlTmVlZHNSZWZyZXNoKGN1cnJlbnRGaWx0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwsIG5ld0ZpbHRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBuZXdGaWx0ZXJLZXlzID0gT2JqZWN0LmtleXMobmV3RmlsdGVycykuc29ydCgpO1xuICAgICAgICBpZiAobmV3RmlsdGVyS2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdGaWx0ZXJLZXlzLnNvbWUoKGtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gKGN1cnJlbnRGaWx0ZXJzIGFzIGFueSlba2V5XTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKGN1cnJlbnRGaWx0ZXJzIGFzIGFueSlba2V5XTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIU9iamVjdFV0aWxzLmFyZU9iamVjdHNFcXVhbChjdXJyZW50VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGN1cnJlbnRWYWx1ZSA9PT0gXCJvYmplY3RcIiAmJiBjdXJyZW50VmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIU9iamVjdFV0aWxzLmFyZU9iamVjdHNFcXVhbChjdXJyZW50VmFsdWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZSAhPT0gbmV3VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -5,7 +5,7 @@ import * as i5$1 from '@recursyve/nice-ui-kit.v2';
|
|
|
5
5
|
import { isNullOrUndefined, ObjectUtils, FileUtils, ArrayUtils, ExportBottomSheetComponent, NiceLoadingSpinnerModule, NiceTypeaheadModule, NiceExportBottomSheetModule, NiceAsyncTypeaheadProvider, NICE_ASYNC_TYPEAHEAD_PROVIDER, NiceAsyncTypeaheadModule } from '@recursyve/nice-ui-kit.v2';
|
|
6
6
|
import * as i0 from '@angular/core';
|
|
7
7
|
import { Directive, Input, NgModule, Injectable, Inject, InjectionToken, Optional, Pipe, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, HostListener, forwardRef, TemplateRef, ContentChild, ContentChildren, QueryList, ViewChild } from '@angular/core';
|
|
8
|
-
import { Store, StoreConfig, Query, arrayAdd, arrayUpsert, arrayRemove, EntityStore, QueryEntity, EntityActions } from '@datorama/akita';
|
|
8
|
+
import { Store, StoreConfig, Query, arrayAdd, arrayUpsert, arrayRemove, EntityStore, transaction, QueryEntity, EntityActions } from '@datorama/akita';
|
|
9
9
|
import { combineLatest, Subject, firstValueFrom, of, lastValueFrom, startWith, tap, distinct, take } from 'rxjs';
|
|
10
10
|
import { __decorate, __metadata, __awaiter, __rest } from 'tslib';
|
|
11
11
|
import * as i2 from '@angular/router';
|
|
@@ -566,7 +566,8 @@ class FilterUtils {
|
|
|
566
566
|
rules: (_e = filterParameters.rules) !== null && _e !== void 0 ? _e : []
|
|
567
567
|
},
|
|
568
568
|
order: OrderUtils.combineOrders(filterParameters.order, filterParameters.fallbackOrder),
|
|
569
|
-
data: filterParameters.data
|
|
569
|
+
data: filterParameters.data,
|
|
570
|
+
groupBy: filterParameters.groupBy
|
|
570
571
|
};
|
|
571
572
|
}
|
|
572
573
|
static filterChangeNeedsRefresh(currentFilters, newFilters) {
|
|
@@ -2824,6 +2825,7 @@ const initialValue = {
|
|
|
2824
2825
|
mode: "paginated",
|
|
2825
2826
|
autoLoad: true,
|
|
2826
2827
|
disabled: false,
|
|
2828
|
+
initialLoadCompleted: false,
|
|
2827
2829
|
filterConfigLoading: false,
|
|
2828
2830
|
filterConfig: [],
|
|
2829
2831
|
filterResult: null,
|
|
@@ -2851,7 +2853,7 @@ class NiceFilterViewStore extends EntityStore {
|
|
|
2851
2853
|
this.update({ filterParameters });
|
|
2852
2854
|
}
|
|
2853
2855
|
setResult(filterResult) {
|
|
2854
|
-
const { mode, resetResult } = this.getValue();
|
|
2856
|
+
const { mode, resetResult, initialLoadCompleted } = this.getValue();
|
|
2855
2857
|
if (mode === "accumulated") {
|
|
2856
2858
|
this.update((state) => {
|
|
2857
2859
|
var _a, _b;
|
|
@@ -2879,6 +2881,9 @@ class NiceFilterViewStore extends EntityStore {
|
|
|
2879
2881
|
else {
|
|
2880
2882
|
this.set([...filterResult.values]);
|
|
2881
2883
|
}
|
|
2884
|
+
if (!initialLoadCompleted) {
|
|
2885
|
+
this.update({ initialLoadCompleted: true });
|
|
2886
|
+
}
|
|
2882
2887
|
}
|
|
2883
2888
|
addValue(value, opts) {
|
|
2884
2889
|
const { filterResult } = this.getValue();
|
|
@@ -2890,6 +2895,16 @@ class NiceFilterViewStore extends EntityStore {
|
|
|
2890
2895
|
});
|
|
2891
2896
|
this.add(value, opts);
|
|
2892
2897
|
}
|
|
2898
|
+
addValues(values, opts) {
|
|
2899
|
+
const { filterResult } = this.getValue();
|
|
2900
|
+
if (!filterResult) {
|
|
2901
|
+
return;
|
|
2902
|
+
}
|
|
2903
|
+
this.update({
|
|
2904
|
+
filterResult: Object.assign(Object.assign({}, filterResult), { values: arrayAdd(filterResult.values, values, opts) })
|
|
2905
|
+
});
|
|
2906
|
+
this.add(values, opts);
|
|
2907
|
+
}
|
|
2893
2908
|
upsertValue(value, key) {
|
|
2894
2909
|
const { filterResult } = this.getValue();
|
|
2895
2910
|
if (!filterResult) {
|
|
@@ -2901,6 +2916,19 @@ class NiceFilterViewStore extends EntityStore {
|
|
|
2901
2916
|
});
|
|
2902
2917
|
this.upsert(value[idKey], value);
|
|
2903
2918
|
}
|
|
2919
|
+
upsertValues(values, key) {
|
|
2920
|
+
const { filterResult } = this.getValue();
|
|
2921
|
+
if (!filterResult) {
|
|
2922
|
+
return;
|
|
2923
|
+
}
|
|
2924
|
+
const idKey = key !== null && key !== void 0 ? key : this.idKey;
|
|
2925
|
+
for (const value of values) {
|
|
2926
|
+
this.update({
|
|
2927
|
+
filterResult: Object.assign(Object.assign({}, filterResult), { values: arrayUpsert(filterResult.values, value[idKey], value, key) })
|
|
2928
|
+
});
|
|
2929
|
+
this.upsert(value[idKey], value);
|
|
2930
|
+
}
|
|
2931
|
+
}
|
|
2904
2932
|
removeValue(value, key) {
|
|
2905
2933
|
const { filterResult } = this.getValue();
|
|
2906
2934
|
if (!filterResult) {
|
|
@@ -2912,6 +2940,18 @@ class NiceFilterViewStore extends EntityStore {
|
|
|
2912
2940
|
});
|
|
2913
2941
|
this.remove(value[idKey]);
|
|
2914
2942
|
}
|
|
2943
|
+
removeValues(values, key) {
|
|
2944
|
+
const { filterResult } = this.getValue();
|
|
2945
|
+
if (!filterResult) {
|
|
2946
|
+
return;
|
|
2947
|
+
}
|
|
2948
|
+
const idKey = key !== null && key !== void 0 ? key : this.idKey;
|
|
2949
|
+
const ids = values.map(value => value[idKey]);
|
|
2950
|
+
this.update({
|
|
2951
|
+
filterResult: Object.assign(Object.assign({}, filterResult), { values: arrayRemove(filterResult.values, ids) })
|
|
2952
|
+
});
|
|
2953
|
+
this.remove(ids);
|
|
2954
|
+
}
|
|
2915
2955
|
getParameters(filterParameters) {
|
|
2916
2956
|
const { baseRules } = this.getValue();
|
|
2917
2957
|
const parameters = Object.assign(Object.assign({}, filterParameters), { rules: (filterParameters === null || filterParameters === void 0 ? void 0 : filterParameters.rules) ? [...filterParameters.rules] : [] });
|
|
@@ -2930,6 +2970,48 @@ class NiceFilterViewStore extends EntityStore {
|
|
|
2930
2970
|
}
|
|
2931
2971
|
NiceFilterViewStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewStore, deps: [{ token: FILTER_VIEW_STATE }, { token: FILTER_VIEW_STORE }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2932
2972
|
NiceFilterViewStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewStore });
|
|
2973
|
+
__decorate([
|
|
2974
|
+
transaction(),
|
|
2975
|
+
__metadata("design:type", Function),
|
|
2976
|
+
__metadata("design:paramtypes", [Object]),
|
|
2977
|
+
__metadata("design:returntype", void 0)
|
|
2978
|
+
], NiceFilterViewStore.prototype, "setResult", null);
|
|
2979
|
+
__decorate([
|
|
2980
|
+
transaction(),
|
|
2981
|
+
__metadata("design:type", Function),
|
|
2982
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
2983
|
+
__metadata("design:returntype", void 0)
|
|
2984
|
+
], NiceFilterViewStore.prototype, "addValue", null);
|
|
2985
|
+
__decorate([
|
|
2986
|
+
transaction(),
|
|
2987
|
+
__metadata("design:type", Function),
|
|
2988
|
+
__metadata("design:paramtypes", [Array, Object]),
|
|
2989
|
+
__metadata("design:returntype", void 0)
|
|
2990
|
+
], NiceFilterViewStore.prototype, "addValues", null);
|
|
2991
|
+
__decorate([
|
|
2992
|
+
transaction(),
|
|
2993
|
+
__metadata("design:type", Function),
|
|
2994
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
2995
|
+
__metadata("design:returntype", void 0)
|
|
2996
|
+
], NiceFilterViewStore.prototype, "upsertValue", null);
|
|
2997
|
+
__decorate([
|
|
2998
|
+
transaction(),
|
|
2999
|
+
__metadata("design:type", Function),
|
|
3000
|
+
__metadata("design:paramtypes", [Array, String]),
|
|
3001
|
+
__metadata("design:returntype", void 0)
|
|
3002
|
+
], NiceFilterViewStore.prototype, "upsertValues", null);
|
|
3003
|
+
__decorate([
|
|
3004
|
+
transaction(),
|
|
3005
|
+
__metadata("design:type", Function),
|
|
3006
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
3007
|
+
__metadata("design:returntype", void 0)
|
|
3008
|
+
], NiceFilterViewStore.prototype, "removeValue", null);
|
|
3009
|
+
__decorate([
|
|
3010
|
+
transaction(),
|
|
3011
|
+
__metadata("design:type", Function),
|
|
3012
|
+
__metadata("design:paramtypes", [Array, String]),
|
|
3013
|
+
__metadata("design:returntype", void 0)
|
|
3014
|
+
], NiceFilterViewStore.prototype, "removeValues", null);
|
|
2933
3015
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewStore, decorators: [{
|
|
2934
3016
|
type: Injectable
|
|
2935
3017
|
}], ctorParameters: function () {
|
|
@@ -2940,7 +3022,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
2940
3022
|
type: Inject,
|
|
2941
3023
|
args: [FILTER_VIEW_STORE]
|
|
2942
3024
|
}] }];
|
|
2943
|
-
} });
|
|
3025
|
+
}, propDecorators: { setResult: [], addValue: [], addValues: [], upsertValue: [], upsertValues: [], removeValue: [], removeValues: [] } });
|
|
2944
3026
|
|
|
2945
3027
|
class NiceFilterViewQuery extends QueryEntity {
|
|
2946
3028
|
constructor(store) {
|
|
@@ -3181,17 +3263,27 @@ class NiceFilterViewService {
|
|
|
3181
3263
|
addValue(value, opts) {
|
|
3182
3264
|
this.store.addValue(value, opts);
|
|
3183
3265
|
}
|
|
3266
|
+
addValues(value, opts) {
|
|
3267
|
+
this.store.addValues(value, opts);
|
|
3268
|
+
}
|
|
3184
3269
|
upsertValue(value, key) {
|
|
3185
3270
|
this.store.upsertValue(value, key);
|
|
3186
3271
|
}
|
|
3272
|
+
upsertValues(values, key) {
|
|
3273
|
+
this.store.upsertValues(values, key);
|
|
3274
|
+
}
|
|
3187
3275
|
removeValue(value, key) {
|
|
3188
3276
|
this.store.removeValue(value, key);
|
|
3189
3277
|
}
|
|
3278
|
+
removeValues(values, key) {
|
|
3279
|
+
this.store.removeValues(values, key);
|
|
3280
|
+
}
|
|
3190
3281
|
resetResult(waitForNextFilter) {
|
|
3191
3282
|
if (!waitForNextFilter) {
|
|
3192
3283
|
this.store.update({
|
|
3193
3284
|
filterResult: null
|
|
3194
3285
|
});
|
|
3286
|
+
this.store.set([]);
|
|
3195
3287
|
}
|
|
3196
3288
|
else {
|
|
3197
3289
|
this.store.update({
|
|
@@ -3202,6 +3294,12 @@ class NiceFilterViewService {
|
|
|
3202
3294
|
}
|
|
3203
3295
|
NiceFilterViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewService, deps: [{ token: NiceFilterViewStore }, { token: NiceFilterService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3204
3296
|
NiceFilterViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewService });
|
|
3297
|
+
__decorate([
|
|
3298
|
+
transaction(),
|
|
3299
|
+
__metadata("design:type", Function),
|
|
3300
|
+
__metadata("design:paramtypes", [Boolean]),
|
|
3301
|
+
__metadata("design:returntype", void 0)
|
|
3302
|
+
], NiceFilterViewService.prototype, "resetResult", null);
|
|
3205
3303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceFilterViewService, decorators: [{
|
|
3206
3304
|
type: Injectable
|
|
3207
3305
|
}], ctorParameters: function () {
|
|
@@ -3209,7 +3307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
3209
3307
|
type: Inject,
|
|
3210
3308
|
args: [NiceFilterService]
|
|
3211
3309
|
}] }];
|
|
3212
|
-
} });
|
|
3310
|
+
}, propDecorators: { resetResult: [] } });
|
|
3213
3311
|
|
|
3214
3312
|
class NiceFilterGroupIconPipe {
|
|
3215
3313
|
constructor(service) {
|
|
@@ -4026,6 +4124,10 @@ class NiceSelectableListStateService {
|
|
|
4026
4124
|
var _a, _b;
|
|
4027
4125
|
return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.preloadWindow) !== null && _b !== void 0 ? _b : 2;
|
|
4028
4126
|
}
|
|
4127
|
+
get queryParamsDisabled() {
|
|
4128
|
+
var _a, _b;
|
|
4129
|
+
return (_b = (_a = this.options) === null || _a === void 0 ? void 0 : _a.disableQueryParams) !== null && _b !== void 0 ? _b : false;
|
|
4130
|
+
}
|
|
4029
4131
|
constructor(store, route, router, preloadService, options) {
|
|
4030
4132
|
this.store = store;
|
|
4031
4133
|
this.route = route;
|
|
@@ -4246,10 +4348,12 @@ class NiceSelectableListStateService {
|
|
|
4246
4348
|
};
|
|
4247
4349
|
}
|
|
4248
4350
|
setQueryParams() {
|
|
4249
|
-
this.
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4351
|
+
if (!this.queryParamsDisabled) {
|
|
4352
|
+
this.router.navigate([], {
|
|
4353
|
+
queryParams: this.generateQueryParams(),
|
|
4354
|
+
queryParamsHandling: "merge"
|
|
4355
|
+
});
|
|
4356
|
+
}
|
|
4253
4357
|
}
|
|
4254
4358
|
}
|
|
4255
4359
|
|
|
@@ -4867,6 +4971,10 @@ class NiceSelectableListDirective {
|
|
|
4867
4971
|
this.unsubscribeQuerySub$ = new Subject();
|
|
4868
4972
|
}
|
|
4869
4973
|
ngOnInit() {
|
|
4974
|
+
var _a;
|
|
4975
|
+
if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.disableQueryParams) {
|
|
4976
|
+
return;
|
|
4977
|
+
}
|
|
4870
4978
|
combineLatest([
|
|
4871
4979
|
this.route.queryParams.pipe(map((params) => params.selection), distinct()),
|
|
4872
4980
|
this.route.queryParams.pipe(map((params) => params.selected), distinct())
|
|
@@ -4899,7 +5007,7 @@ class NiceSelectableListDirective {
|
|
|
4899
5007
|
}
|
|
4900
5008
|
if ("state" in changes) {
|
|
4901
5009
|
this.service.setState(this.state);
|
|
4902
|
-
this.stateService = this.selectableListService.withState(this.state);
|
|
5010
|
+
this.stateService = this.selectableListService.withState(this.state, this.options);
|
|
4903
5011
|
this.stateQuery = this.selectableListService.query(this.state);
|
|
4904
5012
|
this.listenOnStateChanges();
|
|
4905
5013
|
}
|
|
@@ -4944,6 +5052,7 @@ class NiceBaseFilterViewComponent {
|
|
|
4944
5052
|
this.autoLoad(autoLoad);
|
|
4945
5053
|
this.loadConfig(loadConfig, configQueryParams);
|
|
4946
5054
|
this.filterViewLoading$ = this.filterViewQuery.selectLoading();
|
|
5055
|
+
this.filterViewCount$ = this.filterViewQuery.selectCount();
|
|
4947
5056
|
if (this.selectableListDirective) {
|
|
4948
5057
|
this.filterViewService.updateSubState("selectable", { stateName: this.selectableListDirective.state });
|
|
4949
5058
|
}
|