@recursyve/nice-data-filter-kit 14.1.6 → 14.2.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 (39) hide show
  1. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +4 -1
  2. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +4 -18
  3. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +15 -1
  4. package/esm2020/lib/directive/public-api.mjs +2 -0
  5. package/esm2020/lib/directive/selectable-list/model/load-all-entities-options.model.mjs +2 -0
  6. package/esm2020/lib/directive/selectable-list/model/selectable-list-options.model.mjs +2 -0
  7. package/esm2020/lib/directive/selectable-list/providers/preload-selected-entities.provider.mjs +10 -0
  8. package/esm2020/lib/directive/selectable-list/public-api.mjs +10 -0
  9. package/esm2020/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +122 -0
  10. package/esm2020/lib/directive/selectable-list/selectable-list-select-all.directive.mjs +48 -0
  11. package/esm2020/lib/directive/selectable-list/selectable-list.constant.mjs +3 -0
  12. package/esm2020/lib/directive/selectable-list/selectable-list.directive.mjs +38 -0
  13. package/esm2020/lib/directive/selectable-list/selectable-list.module.mjs +32 -0
  14. package/esm2020/lib/directive/selectable-list/store/selectable-list-state.service.mjs +181 -0
  15. package/esm2020/lib/directive/selectable-list/store/selectable-list.service.mjs +49 -0
  16. package/esm2020/lib/directive/selectable-list/store/selectable-list.state.mjs +2 -0
  17. package/esm2020/public-api.mjs +2 -1
  18. package/fesm2015/recursyve-nice-data-filter-kit.mjs +492 -16
  19. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  20. package/fesm2020/recursyve-nice-data-filter-kit.mjs +467 -19
  21. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  22. package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +1 -0
  23. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +0 -1
  24. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +1 -0
  25. package/lib/directive/public-api.d.ts +1 -0
  26. package/lib/directive/selectable-list/model/load-all-entities-options.model.d.ts +4 -0
  27. package/lib/directive/selectable-list/model/selectable-list-options.model.d.ts +4 -0
  28. package/lib/directive/selectable-list/providers/preload-selected-entities.provider.d.ts +12 -0
  29. package/lib/directive/selectable-list/public-api.d.ts +9 -0
  30. package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +24 -0
  31. package/lib/directive/selectable-list/selectable-list-select-all.directive.d.ts +18 -0
  32. package/lib/directive/selectable-list/selectable-list.constant.d.ts +2 -0
  33. package/lib/directive/selectable-list/selectable-list.directive.d.ts +14 -0
  34. package/lib/directive/selectable-list/selectable-list.module.d.ts +12 -0
  35. package/lib/directive/selectable-list/store/selectable-list-state.service.d.ts +32 -0
  36. package/lib/directive/selectable-list/store/selectable-list.service.d.ts +23 -0
  37. package/lib/directive/selectable-list/store/selectable-list.state.d.ts +8 -0
  38. package/package.json +1 -1
  39. package/public-api.d.ts +1 -0
@@ -20,10 +20,13 @@ export class NiceFilterViewQuery extends QueryEntity {
20
20
  selectFilterResult() {
21
21
  return this.select("filterResult");
22
22
  }
23
+ getParameters() {
24
+ return this.store.getParameters(this.store.getValue().filterParameters);
25
+ }
23
26
  }
24
27
  NiceFilterViewQuery.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, deps: [{ token: i1.NiceFilterViewStore }], target: i0.ɵɵFactoryTarget.Injectable });
25
28
  NiceFilterViewQuery.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery });
26
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewQuery, decorators: [{
27
30
  type: Injectable
28
31
  }], ctorParameters: function () { return [{ type: i1.NiceFilterViewStore }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHcEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBQ3JFLFlBQXNCLEtBQTBCO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQXFCO0lBRWhELENBQUM7SUFFTSx5QkFBeUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLHNCQUFzQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDOztnSEFuQlEsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlcnlFbnRpdHkgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgRmlsdGVyUGFyYW1ldGVyc01vZGVsLCBGaWx0ZXJSZXN1bHRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1N0YXRlLCBOaWNlRmlsdGVyVmlld1N0b3JlIH0gZnJvbSBcIi4vbmljZS1maWx0ZXItdmlldy5zdG9yZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclZpZXdRdWVyeSBleHRlbmRzIFF1ZXJ5RW50aXR5PE5pY2VGaWx0ZXJWaWV3U3RhdGU+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RvcmU6IE5pY2VGaWx0ZXJWaWV3U3RvcmUpIHtcbiAgICAgICAgc3VwZXIoc3RvcmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWdMb2FkaW5nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdMb2FkaW5nXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWcoKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdcIik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEZpbHRlclBhcmFtZXRlcnMoKTogT2JzZXJ2YWJsZTxGaWx0ZXJQYXJhbWV0ZXJzTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0KFwiZmlsdGVyUGFyYW1ldGVyc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RmlsdGVyUmVzdWx0KCk6IE9ic2VydmFibGU8RmlsdGVyUmVzdWx0TW9kZWwgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdChcImZpbHRlclJlc3VsdFwiKTtcbiAgICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHOUMsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHcEYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFdBQWdDO0lBQ3JFLFlBQXNCLEtBQTBCO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURLLFVBQUssR0FBTCxLQUFLLENBQXFCO0lBRWhELENBQUM7SUFFTSx5QkFBeUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLHNCQUFzQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RSxDQUFDOztnSEF2QlEsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUXVlcnlFbnRpdHkgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgRmlsdGVyUGFyYW1ldGVyc01vZGVsLCBGaWx0ZXJSZXN1bHRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1N0YXRlLCBOaWNlRmlsdGVyVmlld1N0b3JlIH0gZnJvbSBcIi4vbmljZS1maWx0ZXItdmlldy5zdG9yZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclZpZXdRdWVyeSBleHRlbmRzIFF1ZXJ5RW50aXR5PE5pY2VGaWx0ZXJWaWV3U3RhdGU+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RvcmU6IE5pY2VGaWx0ZXJWaWV3U3RvcmUpIHtcbiAgICAgICAgc3VwZXIoc3RvcmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWdMb2FkaW5nKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdMb2FkaW5nXCIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RGaWx0ZXJDb25maWcoKTogT2JzZXJ2YWJsZTxGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoXCJmaWx0ZXJDb25maWdcIik7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdEZpbHRlclBhcmFtZXRlcnMoKTogT2JzZXJ2YWJsZTxGaWx0ZXJQYXJhbWV0ZXJzTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0KFwiZmlsdGVyUGFyYW1ldGVyc1wiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RmlsdGVyUmVzdWx0KCk6IE9ic2VydmFibGU8RmlsdGVyUmVzdWx0TW9kZWwgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdChcImZpbHRlclJlc3VsdFwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UGFyYW1ldGVycygpOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRQYXJhbWV0ZXJzKHRoaXMuc3RvcmUuZ2V0VmFsdWUoKS5maWx0ZXJQYXJhbWV0ZXJzKTtcbiAgICB9XG59XG4iXX0=
@@ -54,7 +54,7 @@ export class NiceFilterViewService {
54
54
  }
55
55
  try {
56
56
  this.store.setLoading(true);
57
- const result = await firstValueFrom(this.filterService.filter(this.getParameters(filterParameters)));
57
+ const result = await firstValueFrom(this.filterService.filter(this.store.getParameters(filterParameters)));
58
58
  this.store.setResult(result);
59
59
  }
60
60
  catch (e) {
@@ -71,7 +71,7 @@ export class NiceFilterViewService {
71
71
  }
72
72
  try {
73
73
  this.store.setLoading(true);
74
- const result = await firstValueFrom(this.filterService.getFile(type, this.getParameters(filterParameters)));
74
+ const result = await firstValueFrom(this.filterService.getFile(type, this.store.getParameters(filterParameters)));
75
75
  FileUtils.downloadFile(`${downloadFileName}.${type}`, result);
76
76
  }
77
77
  catch (e) {
@@ -88,7 +88,7 @@ export class NiceFilterViewService {
88
88
  }
89
89
  try {
90
90
  this.store.setLoading(true);
91
- const result = await firstValueFrom(this.filterService.getPrintableHtml(this.getParameters(filterParameters)));
91
+ const result = await firstValueFrom(this.filterService.getPrintableHtml(this.store.getParameters(filterParameters)));
92
92
  FileUtils.openPrintableWindow(result);
93
93
  }
94
94
  catch (e) {
@@ -203,20 +203,6 @@ export class NiceFilterViewService {
203
203
  });
204
204
  }
205
205
  }
206
- getParameters(filterParameters) {
207
- const { baseRules } = this.store.getValue();
208
- const parameters = {
209
- ...filterParameters,
210
- rules: filterParameters?.rules ? [...filterParameters.rules] : []
211
- };
212
- if (baseRules?.length) {
213
- parameters.rules.push({
214
- condition: "and",
215
- rules: baseRules
216
- });
217
- }
218
- return parameters;
219
- }
220
206
  }
221
207
  NiceFilterViewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService, deps: [{ token: i1.NiceFilterViewStore }, { token: NiceFilterService }], target: i0.ɵɵFactoryTarget.Injectable });
222
208
  NiceFilterViewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewService });
@@ -226,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
226
212
  type: Inject,
227
213
  args: [NiceFilterService]
