@one-paragon/angular-utilities 0.0.32 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-state/action-state-spinner/action-state-spinner.component.d.ts +12 -0
- package/action-state/action-state-ui/action-state-ui.module.d.ts +9 -0
- package/action-state/index.d.ts +4 -0
- package/action-state/ngrx-ext/ngrx-ext.module.d.ts +8 -0
- package/action-state/ngrx.d.ts +31 -0
- package/esm2020/action-state/action-state-spinner/action-state-spinner.component.mjs +23 -0
- package/esm2020/action-state/action-state-ui/action-state-ui.module.mjs +30 -0
- package/esm2020/action-state/index.mjs +8 -0
- package/esm2020/action-state/ngrx-ext/ngrx-ext.module.mjs +25 -0
- package/esm2020/action-state/ngrx.mjs +42 -0
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/rxjs/rxjs-operators.mjs +14 -3
- package/esm2020/table-builder/classes/data-filter.mjs +6 -2
- package/fesm2015/one-paragon-angular-utilities.mjs +145 -23
- package/fesm2015/one-paragon-angular-utilities.mjs.map +1 -1
- package/fesm2020/one-paragon-angular-utilities.mjs +145 -23
- package/fesm2020/one-paragon-angular-utilities.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/rxjs/rxjs-operators.d.ts +1 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ActionStatus, serverStatusTypes } from '../ngrx';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class ActionStateSpinnerComponent implements OnInit {
|
|
6
|
+
status$: Observable<ActionStatus>;
|
|
7
|
+
serverActionStatus$: Observable<ActionStatus>;
|
|
8
|
+
serverStatusTypes: typeof serverStatusTypes;
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateSpinnerComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ActionStateSpinnerComponent, "lib-action-state-spinner", never, { "status$": "status$"; }, {}, never, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "../action-state-spinner/action-state-spinner.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/material/progress-spinner";
|
|
5
|
+
export declare class ActionStateUiModule {
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ActionStateUiModule, never>;
|
|
7
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ActionStateUiModule, [typeof i1.ActionStateSpinnerComponent], [typeof i2.CommonModule, typeof i3.MatProgressSpinnerModule], [typeof i1.ActionStateSpinnerComponent]>;
|
|
8
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ActionStateUiModule>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/common";
|
|
3
|
+
import * as i2 from "@ngrx/store";
|
|
4
|
+
export declare class NgrxExtModule {
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgrxExtModule, never>;
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgrxExtModule, never, [typeof i1.CommonModule, typeof i2.StoreFeatureModule], never>;
|
|
7
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NgrxExtModule>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Action } from '@ngrx/store';
|
|
2
|
+
import { EntityState } from '@ngrx/entity';
|
|
3
|
+
export declare class AppStatusState {
|
|
4
|
+
readonly ActionStatusBar: ActionStatus[];
|
|
5
|
+
}
|
|
6
|
+
export interface StatusState {
|
|
7
|
+
ids: string[];
|
|
8
|
+
entities: {
|
|
9
|
+
[id: string]: ActionStatus;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare class ActionStatus {
|
|
13
|
+
id: string;
|
|
14
|
+
displayName?: string;
|
|
15
|
+
status: serverStatusTypes;
|
|
16
|
+
responsePayload?: any;
|
|
17
|
+
}
|
|
18
|
+
export declare enum serverStatusTypes {
|
|
19
|
+
notStarted = 0,
|
|
20
|
+
inProgress = 1,
|
|
21
|
+
success = 2,
|
|
22
|
+
error = 3
|
|
23
|
+
}
|
|
24
|
+
export declare const statusAdapter: import("@ngrx/entity").EntityAdapter<ActionStatus>;
|
|
25
|
+
export interface State extends EntityState<ActionStatus> {
|
|
26
|
+
}
|
|
27
|
+
export declare const initialState: StatusState;
|
|
28
|
+
export declare const getStatusState: import("@ngrx/store").MemoizedSelector<object, State, import("@ngrx/store").DefaultProjectorFn<State>>;
|
|
29
|
+
export declare const selectIds: (state: object) => string[] | number[], selectEntities: (state: object) => import("@ngrx/entity").Dictionary<ActionStatus>, selectAll: (state: object) => ActionStatus[], selectTotal: (state: object) => number;
|
|
30
|
+
export declare const selectEntity: (id: string) => import("@ngrx/store").MemoizedSelector<object, any, import("@ngrx/store").DefaultProjectorFn<any>>;
|
|
31
|
+
export declare function actionStatusReducer(state: StatusState | undefined, action: Action): StatusState;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { serverStatusTypes } from '../ngrx';
|
|
3
|
+
import { delayOn } from '../../rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
export class ActionStateSpinnerComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.serverStatusTypes = serverStatusTypes;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.serverActionStatus$ = this.status$.pipe(delayOn(a => a.status === serverStatusTypes.inProgress, 500));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
ActionStateSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ActionStateSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
ActionStateSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.5", type: ActionStateSpinnerComponent, selector: "lib-action-state-spinner", inputs: { status$: "status$" }, ngImport: i0, template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\n</div>\n", styles: ["#blocker{position:fixed;top:0px;left:0px;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ActionStateSpinnerComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'lib-action-state-spinner', template: "<div id=\"blocker\" *ngIf=\"(serverActionStatus$ | async)?.status === serverStatusTypes.inProgress\">\n <mat-spinner class=\"spinner\" [diameter]=\"200\"></mat-spinner>\n</div>\n", styles: ["#blocker{position:fixed;top:0px;left:0px;width:100%;height:100%;background-color:#0e0d0d69;z-index:999999}.spinner{position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}\n"] }]
|
|
20
|
+
}], propDecorators: { status$: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2FjdGlvbi1zdGF0ZS1zcGlubmVyL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQzs7OztBQU9yQyxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBU0Usc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7S0FPdkM7SUFMQyxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUMxQyxPQUFPLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLFVBQVUsRUFBRyxHQUFHLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7O3dIQVZVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLGdHQ1Z4QyxxTEFHQTsyRkRPYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMEJBQTBCOzhCQU0zQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjdGlvblN0YXR1cywgc2VydmVyU3RhdHVzVHlwZXMgfSBmcm9tICcuLi9uZ3J4JztcbmltcG9ydCB7IGRlbGF5T24gfSBmcm9tICcuLi8uLi9yeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1zdGF0ZS1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1zdGF0ZS1zcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgc3RhdHVzJCE6IE9ic2VydmFibGU8QWN0aW9uU3RhdHVzPjtcbiAgc2VydmVyQWN0aW9uU3RhdHVzJCE6IE9ic2VydmFibGU8QWN0aW9uU3RhdHVzPjtcbiAgc2VydmVyU3RhdHVzVHlwZXMgPSBzZXJ2ZXJTdGF0dXNUeXBlcztcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlcnZlckFjdGlvblN0YXR1cyQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICAgIGRlbGF5T24oIGEgPT4gYS5zdGF0dXMgPT09IHNlcnZlclN0YXR1c1R5cGVzLmluUHJvZ3Jlc3MgLCA1MDApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cImJsb2NrZXJcIiAqbmdJZj1cIihzZXJ2ZXJBY3Rpb25TdGF0dXMkIHwgYXN5bmMpPy5zdGF0dXMgPT09IHNlcnZlclN0YXR1c1R5cGVzLmluUHJvZ3Jlc3NcIj5cbiAgPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIFtkaWFtZXRlcl09XCIyMDBcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ActionStateSpinnerComponent } from '../action-state-spinner/action-state-spinner.component';
|
|
4
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ActionStateUiModule {
|
|
7
|
+
}
|
|
8
|
+
ActionStateUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ActionStateUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
ActionStateUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ActionStateUiModule, declarations: [ActionStateSpinnerComponent], imports: [CommonModule,
|
|
10
|
+
MatProgressSpinnerModule], exports: [ActionStateSpinnerComponent] });
|
|
11
|
+
ActionStateUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ActionStateUiModule, imports: [[
|
|
12
|
+
CommonModule,
|
|
13
|
+
MatProgressSpinnerModule,
|
|
14
|
+
]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: ActionStateUiModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [
|
|
19
|
+
ActionStateSpinnerComponent,
|
|
20
|
+
],
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule,
|
|
23
|
+
MatProgressSpinnerModule,
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
ActionStateSpinnerComponent,
|
|
27
|
+
]
|
|
28
|
+
}]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0YXRlLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvYWN0aW9uLXN0YXRlLXVpL2FjdGlvbi1zdGF0ZS11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDckcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBZTlFLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFWNUIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWix3QkFBd0IsYUFHeEIsMkJBQTJCO2lIQUdsQixtQkFBbUIsWUFSckI7WUFDUCxZQUFZO1lBQ1osd0JBQXdCO1NBQ3pCOzJGQUtVLG1CQUFtQjtrQkFaL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWix3QkFBd0I7cUJBQ3pCO29CQUNELE9BQU8sRUFBRTt3QkFDUCwyQkFBMkI7cUJBQzVCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBY3Rpb25TdGF0ZVNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tc3RhdGUtc3Bpbm5lci9hY3Rpb24tc3RhdGUtc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQWN0aW9uU3RhdGVTcGlubmVyQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEFjdGlvblN0YXRlU3Bpbm5lckNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25TdGF0ZVVpTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of action-state
|
|
3
|
+
*/
|
|
4
|
+
export * from './ngrx';
|
|
5
|
+
export * from './ngrx-ext/ngrx-ext.module';
|
|
6
|
+
export * from './action-state-ui/action-state-ui.module';
|
|
7
|
+
export * from './action-state-spinner/action-state-spinner.component';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvYWN0aW9uLXN0YXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFjdGlvbi1zdGF0ZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbmdyeCc7XG5leHBvcnQgKiBmcm9tICcuL25ncngtZXh0L25ncngtZXh0Lm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi1zdGF0ZS11aS9hY3Rpb24tc3RhdGUtdWkubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXN0YXRlLXNwaW5uZXIvYWN0aW9uLXN0YXRlLXNwaW5uZXIuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { actionStatusReducer } from '../ngrx';
|
|
4
|
+
import { StoreModule } from '@ngrx/store';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ngrx/store";
|
|
7
|
+
export class NgrxExtModule {
|
|
8
|
+
}
|
|
9
|
+
NgrxExtModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: NgrxExtModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
NgrxExtModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: NgrxExtModule, imports: [CommonModule, i1.StoreFeatureModule] });
|
|
11
|
+
NgrxExtModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: NgrxExtModule, imports: [[
|
|
12
|
+
CommonModule,
|
|
13
|
+
StoreModule.forFeature('ActionStatus', actionStatusReducer),
|
|
14
|
+
]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.5", ngImport: i0, type: NgrxExtModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
declarations: [],
|
|
19
|
+
imports: [
|
|
20
|
+
CommonModule,
|
|
21
|
+
StoreModule.forFeature('ActionStatus', actionStatusReducer),
|
|
22
|
+
]
|
|
23
|
+
}]
|
|
24
|
+
}] });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC1leHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL2FjdGlvbi1zdGF0ZS9uZ3J4LWV4dC9uZ3J4LWV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQVcxQyxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLFlBSnRCLFlBQVk7MkdBSUgsYUFBYSxZQUxmO1lBQ1AsWUFBWTtZQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO1NBQzVEOzJGQUVVLGFBQWE7a0JBUHpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO3FCQUM1RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYWN0aW9uU3RhdHVzUmVkdWNlciB9IGZyb20gJy4uL25ncngnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoJ0FjdGlvblN0YXR1cycsIGFjdGlvblN0YXR1c1JlZHVjZXIpLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5ncnhFeHRNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createFeatureSelector, createSelector } from '@ngrx/store';
|
|
2
|
+
import { createEntityAdapter } from '@ngrx/entity';
|
|
3
|
+
import * as _ from 'lodash';
|
|
4
|
+
// State
|
|
5
|
+
export class AppStatusState {
|
|
6
|
+
}
|
|
7
|
+
export class ActionStatus {
|
|
8
|
+
}
|
|
9
|
+
const intitalState = {
|
|
10
|
+
ids: [],
|
|
11
|
+
entities: {}
|
|
12
|
+
};
|
|
13
|
+
export var serverStatusTypes;
|
|
14
|
+
(function (serverStatusTypes) {
|
|
15
|
+
serverStatusTypes[serverStatusTypes["notStarted"] = 0] = "notStarted";
|
|
16
|
+
serverStatusTypes[serverStatusTypes["inProgress"] = 1] = "inProgress";
|
|
17
|
+
serverStatusTypes[serverStatusTypes["success"] = 2] = "success";
|
|
18
|
+
serverStatusTypes[serverStatusTypes["error"] = 3] = "error";
|
|
19
|
+
})(serverStatusTypes || (serverStatusTypes = {}));
|
|
20
|
+
// Entity and Selectors
|
|
21
|
+
export const statusAdapter = createEntityAdapter(); // { selectId: a => a.id }
|
|
22
|
+
export const initialState = statusAdapter.getInitialState(intitalState);
|
|
23
|
+
export const getStatusState = createFeatureSelector('ActionStatus');
|
|
24
|
+
export const { selectIds, selectEntities, selectAll, selectTotal } = statusAdapter.getSelectors(getStatusState);
|
|
25
|
+
export const selectEntity = (id) => createSelector(selectEntities, (entities) => entities[id]);
|
|
26
|
+
// Reducers
|
|
27
|
+
export function actionStatusReducer(state = initialState, action) {
|
|
28
|
+
const actionStatus = _.get(action, 'payload.actionStatus');
|
|
29
|
+
if (actionStatus) {
|
|
30
|
+
if (state.ids.find(id => id === actionStatus.id)) {
|
|
31
|
+
const modifiedObj = { ...state.entities[actionStatus.id] };
|
|
32
|
+
modifiedObj.status = actionStatus.status;
|
|
33
|
+
modifiedObj.responsePayload = actionStatus.responsePayload;
|
|
34
|
+
return statusAdapter.upsertOne(modifiedObj, state);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return statusAdapter.addOne(actionStatus, state);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return state;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9hY3Rpb24tc3RhdGUvbmdyeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNoRSxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixRQUFRO0FBQ1IsTUFBTSxPQUFPLGNBQWM7Q0FFMUI7QUFPRCxNQUFNLE9BQU8sWUFBWTtDQUt4QjtBQUVELE1BQU0sWUFBWSxHQUFnQjtJQUNoQyxHQUFHLEVBQUUsRUFBRTtJQUNQLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBTixJQUFZLGlCQUtYO0FBTEQsV0FBWSxpQkFBaUI7SUFDM0IscUVBQWMsQ0FBQTtJQUNkLHFFQUFjLENBQUE7SUFDZCwrREFBVyxDQUFBO0lBQ1gsMkRBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSzVCO0FBRUQsdUJBQXVCO0FBQ3ZCLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsRUFBZ0IsQ0FBQyxDQUFDLDBCQUEwQjtBQUU1RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQWdCLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFRLGNBQWMsQ0FBQyxDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLEVBQ1gsU0FBUyxFQUNULGNBQWMsRUFDZCxTQUFTLEVBQ1QsV0FBVyxFQUNaLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FDeEQsY0FBYyxFQUNkLENBQUMsUUFBYSxFQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQ2pDLENBQUM7QUFFRixXQUFXO0FBQ1gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFFBQXFCLFlBQVksRUFBRSxNQUFjO0lBRW5GLE1BQU0sWUFBWSxHQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBRSxDQUFDO0lBRTFFLElBQUssWUFBWSxFQUFHO1FBQ2xCLElBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFHO1lBQ2xELE1BQU0sV0FBVyxHQUFHLEVBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzFELFdBQVcsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUN6QyxXQUFXLENBQUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUM7WUFDM0QsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRyxLQUFLLENBQUMsQ0FBQztTQUNuRDtLQUVGO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBjcmVhdGVGZWF0dXJlU2VsZWN0b3IsIGNyZWF0ZVNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgY3JlYXRlRW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGUgfSBmcm9tICdAbmdyeC9lbnRpdHknO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG4vLyBTdGF0ZVxuZXhwb3J0IGNsYXNzIEFwcFN0YXR1c1N0YXRlIHtcbiAgcmVhZG9ubHkgQWN0aW9uU3RhdHVzQmFyITogQWN0aW9uU3RhdHVzW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzU3RhdGUge1xuICBpZHM6IHN0cmluZ1tdO1xuICBlbnRpdGllczoge1tpZDogc3RyaW5nXTogQWN0aW9uU3RhdHVzfTtcbn1cblxuZXhwb3J0IGNsYXNzIEFjdGlvblN0YXR1cyB7XG4gIGlkITogc3RyaW5nO1xuICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgc3RhdHVzITogc2VydmVyU3RhdHVzVHlwZXM7XG4gIHJlc3BvbnNlUGF5bG9hZD86IGFueTtcbn1cblxuY29uc3QgaW50aXRhbFN0YXRlOiBTdGF0dXNTdGF0ZSA9IHtcbiAgaWRzOiBbXSxcbiAgZW50aXRpZXM6IHt9XG59O1xuXG5leHBvcnQgZW51bSBzZXJ2ZXJTdGF0dXNUeXBlcyB7XG4gIG5vdFN0YXJ0ZWQgPSAwLFxuICBpblByb2dyZXNzID0gMSxcbiAgc3VjY2VzcyA9IDIsXG4gIGVycm9yID0gM1xufVxuXG4vLyBFbnRpdHkgYW5kIFNlbGVjdG9yc1xuZXhwb3J0IGNvbnN0IHN0YXR1c0FkYXB0ZXIgPSBjcmVhdGVFbnRpdHlBZGFwdGVyPEFjdGlvblN0YXR1cz4oKTsgLy8geyBzZWxlY3RJZDogYSA9PiBhLmlkIH1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUgZXh0ZW5kcyBFbnRpdHlTdGF0ZTxBY3Rpb25TdGF0dXM+IHt9XG5leHBvcnQgY29uc3QgaW5pdGlhbFN0YXRlOiBTdGF0dXNTdGF0ZSA9IHN0YXR1c0FkYXB0ZXIuZ2V0SW5pdGlhbFN0YXRlKGludGl0YWxTdGF0ZSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTdGF0dXNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxTdGF0ZT4oJ0FjdGlvblN0YXR1cycpO1xuZXhwb3J0IGNvbnN0IHtcbiAgc2VsZWN0SWRzLFxuICBzZWxlY3RFbnRpdGllcyxcbiAgc2VsZWN0QWxsLFxuICBzZWxlY3RUb3RhbFxufSA9IHN0YXR1c0FkYXB0ZXIuZ2V0U2VsZWN0b3JzKGdldFN0YXR1c1N0YXRlKTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEVudGl0eSA9IChpZDogc3RyaW5nKSA9PiBjcmVhdGVTZWxlY3RvcihcbiAgc2VsZWN0RW50aXRpZXMsXG4gIChlbnRpdGllczogYW55KSAgPT4gZW50aXRpZXNbaWRdXG4pO1xuXG4vLyBSZWR1Y2Vyc1xuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvblN0YXR1c1JlZHVjZXIoc3RhdGU6IFN0YXR1c1N0YXRlID0gaW5pdGlhbFN0YXRlLCBhY3Rpb246IEFjdGlvbikge1xuXG4gIGNvbnN0IGFjdGlvblN0YXR1czogQWN0aW9uU3RhdHVzID0gXy5nZXQoYWN0aW9uLCAncGF5bG9hZC5hY3Rpb25TdGF0dXMnICk7XG5cbiAgaWYgKCBhY3Rpb25TdGF0dXMgKSB7XG4gICAgaWYgKCBzdGF0ZS5pZHMuZmluZChpZCA9PiBpZCA9PT0gYWN0aW9uU3RhdHVzLmlkKSApIHtcbiAgICAgIGNvbnN0IG1vZGlmaWVkT2JqID0gey4uLnN0YXRlLmVudGl0aWVzW2FjdGlvblN0YXR1cy5pZF0gfTtcbiAgICAgIG1vZGlmaWVkT2JqLnN0YXR1cyA9IGFjdGlvblN0YXR1cy5zdGF0dXM7XG4gICAgICBtb2RpZmllZE9iai5yZXNwb25zZVBheWxvYWQgPSBhY3Rpb25TdGF0dXMucmVzcG9uc2VQYXlsb2FkO1xuICAgICAgcmV0dXJuIHN0YXR1c0FkYXB0ZXIudXBzZXJ0T25lKCBtb2RpZmllZE9iaiwgc3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gc3RhdHVzQWRhcHRlci5hZGRPbmUoYWN0aW9uU3RhdHVzICwgc3RhdGUpO1xuICAgIH1cblxuICB9XG4gIHJldHVybiBzdGF0ZTtcbn1cbiJdfQ==
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -14,4 +14,5 @@ export * from './table-builder/directives';
|
|
|
14
14
|
export { FilterType } from './table-builder/enums/filterTypes';
|
|
15
15
|
export * from './rxjs';
|
|
16
16
|
export * from './utilities';
|
|
17
|
-
|
|
17
|
+
export * from './action-state';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsc0JBQXNCLENBQUM7QUFHckMsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLHVDQUF1QyxDQUFDO0FBRXRELGNBQWMsc0RBQXNELENBQUM7QUFFckUsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUUzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHN0QsY0FBYyxRQUFRLENBQUE7QUFFdEIsY0FBYyxhQUFhLENBQUE7QUFFM0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgaHR0cC1yZXF1ZXN0LXN0YXRlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9odHRwLXJlcXVlc3Qtc3RhdGUvZGlyZWN0aXZlcyc7XG5leHBvcnQgKiBmcm9tICcuL2h0dHAtcmVxdWVzdC1zdGF0ZS9yeGpzJztcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1yZXF1ZXN0LXN0YXRlJztcblxuXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvdGFibGUtYnVpbGRlci5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcblxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1idWlsZGVyL2NsYXNzZXMvTWF0VGFibGVPYnNlcnZhYmxlRGF0YVNvdXJjZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYnVpbGRlci9jbGFzc2VzL3RhYmxlLWJ1aWxkZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvY2xhc3Nlcy90YWJsZS1idWlsZGVyLWdlbmVyYWwtc2V0dGluZ3MnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvY29tcG9uZW50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtYnVpbGRlci9kaXJlY3RpdmVzJztcblxuZXhwb3J0IHtGaWx0ZXJUeXBlfSBmcm9tICcuL3RhYmxlLWJ1aWxkZXIvZW51bXMvZmlsdGVyVHlwZXMnO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vcnhqcydcblxuZXhwb3J0ICogZnJvbSAnLi91dGlsaXRpZXMnXG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uLXN0YXRlJztcbiJdfQ==
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { flatten } from 'lodash';
|
|
2
|
-
import { Observable, combineLatest, Subscription } from 'rxjs';
|
|
3
|
-
import { filter, first, map, pairwise, startWith } from 'rxjs/operators';
|
|
2
|
+
import { filter, first, map, pairwise, startWith, Observable, combineLatest, Subscription, concatMap, merge, of, delay } from 'rxjs';
|
|
4
3
|
export const onceWhen = (predicate) => (src) => {
|
|
5
4
|
return src.pipe(filter(predicate), first());
|
|
6
5
|
};
|
|
@@ -77,4 +76,16 @@ export function notNull() {
|
|
|
77
76
|
return source.pipe(filter((o) => !!o));
|
|
78
77
|
};
|
|
79
78
|
}
|
|
80
|
-
|
|
79
|
+
export function delayOn(predicate, delayTime) {
|
|
80
|
+
return (src) => {
|
|
81
|
+
return src.pipe(concatMap(r => {
|
|
82
|
+
if (predicate(r)) {
|
|
83
|
+
return merge(of({ r }), of(null).pipe(delay(delayTime))).pipe(notNull(), map(d => d.r));
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return of(r);
|
|
87
|
+
}
|
|
88
|
+
}));
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy1vcGVyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvcnhqcy9yeGpzLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFDTCxNQUFNLEVBQ04sS0FBSyxFQUNMLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULFVBQVUsRUFDVixhQUFhLEVBQ2IsWUFBWSxFQUdaLFNBQVMsRUFDVCxLQUFLLEVBQ0wsRUFBRSxFQUNGLEtBQUssRUFDTixNQUFNLE1BQU0sQ0FBQztBQUdkLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFJLFNBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBa0IsRUFBa0IsRUFBRTtJQUM3RixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQU8sT0FBc0IsRUFBRyxFQUFFLENBQUMsQ0FBQyxNQUF1QixFQUFFLEVBQUUsQ0FDckYsTUFBTSxDQUFDLElBQUksQ0FBRSxHQUFHLENBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFFLENBQUUsQ0FBQztBQUVoRCxNQUFNLENBQUUsTUFBTSxXQUFXLEdBQUcsQ0FBSSxVQUErQixFQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRSxDQUMvRixNQUFNLENBQUMsSUFBSSxDQUFFLEdBQUcsQ0FBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUUsQ0FBRSxDQUFDO0FBRXRELE1BQU0sVUFBVSxNQUFNLENB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LEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ1QsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxJQUFJLENBQ0osT0FBTyxFQUFFLEVBQ1QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNkLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmVkaWNhdGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHtcbiAgZmlsdGVyLFxuICBmaXJzdCxcbiAgbWFwLFxuICBwYWlyd2lzZSxcbiAgc3RhcnRXaXRoLFxuICBPYnNlcnZhYmxlLFxuICBjb21iaW5lTGF0ZXN0LFxuICBTdWJzY3JpcHRpb24sXG4gIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbixcbiAgT3BlcmF0b3JGdW5jdGlvbixcbiAgY29uY2F0TWFwLFxuICBtZXJnZSxcbiAgb2YsXG4gIGRlbGF5XG59IGZyb20gJ3J4anMnO1xuXG5cbmV4cG9ydCBjb25zdCBvbmNlV2hlbiA9IDxUPihwcmVkaWNhdGU6IFByZWRpY2F0ZTxUPikgPT4gKHNyYzogT2JzZXJ2YWJsZTxUPikgOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgcmV0dXJuIHNyYy5waXBlKGZpbHRlcihwcmVkaWNhdGUpLGZpcnN0KCkpO1xufVxuXG5leHBvcnQgY29uc3QgbWFwQXJyYXkgPSA8VCwgVT4obWFwRnVuYzogKHNyYzogVCkgPT4gVSApID0+IChzb3VyY2U6IE9ic2VydmFibGU8VFtdPikgPT5cbiAgc291cmNlLnBpcGUoIG1hcCggc3JjID0+IHNyYy5tYXAobWFwRnVuYykgKSApO1xuXG5leHBvcnQgIGNvbnN0IGZpbHRlckFycmF5ID0gPFQ+KGZpbHRlckZ1bmM6IChzcmM6IFQpID0+IGJvb2xlYW4gKSA9PiAoc291cmNlOiBPYnNlcnZhYmxlPFRbXT4pID0+XG4gIHNvdXJjZS5waXBlKCBtYXAoIHNyYyA9PiBzcmMuZmlsdGVyKGZpbHRlckZ1bmMpICkgKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG9uV2FpdDxULFYgZXh0ZW5kcyBUPih2YWw6IFYpIDogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4oc3Vic2NyaWJlciA9PiB7XG4gICAgICBsZXQgZW1pdHRlZCA9IGZhbHNlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmKCFlbWl0dGVkKSB7XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0sIDApO1xuICAgICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQoeCkgeyBlbWl0dGVkID0gdHJ1ZTsgc3Vic2NyaWJlci5uZXh0KHgpIH0sXG4gICAgICAgIGVycm9yKGVycikgeyBlbWl0dGVkID0gdHJ1ZTsgc3Vic2NyaWJlci5lcnJvcihlcnIpIH0sXG4gICAgICAgIGNvbXBsZXRlKCkgeyBlbWl0dGVkID0gdHJ1ZTsgc3Vic2NyaWJlci5jb21wbGV0ZSgpOyB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lQXJyYXlzID0gPFQ+KHNvdXJjZXM6IE9ic2VydmFibGU8VFtdPltdKTogT2JzZXJ2YWJsZTxUW10+ID0+IHtcbiAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgc291cmNlcy5tYXAoIHNyYyA9PiBzcmMucGlwZShvbldhaXQoW10pKSlcbiAgKS5waXBlKFxuICAgIG1hcCggcmVzID0+IGZsYXR0ZW4ocmVzKSApXG4gICk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoT2ZmKCBzd2l0Y2hTb3VyY2U6IE9ic2VydmFibGU8Ym9vbGVhbj4sIGRlZmF1bHRTdGF0ZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgcmV0dXJuIDxUPihzb3VyY2U6IE9ic2VydmFibGU8VD4pIDogT2JzZXJ2YWJsZTxUPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKHN1YnNjaWJlciA9PiB7XG4gICAgICBsZXQgaXNPbiA9IGRlZmF1bHRTdGF0ZTtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgIHN1YnNjcmlwdGlvbi5hZGQoIHN3aXRjaFNvdXJjZS5zdWJzY3JpYmUoIG9uID0+IGlzT24gPSBvbiApKTtcbiAgICAgIHN1YnNjcmlwdGlvbi5hZGQoc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQodmFsdWUpIHtcbiAgICAgICAgICBpZihpc09uKSB7XG4gICAgICAgICAgICBzdWJzY2liZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogZXJyb3IgPT4gc3Vic2NpYmVyLmVycm9yKGVycm9yKSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHN1YnNjaWJlci5jb21wbGV0ZSgpXG4gICAgICB9KSk7XG4gICAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBza2lwT25lV2hlbiggc2tpcHBlcjogT2JzZXJ2YWJsZTxhbnk+ICkge1xuICByZXR1cm4gPFQ+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgOiBPYnNlcnZhYmxlPFQ+ID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoc3Vic3JpYmVyID0+IHtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgIGxldCBza2lwTmV4dCA9IGZhbHNlO1xuICAgICAgc3Vic2NyaXB0aW9uLmFkZChza2lwcGVyLnN1YnNjcmliZSggXyA9PiBza2lwTmV4dCA9IHRydWUpKTtcbiAgICAgIHN1YnNjcmlwdGlvbi5hZGQoc291cmNlLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQodmFsdWUpIHtcbiAgICAgICAgICBpZihza2lwTmV4dCkge1xuICAgICAgICAgICAgc2tpcE5leHQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3Vic3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IGVycm9yID0+IHN1YnNyaWJlci5lcnJvcihlcnJvciksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiBzdWJzcmliZXIuY29tcGxldGUoKVxuICAgICAgfSkpO1xuICAgICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJldmlvdXNBbmRDdXJyZW50PFQ+KHN0YXJ0aW5nVmFsdWUgOiBUKSA6IE9wZXJhdG9yRnVuY3Rpb248VCwgW1QsIFRdPiB7XG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiB7XG4gICAgcmV0dXJuIHNvdXJjZS5waXBlKHN0YXJ0V2l0aChzdGFydGluZ1ZhbHVlKSwgcGFpcndpc2UoKSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vdE51bGw8VD4oKTogT3BlcmF0b3JGdW5jdGlvbjwoVCB8IG51bGwgfCB1bmRlZmluZWQpLCBUPiB7XG4gIHJldHVybiAgKHNvdXJjZTogT2JzZXJ2YWJsZTxUIHwgbnVsbCB8IHVuZGVmaW5lZD4pID0+IHtcbiAgICByZXR1cm4gIHNvdXJjZS5waXBlKGZpbHRlciggKG86IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogbyBpcyBUID0+ICEhbykgKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxheU9uPFQ+KHByZWRpY2F0ZTogKHQ6IFQpID0+IGJvb2xlYW4sIGRlbGF5VGltZTogbnVtYmVyKSB7XG4gIHJldHVybiAoc3JjOiBPYnNlcnZhYmxlPFQ+KSA9PiB7XG4gICAgcmV0dXJuIHNyYy5waXBlKFxuICAgICAgY29uY2F0TWFwKHIgPT4ge1xuICAgICAgICBpZiAocHJlZGljYXRlKHIpKSB7XG4gICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgb2YoeyByIH0pLFxuICAgICAgICAgICAgb2YobnVsbCkucGlwZShkZWxheShkZWxheVRpbWUpKVxuICAgICAgICAgICkucGlwZShcbiAgICAgICAgICAgIG5vdE51bGwoKSxcbiAgICAgICAgICAgIG1hcChkID0+IGQucilcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihyKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9O1xufVxuIl19
|
|
@@ -15,8 +15,12 @@ export class DataFilter {
|
|
|
15
15
|
appendFilters(filters$) {
|
|
16
16
|
return new DataFilter(combineArrays([
|
|
17
17
|
this.filters$ ?? of([]),
|
|
18
|
-
filters$.pipe(map(fltrs => fltrs
|
|
18
|
+
filters$.pipe(map(fltrs => fltrs
|
|
19
|
+
// we only want to remove it if it was specifically set to false
|
|
20
|
+
// as apposed to falsy
|
|
21
|
+
.filter(f => f.active !== false)
|
|
22
|
+
.map(filter => createFilterFunc(filter))))
|
|
19
23
|
]));
|
|
20
24
|
}
|
|
21
25
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9jbGFzc2VzL2RhdGEtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0UsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFBb0IsUUFBb0Q7UUFBcEQsYUFBUSxHQUFSLFFBQVEsQ0FBNEM7SUFDeEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFXLEVBQUUsT0FBcUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBRSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFzQjtRQUMvQixPQUFPLGFBQWEsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUNwRCxXQUFXLENBQUMsRUFBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFvRDtRQUNoRSxPQUFPLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUNsQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLO2dCQUM1QixnRUFBZ0U7Z0JBQ2hFLHNCQUFzQjtpQkFDckIsTUFBTSxDQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUU7aUJBQ2pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29tYmluZUFycmF5cyB9IGZyb20gJy4uLy4uL3J4anMvcnhqcy1vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY3JlYXRlRmlsdGVyRnVuYywgQ3VzdG9tRmlsdGVyLCBGaWx0ZXJJbmZvIH0gZnJvbSAnLi9maWx0ZXItaW5mbyc7XG5cbmV4cG9ydCBjbGFzcyBEYXRhRmlsdGVyPFQgPSBhbnk+IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlcnMkOiBPYnNlcnZhYmxlPCBBcnJheTwgKHZhbDogYW55KSA9PiBib29sZWFuPj4gKSB7XG4gIH1cblxuICBmaWx0ZXIoZGF0YTogYW55W10sIGZpbHRlcnM6IEFycmF5PCh2YWw6IGFueSkgPT4gYm9vbGVhbj4gKTogYW55W10ge1xuICAgIHJldHVybiBkYXRhLmZpbHRlciggciA9PiBmaWx0ZXJzLmV2ZXJ5KCBmbHRyID0+IGZsdHIocikpICk7XG4gIH1cblxuICBmaWx0ZXJEYXRhKGRhdGEkOiBPYnNlcnZhYmxlPFRbXT4pIHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbZGF0YSQsIHRoaXMuZmlsdGVycyRdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YSwgZmlsdGVyc10pID0+IHRoaXMuZmlsdGVyKGRhdGEsIGZpbHRlcnMpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHtidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZX0pXG4gICAgKTtcbiAgfVxuXG4gIGFwcGVuZEZpbHRlcnMoZmlsdGVycyQ6IE9ic2VydmFibGU8KEZpbHRlckluZm8gfCBDdXN0b21GaWx0ZXIgKVtdPikgOiBEYXRhRmlsdGVyIHtcbiAgICByZXR1cm4gbmV3IERhdGFGaWx0ZXIoY29tYmluZUFycmF5cyhbXG4gICAgICB0aGlzLmZpbHRlcnMkID8/IG9mKFtdKSxcbiAgICAgIGZpbHRlcnMkLnBpcGUobWFwKGZsdHJzID0+IGZsdHJzXG4gICAgICAgICAgLy8gd2Ugb25seSB3YW50IHRvIHJlbW92ZSBpdCBpZiBpdCB3YXMgc3BlY2lmaWNhbGx5IHNldCB0byBmYWxzZVxuICAgICAgICAgIC8vIGFzIGFwcG9zZWQgdG8gZmFsc3lcbiAgICAgICAgICAuZmlsdGVyKCBmID0+IGYuYWN0aXZlICE9PSBmYWxzZSApXG4gICAgICAgICAgLm1hcChmaWx0ZXIgPT4gY3JlYXRlRmlsdGVyRnVuYyhmaWx0ZXIpKSkpXG4gICAgXSkpO1xuICB9XG59XG4iXX0=
|