@recursyve/nice-data-filter-kit 14.1.5 → 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.
- package/esm2020/lib/components/nice-filter-view/components/infinite-scroll-data-view/infinite-scroll-data-view.component.mjs +2 -3
- package/esm2020/lib/components/nice-filter-view/directives/mat-paginator.mjs +2 -2
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +4 -1
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +4 -18
- package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +15 -1
- package/esm2020/lib/directive/public-api.mjs +2 -0
- package/esm2020/lib/directive/selectable-list/model/load-all-entities-options.model.mjs +2 -0
- package/esm2020/lib/directive/selectable-list/model/selectable-list-options.model.mjs +2 -0
- package/esm2020/lib/directive/selectable-list/providers/preload-selected-entities.provider.mjs +10 -0
- package/esm2020/lib/directive/selectable-list/public-api.mjs +10 -0
- package/esm2020/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +122 -0
- package/esm2020/lib/directive/selectable-list/selectable-list-select-all.directive.mjs +48 -0
- package/esm2020/lib/directive/selectable-list/selectable-list.constant.mjs +3 -0
- package/esm2020/lib/directive/selectable-list/selectable-list.directive.mjs +38 -0
- package/esm2020/lib/directive/selectable-list/selectable-list.module.mjs +32 -0
- package/esm2020/lib/directive/selectable-list/store/selectable-list-state.service.mjs +181 -0
- package/esm2020/lib/directive/selectable-list/store/selectable-list.service.mjs +49 -0
- package/esm2020/lib/directive/selectable-list/store/selectable-list.state.mjs +2 -0
- package/esm2020/lib/utils/query-params.utils.mjs +2 -16
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/recursyve-nice-data-filter-kit.mjs +495 -33
- package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/fesm2020/recursyve-nice-data-filter-kit.mjs +470 -36
- package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
- package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +1 -0
- package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +0 -1
- package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +1 -0
- package/lib/directive/public-api.d.ts +1 -0
- package/lib/directive/selectable-list/model/load-all-entities-options.model.d.ts +4 -0
- package/lib/directive/selectable-list/model/selectable-list-options.model.d.ts +4 -0
- package/lib/directive/selectable-list/providers/preload-selected-entities.provider.d.ts +12 -0
- package/lib/directive/selectable-list/public-api.d.ts +9 -0
- package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +24 -0
- package/lib/directive/selectable-list/selectable-list-select-all.directive.d.ts +18 -0
- package/lib/directive/selectable-list/selectable-list.constant.d.ts +2 -0
- package/lib/directive/selectable-list/selectable-list.directive.d.ts +14 -0
- package/lib/directive/selectable-list/selectable-list.module.d.ts +12 -0
- package/lib/directive/selectable-list/store/selectable-list-state.service.d.ts +32 -0
- package/lib/directive/selectable-list/store/selectable-list.service.d.ts +23 -0
- package/lib/directive/selectable-list/store/selectable-list.state.d.ts +8 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -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==
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { arrayAdd, arrayRemove } from "@datorama/akita";
|
|
2
|
+
export class SelectableListStateService {
|
|
3
|
+
constructor(store, preloadService, options) {
|
|
4
|
+
this.store = store;
|
|
5
|
+
this.preloadService = preloadService;
|
|
6
|
+
this.options = options;
|
|
7
|
+
}
|
|
8
|
+
get idKey() {
|
|
9
|
+
return this.options?.idKey ?? "id";
|
|
10
|
+
}
|
|
11
|
+
get preloadedWindow() {
|
|
12
|
+
return this.options?.preloadWindow ?? 2;
|
|
13
|
+
}
|
|
14
|
+
setActive(entity) {
|
|
15
|
+
this.store.setActive(entity[this.idKey]);
|
|
16
|
+
}
|
|
17
|
+
getIndex(identifier) {
|
|
18
|
+
const { ids } = this.store.getValue();
|
|
19
|
+
const index = ids.indexOf(identifier);
|
|
20
|
+
return index + 1;
|
|
21
|
+
}
|
|
22
|
+
async selectAll(options) {
|
|
23
|
+
if (!this.preloadService) {
|
|
24
|
+
return this.store.update({
|
|
25
|
+
allSelected: true
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const ids = await this.preloadService.loadAllEntities(options);
|
|
29
|
+
this.store.set(ids.map((id) => ({
|
|
30
|
+
[this.idKey]: id,
|
|
31
|
+
loaded: false
|
|
32
|
+
})));
|
|
33
|
+
return this.store.update({
|
|
34
|
+
allSelected: true
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async select(id) {
|
|
38
|
+
this.store.update((state) => ({
|
|
39
|
+
unselectedEntity: arrayRemove(state.unselectedEntity, id)
|
|
40
|
+
}));
|
|
41
|
+
if (!this.preloadService) {
|
|
42
|
+
this.store.add({
|
|
43
|
+
[this.idKey]: id,
|
|
44
|
+
loaded: false
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const entity = await this.preloadService.loadEntityById(id);
|
|
48
|
+
return this.store.add({
|
|
49
|
+
...entity,
|
|
50
|
+
loaded: true
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
async selectEntity(entity) {
|
|
54
|
+
this.store.update((state) => ({
|
|
55
|
+
unselectedEntity: arrayRemove(state.unselectedEntity, entity[this.idKey])
|
|
56
|
+
}));
|
|
57
|
+
if (!this.preloadService) {
|
|
58
|
+
return this.store.upsert(entity[this.idKey], { ...entity, loaded: true });
|
|
59
|
+
}
|
|
60
|
+
const preloadedEntity = await this.preloadService.reloadEntity(entity);
|
|
61
|
+
return this.store.upsert(preloadedEntity[this.idKey], { ...preloadedEntity, loaded: true });
|
|
62
|
+
}
|
|
63
|
+
async selectManyEntities(entities) {
|
|
64
|
+
if (!this.preloadService) {
|
|
65
|
+
return this.store.upsertMany(entities.map((entity) => ({ ...entity, loaded: true })));
|
|
66
|
+
}
|
|
67
|
+
const preloadedEntities = await this.preloadService.reloadEntities(entities);
|
|
68
|
+
return this.store.upsertMany(preloadedEntities.map((preloadedEntity) => ({ ...preloadedEntity, loaded: true })));
|
|
69
|
+
}
|
|
70
|
+
unselectAll() {
|
|
71
|
+
this.store.set([]);
|
|
72
|
+
return this.store.update({
|
|
73
|
+
allSelected: false,
|
|
74
|
+
unselectedEntity: []
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
unselect(id) {
|
|
78
|
+
this.store.update((state) => ({
|
|
79
|
+
unselectedEntity: arrayAdd(state.unselectedEntity, id)
|
|
80
|
+
}));
|
|
81
|
+
this.store.remove(id);
|
|
82
|
+
}
|
|
83
|
+
unselectEntity(entity) {
|
|
84
|
+
this.store.update((state) => ({
|
|
85
|
+
unselectedEntity: arrayAdd(state.unselectedEntity, entity[this.idKey])
|
|
86
|
+
}));
|
|
87
|
+
this.store.remove(entity[this.idKey]);
|
|
88
|
+
}
|
|
89
|
+
unselectManyEntities(entities) {
|
|
90
|
+
this.store.remove(entities.map((entity) => entity[this.idKey]));
|
|
91
|
+
}
|
|
92
|
+
async setEntities(ids, activeId) {
|
|
93
|
+
this.store.update({
|
|
94
|
+
unselectedEntity: [],
|
|
95
|
+
allSelected: false
|
|
96
|
+
});
|
|
97
|
+
this.store.set(ids.map((id) => ({
|
|
98
|
+
[this.idKey]: id,
|
|
99
|
+
loaded: false
|
|
100
|
+
})));
|
|
101
|
+
if (activeId) {
|
|
102
|
+
this.store.setActive(activeId);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async next() {
|
|
106
|
+
const { ids, active } = this.store.getValue();
|
|
107
|
+
const index = ids.indexOf(active);
|
|
108
|
+
await this.loadActiveEntity(ids[index + 1], 1);
|
|
109
|
+
}
|
|
110
|
+
async previous() {
|
|
111
|
+
const { ids, active } = this.store.getValue();
|
|
112
|
+
const index = ids.indexOf(active);
|
|
113
|
+
await this.loadActiveEntity(ids[index - 1], -1);
|
|
114
|
+
}
|
|
115
|
+
async first() {
|
|
116
|
+
const { ids } = this.store.getValue();
|
|
117
|
+
await this.loadActiveEntity(ids[0], 1);
|
|
118
|
+
}
|
|
119
|
+
async last() {
|
|
120
|
+
const { ids } = this.store.getValue();
|
|
121
|
+
await this.loadActiveEntity(ids[ids.length - 1], -1);
|
|
122
|
+
}
|
|
123
|
+
async removeActive() {
|
|
124
|
+
const { active, ids } = this.store.getValue();
|
|
125
|
+
const index = ids.indexOf(active);
|
|
126
|
+
this.store.remove(active);
|
|
127
|
+
if (index === (ids.length - 1)) {
|
|
128
|
+
await this.loadActiveEntity(ids[index - 1], -1);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
await this.loadActiveEntity(ids[index + 1], 1);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
async loadActiveEntity(id, direction) {
|
|
135
|
+
try {
|
|
136
|
+
this.store.setActive(id);
|
|
137
|
+
const { entities } = this.store.getValue();
|
|
138
|
+
if (!entities[+id + direction * this.preloadedWindow]?.loaded) {
|
|
139
|
+
await this.loadEntities(false);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
this.store.setError(e);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async loadEntities(loadExtremity) {
|
|
147
|
+
if (!this.preloadService) {
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const toLoad = this.getListIdToLoad(loadExtremity);
|
|
151
|
+
if (!toLoad.length) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const entities = await this.preloadService.loadEntitiesById(toLoad);
|
|
155
|
+
this.store.upsertMany(entities.map((entity) => ({ ...entity, loaded: true })));
|
|
156
|
+
}
|
|
157
|
+
getListIdToLoad(loadExtremity) {
|
|
158
|
+
const { active, ids, entities } = this.store.getValue();
|
|
159
|
+
const from = ids.indexOf(active) - this.preloadedWindow > 0 ? ids.indexOf(active) - this.preloadedWindow : 0;
|
|
160
|
+
const to = ids.indexOf(active) + this.preloadedWindow < ids.length - 1
|
|
161
|
+
? ids.indexOf(active) + this.preloadedWindow
|
|
162
|
+
: ids.length - 1;
|
|
163
|
+
const toLoad = [];
|
|
164
|
+
if (loadExtremity) {
|
|
165
|
+
if (ids.length <= 2) {
|
|
166
|
+
return ids;
|
|
167
|
+
}
|
|
168
|
+
toLoad.push(ids[0], ids[ids.length - 1]);
|
|
169
|
+
}
|
|
170
|
+
for (let i = from; i <= to; i++) {
|
|
171
|
+
if (ids[i] === null || ids[0] === undefined) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (!toLoad.includes(ids[i]) && !entities[ids[i]]?.loaded) {
|
|
175
|
+
toLoad.push(ids[i]);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return toLoad;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2RpcmVjdGl2ZS9zZWxlY3RhYmxlLWxpc3Qvc3RvcmUvc2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQU1yRSxNQUFNLE9BQU8sMEJBQTBCO0lBU25DLFlBQ1ksS0FBNEMsRUFDNUMsY0FBdUQsRUFDdkQsT0FBbUM7UUFGbkMsVUFBSyxHQUFMLEtBQUssQ0FBdUM7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQXlDO1FBQ3ZELFlBQU8sR0FBUCxPQUFPLENBQTRCO0lBQzVDLENBQUM7SUFaSixJQUFXLEtBQUs7UUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFRTSxTQUFTLENBQUMsTUFBUztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLFFBQVEsQ0FBQyxVQUFrQjtRQUM5QixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRU0sS0FBSyxDQUFD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LENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUU7Z0JBQ3ZELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkI7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFycmF5QWRkLCBhcnJheVJlbW92ZSwgRW50aXR5U3RvcmUgfSBmcm9tIFwiQGRhdG9yYW1hL2FraXRhXCI7XG5pbXBvcnQgeyBOaWNlU2VsZWN0YWJsZUxpc3RMb2FkQWxsRW50aXRpZXNPcHRpb25zIH0gZnJvbSBcIi4uL21vZGVsL2xvYWQtYWxsLWVudGl0aWVzLW9wdGlvbnMubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VTZWxlY3RhYmxlTGlzdE9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWwvc2VsZWN0YWJsZS1saXN0LW9wdGlvbnMubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VQcmVsb2FkU2VsZWN0ZWRFbnRpdGllc1Byb3ZpZGVyIH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9wcmVsb2FkLXNlbGVjdGVkLWVudGl0aWVzLnByb3ZpZGVyXCI7XG5pbXBvcnQgeyBTZWxlY3RhYmxlTGlzdFN0YXRlIH0gZnJvbSBcIi4vc2VsZWN0YWJsZS1saXN0LnN0YXRlXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWxlY3RhYmxlTGlzdFN0YXRlU2VydmljZTxULCBJRCA9IGFueT4ge1xuICAgIHB1YmxpYyBnZXQgaWRLZXkoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uaWRLZXkgPz8gXCJpZFwiO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcHJlbG9hZGVkV2luZG93KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LnByZWxvYWRXaW5kb3cgPz8gMjtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogRW50aXR5U3RvcmU8U2VsZWN0YWJsZUxpc3RTdGF0ZTxhbnk+PixcbiAgICAgICAgcHJpdmF0ZSBwcmVsb2FkU2VydmljZT86IE5pY2VQcmVsb2FkU2VsZWN0ZWRFbnRpdGllc1Byb3ZpZGVyPFQ+LFxuICAgICAgICBwcml2YXRlIG9wdGlvbnM/OiBOaWNlU2VsZWN0YWJsZUxpc3RPcHRpb25zXG4gICAgKSB7fVxuXG4gICAgcHVibGljIHNldEFjdGl2ZShlbnRpdHk6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXRBY3RpdmUoZW50aXR5W3RoaXMuaWRLZXldKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SW5kZXgoaWRlbnRpZmllcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgeyBpZHMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihpZGVudGlmaWVyKTtcbiAgICAgICAgcmV0dXJuIGluZGV4ICsgMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2VsZWN0QWxsKG9wdGlvbnM/OiBOaWNlU2VsZWN0YWJsZUxpc3RMb2FkQWxsRW50aXRpZXNPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgICAgICBhbGxTZWxlY3RlZDogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpZHMgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLmxvYWRBbGxFbnRpdGllcyhvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zdG9yZS5zZXQoaWRzLm1hcCgoaWQpID0+ICh7XG4gICAgICAgICAgICBbdGhpcy5pZEtleV06IGlkLFxuICAgICAgICAgICAgbG9hZGVkOiBmYWxzZVxuICAgICAgICB9KSkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnVwZGF0ZSh7XG4gICAgICAgICAgICBhbGxTZWxlY3RlZDogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2VsZWN0KGlkOiBJRCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLnN0b3JlLnVwZGF0ZSgoc3RhdGUpID0+ICh7XG4gICAgICAgICAgICB1bnNlbGVjdGVkRW50aXR5OiBhcnJheVJlbW92ZShzdGF0ZS51bnNlbGVjdGVkRW50aXR5LCBpZCBhcyBhbnkpXG4gICAgICAgIH0pKTtcblxuICAgICAgICBpZiAoIXRoaXMucHJlbG9hZFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuYWRkKHtcbiAgICAgICAgICAgICAgICBbdGhpcy5pZEtleV06IGlkLFxuICAgICAgICAgICAgICAgIGxvYWRlZDogZmFsc2VcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW50aXR5ID0gYXdhaXQgdGhpcy5wcmVsb2FkU2VydmljZS5sb2FkRW50aXR5QnlJZChpZCBhcyBhbnkpO1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5hZGQoe1xuICAgICAgICAgICAgLi4uZW50aXR5LFxuICAgICAgICAgICAgbG9hZGVkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBzZWxlY3RFbnRpdHkoZW50aXR5OiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKChzdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IGFycmF5UmVtb3ZlKHN0YXRlLnVuc2VsZWN0ZWRFbnRpdHksIGVudGl0eVt0aGlzLmlkS2V5XSlcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBzZXJ0KGVudGl0eVt0aGlzLmlkS2V5XSwgeyAuLi5lbnRpdHksIGxvYWRlZDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWxvYWRlZEVudGl0eSA9IGF3YWl0IHRoaXMucHJlbG9hZFNlcnZpY2UucmVsb2FkRW50aXR5KGVudGl0eSk7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnVwc2VydChwcmVsb2FkZWRFbnRpdHlbdGhpcy5pZEtleV0sIHsgLi4ucHJlbG9hZGVkRW50aXR5LCBsb2FkZWQ6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbGVjdE1hbnlFbnRpdGllcyhlbnRpdGllczogVFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBzZXJ0TWFueShlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gKHsgLi4uZW50aXR5LCBsb2FkZWQ6IHRydWUgfSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHByZWxvYWRlZEVudGl0aWVzID0gYXdhaXQgdGhpcy5wcmVsb2FkU2VydmljZS5yZWxvYWRFbnRpdGllcyhlbnRpdGllcyk7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnVwc2VydE1hbnkocHJlbG9hZGVkRW50aXRpZXMubWFwKChwcmVsb2FkZWRFbnRpdHkpID0+ICh7IC4uLnByZWxvYWRlZEVudGl0eSwgbG9hZGVkOiB0cnVlIH0pKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVuc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNldChbXSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIGFsbFNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IFtdXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNlbGVjdChpZDogSUQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgdW5zZWxlY3RlZEVudGl0eTogYXJyYXlBZGQoc3RhdGUudW5zZWxlY3RlZEVudGl0eSwgaWQpXG4gICAgICAgIH0pKTtcblxuICAgICAgICB0aGlzLnN0b3JlLnJlbW92ZShpZCBhcyBhbnkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1bnNlbGVjdEVudGl0eShlbnRpdHk6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS51cGRhdGUoKHN0YXRlKSA9PiAoe1xuICAgICAgICAgICAgdW5zZWxlY3RlZEVudGl0eTogYXJyYXlBZGQoc3RhdGUudW5zZWxlY3RlZEVudGl0eSwgZW50aXR5W3RoaXMuaWRLZXldKVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5yZW1vdmUoZW50aXR5W3RoaXMuaWRLZXldKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdW5zZWxlY3RNYW55RW50aXRpZXMoZW50aXRpZXM6IFRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnJlbW92ZShlbnRpdGllcy5tYXAoKGVudGl0eSkgPT4gZW50aXR5W3RoaXMuaWRLZXldKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNldEVudGl0aWVzKGlkczogSURbXSwgYWN0aXZlSWQ6IElEKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuc3RvcmUudXBkYXRlKHtcbiAgICAgICAgICAgIHVuc2VsZWN0ZWRFbnRpdHk6IFtdLFxuICAgICAgICAgICAgYWxsU2VsZWN0ZWQ6IGZhbHNlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc3RvcmUuc2V0KGlkcy5tYXAoKGlkKSA9PiAoe1xuICAgICAgICAgICAgW3RoaXMuaWRLZXldOiBpZCxcbiAgICAgICAgICAgIGxvYWRlZDogZmFsc2VcbiAgICAgICAgfSkpKTtcblxuICAgICAgICBpZiAoYWN0aXZlSWQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2V0QWN0aXZlKGFjdGl2ZUlkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZXh0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGlkcywgYWN0aXZlIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gaWRzLmluZGV4T2YoYWN0aXZlKTtcbiAgICAgICAgYXdhaXQgdGhpcy5sb2FkQWN0aXZlRW50aXR5KGlkc1tpbmRleCArIDFdLCAxKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgcHJldmlvdXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgaWRzLCBhY3RpdmUgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihhY3RpdmUpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2luZGV4IC0gMV0sIC0xKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZmlyc3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgaWRzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgIGF3YWl0IHRoaXMubG9hZEFjdGl2ZUVudGl0eShpZHNbMF0sIDEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsYXN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IGlkcyB9ID0gdGhpcy5zdG9yZS5nZXRWYWx1ZSgpO1xuICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2lkcy5sZW5ndGggLSAxXSwgLTEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyByZW1vdmVBY3RpdmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgYWN0aXZlLCBpZHMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBpZHMuaW5kZXhPZihhY3RpdmUpO1xuXG4gICAgICAgIHRoaXMuc3RvcmUucmVtb3ZlKGFjdGl2ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSAoaWRzLmxlbmd0aCAtIDEpKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRBY3RpdmVFbnRpdHkoaWRzW2luZGV4IC0gMV0sIC0xKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZEFjdGl2ZUVudGl0eShpZHNbaW5kZXggKyAxXSwgMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9hZEFjdGl2ZUVudGl0eShpZDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZXRBY3RpdmUoaWQpO1xuXG4gICAgICAgICAgICBjb25zdCB7IGVudGl0aWVzIH0gPSB0aGlzLnN0b3JlLmdldFZhbHVlKCk7XG4gICAgICAgICAgICBpZiAoIWVudGl0aWVzWytpZCArIGRpcmVjdGlvbiAqIHRoaXMucHJlbG9hZGVkV2luZG93XT8ubG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2FkRW50aXRpZXMoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNldEVycm9yKGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvYWRFbnRpdGllcyhsb2FkRXh0cmVtaXR5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5wcmVsb2FkU2VydmljZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdG9Mb2FkID0gdGhpcy5nZXRMaXN0SWRUb0xvYWQobG9hZEV4dHJlbWl0eSk7XG4gICAgICAgIGlmICghdG9Mb2FkLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW50aXRpZXMgPSBhd2FpdCB0aGlzLnByZWxvYWRTZXJ2aWNlLmxvYWRFbnRpdGllc0J5SWQodG9Mb2FkKTtcbiAgICAgICAgdGhpcy5zdG9yZS51cHNlcnRNYW55KGVudGl0aWVzLm1hcCgoZW50aXR5KSA9PiAoeyAuLi5lbnRpdHksIGxvYWRlZDogdHJ1ZSB9KSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMaXN0SWRUb0xvYWQobG9hZEV4dHJlbWl0eTogYm9vbGVhbik6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgeyBhY3RpdmUsIGlkcywgZW50aXRpZXMgfSA9IHRoaXMuc3RvcmUuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgZnJvbSA9IGlkcy5pbmRleE9mKGFjdGl2ZSkgLSB0aGlzLnByZWxvYWRlZFdpbmRvdyA+IDAgPyBpZHMuaW5kZXhPZihhY3RpdmUpIC0gdGhpcy5wcmVsb2FkZWRXaW5kb3cgOiAwO1xuICAgICAgICBjb25zdCB0byA9IGlkcy5pbmRleE9mKGFjdGl2ZSkgKyB0aGlzLnByZWxvYWRlZFdpbmRvdyA8IGlkcy5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IGlkcy5pbmRleE9mKGFjdGl2ZSkgKyB0aGlzLnByZWxvYWRlZFdpbmRvd1xuICAgICAgICAgICAgOiBpZHMubGVuZ3RoIC0gMTtcblxuICAgICAgICBjb25zdCB0b0xvYWQgPSBbXTtcbiAgICAgICAgaWYgKGxvYWRFeHRyZW1pdHkpIHtcbiAgICAgICAgICAgIGlmIChpZHMubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWRzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0b0xvYWQucHVzaChpZHNbMF0sIGlkc1tpZHMubGVuZ3RoIC0gMV0pO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGZyb207IGkgPD0gdG87IGkrKykge1xuICAgICAgICAgICAgaWYgKGlkc1tpXSA9PT0gbnVsbCB8fCBpZHNbMF0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRvTG9hZC5pbmNsdWRlcyhpZHNbaV0pICYmICFlbnRpdGllc1tpZHNbaV1dPy5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICB0b0xvYWQucHVzaChpZHNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRvTG9hZDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from "@angular/core";
|
|
2
|
+
import { EntityStore, QueryEntity } from "@datorama/akita";
|
|
3
|
+
import { NICE_PRELOAD_SELECTED_ENTITIES_PROVIDER } from "../selectable-list.constant";
|
|
4
|
+
import { SelectableListStateService } from "./selectable-list-state.service";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class SelectableListService {
|
|
7
|
+
constructor(providers) {
|
|
8
|
+
this.providers = providers;
|
|
9
|
+
this.stores = new Map();
|
|
10
|
+
}
|
|
11
|
+
createState(name, options) {
|
|
12
|
+
const store = new EntityStore({ allSelected: false, unselectedEntity: [] }, { name, idKey: options?.idKey });
|
|
13
|
+
const query = new QueryEntity(store);
|
|
14
|
+
const state = { store, query };
|
|
15
|
+
this.stores.set(name, state);
|
|
16
|
+
return state;
|
|
17
|
+
}
|
|
18
|
+
getState(name) {
|
|
19
|
+
return this.stores.get(name);
|
|
20
|
+
}
|
|
21
|
+
withState(stateName, options) {
|
|
22
|
+
const provider = this.providers?.find((p) => p.state === stateName);
|
|
23
|
+
const state = this.getState(stateName);
|
|
24
|
+
if (state) {
|
|
25
|
+
return new SelectableListStateService(state.store, provider, options);
|
|
26
|
+
}
|
|
27
|
+
const newState = this.createState(stateName, options);
|
|
28
|
+
return new SelectableListStateService(newState.store, provider, options);
|
|
29
|
+
}
|
|
30
|
+
query(stateName) {
|
|
31
|
+
const state = this.getState(stateName);
|
|
32
|
+
if (!state) {
|
|
33
|
+
throw new Error("No state found");
|
|
34
|
+
}
|
|
35
|
+
return state.query;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
SelectableListService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectableListService, deps: [{ token: NICE_PRELOAD_SELECTED_ENTITIES_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
SelectableListService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectableListService, providedIn: "root" });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: SelectableListService, decorators: [{
|
|
41
|
+
type: Injectable,
|
|
42
|
+
args: [{ providedIn: "root" }]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
44
|
+
type: Optional
|
|
45
|
+
}, {
|
|
46
|
+
type: Inject,
|
|
47
|
+
args: [NICE_PRELOAD_SELECTED_ENTITIES_PROVIDER]
|
|
48
|
+
}] }]; } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2RpcmVjdGl2ZS9zZWxlY3RhYmxlLWxpc3Qvc3RvcmUvc2VsZWN0YWJsZS1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHM0QsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBSTdFLE1BQU0sT0FBTyxxQkFBcUI7SUFHOUIsWUFFWSxTQUFxRDtRQUFyRCxjQUFTLEdBQVQsU0FBUyxDQUE0QztRQUp6RCxXQUFNLEdBQUcsSUFBSSxHQUFHLEVBQTBHLENBQUM7SUFLaEksQ0FBQztJQUVHLFdBQVcsQ0FBQyxJQUFZLEVBQUUsT0FBbUM7UUFDaEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQ3pCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsRUFDNUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FDbEMsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLE1BQU0sS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU3QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sUUFBUSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sU0FBUyxDQUFjLFNBQWlCLEVBQUUsT0FBbUM7UUFDaEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUM7UUFDcEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssRUFBRTtZQUNQLE9BQU8sSUFBSSwwQkFBMEIsQ0FBSSxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1RTtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSSwwQkFBMEIsQ0FBSSxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU0sS0FBSyxDQUFJLFNBQWlCO1FBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sS0FBSyxDQUFDLEtBQTRDLENBQUM7SUFDOUQsQ0FBQzs7a0hBM0NRLHFCQUFxQixrQkFJTix1Q0FBdUM7c0hBSnRELHFCQUFxQixjQURSLE1BQU07MkZBQ25CLHFCQUFxQjtrQkFEakMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUt6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLHVDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRW50aXR5U3RvcmUsIFF1ZXJ5RW50aXR5IH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YVwiO1xuaW1wb3J0IHsgTmljZVNlbGVjdGFibGVMaXN0T3B0aW9ucyB9IGZyb20gXCIuLi9tb2RlbC9zZWxlY3RhYmxlLWxpc3Qtb3B0aW9ucy5tb2RlbFwiO1xuaW1wb3J0IHsgTmljZVByZWxvYWRTZWxlY3RlZEVudGl0aWVzUHJvdmlkZXIgfSBmcm9tIFwiLi4vcHJvdmlkZXJzL3ByZWxvYWQtc2VsZWN0ZWQtZW50aXRpZXMucHJvdmlkZXJcIjtcbmltcG9ydCB7IE5JQ0VfUFJFTE9BRF9TRUxFQ1RFRF9FTlRJVElFU19QUk9WSURFUiB9IGZyb20gXCIuLi9zZWxlY3RhYmxlLWxpc3QuY29uc3RhbnRcIjtcbmltcG9ydCB7IFNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlIH0gZnJvbSBcIi4vc2VsZWN0YWJsZS1saXN0LXN0YXRlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFNlbGVjdGFibGVMaXN0U3RhdGUgfSBmcm9tIFwiLi9zZWxlY3RhYmxlLWxpc3Quc3RhdGVcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGFibGVMaXN0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBzdG9yZXMgPSBuZXcgTWFwPHN0cmluZywgeyBzdG9yZTogRW50aXR5U3RvcmU8U2VsZWN0YWJsZUxpc3RTdGF0ZTxhbnk+PiwgcXVlcnk6IFF1ZXJ5RW50aXR5PFNlbGVjdGFibGVMaXN0U3RhdGU8YW55Pj4gfT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5JQ0VfUFJFTE9BRF9TRUxFQ1RFRF9FTlRJVElFU19QUk9WSURFUilcbiAgICAgICAgcHJpdmF0ZSBwcm92aWRlcnM6IE5pY2VQcmVsb2FkU2VsZWN0ZWRFbnRpdGllc1Byb3ZpZGVyPGFueT5bXVxuICAgICkge31cblxuICAgIHB1YmxpYyBjcmVhdGVTdGF0ZShuYW1lOiBzdHJpbmcsIG9wdGlvbnM/OiBOaWNlU2VsZWN0YWJsZUxpc3RPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gbmV3IEVudGl0eVN0b3JlPFNlbGVjdGFibGVMaXN0U3RhdGU8YW55Pj4oXG4gICAgICAgICAgICB7IGFsbFNlbGVjdGVkOiBmYWxzZSwgdW5zZWxlY3RlZEVudGl0eTogW10gfSxcbiAgICAgICAgICAgIHsgbmFtZSwgaWRLZXk6IG9wdGlvbnM/LmlkS2V5IH1cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBuZXcgUXVlcnlFbnRpdHkoc3RvcmUpO1xuXG4gICAgICAgIGNvbnN0IHN0YXRlID0geyBzdG9yZSwgcXVlcnkgfTtcbiAgICAgICAgdGhpcy5zdG9yZXMuc2V0KG5hbWUsIHN0YXRlKTtcblxuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFN0YXRlKG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZXMuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoU3RhdGU8VCwgSUQgPSBhbnk+KHN0YXRlTmFtZTogc3RyaW5nLCBvcHRpb25zPzogTmljZVNlbGVjdGFibGVMaXN0T3B0aW9ucyk6IFNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlPFQsIElEPiB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5wcm92aWRlcnM/LmZpbmQoKHApID0+IHAuc3RhdGUgPT09IHN0YXRlTmFtZSk7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRTdGF0ZShzdGF0ZU5hbWUpO1xuICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VsZWN0YWJsZUxpc3RTdGF0ZVNlcnZpY2U8VD4oc3RhdGUuc3RvcmUsIHByb3ZpZGVyLCBvcHRpb25zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gdGhpcy5jcmVhdGVTdGF0ZShzdGF0ZU5hbWUsIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gbmV3IFNlbGVjdGFibGVMaXN0U3RhdGVTZXJ2aWNlPFQ+KG5ld1N0YXRlLnN0b3JlLCBwcm92aWRlciwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHF1ZXJ5PFQ+KHN0YXRlTmFtZTogc3RyaW5nKTogUXVlcnlFbnRpdHk8U2VsZWN0YWJsZUxpc3RTdGF0ZTxUPj4ge1xuICAgICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGUoc3RhdGVOYW1lKTtcbiAgICAgICAgaWYgKCFzdGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gc3RhdGUgZm91bmRcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3RhdGUucXVlcnkgYXMgUXVlcnlFbnRpdHk8U2VsZWN0YWJsZUxpc3RTdGF0ZTxUPj47XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1saXN0LnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9kaXJlY3RpdmUvc2VsZWN0YWJsZS1saXN0L3N0b3JlL3NlbGVjdGFibGUtbGlzdC5zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlU3RhdGUsIEVudGl0eVN0YXRlIH0gZnJvbSBcIkBkYXRvcmFtYS9ha2l0YVwiO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RhYmxlTGlzdEVudGl0eTxUPiA9IFQgJiB7IGxvYWRlZD86IGJvb2xlYW4gfTtcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RhYmxlTGlzdFN0YXRlPFQ+IGV4dGVuZHMgRW50aXR5U3RhdGU8U2VsZWN0YWJsZUxpc3RFbnRpdHk8VD4sIG51bWJlcj4sIEFjdGl2ZVN0YXRlPGFueT4ge1xuICAgIGFsbFNlbGVjdGVkOiBib29sZWFuO1xuICAgIHVuc2VsZWN0ZWRFbnRpdHk6IGFueVtdO1xufVxuIl19
|
|
@@ -2,7 +2,7 @@ import { HttpParams } from "@angular/common/http";
|
|
|
2
2
|
import { isNullOrUndefined } from "@recursyve/nice-ui-kit.v2";
|
|
3
3
|
export class QueryParamsUtils {
|
|
4
4
|
static hasFilterParameters(params) {
|
|
5
|
-
const keys = ["start", "length", "order", "
|
|
5
|
+
const keys = ["start", "length", "order", "search", "rules"];
|
|
6
6
|
return Object.keys(params).some(key => keys.includes(key));
|
|
7
7
|
}
|
|
8
8
|
static extractFilterParameters(params) {
|
|
@@ -21,14 +21,6 @@ export class QueryParamsUtils {
|
|
|
21
21
|
delete filters.order;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
if (!isNullOrUndefined(params.fallbackOrder)) {
|
|
25
|
-
try {
|
|
26
|
-
filters.fallbackOrder = JSON.parse(params.fallbackOrder);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
delete filters.fallbackOrder;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
24
|
if (!isNullOrUndefined(params.search)) {
|
|
33
25
|
filters.search = params.search;
|
|
34
26
|
}
|
|
@@ -56,12 +48,6 @@ export class QueryParamsUtils {
|
|
|
56
48
|
else {
|
|
57
49
|
params.order = null;
|
|
58
50
|
}
|
|
59
|
-
if (!isNullOrUndefined(filterParameters.fallbackOrder)) {
|
|
60
|
-
params.fallbackOrder = JSON.stringify(filterParameters.fallbackOrder);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
params.fallbackOrder = null;
|
|
64
|
-
}
|
|
65
51
|
if (!isNullOrUndefined(filterParameters.search)) {
|
|
66
52
|
params.search = filterParameters.search;
|
|
67
53
|
}
|
|
@@ -81,4 +67,4 @@ export class QueryParamsUtils {
|
|
|
81
67
|
}).toString();
|
|
82
68
|
}
|
|
83
69
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELE1BQU0sT0FBTyxnQkFBZ0I7SUFDbEIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQThCO1FBQzVELE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxNQUE4QjtRQUNoRSxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNKO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUk7Z0JBQ0EsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQzthQUN4QjtTQUNKO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxnQkFBdUM7UUFDN0UsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0MsTUFBTSxDQUFDLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7U0FDM0M7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pEO2FBQU07WUFDSCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3QyxNQUFNLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztTQUMzQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QyxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3JCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksVUFBVSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBGaWx0ZXJQYXJhbWV0ZXJzTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbXNVdGlscyB7XG4gICAgcHVibGljIHN0YXRpYyBoYXNGaWx0ZXJQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBrZXlzID0gW1wic3RhcnRcIiwgXCJsZW5ndGhcIiwgXCJvcmRlclwiLCBcInNlYXJjaFwiLCBcInJ1bGVzXCJdO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zKS5zb21lKGtleSA9PiBrZXlzLmluY2x1ZGVzKGtleSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZXh0cmFjdEZpbHRlclBhcmFtZXRlcnMocGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogRmlsdGVyUGFyYW1ldGVyc01vZGVsIHtcbiAgICAgICAgY29uc3QgZmlsdGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsID0ge307XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLnN0YXJ0KSkge1xuICAgICAgICAgICAgZmlsdGVycy5zdGFydCA9IE51bWJlcihwYXJhbXMuc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMubGVuZ3RoID0gTnVtYmVyKHBhcmFtcy5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLm9yZGVyKSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJzLm9yZGVyID0gSlNPTi5wYXJzZShwYXJhbXMub3JkZXIpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWx0ZXJzLm9yZGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQocGFyYW1zLnNlYXJjaCkpIHtcbiAgICAgICAgICAgIGZpbHRlcnMuc2VhcmNoID0gcGFyYW1zLnNlYXJjaDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHBhcmFtcy5ydWxlcykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZmlsdGVycy5ydWxlcyA9IEpTT04ucGFyc2UocGFyYW1zLnJ1bGVzKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsdGVycy5ydWxlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWx0ZXJzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZmlsdGVyUGFyYW1ldGVyc1RvUGFyYW1zTWFwKGZpbHRlclBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgICAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChmaWx0ZXJQYXJhbWV0ZXJzLnN0YXJ0KSkge1xuICAgICAgICAgICAgcGFyYW1zLnN0YXJ0ID0gZmlsdGVyUGFyYW1ldGVycy5zdGFydDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoKSkge1xuICAgICAgICAgICAgcGFyYW1zLmxlbmd0aCA9IGZpbHRlclBhcmFtZXRlcnMubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5vcmRlcikpIHtcbiAgICAgICAgICAgIHBhcmFtcy5vcmRlciA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtZXRlcnMub3JkZXIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLm9yZGVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoKSkge1xuICAgICAgICAgICAgcGFyYW1zLnNlYXJjaCA9IGZpbHRlclBhcmFtZXRlcnMuc2VhcmNoO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyUGFyYW1ldGVycy5ydWxlcykpIHtcbiAgICAgICAgICAgIHBhcmFtcy5ydWxlcyA9IEpTT04uc3RyaW5naWZ5KGZpbHRlclBhcmFtZXRlcnMucnVsZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBhcmFtcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21PYmplY3Qob2JqOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBPYmplY3QuZW50cmllcyhvYmopLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IEh0dHBQYXJhbXMoe1xuICAgICAgICAgICAgZnJvbU9iamVjdDogb2JqXG4gICAgICAgIH0pLnRvU3RyaW5nKCk7XG4gICAgfVxufVxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from "./lib/api/public-api";
|
|
5
5
|
export * from "./lib/components/public-api";
|
|
6
|
+
export * from "./lib/directive/public-api";
|
|
6
7
|
export * from "./lib/models/public-api";
|
|
7
8
|
export * from "./lib/utils/public-api";
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuaWNlLWRhdGEtZmlsdGVyLWtpdFxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9hcGkvcHVibGljLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2NvbXBvbmVudHMvcHVibGljLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL2RpcmVjdGl2ZS9wdWJsaWMtYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbW9kZWxzL3B1YmxpYy1hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi91dGlscy9wdWJsaWMtYXBpXCI7XG4iXX0=
|