228
214
  }] }]; } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXRDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEtBQTBCLEVBRWxCLGFBQXFCO1FBRjdCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRWxCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBQ3RDLENBQUM7SUFFRyxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNkLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENB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LElBQUk7YUFDcEIsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRU0sYUFBYSxDQUFDLGdCQUF3QztRQUN6RCxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxNQUFNLFVBQVUsR0FBRztZQUNmLEdBQUcsZ0JBQWdCO1lBQ25CLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNwRSxDQUFDO1FBQ0YsSUFBSSxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ25CLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsS0FBSyxFQUFFLFNBQVM7YUFDbkIsQ0FBQyxDQUFDO1NBQ047UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDOztrSEF4T1EscUJBQXFCLHFEQUdsQixpQkFBaUI7c0hBSHBCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFJRixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBZGRFbnRpdGllc09wdGlvbnMgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhL3NyYy9saWIvYWRkRW50aXRpZXNcIjtcbmltcG9ydCB7IEZpbGVVdGlscyB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBRdWVyeVBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9hcGkvZmlsdGVyLmFwaVwiO1xuaW1wb3J0IHsgRmlsdGVyUGFyYW1ldGVyc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IFF1ZXJ5TW9kZWwsIFF1ZXJ5UnVsZU1vZGVsLCBSdWxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyU2VydmljZSB9IGZyb20gXCIuLi8uLi9iYXNlLWxpc3QvcHJvdmlkZXJzL2Jhc2UtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3U3RvcmUgfSBmcm9tIFwiLi9uaWNlLWZpbHRlci12aWV3LnN0b3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyVmlld1NlcnZpY2U8RmlsdGVyIGV4dGVuZHMgTmljZUZpbHRlclNlcnZpY2U8YW55PiA9IE5pY2VGaWx0ZXJTZXJ2aWNlPGFueT4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogTmljZUZpbHRlclZpZXdTdG9yZSxcbiAgICAgICAgQEluamVjdChOaWNlRmlsdGVyU2VydmljZSlcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGZpbHRlclNlcnZpY2U6IEZpbHRlclxuICAgICkge31cblxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNhYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF1dG9Mb2FkKGF1dG9Mb2FkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgYXV0b0xvYWQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcobG9hZGluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1vZGUobW9kZTogXCJwYWdpbmF0ZWRcIiB8IFwiYWNjdW11bGF0ZWRcIik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IG1vZGUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRDb25maWcoY29uZmlnUXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRGaWx0ZXJDb25maWdMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ29uZmlnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlckNvbmZpZyh7IHBhcmFtczogY29uZmlnUXVlcnlQYXJhbXMgfSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlckNvbmZpZ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEZpbHRlckNvbmZpZ0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyKHRoaXMuZ2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzKSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZG93bmxvYWREYXRhKHR5cGU6IHN0cmluZywgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZGlzYWJsZWQgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbGUodHlwZSwgdGhpcy5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpKSk7XG4gICAgICAgICAgICBGaWxlVXRpbHMuZG93bmxvYWRGaWxlKGAke2Rvd25sb2FkRmlsZU5hbWV9LiR7dHlwZX1gLCByZXN1bHQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBwcmludERhdGEoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZGlzYWJsZWQgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldFByaW50YWJsZUh0bWwodGhpcy5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpKSk7XG4gICAgICAgICAgICBGaWxlVXRpbHMub3BlblByaW50YWJsZVdpbmRvdyhyZXN1bHQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCwgcmVsb2FkID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpO1xuICAgICAgICBpZiAocmVsb2FkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UGFnaW5nKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIC4uLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICBzdGFydDogMFxuICAgICAgICB9LCBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5yZXNldFJlc3VsdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UXVlcnlQYXJhbXMocXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgcXVlcnlQYXJhbXMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEJhc2VSdWxlcyhydWxlOiAoUXVlcnlSdWxlTW9kZWwgfCBRdWVyeU1vZGVsKVtdLCByZWxvYWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgYmFzZVJ1bGVzOiBydWxlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyZWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UnVsZXMocnVsZXM6IFF1ZXJ5TW9kZWwgfCBRdWVyeU1vZGVsW10sIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocnVsZXMpKSB7XG4gICAgICAgICAgICBydWxlcyA9IFtydWxlc107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgbmV3UnVsZXM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBmaWx0ZXJQYXJhbWV0ZXJzLm9yZGVyLFxuICAgICAgICAgICAgcnVsZXNcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnNldFBhcmFtZXRlcnMobmV3UnVsZXMsIHJlbG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwc2VydFJ1bGUoaWQ6IHN0cmluZywgbmV3UnVsZTogUnVsZU1vZGVsLCByZWxvYWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRRdWVyeSA9IGZpbHRlclBhcmFtZXRlcnMucnVsZXM/LlswXTtcbiAgICAgICAgY29uc3QgcnVsZTogUXVlcnlSdWxlTW9kZWwgPSB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIC4uLm5ld1J1bGVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcXVlcnk6IFF1ZXJ5TW9kZWwgPSB7IHJ1bGVzOiBbcnVsZV0sIGNvbmRpdGlvbjogXCJhbmRcIiB9O1xuICAgICAgICBpZiAoIWN1cnJlbnRRdWVyeSB8fCBjdXJyZW50UXVlcnkucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFJ1bGVzKHF1ZXJ5ICwgcmVsb2FkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9sZFJ1bGUgPSBjdXJyZW50UXVlcnkucnVsZXMuZmluZCgocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkID09PSBpZCkgYXMgUXVlcnlSdWxlTW9kZWw7XG4gICAgICAgIGxldCBuZXdSdWxlcyA9IGN1cnJlbnRRdWVyeS5ydWxlcztcbiAgICAgICAgaWYgKG9sZFJ1bGUpIHtcbiAgICAgICAgICAgIGlmIChuZXdSdWxlKSB7XG4gICAgICAgICAgICAgICAgLy8gQXJyYXkgcmVwbGFjZVxuICAgICAgICAgICAgICAgIG5ld1J1bGVzID0gW1xuICAgICAgICAgICAgICAgICAgICAuLi5jdXJyZW50UXVlcnkucnVsZXMuc2xpY2UoMCwgY3VycmVudFF1ZXJ5LnJ1bGVzLmluZGV4T2Yob2xkUnVsZSkpLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgLi4uY3VycmVudFF1ZXJ5LnJ1bGVzLnNsaWNlKGN1cnJlbnRRdWVyeS5ydWxlcy5pbmRleE9mKG9sZFJ1bGUpICsgMSwgY3VycmVudFF1ZXJ5LnJ1bGVzLmxlbmd0aClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdSdWxlcyA9IGN1cnJlbnRRdWVyeS5ydWxlcy5maWx0ZXIoKHIpID0+IChyIGFzIFF1ZXJ5UnVsZU1vZGVsKS5pZCAhPT0gaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UnVsZXMgPSBbLi4ubmV3UnVsZXMsIHF1ZXJ5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFJ1bGVzKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogY3VycmVudFF1ZXJ5LmNvbmRpdGlvbixcbiAgICAgICAgICAgIHJ1bGVzOiBuZXdSdWxlc1xuICAgICAgICB9LCByZWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVSdWxlKGlkOiBzdHJpbmcsIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFF1ZXJ5ID0gZmlsdGVyUGFyYW1ldGVycy5ydWxlcz8uWzBdO1xuICAgICAgICBjb25zdCBvbGRSdWxlID0gY3VycmVudFF1ZXJ5LnJ1bGVzLmZpbmQoKHIpID0+IChyIGFzIFF1ZXJ5UnVsZU1vZGVsKS5pZCA9PT0gaWQpIGFzIFF1ZXJ5UnVsZU1vZGVsO1xuICAgICAgICBpZiAoIW9sZFJ1bGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1J1bGVzID0gY3VycmVudFF1ZXJ5LnJ1bGVzLmZpbHRlcigocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkICE9PSBpZCk7XG4gICAgICAgIHRoaXMuc2V0UnVsZXMoe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBjdXJyZW50UXVlcnkuY29uZGl0aW9uLFxuICAgICAgICAgICAgcnVsZXM6IG5ld1J1bGVzXG4gICAgICAgIH0sIHJlbG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBhbnksIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5hZGRWYWx1ZSh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwc2VydFZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwc2VydFZhbHVlKHZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZSh2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5yZW1vdmVWYWx1ZSh2YWx1ZSwga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRSZXN1bHQod2FpdEZvck5leHRGaWx0ZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF3YWl0Rm9yTmV4dEZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlclJlc3VsdDogbnVsbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgcmVzZXRSZXN1bHQ6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVycz86IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCB7XG4gICAgICAgIGNvbnN0IHsgYmFzZVJ1bGVzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgcnVsZXM6IGZpbHRlclBhcmFtZXRlcnM/LnJ1bGVzID8gWy4uLmZpbHRlclBhcmFtZXRlcnMucnVsZXNdIDogW11cbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGJhc2VSdWxlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJzLnJ1bGVzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogXCJhbmRcIixcbiAgICAgICAgICAgICAgICBydWxlczogYmFzZVJ1bGVzXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcGFyYW1ldGVycztcbiAgICB9XG59XG4iXX0=
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXRDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFHL0QsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixZQUNZLEtBQTBCLEVBRWxCLGFBQXFCO1FBRjdCLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBRWxCLGtCQUFhLEdBQWIsYUFBYSxDQUFRO0lBQ3RDLENBQUM7SUFFRyxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE1BQU07UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNkLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBaUI7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENB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Q0FBQyxNQUFNLENBQUM7Z0JBQ2QsV0FBVyxFQUFFLElBQUk7YUFDcEIsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOztrSEF6TlEscUJBQXFCLHFEQUdsQixpQkFBaUI7c0hBSHBCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFJRixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBZGRFbnRpdGllc09wdGlvbnMgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhL3NyYy9saWIvYWRkRW50aXRpZXNcIjtcbmltcG9ydCB7IEZpbGVVdGlscyB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBRdWVyeVBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9hcGkvZmlsdGVyLmFwaVwiO1xuaW1wb3J0IHsgRmlsdGVyUGFyYW1ldGVyc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IFF1ZXJ5TW9kZWwsIFF1ZXJ5UnVsZU1vZGVsLCBSdWxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyU2VydmljZSB9IGZyb20gXCIuLi8uLi9iYXNlLWxpc3QvcHJvdmlkZXJzL2Jhc2UtZmlsdGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3U3RvcmUgfSBmcm9tIFwiLi9uaWNlLWZpbHRlci12aWV3LnN0b3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyVmlld1NlcnZpY2U8RmlsdGVyIGV4dGVuZHMgTmljZUZpbHRlclNlcnZpY2U8YW55PiA9IE5pY2VGaWx0ZXJTZXJ2aWNlPGFueT4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogTmljZUZpbHRlclZpZXdTdG9yZSxcbiAgICAgICAgQEluamVjdChOaWNlRmlsdGVyU2VydmljZSlcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGZpbHRlclNlcnZpY2U6IEZpbHRlclxuICAgICkge31cblxuICAgIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5yZXNldCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNhYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBkaXNhYmxlZDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEF1dG9Mb2FkKGF1dG9Mb2FkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgYXV0b0xvYWQgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcobG9hZGluZyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1vZGUobW9kZTogXCJwYWdpbmF0ZWRcIiB8IFwiYWNjdW11bGF0ZWRcIik6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7IG1vZGUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRDb25maWcoY29uZmlnUXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRGaWx0ZXJDb25maWdMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyQ29uZmlnID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbHRlckNvbmZpZyh7IHBhcmFtczogY29uZmlnUXVlcnlQYXJhbXMgfSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlckNvbmZpZ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0RXJyb3IoZSk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEZpbHRlckNvbmZpZ0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGZpbHRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzLCBkaXNhYmxlZCB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyKHRoaXMuc3RvcmUuZ2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzKSkpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRSZXN1bHQocmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRFcnJvcihlKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZG93bmxvYWREYXRhKHR5cGU6IHN0cmluZywgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZGlzYWJsZWQgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldEZpbGUodHlwZSwgdGhpcy5zdG9yZS5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpKSk7XG4gICAgICAgICAgICBGaWxlVXRpbHMuZG93bmxvYWRGaWxlKGAke2Rvd25sb2FkRmlsZU5hbWV9LiR7dHlwZX1gLCByZXN1bHQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBwcmludERhdGEoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZGlzYWJsZWQgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5maWx0ZXJTZXJ2aWNlLmdldFByaW50YWJsZUh0bWwodGhpcy5zdG9yZS5nZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpKSk7XG4gICAgICAgICAgICBGaWxlVXRpbHMub3BlblByaW50YWJsZVdpbmRvdyhyZXN1bHQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCwgcmVsb2FkID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnMpO1xuICAgICAgICBpZiAocmVsb2FkKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UGFnaW5nKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgIC4uLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICBzdGFydDogMFxuICAgICAgICB9LCBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5yZXNldFJlc3VsdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UXVlcnlQYXJhbXMocXVlcnlQYXJhbXM6IFF1ZXJ5UGFyYW1zKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHsgcXVlcnlQYXJhbXMgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEJhc2VSdWxlcyhydWxlOiAoUXVlcnlSdWxlTW9kZWwgfCBRdWVyeU1vZGVsKVtdLCByZWxvYWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgYmFzZVJ1bGVzOiBydWxlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyZWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UnVsZXMocnVsZXM6IFF1ZXJ5TW9kZWwgfCBRdWVyeU1vZGVsW10sIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocnVsZXMpKSB7XG4gICAgICAgICAgICBydWxlcyA9IFtydWxlc107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgbmV3UnVsZXM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBmaWx0ZXJQYXJhbWV0ZXJzLm9yZGVyLFxuICAgICAgICAgICAgcnVsZXNcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnNldFBhcmFtZXRlcnMobmV3UnVsZXMsIHJlbG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwc2VydFJ1bGUoaWQ6IHN0cmluZywgbmV3UnVsZTogUnVsZU1vZGVsLCByZWxvYWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRRdWVyeSA9IGZpbHRlclBhcmFtZXRlcnMucnVsZXM/LlswXTtcbiAgICAgICAgY29uc3QgcnVsZTogUXVlcnlSdWxlTW9kZWwgPSB7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIC4uLm5ld1J1bGVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcXVlcnk6IFF1ZXJ5TW9kZWwgPSB7IHJ1bGVzOiBbcnVsZV0sIGNvbmRpdGlvbjogXCJhbmRcIiB9O1xuICAgICAgICBpZiAoIWN1cnJlbnRRdWVyeSB8fCBjdXJyZW50UXVlcnkucnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFJ1bGVzKHF1ZXJ5ICwgcmVsb2FkKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9sZFJ1bGUgPSBjdXJyZW50UXVlcnkucnVsZXMuZmluZCgocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkID09PSBpZCkgYXMgUXVlcnlSdWxlTW9kZWw7XG4gICAgICAgIGxldCBuZXdSdWxlcyA9IGN1cnJlbnRRdWVyeS5ydWxlcztcbiAgICAgICAgaWYgKG9sZFJ1bGUpIHtcbiAgICAgICAgICAgIGlmIChuZXdSdWxlKSB7XG4gICAgICAgICAgICAgICAgLy8gQXJyYXkgcmVwbGFjZVxuICAgICAgICAgICAgICAgIG5ld1J1bGVzID0gW1xuICAgICAgICAgICAgICAgICAgICAuLi5jdXJyZW50UXVlcnkucnVsZXMuc2xpY2UoMCwgY3VycmVudFF1ZXJ5LnJ1bGVzLmluZGV4T2Yob2xkUnVsZSkpLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgLi4uY3VycmVudFF1ZXJ5LnJ1bGVzLnNsaWNlKGN1cnJlbnRRdWVyeS5ydWxlcy5pbmRleE9mKG9sZFJ1bGUpICsgMSwgY3VycmVudFF1ZXJ5LnJ1bGVzLmxlbmd0aClcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdSdWxlcyA9IGN1cnJlbnRRdWVyeS5ydWxlcy5maWx0ZXIoKHIpID0+IChyIGFzIFF1ZXJ5UnVsZU1vZGVsKS5pZCAhPT0gaWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UnVsZXMgPSBbLi4ubmV3UnVsZXMsIHF1ZXJ5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFJ1bGVzKHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogY3VycmVudFF1ZXJ5LmNvbmRpdGlvbixcbiAgICAgICAgICAgIHJ1bGVzOiBuZXdSdWxlc1xuICAgICAgICB9LCByZWxvYWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVSdWxlKGlkOiBzdHJpbmcsIHJlbG9hZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclBhcmFtZXRlcnMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFF1ZXJ5ID0gZmlsdGVyUGFyYW1ldGVycy5ydWxlcz8uWzBdO1xuICAgICAgICBjb25zdCBvbGRSdWxlID0gY3VycmVudFF1ZXJ5LnJ1bGVzLmZpbmQoKHIpID0+IChyIGFzIFF1ZXJ5UnVsZU1vZGVsKS5pZCA9PT0gaWQpIGFzIFF1ZXJ5UnVsZU1vZGVsO1xuICAgICAgICBpZiAoIW9sZFJ1bGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1J1bGVzID0gY3VycmVudFF1ZXJ5LnJ1bGVzLmZpbHRlcigocikgPT4gKHIgYXMgUXVlcnlSdWxlTW9kZWwpLmlkICE9PSBpZCk7XG4gICAgICAgIHRoaXMuc2V0UnVsZXMoe1xuICAgICAgICAgICAgY29uZGl0aW9uOiBjdXJyZW50UXVlcnkuY29uZGl0aW9uLFxuICAgICAgICAgICAgcnVsZXM6IG5ld1J1bGVzXG4gICAgICAgIH0sIHJlbG9hZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBhbnksIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5hZGRWYWx1ZSh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwc2VydFZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnVwc2VydFZhbHVlKHZhbHVlLCBrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZSh2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5yZW1vdmVWYWx1ZSh2YWx1ZSwga2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRSZXN1bHQod2FpdEZvck5leHRGaWx0ZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF3YWl0Rm9yTmV4dEZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlclJlc3VsdDogbnVsbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICAgICAgcmVzZXRSZXN1bHQ6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -107,6 +107,20 @@ export class NiceFilterViewStore extends EntityStore {
107
107
  });
108
108
  this.remove(value[idKey]);
109
109
  }
110
+ getParameters(filterParameters) {
111
+ const { baseRules } = this.getValue();
112
+ const parameters = {
113
+ ...filterParameters,
114
+ rules: filterParameters?.rules ? [...filterParameters.rules] : []
115
+ };
116
+ if (baseRules?.length) {
117
+ parameters.rules.push({
118
+ condition: "and",
119
+ rules: baseRules
120
+ });
121
+ }
122
+ return parameters;
123
+ }
110
124
  }
111
125
  NiceFilterViewStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore, deps: [{ token: FILTER_VIEW_STATE }, { token: FILTER_VIEW_STORE }], target: i0.ɵɵFactoryTarget.Injectable });
112
126
  NiceFilterViewStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterViewStore });
@@ -119,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
119
133
  type: Inject,
120
134
  args: [FILTER_VIEW_STORE]
121
135
  }] }]; } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFlLFdBQVcsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBTXhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWdCcEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUF3QjtJQUM3QyxTQUFTLEVBQUUsRUFBRTtJQUNiLElBQUksRUFBRSxXQUFXO0lBQ2pCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLEtBQUs7SUFDZixtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGdCQUFnQixFQUFFO1FBQ2QsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsRUFBRTtRQUNULElBQUksRUFBRSxFQUFFO0tBQ1g7SUFDRCxTQUFTLEVBQUUsRUFBRTtJQUNiLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFHRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBZ0M7SUFDckUsWUFBdUMsS0FBbUMsRUFBNkIsS0FBeUI7UUFDNUgsS0FBSyxDQUFDO1lBQ0YsR0FBRyxZQUFZO1lBQ2YsR0FBRyxL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QUFXLENBQUMsS0FBVSxFQUFFLEdBQVk7UUFDdkMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2YsT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNSLFlBQVksRUFBRTtnQkFDVixHQUFHLFlBQVk7Z0JBQ2YsTUFBTSxFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUM7YUFDOUQ7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7O2dIQS9GUSxtQkFBbUIsa0JBQ1IsaUJBQWlCLGFBQStDLGlCQUFpQjtvSEFENUYsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsaUJBQWlCOzswQkFBd0MsTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgYXJyYXlBZGQsIGFycmF5UmVtb3ZlLCBhcnJheVVwc2VydCwgRW50aXR5U3RhdGUsIEVudGl0eVN0b3JlLCBIYXNoTWFwIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YVwiO1xuaW1wb3J0IHsgQWRkRW50aXRpZXNPcHRpb25zIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YS9zcmMvbGliL2FkZEVudGl0aWVzXCI7XG5pbXBvcnQgeyBTdG9yZUNvbmZpZ09wdGlvbnMgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhL3NyYy9saWIvc3RvcmVDb25maWdcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2FwaS9maWx0ZXIuYXBpXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsIEZpbHRlclBhcmFtZXRlcnNNb2RlbCwgRmlsdGVyUmVzdWx0TW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgUXVlcnlNb2RlbCwgUXVlcnlSdWxlTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3F1ZXJ5Lm1vZGVsXCI7XG5pbXBvcnQgeyBGSUxURVJfVklFV19TVEFURSwgRklMVEVSX1ZJRVdfU1RPUkUgfSBmcm9tIFwiLi4vbmljZS1maWx0ZXItdmlldy5jb25zdGFudFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5pY2VGaWx0ZXJWaWV3U3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZSB7XG4gICAgc3ViU3RhdGVzOiBIYXNoTWFwPGFueT47XG4gICAgbW9kZTogXCJwYWdpbmF0ZWRcIiB8IFwiYWNjdW11bGF0ZWRcIjtcbiAgICBhdXRvTG9hZDogYm9vbGVhbjtcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBmaWx0ZXJDb25maWdMb2FkaW5nOiBib29sZWFuO1xuICAgIGZpbHRlckNvbmZpZzogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW107XG4gICAgZmlsdGVyUmVzdWx0OiBGaWx0ZXJSZXN1bHRNb2RlbCB8IG51bGw7XG4gICAgZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsO1xuICAgIGJhc2VSdWxlczogKFF1ZXJ5UnVsZU1vZGVsIHwgUXVlcnlNb2RlbClbXTtcbiAgICBxdWVyeVBhcmFtczogUXVlcnlQYXJhbXM7XG4gICAgcmVzZXRSZXN1bHQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsVmFsdWU6IE5pY2VGaWx0ZXJWaWV3U3RhdGUgPSB7XG4gICAgc3ViU3RhdGVzOiB7fSxcbiAgICBtb2RlOiBcInBhZ2luYXRlZFwiLFxuICAgIGF1dG9Mb2FkOiB0cnVlLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBmaWx0ZXJDb25maWdMb2FkaW5nOiBmYWxzZSxcbiAgICBmaWx0ZXJDb25maWc6IFtdLFxuICAgIGZpbHRlclJlc3VsdDogbnVsbCxcbiAgICBmaWx0ZXJQYXJhbWV0ZXJzOiB7XG4gICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICBsZW5ndGg6IDEwLFxuICAgICAgICBvcmRlcjoge30sXG4gICAgICAgIHNlYXJjaDogXCJcIixcbiAgICAgICAgcnVsZXM6IFtdLFxuICAgICAgICBkYXRhOiB7fVxuICAgIH0sXG4gICAgYmFzZVJ1bGVzOiBbXSxcbiAgICBxdWVyeVBhcmFtczogbnVsbCxcbiAgICByZXNldFJlc3VsdDogZmFsc2Vcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyVmlld1N0b3JlIGV4dGVuZHMgRW50aXR5U3RvcmU8TmljZUZpbHRlclZpZXdTdGF0ZT4ge1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRklMVEVSX1ZJRVdfU1RBVEUpIHN0YXRlOiBQYXJ0aWFsPE5pY2VGaWx0ZXJWaWV3U3RhdGU+LCBASW5qZWN0KEZJTFRFUl9WSUVXX1NUT1JFKSBzdG9yZTogU3RvcmVDb25maWdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIC4uLmluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgZmlsdGVyUGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgIC4uLmluaXRpYWxWYWx1ZS5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIC4uLihzdGF0ZS5maWx0ZXJQYXJhbWV0ZXJzID8/IHt9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9LCBzdG9yZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEZpbHRlckNvbmZpZ0xvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZSh7IGZpbHRlckNvbmZpZ0xvYWRpbmc6IGxvYWRpbmcgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFBhcmFtZXRlcnMoZmlsdGVyUGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlKHsgZmlsdGVyUGFyYW1ldGVycyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UmVzdWx0KGZpbHRlclJlc3VsdDogRmlsdGVyUmVzdWx0TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBtb2RlLCByZXNldFJlc3VsdCB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAobW9kZSA9PT0gXCJhY2N1bXVsYXRlZFwiKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2U6IGZpbHRlclJlc3VsdC5wYWdlLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbDogZmlsdGVyUmVzdWx0LnRvdGFsLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihyZXNldFJlc3VsdCA/IFtdIDogc3RhdGUuZmlsdGVyUmVzdWx0Py52YWx1ZXMgPz8gW10pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyUmVzdWx0LnZhbHVlc1xuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNldFJlc3VsdDogZmFsc2VcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJSZXN1bHRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1vZGUgPT09IFwiYWNjdW11bGF0ZWRcIiAmJiAhcmVzZXRSZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkKFsuLi5maWx0ZXJSZXN1bHQudmFsdWVzXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldChbLi4uZmlsdGVyUmVzdWx0LnZhbHVlc10pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFZhbHVlKHZhbHVlOiBhbnksIG9wdHM/OiBBZGRFbnRpdGllc09wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5QWRkKGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlLCBvcHRzKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkZCh2YWx1ZSwgb3B0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwc2VydFZhbHVlKHZhbHVlOiBhbnksIGtleT86IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclJlc3VsdCB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoIWZpbHRlclJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaWRLZXkgPSBrZXkgPz8gdGhpcy5pZEtleTtcbiAgICAgICAgdGhpcy51cGRhdGUoe1xuICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyUmVzdWx0LFxuICAgICAgICAgICAgICAgIHZhbHVlczogYXJyYXlVcHNlcnQoZmlsdGVyUmVzdWx0LnZhbHVlcywgdmFsdWVbaWRLZXldLCB2YWx1ZSwga2V5KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwc2VydCh2YWx1ZVtpZEtleV0sIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlVmFsdWUodmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZEtleSA9IGtleSA/PyB0aGlzLmlkS2V5O1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheVJlbW92ZShmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZVtpZEtleV0sIGtleSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZW1vdmUodmFsdWVbaWRLZXldKTtcbiAgICB9XG59XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1maWx0ZXItdmlldy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFlLFdBQVcsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBTXhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQWdCcEYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUF3QjtJQUM3QyxTQUFTLEVBQUUsRUFBRTtJQUNiLElBQUksRUFBRSxXQUFXO0lBQ2pCLFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLEtBQUs7SUFDZixtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGdCQUFnQixFQUFFO1FBQ2QsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsRUFBRTtRQUNULElBQUksRUFBRSxFQUFFO0tBQ1g7SUFDRCxTQUFTLEVBQUUsRUFBRTtJQUNiLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxLQUFLO0NBQ3JCLENBQUM7QUFHRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBZ0M7SUFDckUsWUFBdUMsS0FBbUMsRUFBNkIsS0FBeUI7UUFDNUgsS0FBSyxDQUFDO1lBQ0YsR0FBRyxZQUFZO1lBQ2YsR0FBRyxL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QUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBhcnJheUFkZCwgYXJyYXlSZW1vdmUsIGFycmF5VXBzZXJ0LCBFbnRpdHlTdGF0ZSwgRW50aXR5U3RvcmUsIEhhc2hNYXAgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBBZGRFbnRpdGllc09wdGlvbnMgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhL3NyYy9saWIvYWRkRW50aXRpZXNcIjtcbmltcG9ydCB7IFN0b3JlQ29uZmlnT3B0aW9ucyB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGEvc3JjL2xpYi9zdG9yZUNvbmZpZ1wiO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXMgfSBmcm9tIFwiLi4vLi4vLi4vYXBpL2ZpbHRlci5hcGlcIjtcbmltcG9ydCB7IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgRmlsdGVyUGFyYW1ldGVyc01vZGVsLCBGaWx0ZXJSZXN1bHRNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBRdWVyeU1vZGVsLCBRdWVyeVJ1bGVNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvcXVlcnkubW9kZWxcIjtcbmltcG9ydCB7IEZJTFRFUl9WSUVXX1NUQVRFLCBGSUxURVJfVklFV19TVE9SRSB9IGZyb20gXCIuLi9uaWNlLWZpbHRlci12aWV3LmNvbnN0YW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmljZUZpbHRlclZpZXdTdGF0ZSBleHRlbmRzIEVudGl0eVN0YXRlIHtcbiAgICBzdWJTdGF0ZXM6IEhhc2hNYXA8YW55PjtcbiAgICBtb2RlOiBcInBhZ2luYXRlZFwiIHwgXCJhY2N1bXVsYXRlZFwiO1xuICAgIGF1dG9Mb2FkOiBib29sZWFuO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIGZpbHRlckNvbmZpZ0xvYWRpbmc6IGJvb2xlYW47XG4gICAgZmlsdGVyQ29uZmlnOiBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWxbXTtcbiAgICBmaWx0ZXJSZXN1bHQ6IEZpbHRlclJlc3VsdE1vZGVsIHwgbnVsbDtcbiAgICBmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWw7XG4gICAgYmFzZVJ1bGVzOiAoUXVlcnlSdWxlTW9kZWwgfCBRdWVyeU1vZGVsKVtdO1xuICAgIHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtcztcbiAgICByZXNldFJlc3VsdDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxWYWx1ZTogTmljZUZpbHRlclZpZXdTdGF0ZSA9IHtcbiAgICBzdWJTdGF0ZXM6IHt9LFxuICAgIG1vZGU6IFwicGFnaW5hdGVkXCIsXG4gICAgYXV0b0xvYWQ6IHRydWUsXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGZpbHRlckNvbmZpZ0xvYWRpbmc6IGZhbHNlLFxuICAgIGZpbHRlckNvbmZpZzogW10sXG4gICAgZmlsdGVyUmVzdWx0OiBudWxsLFxuICAgIGZpbHRlclBhcmFtZXRlcnM6IHtcbiAgICAgICAgc3RhcnQ6IDAsXG4gICAgICAgIGxlbmd0aDogMTAsXG4gICAgICAgIG9yZGVyOiB7fSxcbiAgICAgICAgc2VhcmNoOiBcIlwiLFxuICAgICAgICBydWxlczogW10sXG4gICAgICAgIGRhdGE6IHt9XG4gICAgfSxcbiAgICBiYXNlUnVsZXM6IFtdLFxuICAgIHF1ZXJ5UGFyYW1zOiBudWxsLFxuICAgIHJlc2V0UmVzdWx0OiBmYWxzZVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJWaWV3U3RvcmUgZXh0ZW5kcyBFbnRpdHlTdG9yZTxOaWNlRmlsdGVyVmlld1N0YXRlPiB7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChGSUxURVJfVklFV19TVEFURSkgc3RhdGU6IFBhcnRpYWw8TmljZUZpbHRlclZpZXdTdGF0ZT4sIEBJbmplY3QoRklMVEVSX1ZJRVdfU1RPUkUpIHN0b3JlOiBTdG9yZUNvbmZpZ09wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgLi4uaW5pdGlhbFZhbHVlLFxuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBmaWx0ZXJQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgLi4uaW5pdGlhbFZhbHVlLmZpbHRlclBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgLi4uKHN0YXRlLmZpbHRlclBhcmFtZXRlcnMgPz8ge30pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIHN0b3JlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0RmlsdGVyQ29uZmlnTG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlKHsgZmlsdGVyQ29uZmlnTG9hZGluZzogbG9hZGluZyB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0UGFyYW1ldGVycyhmaWx0ZXJQYXJhbWV0ZXJzOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGUoeyBmaWx0ZXJQYXJhbWV0ZXJzIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSZXN1bHQoZmlsdGVyUmVzdWx0OiBGaWx0ZXJSZXN1bHRNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IG1vZGUsIHJlc2V0UmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmIChtb2RlID09PSBcImFjY3VtdWxhdGVkXCIpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogZmlsdGVyUmVzdWx0LnBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsOiBmaWx0ZXJSZXN1bHQudG90YWwsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uKHJlc2V0UmVzdWx0ID8gW10gOiBzdGF0ZS5maWx0ZXJSZXN1bHQ/LnZhbHVlcyA/PyBbXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQudmFsdWVzXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2V0UmVzdWx0OiBmYWxzZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUoe1xuICAgICAgICAgICAgICAgIGZpbHRlclJlc3VsdFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobW9kZSA9PT0gXCJhY2N1bXVsYXRlZFwiICYmICFyZXNldFJlc3VsdCkge1xuICAgICAgICAgICAgdGhpcy5hZGQoWy4uLmZpbHRlclJlc3VsdC52YWx1ZXNdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0KFsuLi5maWx0ZXJSZXN1bHQudmFsdWVzXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVmFsdWUodmFsdWU6IGFueSwgb3B0cz86IEFkZEVudGl0aWVzT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGZpbHRlclJlc3VsdCB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoIWZpbHRlclJlc3VsdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGUoe1xuICAgICAgICAgICAgZmlsdGVyUmVzdWx0OiB7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyUmVzdWx0LFxuICAgICAgICAgICAgICAgIHZhbHVlczogYXJyYXlBZGQoZmlsdGVyUmVzdWx0LnZhbHVlcywgdmFsdWUsIG9wdHMpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWRkKHZhbHVlLCBvcHRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBzZXJ0VmFsdWUodmFsdWU6IGFueSwga2V5Pzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLmdldFZhbHVlKCk7XG4gICAgICAgIGlmICghZmlsdGVyUmVzdWx0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZEtleSA9IGtleSA/PyB0aGlzLmlkS2V5O1xuICAgICAgICB0aGlzLnVwZGF0ZSh7XG4gICAgICAgICAgICBmaWx0ZXJSZXN1bHQ6IHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXJSZXN1bHQsXG4gICAgICAgICAgICAgICAgdmFsdWVzOiBhcnJheVVwc2VydChmaWx0ZXJSZXN1bHQudmFsdWVzLCB2YWx1ZVtpZEtleV0sIHZhbHVlLCBrZXkpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBzZXJ0KHZhbHVlW2lkS2V5XSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZSh2YWx1ZTogYW55LCBrZXk/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaWx0ZXJSZXN1bHQgfSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKCFmaWx0ZXJSZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlkS2V5ID0ga2V5ID8/IHRoaXMuaWRLZXk7XG4gICAgICAgIHRoaXMudXBkYXRlKHtcbiAgICAgICAgICAgIGZpbHRlclJlc3VsdDoge1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlclJlc3VsdCxcbiAgICAgICAgICAgICAgICB2YWx1ZXM6IGFycmF5UmVtb3ZlKGZpbHRlclJlc3VsdC52YWx1ZXMsIHZhbHVlW2lkS2V5XSwga2V5KVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJlbW92ZSh2YWx1ZVtpZEtleV0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKGZpbHRlclBhcmFtZXRlcnM/OiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwpOiBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwge1xuICAgICAgICBjb25zdCB7IGJhc2VSdWxlcyB9ID0gdGhpcy5nZXRWYWx1ZSgpO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0ge1xuICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgIHJ1bGVzOiBmaWx0ZXJQYXJhbWV0ZXJzPy5ydWxlcyA/IFsuLi5maWx0ZXJQYXJhbWV0ZXJzLnJ1bGVzXSA6IFtdXG4gICAgICAgIH07XG4gICAgICAgIGlmIChiYXNlUnVsZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcGFyYW1ldGVycy5ydWxlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICBjb25kaXRpb246IFwiYW5kXCIsXG4gICAgICAgICAgICAgICAgcnVsZXM6IGJhc2VSdWxlc1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmFtZXRlcnM7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from "./selectable-list/public-api";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIiBleHBvcnQgKiBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3QvcHVibGljLWFwaVwiO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1hbGwtZW50aXRpZXMtb3B0aW9ucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3NlbGVjdGFibGUtbGlzdC9tb2RlbC9sb2FkLWFsbC1lbnRpdGllcy1vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJRdWVyeU1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOaWNlU2VsZWN0YWJsZUxpc3RMb2FkQWxsRW50aXRpZXNPcHRpb25zIHtcbiAgICBxdWVyeT86IEZpbHRlclF1ZXJ5TW9kZWw7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2RpcmVjdGl2ZS9zZWxlY3RhYmxlLWxpc3QvbW9kZWwvc2VsZWN0YWJsZS1saXN0LW9wdGlvbnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTmljZVNlbGVjdGFibGVMaXN0T3B0aW9ucyB7XG4gICAgaWRLZXk/OiBzdHJpbmc7XG4gICAgcHJlbG9hZFdpbmRvdz86IG51bWJlcjtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class NicePreloadSelectedEntitiesProvider {
4
+ }
5
+ NicePreloadSelectedEntitiesProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NicePreloadSelectedEntitiesProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ NicePreloadSelectedEntitiesProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NicePreloadSelectedEntitiesProvider });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NicePreloadSelectedEntitiesProvider, decorators: [{
8
+ type: Injectable
9
+ }] });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZC1zZWxlY3RlZC1lbnRpdGllcy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3NlbGVjdGFibGUtbGlzdC9wcm92aWRlcnMvcHJlbG9hZC1zZWxlY3RlZC1lbnRpdGllcy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUkzQyxNQUFNLE9BQWdCLG1DQUFtQzs7Z0lBQW5DLG1DQUFtQztvSUFBbkMsbUNBQW1DOzJGQUFuQyxtQ0FBbUM7a0JBRHhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VTZWxlY3RhYmxlTGlzdExvYWRBbGxFbnRpdGllc09wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWwvbG9hZC1hbGwtZW50aXRpZXMtb3B0aW9ucy5tb2RlbFwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmljZVByZWxvYWRTZWxlY3RlZEVudGl0aWVzUHJvdmlkZXI8VCwgSUQgPSBudW1iZXI+IHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc3RhdGU6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVsb2FkRW50aXR5KGVudGl0eTogVCk6IFByb21pc2U8VD47XG4gICAgcHVibGljIGFic3RyYWN0IHJlbG9hZEVudGl0aWVzKGVudGl0aWVzOiBUW10pOiBQcm9taXNlPFRbXT47XG4gICAgcHVibGljIGFic3RyYWN0IGxvYWRFbnRpdHlCeUlkKGlkOiBJRCk6IFByb21pc2U8VD47XG4gICAgcHVibGljIGFic3RyYWN0IGxvYWRFbnRpdGllc0J5SWQoaWRzOiBJRFtdKTogUHJvbWlzZTxUW10+O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBsb2FkQWxsRW50aXRpZXMob3B0aW9ucz86IE5pY2VTZWxlY3RhYmxlTGlzdExvYWRBbGxFbnRpdGllc09wdGlvbnMpOiBQcm9taXNlPElEW10+O1xufVxuIl19
@@ -0,0 +1,10 @@
1
+ export * from "./model/selectable-list-options.model";
2
+ export * from "./model/load-all-entities-options.model";
3
+ export * from "./providers/preload-selected-entities.provider";
4
+ export * from "./store/selectable-list.service";
5
+ export * from "./store/selectable-list-state.service";
6
+ export * from "./selectable-list.module";
7
+ export * from "./selectable-list.directive";
8
+ export * from "./selectable-list-checkbox.directive";
9
+ export * from "./selectable-list-select-all.directive";
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3NlbGVjdGFibGUtbGlzdC9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbW9kZWwvc2VsZWN0YWJsZS1saXN0LW9wdGlvbnMubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21vZGVsL2xvYWQtYWxsLWVudGl0aWVzLW9wdGlvbnMubW9kZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVycy9wcmVsb2FkLXNlbGVjdGVkLWVudGl0aWVzLnByb3ZpZGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdG9yZS9zZWxlY3RhYmxlLWxpc3Quc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmUvc2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdGFibGUtbGlzdC5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdGFibGUtbGlzdC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdGFibGUtbGlzdC1jaGVja2JveC5kaXJlY3RpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlbGVjdGFibGUtbGlzdC1zZWxlY3QtYWxsLmRpcmVjdGl2ZVwiO1xuIl19
@@ -0,0 +1,122 @@
1
+ import { Directive, Input } from "@angular/core";
2
+ import { MatCheckbox } from "@angular/material/checkbox";
3
+ import { EntityActions } from "@datorama/akita";
4
+ import { Subject } from "rxjs";
5
+ import { takeUntil } from "rxjs/operators";
6
+ import { NiceSelectableListDirective } from "./selectable-list.directive";
7
+ import { SelectableListService } from "./store/selectable-list.service";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/checkbox";
10
+ import * as i2 from "./selectable-list.directive";
11
+ import * as i3 from "./store/selectable-list.service";
12
+ // tslint:disable-next-line:directive-class-suffix
13
+ export class NiceSelectableListCheckboxDirective {
14
+ constructor(checkbox, selectableList, selectableListService) {
15
+ this.checkbox = checkbox;
16
+ this.selectableList = selectableList;
17
+ this.selectableListService = selectableListService;
18
+ this.unsubscribeAll$ = new Subject();
19
+ }
20
+ get currentId() {
21
+ if (!this.selectableEntity || !this.selectableListStateService) {
22
+ return null;
23
+ }
24
+ return this.selectableEntity[this.selectableListStateService.idKey];
25
+ }
26
+ ngOnInit() {
27
+ this.selectableListStateService = this.selectableListService.withState(this.selectableList.state);
28
+ this.selectableListStateQuery = this.selectableListService.query(this.selectableList.state);
29
+ if (this.selectableEntity) {
30
+ this.handleSelectableEntity();
31
+ }
32
+ if (this.selectPage) {
33
+ this.handleSelectPage();
34
+ }
35
+ }
36
+ ngOnDestroy() {
37
+ this.unsubscribeAll$.next();
38
+ this.unsubscribeAll$.complete();
39
+ }
40
+ handleSelectableEntity() {
41
+ if (this.checkbox.checked) {
42
+ this.selectableListStateService.selectEntity(this.selectableEntity);
43
+ }
44
+ if (!this.checkbox.checked && this.selectableListStateQuery.getEntity(this.currentId)) {
45
+ this.checkbox.checked = true;
46
+ }
47
+ this.checkbox.change.pipe(takeUntil(this.unsubscribeAll$)).subscribe((value) => {
48
+ if (value.checked && !this.selectableListStateQuery.getEntity(this.currentId)) {
49
+ this.selectableListStateService.selectEntity(this.selectableEntity);
50
+ }
51
+ if (!value.checked && this.selectableListStateQuery.getEntity(this.currentId)) {
52
+ this.selectableListStateService.unselectEntity(this.selectableEntity);
53
+ }
54
+ });
55
+ this.selectableListStateQuery.selectEntityAction([
56
+ EntityActions.Add,
57
+ EntityActions.Remove,
58
+ EntityActions.Set
59
+ ]).pipe(takeUntil(this.unsubscribeAll$)).subscribe(({ ids, type }) => {
60
+ const shouldTakeAction = ids.includes(this.currentId);
61
+ if (!shouldTakeAction) {
62
+ if (type === EntityActions.Set) {
63
+ this.checkbox.checked = false;
64
+ }
65
+ return;
66
+ }
67
+ if (!this.checkbox.checked && (type === EntityActions.Add || type === EntityActions.Set)) {
68
+ this.checkbox.checked = true;
69
+ }
70
+ if (this.checkbox.checked && type === EntityActions.Remove) {
71
+ this.checkbox.checked = false;
72
+ }
73
+ });
74
+ }
75
+ handleSelectPage() {
76
+ this.selectableListStateQuery.selectCount().subscribe(() => this.updateCheckboxState());
77
+ this.selectableList.checkboxes.changes.pipe(takeUntil(this.unsubscribeAll$)).subscribe(() => this.updateCheckboxState());
78
+ this.checkbox.change.pipe(takeUntil(this.unsubscribeAll$)).subscribe((value) => {
79
+ for (const checkbox of this.selectableList.checkboxes) {
80
+ if (checkbox.selectPage) {
81
+ continue;
82
+ }
83
+ checkbox.checkbox.checked = value.checked;
84
+ checkbox.checkbox.change.emit({ checked: value.checked, source: checkbox.checkbox });
85
+ }
86
+ });
87
+ }
88
+ updateCheckboxState() {
89
+ const checkboxes = this.selectableList.checkboxes.filter((checkbox) => !checkbox.selectPage);
90
+ if (!checkboxes.length) {
91
+ return;
92
+ }
93
+ const count = this.selectableListStateQuery.getCount();
94
+ if (!count) {
95
+ this.checkbox.indeterminate = false;
96
+ this.checkbox.checked = false;
97
+ return;
98
+ }
99
+ if (count !== checkboxes.length) {
100
+ this.checkbox.indeterminate = true;
101
+ this.checkbox.checked = false;
102
+ return;
103
+ }
104
+ if (count === checkboxes.length) {
105
+ this.checkbox.checked = true;
106
+ this.checkbox.indeterminate = false;
107
+ }
108
+ }
109
+ }
110
+ NiceSelectableListCheckboxDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListCheckboxDirective, deps: [{ token: i1.MatCheckbox }, { token: i2.NiceSelectableListDirective }, { token: i3.SelectableListService }], target: i0.ɵɵFactoryTarget.Directive });
111
+ NiceSelectableListCheckboxDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceSelectableListCheckboxDirective, selector: "mat-checkbox[niceSelectableListCheckbox]", inputs: { selectableEntity: "selectableEntity", selectPage: "selectPage" }, ngImport: i0 });
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListCheckboxDirective, decorators: [{
113
+ type: Directive,
114
+ args: [{
115
+ selector: "mat-checkbox[niceSelectableListCheckbox]"
116
+ }]
117
+ }], ctorParameters: function () { return [{ type: i1.MatCheckbox }, { type: i2.NiceSelectableListDirective }, { type: i3.SelectableListService }]; }, propDecorators: { selectableEntity: [{
118
+ type: Input
119
+ }], selectPage: [{
120
+ type: Input
121
+ }] } });
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LWNoZWNrYm94LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3NlbGVjdGFibGUtbGlzdC9zZWxlY3RhYmxlLWxpc3QtY2hlY2tib3guZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU14RSxrREFBa0Q7QUFDbEQsTUFBTSxPQUFPLG1DQUFtQztJQW9CNUMsWUFDb0IsUUFBcUIsRUFDN0IsY0FBMkMsRUFDM0MscUJBQTRDO1FBRnBDLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDN0IsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBQzNDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFiaEQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBYzNDLENBQUM7SUFaSixJQUFZLFNBQVM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUM1RCxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMs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QjtRQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3BCLE9BQU87U0FDVjtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLEtBQUssS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxLQUFLLEtBQUssVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQzs7Z0lBNUhRLG1DQUFtQztvSEFBbkMsbUNBQW1DOzJGQUFuQyxtQ0FBbUM7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDBDQUEwQztpQkFDdkQ7Z0xBSVUsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRDaGVja2JveCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xuaW1wb3J0IHsgRW50aXR5QWN0aW9ucywgUXVlcnlFbnRpdHkgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0RGlyZWN0aXZlIH0gZnJvbSBcIi4vc2VsZWN0YWJsZS1saXN0LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi9zdG9yZS9zZWxlY3RhYmxlLWxpc3Qtc3RhdGUuc2VydmljZVwiO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUxpc3RTZXJ2aWNlIH0gZnJvbSBcIi4vc3RvcmUvc2VsZWN0YWJsZS1saXN0LnNlcnZpY2VcIjtcbmltcG9ydCB7IFNlbGVjdGFibGVMaXN0U3RhdGUgfSBmcm9tIFwiLi9zdG9yZS9zZWxlY3RhYmxlLWxpc3Quc3RhdGVcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6IFwibWF0LWNoZWNrYm94W25pY2VTZWxlY3RhYmxlTGlzdENoZWNrYm94XVwiXG59KVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBOaWNlU2VsZWN0YWJsZUxpc3RDaGVja2JveERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RhYmxlRW50aXR5PzogYW55O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0UGFnZT86IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlITogU2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2U8YW55PjtcbiAgICBwcml2YXRlIHNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeSE6IFF1ZXJ5RW50aXR5PFNlbGVjdGFibGVMaXN0U3RhdGU8YW55Pj47XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGdldCBjdXJyZW50SWQoKTogYW55IHtcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGFibGVFbnRpdHkgfHwgIXRoaXMuc2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0YWJsZUVudGl0eVt0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlLmlkS2V5XTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGNoZWNrYm94OiBNYXRDaGVja2JveCxcbiAgICAgICAgcHJpdmF0ZSBzZWxlY3RhYmxlTGlzdDogTmljZVNlbGVjdGFibGVMaXN0RGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIHNlbGVjdGFibGVMaXN0U2VydmljZTogU2VsZWN0YWJsZUxpc3RTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlID0gdGhpcy5zZWxlY3RhYmxlTGlzdFNlcnZpY2Uud2l0aFN0YXRlKHRoaXMuc2VsZWN0YWJsZUxpc3Quc3RhdGUpO1xuICAgICAgICB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeSA9IHRoaXMuc2VsZWN0YWJsZUxpc3RTZXJ2aWNlLnF1ZXJ5KHRoaXMuc2VsZWN0YWJsZUxpc3Quc3RhdGUpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGFibGVFbnRpdHkpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0YWJsZUVudGl0eSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0UGFnZSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RQYWdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNlbGVjdGFibGVFbnRpdHkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94LmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2Uuc2VsZWN0RW50aXR5KHRoaXMuc2VsZWN0YWJsZUVudGl0eSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tib3guY2hlY2tlZCAmJiB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeS5nZXRFbnRpdHkodGhpcy5jdXJyZW50SWQpKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGVja2JveC5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUuY2hlY2tlZCAmJiAhdGhpcy5zZWxlY3RhYmxlTGlzdFN0YXRlUXVlcnkuZ2V0RW50aXR5KHRoaXMuY3VycmVudElkKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2Uuc2VsZWN0RW50aXR5KHRoaXMuc2VsZWN0YWJsZUVudGl0eSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdmFsdWUuY2hlY2tlZCAmJiB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeS5nZXRFbnRpdHkodGhpcy5jdXJyZW50SWQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlTGlzdFN0YXRlU2VydmljZS51bnNlbGVjdEVudGl0eSh0aGlzLnNlbGVjdGFibGVFbnRpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeS5zZWxlY3RFbnRpdHlBY3Rpb24oW1xuICAgICAgICAgICAgRW50aXR5QWN0aW9ucy5BZGQsXG4gICAgICAgICAgICBFbnRpdHlBY3Rpb25zLlJlbW92ZSxcbiAgICAgICAgICAgIEVudGl0eUFjdGlvbnMuU2V0XG4gICAgICAgIF0pLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKCh7IGlkcywgdHlwZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaG91bGRUYWtlQWN0aW9uID0gaWRzLmluY2x1ZGVzKHRoaXMuY3VycmVudElkKTtcbiAgICAgICAgICAgIGlmICghc2hvdWxkVGFrZUFjdGlvbikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBFbnRpdHlBY3Rpb25zLlNldCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tib3guY2hlY2tlZCAmJiAodHlwZSA9PT0gRW50aXR5QWN0aW9ucy5BZGQgfHwgdHlwZSA9PT0gRW50aXR5QWN0aW9ucy5TZXQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveC5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tib3guY2hlY2tlZCAmJiB0eXBlID09PSBFbnRpdHlBY3Rpb25zLlJlbW92ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVNlbGVjdFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0YWJsZUxpc3RTdGF0ZVF1ZXJ5LnNlbGVjdENvdW50KCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlQ2hlY2tib3hTdGF0ZSgpKTtcblxuICAgICAgICB0aGlzLnNlbGVjdGFibGVMaXN0LmNoZWNrYm94ZXMuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZUNoZWNrYm94U3RhdGUoKSk7XG5cbiAgICAgICAgdGhpcy5jaGVja2JveC5jaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoZWNrYm94IG9mIHRoaXMuc2VsZWN0YWJsZUxpc3QuY2hlY2tib3hlcykge1xuICAgICAgICAgICAgICAgIGlmIChjaGVja2JveC5zZWxlY3RQYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrYm94LmNoZWNrZWQgPSB2YWx1ZS5jaGVja2VkO1xuICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrYm94LmNoYW5nZS5lbWl0KHsgY2hlY2tlZDogdmFsdWUuY2hlY2tlZCwgc291cmNlOiBjaGVja2JveC5jaGVja2JveCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDaGVja2JveFN0YXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjaGVja2JveGVzID0gdGhpcy5zZWxlY3RhYmxlTGlzdC5jaGVja2JveGVzLmZpbHRlcigoY2hlY2tib3gpID0+ICFjaGVja2JveC5zZWxlY3RQYWdlKTtcbiAgICAgICAgaWYgKCFjaGVja2JveGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeS5nZXRDb3VudCgpO1xuICAgICAgICBpZiAoIWNvdW50KSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94LmluZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tib3guY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb3VudCAhPT0gY2hlY2tib3hlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tib3guaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY291bnQgPT09IGNoZWNrYm94ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jaGVja2JveC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Directive, HostListener, Input, Optional } from "@angular/core";
2
+ import { NiceFilterViewQuery } from "../../components/nice-filter-view/store/nice-filter-view.query";
3
+ import { FilterUtils } from "../../utils/filter.utils";
4
+ import { NiceSelectableListDirective } from "./selectable-list.directive";
5
+ import { SelectableListService } from "./store/selectable-list.service";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../components/nice-filter-view/store/nice-filter-view.query";
8
+ import * as i2 from "./selectable-list.directive";
9
+ import * as i3 from "./store/selectable-list.service";
10
+ // tslint:disable-next-line:directive-class-suffix
11
+ export class NiceSelectableListSelectAllDirective {
12
+ constructor(niceFilterViewQuery, selectableList, selectableListService) {
13
+ this.niceFilterViewQuery = niceFilterViewQuery;
14
+ this.selectableList = selectableList;
15
+ this.selectableListService = selectableListService;
16
+ this.action = "select";
17
+ }
18
+ ngOnInit() {
19
+ this.selectableListStateService = this.selectableListService.withState(this.selectableList.state);
20
+ this.selectableListStateQuery = this.selectableListService.query(this.selectableList.state);
21
+ }
22
+ onClick() {
23
+ if (this.action === "select") {
24
+ const filterParameters = this.niceFilterViewQuery?.getParameters() ?? {};
25
+ const query = filterParameters ? FilterUtils.parametersToRequest(filterParameters) : null;
26
+ this.selectableListStateService.selectAll({ query });
27
+ }
28
+ else {
29
+ this.selectableListStateService.unselectAll();
30
+ }
31
+ }
32
+ }
33
+ NiceSelectableListSelectAllDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListSelectAllDirective, deps: [{ token: i1.NiceFilterViewQuery, optional: true }, { token: i2.NiceSelectableListDirective }, { token: i3.SelectableListService }], target: i0.ɵɵFactoryTarget.Directive });
34
+ NiceSelectableListSelectAllDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceSelectableListSelectAllDirective, selector: "button[niceSelectableListSelectAll]", inputs: { action: "action" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListSelectAllDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: "button[niceSelectableListSelectAll]"
39
+ }]
40
+ }], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery, decorators: [{
41
+ type: Optional
42
+ }] }, { type: i2.NiceSelectableListDirective }, { type: i3.SelectableListService }]; }, propDecorators: { action: [{
43
+ type: Input
44
+ }], onClick: [{
45
+ type: HostListener,
46
+ args: ["click"]
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LXNlbGVjdC1hbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9kaXJlY3RpdmUvc2VsZWN0YWJsZS1saXN0L3NlbGVjdGFibGUtbGlzdC1zZWxlY3QtYWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFNeEUsa0RBQWtEO0FBQ2xELE1BQU0sT0FBTyxvQ0FBb0M7SUFPN0MsWUFFWSxtQkFBK0MsRUFDL0MsY0FBMkMsRUFDM0MscUJBQTRDO1FBRjVDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNEI7UUFDL0MsbUJBQWMsR0FBZCxjQUFjLENBQTZCO1FBQzNDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFUakQsV0FBTSxHQUEwQixRQUFRLENBQUM7SUFVN0MsQ0FBQztJQUVHLFFBQVE7UUFDWCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUdNLE9BQU87UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQzFCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6RSxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMxRixJQUFJLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQzs7aUlBNUJRLG9DQUFvQztxSEFBcEMsb0NBQW9DOzJGQUFwQyxvQ0FBb0M7a0JBSmhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztpQkFDbEQ7OzBCQVVRLFFBQVE7MEhBTk4sTUFBTTtzQkFEWixLQUFLO2dCQW1CQyxPQUFPO3NCQURiLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBRdWVyeUVudGl0eSB9IGZyb20gXCJAZGF0b3JhbWEvYWtpdGFcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgRmlsdGVyVXRpbHMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZmlsdGVyLnV0aWxzXCI7XG5pbXBvcnQgeyBOaWNlU2VsZWN0YWJsZUxpc3REaXJlY3RpdmUgfSBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3QuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBTZWxlY3RhYmxlTGlzdFN0YXRlU2VydmljZSB9IGZyb20gXCIuL3N0b3JlL3NlbGVjdGFibGUtbGlzdC1zdGF0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBTZWxlY3RhYmxlTGlzdFNlcnZpY2UgfSBmcm9tIFwiLi9zdG9yZS9zZWxlY3RhYmxlLWxpc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgU2VsZWN0YWJsZUxpc3RTdGF0ZSB9IGZyb20gXCIuL3N0b3JlL3NlbGVjdGFibGUtbGlzdC5zdGF0ZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJidXR0b25bbmljZVNlbGVjdGFibGVMaXN0U2VsZWN0QWxsXVwiXG59KVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBOaWNlU2VsZWN0YWJsZUxpc3RTZWxlY3RBbGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGlvbjogXCJzZWxlY3RcIiB8IFwidW5zZWxlY3RcIiA9IFwic2VsZWN0XCI7XG5cbiAgICBwcml2YXRlIHNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlITogU2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2U8YW55PjtcbiAgICBwcml2YXRlIHNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeSE6IFF1ZXJ5RW50aXR5PFNlbGVjdGFibGVMaXN0U3RhdGU8YW55Pj47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSBuaWNlRmlsdGVyVmlld1F1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5IHwgbnVsbCxcbiAgICAgICAgcHJpdmF0ZSBzZWxlY3RhYmxlTGlzdDogTmljZVNlbGVjdGFibGVMaXN0RGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIHNlbGVjdGFibGVMaXN0U2VydmljZTogU2VsZWN0YWJsZUxpc3RTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlID0gdGhpcy5zZWxlY3RhYmxlTGlzdFNlcnZpY2Uud2l0aFN0YXRlKHRoaXMuc2VsZWN0YWJsZUxpc3Quc3RhdGUpO1xuICAgICAgICB0aGlzLnNlbGVjdGFibGVMaXN0U3RhdGVRdWVyeSA9IHRoaXMuc2VsZWN0YWJsZUxpc3RTZXJ2aWNlLnF1ZXJ5KHRoaXMuc2VsZWN0YWJsZUxpc3Quc3RhdGUpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiKVxuICAgIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09IFwic2VsZWN0XCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlclBhcmFtZXRlcnMgPSB0aGlzLm5pY2VGaWx0ZXJWaWV3UXVlcnk/LmdldFBhcmFtZXRlcnMoKSA/PyB7fTtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gZmlsdGVyUGFyYW1ldGVycyA/IEZpbHRlclV0aWxzLnBhcmFtZXRlcnNUb1JlcXVlc3QoZmlsdGVyUGFyYW1ldGVycykgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlTGlzdFN0YXRlU2VydmljZS5zZWxlY3RBbGwoeyBxdWVyeSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2UudW5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const NICE_PRELOAD_SELECTED_ENTITIES_PROVIDER = new InjectionToken("nice_preload_selected_entities_provider");
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9kaXJlY3RpdmUvc2VsZWN0YWJsZS1saXN0L3NlbGVjdGFibGUtbGlzdC5jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLElBQUksY0FBYyxDQUFDLHlDQUF5QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBOSUNFX1BSRUxPQURfU0VMRUNURURfRU5USVRJRVNfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXCJuaWNlX3ByZWxvYWRfc2VsZWN0ZWRfZW50aXRpZXNfcHJvdmlkZXJcIik7XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { ContentChildren, Directive, Input, QueryList } from "@angular/core";
2
+ import { NiceSelectableListCheckboxDirective } from "./selectable-list-checkbox.directive";
3
+ import * as i0 from "@angular/core";
4
+ // tslint:disable-next-line:directive-class-suffix
5
+ export class NiceSelectableListDirective {
6
+ constructor() {
7
+ this.defaultOptions = { idKey: "id", preloadWindow: 2 };
8
+ }
9
+ ngOnInit() {
10
+ if (!this.options) {
11
+ this.options = { ...this.defaultOptions };
12
+ }
13
+ }
14
+ ngOnChanges(changes) {
15
+ if ("options" in changes) {
16
+ this.options = {
17
+ ...this.defaultOptions,
18
+ ...changes.options.currentValue
19
+ };
20
+ }
21
+ }
22
+ }
23
+ NiceSelectableListDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ NiceSelectableListDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.3", type: NiceSelectableListDirective, selector: "[niceSelectableList]", inputs: { state: "state", options: "options" }, queries: [{ propertyName: "checkboxes", predicate: NiceSelectableListCheckboxDirective, descendants: true }], usesOnChanges: true, ngImport: i0 });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ selector: "[niceSelectableList]"
29
+ }]
30
+ }], propDecorators: { state: [{
31
+ type: Input
32
+ }], options: [{
33
+ type: Input
34
+ }], checkboxes: [{
35
+ type: ContentChildren,
36
+ args: [NiceSelectableListCheckboxDirective, { descendants: true }]
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3NlbGVjdGFibGUtbGlzdC9zZWxlY3RhYmxlLWxpc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUUvRyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFLM0Ysa0RBQWtEO0FBQ2xELE1BQU0sT0FBTywyQkFBMkI7SUFKeEM7UUFjWSxtQkFBYyxHQUE4QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDO0tBZ0J6RjtJQWRVLFFBQVE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUM3QztJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxTQUFTLElBQUksT0FBTyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ1gsR0FBRyxJQUFJLENBQUMsY0FBYztnQkFDdEIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVk7YUFDbEMsQ0FBQztTQUNMO0lBQ0wsQ0FBQzs7d0hBekJRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHVJQU9uQixtQ0FBbUM7MkZBUDNDLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNuQzs4QkFJVSxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlVLFVBQVU7c0JBRHpCLGVBQWU7dUJBQUMsbUNBQW1DLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VTZWxlY3RhYmxlTGlzdE9wdGlvbnMgfSBmcm9tIFwiLi9tb2RlbC9zZWxlY3RhYmxlLWxpc3Qtb3B0aW9ucy5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0Q2hlY2tib3hEaXJlY3RpdmUgfSBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3QtY2hlY2tib3guZGlyZWN0aXZlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiBcIltuaWNlU2VsZWN0YWJsZUxpc3RdXCJcbn0pXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIE5pY2VTZWxlY3RhYmxlTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzdGF0ZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgb3B0aW9uczogTmljZVNlbGVjdGFibGVMaXN0T3B0aW9ucztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oTmljZVNlbGVjdGFibGVMaXN0Q2hlY2tib3hEaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tib3hlczogUXVlcnlMaXN0PE5pY2VTZWxlY3RhYmxlTGlzdENoZWNrYm94RGlyZWN0aXZlPjtcblxuICAgIHByaXZhdGUgZGVmYXVsdE9wdGlvbnM6IE5pY2VTZWxlY3RhYmxlTGlzdE9wdGlvbnMgPSB7IGlkS2V5OiBcImlkXCIsIHByZWxvYWRXaW5kb3c6IDIgfTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHsgLi4udGhpcy5kZWZhdWx0T3B0aW9ucyB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFwib3B0aW9uc1wiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAgICAgICAgIC4uLmNoYW5nZXMub3B0aW9ucy5jdXJyZW50VmFsdWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { NiceSelectableListCheckboxDirective } from "./selectable-list-checkbox.directive";
3
+ import { NiceSelectableListSelectAllDirective } from "./selectable-list-select-all.directive";
4
+ import { NICE_PRELOAD_SELECTED_ENTITIES_PROVIDER } from "./selectable-list.constant";
5
+ import { NiceSelectableListDirective } from "./selectable-list.directive";
6
+ import { SelectableListService } from "./store/selectable-list.service";
7
+ import * as i0 from "@angular/core";
8
+ export class NiceSelectableListModule {
9
+ static register(...providers) {
10
+ return {
11
+ ngModule: NiceSelectableListModule,
12
+ providers: providers.map(x => ({
13
+ provide: NICE_PRELOAD_SELECTED_ENTITIES_PROVIDER,
14
+ useClass: x,
15
+ multi: true
16
+ }))
17
+ };
18
+ }
19
+ }
20
+ NiceSelectableListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ NiceSelectableListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListModule, declarations: [NiceSelectableListDirective, NiceSelectableListCheckboxDirective, NiceSelectableListSelectAllDirective], exports: [NiceSelectableListDirective, NiceSelectableListCheckboxDirective, NiceSelectableListSelectAllDirective] });
22
+ NiceSelectableListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListModule, providers: [SelectableListService] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceSelectableListModule, decorators: [{
24
+ type: NgModule,
25
+ args: [{
26
+ imports: [],
27
+ declarations: [NiceSelectableListDirective, NiceSelectableListCheckboxDirective, NiceSelectableListSelectAllDirective],
28
+ providers: [SelectableListService],
29
+ exports: [NiceSelectableListDirective, NiceSelectableListCheckboxDirective, NiceSelectableListSelectAllDirective]
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvZGlyZWN0aXZlL3NlbGVjdGFibGUtbGlzdC9zZWxlY3RhYmxlLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQVF4RSxNQUFNLE9BQU8sd0JBQXdCO0lBQzFCLE1BQU0sQ0FBQyxRQUFRLENBQ2xCLEdBQUcsU0FBZ0U7UUFFbkUsT0FBTztZQUNILFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPLEVBQUUsdUNBQXVDO2dCQUNoRCxRQUFRLEVBQUUsQ0FBQztnQkFDWCxLQUFLLEVBQUUsSUFBSTthQUNkLENBQUMsQ0FBQztTQUNOLENBQUM7SUFDTixDQUFDOztxSEFaUSx3QkFBd0I7c0hBQXhCLHdCQUF3QixpQkFKbEIsMkJBQTJCLEVBQUUsbUNBQW1DLEVBQUUsb0NBQW9DLGFBRTNHLDJCQUEyQixFQUFFLG1DQUFtQyxFQUFFLG9DQUFvQztzSEFFdkcsd0JBQXdCLGFBSHRCLENBQUMscUJBQXFCLENBQUM7MkZBR3pCLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxZQUFZLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxtQ0FBbUMsRUFBRSxvQ0FBb0MsQ0FBQztvQkFDdEgsU0FBUyxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLG1DQUFtQyxFQUFFLG9DQUFvQyxDQUFDO2lCQUNwSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VQcmVsb2FkU2VsZWN0ZWRFbnRpdGllc1Byb3ZpZGVyIH0gZnJvbSBcIi4vcHJvdmlkZXJzL3ByZWxvYWQtc2VsZWN0ZWQtZW50aXRpZXMucHJvdmlkZXJcIjtcbmltcG9ydCB7IE5pY2VTZWxlY3RhYmxlTGlzdENoZWNrYm94RGlyZWN0aXZlIH0gZnJvbSBcIi4vc2VsZWN0YWJsZS1saXN0LWNoZWNrYm94LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0U2VsZWN0QWxsRGlyZWN0aXZlIH0gZnJvbSBcIi4vc2VsZWN0YWJsZS1saXN0LXNlbGVjdC1hbGwuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBOSUNFX1BSRUxPQURfU0VMRUNURURfRU5USVRJRVNfUFJPVklERVIgfSBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3QuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VTZWxlY3RhYmxlTGlzdERpcmVjdGl2ZSB9IGZyb20gXCIuL3NlbGVjdGFibGUtbGlzdC5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IFNlbGVjdGFibGVMaXN0U2VydmljZSB9IGZyb20gXCIuL3N0b3JlL3NlbGVjdGFibGUtbGlzdC5zZXJ2aWNlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbTmljZVNlbGVjdGFibGVMaXN0RGlyZWN0aXZlLCBOaWNlU2VsZWN0YWJsZUxpc3RDaGVja2JveERpcmVjdGl2ZSwgTmljZVNlbGVjdGFibGVMaXN0U2VsZWN0QWxsRGlyZWN0aXZlXSxcbiAgICBwcm92aWRlcnM6IFtTZWxlY3RhYmxlTGlzdFNlcnZpY2VdLFxuICAgIGV4cG9ydHM6IFtOaWNlU2VsZWN0YWJsZUxpc3REaXJlY3RpdmUsIE5pY2VTZWxlY3RhYmxlTGlzdENoZWNrYm94RGlyZWN0aXZlLCBOaWNlU2VsZWN0YWJsZUxpc3RTZWxlY3RBbGxEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTZWxlY3RhYmxlTGlzdE1vZHVsZSB7XG4gICAgcHVibGljIHN0YXRpYyByZWdpc3RlcihcbiAgICAgICAgLi4ucHJvdmlkZXJzOiBUeXBlPE5pY2VQcmVsb2FkU2VsZWN0ZWRFbnRpdGllc1Byb3ZpZGVyPGFueSwgYW55Pj5bXVxuICAgICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmljZVNlbGVjdGFibGVMaXN0TW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogTmljZVNlbGVjdGFibGVMaXN0TW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBwcm92aWRlcnMubWFwKHggPT4gKHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOSUNFX1BSRUxPQURfU0VMRUNURURfRU5USVRJRVNfUFJPVklERVIsXG4gICAgICAgICAgICAgICAgdXNlQ2xhc3M6IHgsXG4gICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgIH0pKVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==