ngssm-ag-grid 14.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # ngssm-ag-grid
2
+
3
+ This library provides some helpers for [ag-grid](https://www.ag-grid.com/) and the management of the columns state.
@@ -0,0 +1,5 @@
1
+ export var AgGridActionType;
2
+ (function (AgGridActionType) {
3
+ AgGridActionType["registerAgGridState"] = "[AgGridActionType] registerAgGridState";
4
+ })(AgGridActionType || (AgGridActionType = {}));
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hY3Rpb24tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL2xpYi9hY3Rpb25zL2FnLWdyaWQtYWN0aW9uLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBRVg7QUFGRCxXQUFZLGdCQUFnQjtJQUMxQixrRkFBOEQsQ0FBQTtBQUNoRSxDQUFDLEVBRlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUUzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFnR3JpZEFjdGlvblR5cGUge1xuICByZWdpc3RlckFnR3JpZFN0YXRlID0gJ1tBZ0dyaWRBY3Rpb25UeXBlXSByZWdpc3RlckFnR3JpZFN0YXRlJ1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './ag-grid-action-type';
2
+ export * from './register-ag-grid-state.action';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hZy1ncmlkL3NyYy9saWIvYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FnLWdyaWQtYWN0aW9uLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3Rlci1hZy1ncmlkLXN0YXRlLmFjdGlvbic7XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { AgGridActionType } from './ag-grid-action-type';
2
+ export class RegisterAgGridStateAction {
3
+ constructor(gridId, origin, columnStates) {
4
+ this.gridId = gridId;
5
+ this.origin = origin;
6
+ this.columnStates = columnStates;
7
+ this.type = AgGridActionType.registerAgGridState;
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItYWctZ3JpZC1zdGF0ZS5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hZy1ncmlkL3NyYy9saWIvYWN0aW9ucy9yZWdpc3Rlci1hZy1ncmlkLXN0YXRlLmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxNQUFNLE9BQU8seUJBQXlCO0lBR3BDLFlBQTRCLE1BQWMsRUFBa0IsTUFBb0IsRUFBa0IsWUFBMkI7UUFBakcsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFrQixXQUFNLEdBQU4sTUFBTSxDQUFjO1FBQWtCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRjdHLFNBQUksR0FBVyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztJQUU0RCxDQUFDO0NBQ2xJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uU3RhdGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5cbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgQ2hhbmdlT3JpZ2luIH0gZnJvbSAnLi4vc3RhdGUnO1xuaW1wb3J0IHsgQWdHcmlkQWN0aW9uVHlwZSB9IGZyb20gJy4vYWctZ3JpZC1hY3Rpb24tdHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBSZWdpc3RlckFnR3JpZFN0YXRlQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IEFnR3JpZEFjdGlvblR5cGUucmVnaXN0ZXJBZ0dyaWRTdGF0ZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZ3JpZElkOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBvcmlnaW46IENoYW5nZU9yaWdpbiwgcHVibGljIHJlYWRvbmx5IGNvbHVtblN0YXRlczogQ29sdW1uU3RhdGVbXSkge31cbn1cbiJdfQ==
@@ -0,0 +1,74 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import { combineLatest, map, ReplaySubject, Subject, take, takeUntil } from 'rxjs';
3
+ import { RegisterAgGridStateAction } from '../actions';
4
+ import { ChangeOrigin, selectAgGridState } from '../state';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "ngssm-store";
7
+ import * as i2 from "ag-grid-angular";
8
+ export class NgssmAgGridDirective {
9
+ constructor(store, agGridAngular) {
10
+ this.store = store;
11
+ this.agGridAngular = agGridAngular;
12
+ this.unsubsribeAll$ = new Subject();
13
+ this._gridId$ = new ReplaySubject();
14
+ this.agGridAngular.gridReady.pipe(take(1)).subscribe((v) => {
15
+ combineLatest([
16
+ this.store.state$.pipe(take(1), map((s) => selectAgGridState(s))),
17
+ this._gridId$
18
+ ])
19
+ .pipe(take(1))
20
+ .subscribe((values) => {
21
+ if (values[0].gridStates[values[1]]) {
22
+ this.agGridAngular.columnApi.applyColumnState({
23
+ state: values[0].gridStates[values[1]].columnsState,
24
+ applyOrder: true
25
+ });
26
+ }
27
+ this.initSateChangeListener();
28
+ });
29
+ });
30
+ combineLatest([this.store.state$.pipe(map((s) => selectAgGridState(s))), this._gridId$])
31
+ .pipe(takeUntil(this.unsubsribeAll$))
32
+ .subscribe((values) => {
33
+ if (values[0].gridStates[values[1]]?.origin === ChangeOrigin.other) {
34
+ this.agGridAngular.columnApi.applyColumnState({
35
+ state: values[0].gridStates[values[1]].columnsState,
36
+ applyOrder: true
37
+ });
38
+ }
39
+ });
40
+ }
41
+ set gridId(value) {
42
+ this._gridId$.next(value);
43
+ }
44
+ ngOnDestroy() {
45
+ this.unsubsribeAll$.next();
46
+ this.unsubsribeAll$.complete();
47
+ }
48
+ initSateChangeListener() {
49
+ this.agGridAngular.sortChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
50
+ this.agGridAngular.filterChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
51
+ this.agGridAngular.columnPinned.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
52
+ this.agGridAngular.columnResized.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
53
+ this.agGridAngular.displayedColumnsChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
54
+ }
55
+ saveGridState() {
56
+ const state = this.agGridAngular.columnApi.getColumnState();
57
+ this._gridId$
58
+ .pipe(take(1))
59
+ .subscribe((gridId) => this.store.dispatchAction(new RegisterAgGridStateAction(gridId, ChangeOrigin.agGrid, state)));
60
+ }
61
+ }
62
+ NgssmAgGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridDirective, deps: [{ token: i1.Store }, { token: i2.AgGridAngular }], target: i0.ɵɵFactoryTarget.Directive });
63
+ NgssmAgGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: NgssmAgGridDirective, selector: "[ngssm-ag-grid]", inputs: { gridId: ["ngssm-ag-grid", "gridId"] }, ngImport: i0 });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridDirective, decorators: [{
65
+ type: Directive,
66
+ args: [{
67
+ // eslint-disable-next-line @angular-eslint/directive-selector
68
+ selector: '[ngssm-ag-grid]'
69
+ }]
70
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AgGridAngular }]; }, propDecorators: { gridId: [{
71
+ type: Input,
72
+ args: ['ngssm-ag-grid']
73
+ }] } });
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWctZ3JpZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hZy1ncmlkL3NyYy9saWIvY29tcG9uZW50cy9uZ3NzbS1hZy1ncmlkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNbkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7QUFNM0QsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixZQUFvQixLQUFZLEVBQVUsYUFBNEI7UUFBbEQsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSHJELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNyQyxhQUFRLEdBQUcsSUFBSSxhQUFhLEVBQVUsQ0FBQztRQUd0RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekQsYUFBYSxDQUFDO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDcEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakM7Z0JBQ0QsSUFBSSxDQUFDLFFBQVE7YUFDZCxDQUFDO2lCQUND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QUFjLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUTthQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUkseUJBQXlCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pILENBQUM7O2lIQTVEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7d0hBdUNvQyxNQUFNO3NCQUF4QyxLQUFLO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgUmVnaXN0ZXJBZ0dyaWRTdGF0ZUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlT3JpZ2luLCBzZWxlY3RBZ0dyaWRTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW25nc3NtLWFnLWdyaWRdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUFnR3JpZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ncmlkSWQkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIGFnR3JpZEFuZ3VsYXI6IEFnR3JpZEFuZ3VsYXIpIHtcbiAgICB0aGlzLmFnR3JpZEFuZ3VsYXIuZ3JpZFJlYWR5LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCh2KSA9PiB7XG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5zdG9yZS5zdGF0ZSQucGlwZShcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgIG1hcCgocykgPT4gc2VsZWN0QWdHcmlkU3RhdGUocykpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuX2dyaWRJZCRcbiAgICAgIF0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICAgIGlmICh2YWx1ZXNbMF0uZ3JpZFN0YXRlc1t2YWx1ZXNbMV1dKSB7XG4gICAgICAgICAgICB0aGlzLmFnR3JpZEFuZ3VsYXIuY29sdW1uQXBpLmFwcGx5Q29sdW1uU3RhdGUoe1xuICAgICAgICAgICAgICBzdGF0ZTogdmFsdWVzWzBdLmdyaWRTdGF0ZXNbdmFsdWVzWzFdXS5jb2x1bW5zU3RhdGUsXG4gICAgICAgICAgICAgIGFwcGx5T3JkZXI6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuaW5pdFNhdGVDaGFuZ2VMaXN0ZW5lcigpO1xuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc3RhdGUkLnBpcGUobWFwKChzKSA9PiBzZWxlY3RBZ0dyaWRTdGF0ZShzKSkpLCB0aGlzLl9ncmlkSWQkXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic3JpYmVBbGwkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgICBpZiAodmFsdWVzWzBdLmdyaWRTdGF0ZXNbdmFsdWVzWzFdXT8ub3JpZ2luID09PSBDaGFuZ2VPcmlnaW4ub3RoZXIpIHtcbiAgICAgICAgICB0aGlzLmFnR3JpZEFuZ3VsYXIuY29sdW1uQXBpLmFwcGx5Q29sdW1uU3RhdGUoe1xuICAgICAgICAgICAgc3RhdGU6IHZhbHVlc1swXS5ncmlkU3RhdGVzW3ZhbHVlc1sxXV0uY29sdW1uc1N0YXRlLFxuICAgICAgICAgICAgYXBwbHlPcmRlcjogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIEBJbnB1dCgnbmdzc20tYWctZ3JpZCcpIHB1YmxpYyBzZXQgZ3JpZElkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ncmlkSWQkLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzcmliZUFsbCQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzcmliZUFsbCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNhdGVDaGFuZ2VMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLmFnR3JpZEFuZ3VsYXIuc29ydENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNyaWJlQWxsJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNhdmVHcmlkU3RhdGUoKSk7XG4gICAgdGhpcy5hZ0dyaWRBbmd1bGFyLmZpbHRlckNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNyaWJlQWxsJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNhdmVHcmlkU3RhdGUoKSk7XG4gICAgdGhpcy5hZ0dyaWRBbmd1bGFyLmNvbHVtblBpbm5lZC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic3JpYmVBbGwkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2F2ZUdyaWRTdGF0ZSgpKTtcbiAgICB0aGlzLmFnR3JpZEFuZ3VsYXIuY29sdW1uUmVzaXplZC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic3JpYmVBbGwkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2F2ZUdyaWRTdGF0ZSgpKTtcbiAgICB0aGlzLmFnR3JpZEFuZ3VsYXIuZGlzcGxheWVkQ29sdW1uc0NoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNyaWJlQWxsJCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNhdmVHcmlkU3RhdGUoKSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVHcmlkU3RhdGUoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLmFnR3JpZEFuZ3VsYXIuY29sdW1uQXBpLmdldENvbHVtblN0YXRlKCk7XG4gICAgdGhpcy5fZ3JpZElkJFxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGdyaWRJZCkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaEFjdGlvbihuZXcgUmVnaXN0ZXJBZ0dyaWRTdGF0ZUFjdGlvbihncmlkSWQsIENoYW5nZU9yaWdpbi5hZ0dyaWQsIHN0YXRlKSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { NgssmAgGridDirective } from './components/ngssm-ag-grid.directive';
3
+ import { gridStatesReducerProvider } from './reducers/grid-states.reducer';
4
+ import * as i0 from "@angular/core";
5
+ export class NgssmAgGridModule {
6
+ static forRoot() {
7
+ return {
8
+ ngModule: NgssmAgGridModule,
9
+ providers: [gridStatesReducerProvider]
10
+ };
11
+ }
12
+ }
13
+ NgssmAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ NgssmAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, declarations: [NgssmAgGridDirective], exports: [NgssmAgGridDirective] });
15
+ NgssmAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ declarations: [NgssmAgGridDirective],
20
+ imports: [],
21
+ exports: [NgssmAgGridDirective],
22
+ providers: []
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWctZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hZy1ncmlkL3NyYy9saWIvbmdzc20tYWctZ3JpZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBUTNFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztTQUN2QyxDQUFDO0lBQ0osQ0FBQzs7OEdBTlUsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBTGIsb0JBQW9CLGFBRXpCLG9CQUFvQjsrR0FHbkIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBTjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUMvQixTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3NzbUFnR3JpZERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9uZ3NzbS1hZy1ncmlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBncmlkU3RhdGVzUmVkdWNlclByb3ZpZGVyIH0gZnJvbSAnLi9yZWR1Y2Vycy9ncmlkLXN0YXRlcy5yZWR1Y2VyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmdzc21BZ0dyaWREaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbXSxcbiAgZXhwb3J0czogW05nc3NtQWdHcmlkRGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBOZ3NzbUFnR3JpZE1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Tmdzc21BZ0dyaWRNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IE5nc3NtQWdHcmlkTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbZ3JpZFN0YXRlc1JlZHVjZXJQcm92aWRlcl1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NGSSM_REDUCER } from 'ngssm-store';
3
+ import { AgGridActionType } from '../actions';
4
+ import { updateAgGridState } from '../state';
5
+ import * as i0 from "@angular/core";
6
+ export class GridStatesReducer {
7
+ constructor() {
8
+ this.processedActions = [AgGridActionType.registerAgGridState];
9
+ }
10
+ updateState(state, action) {
11
+ switch (action.type) {
12
+ case AgGridActionType.registerAgGridState:
13
+ const registerAgGridStateAction = action;
14
+ return updateAgGridState(state, {
15
+ gridStates: {
16
+ [registerAgGridStateAction.gridId]: {
17
+ $set: {
18
+ origin: registerAgGridStateAction.origin,
19
+ columnsState: registerAgGridStateAction.columnStates
20
+ }
21
+ }
22
+ }
23
+ });
24
+ }
25
+ return state;
26
+ }
27
+ }
28
+ GridStatesReducer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ GridStatesReducer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer, decorators: [{
31
+ type: Injectable
32
+ }] });
33
+ export const gridStatesReducerProvider = {
34
+ provide: NGSSM_REDUCER,
35
+ useClass: GridStatesReducer,
36
+ multi: true
37
+ };
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zdGF0ZXMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL2xpYi9yZWR1Y2Vycy9ncmlkLXN0YXRlcy5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFckQsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEUsT0FBTyxFQUFFLGdCQUFnQixFQUE2QixNQUFNLFlBQVksQ0FBQztBQUN6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRzdDLE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFa0IscUJBQWdCLEdBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBb0JyRjtJQWxCUSxXQUFXLENBQUMsS0FBWSxFQUFFLE1BQWM7UUFDN0MsUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ25CLEtBQUssZ0JBQWdCLENBQUMsbUJBQW1CO2dCQUN2QyxNQUFNLHlCQUF5QixHQUFHLE1BQW1DLENBQUM7Z0JBQ3RFLE9BQU8saUJBQWlCLENBQUMsS0FBSyxFQUFFO29CQUM5QixVQUFVLEVBQUU7d0JBQ1YsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsRUFBRTs0QkFDbEMsSUFBSSxFQUFFO2dDQUNKLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxNQUFNO2dDQUN4QyxZQUFZLEVBQUUseUJBQXlCLENBQUMsWUFBWTs2QkFDckQ7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhHQXBCVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVOztBQXdCWCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBYTtJQUNqRCxPQUFPLEVBQUUsYUFBYTtJQUN0QixRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlZHVjZXIsIFN0YXRlLCBBY3Rpb24sIE5HU1NNX1JFRFVDRVIgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IEFnR3JpZEFjdGlvblR5cGUsIFJlZ2lzdGVyQWdHcmlkU3RhdGVBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IHVwZGF0ZUFnR3JpZFN0YXRlIH0gZnJvbSAnLi4vc3RhdGUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgR3JpZFN0YXRlc1JlZHVjZXIgaW1wbGVtZW50cyBSZWR1Y2VyIHtcbiAgcHVibGljIHJlYWRvbmx5IHByb2Nlc3NlZEFjdGlvbnM6IHN0cmluZ1tdID0gW0FnR3JpZEFjdGlvblR5cGUucmVnaXN0ZXJBZ0dyaWRTdGF0ZV07XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pOiBTdGF0ZSB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgY2FzZSBBZ0dyaWRBY3Rpb25UeXBlLnJlZ2lzdGVyQWdHcmlkU3RhdGU6XG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyQWdHcmlkU3RhdGVBY3Rpb24gPSBhY3Rpb24gYXMgUmVnaXN0ZXJBZ0dyaWRTdGF0ZUFjdGlvbjtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUFnR3JpZFN0YXRlKHN0YXRlLCB7XG4gICAgICAgICAgZ3JpZFN0YXRlczoge1xuICAgICAgICAgICAgW3JlZ2lzdGVyQWdHcmlkU3RhdGVBY3Rpb24uZ3JpZElkXToge1xuICAgICAgICAgICAgICAkc2V0OiB7XG4gICAgICAgICAgICAgICAgb3JpZ2luOiByZWdpc3RlckFnR3JpZFN0YXRlQWN0aW9uLm9yaWdpbixcbiAgICAgICAgICAgICAgICBjb2x1bW5zU3RhdGU6IHJlZ2lzdGVyQWdHcmlkU3RhdGVBY3Rpb24uY29sdW1uU3RhdGVzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZ3JpZFN0YXRlc1JlZHVjZXJQcm92aWRlcjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HU1NNX1JFRFVDRVIsXG4gIHVzZUNsYXNzOiBHcmlkU3RhdGVzUmVkdWNlcixcbiAgbXVsdGk6IHRydWVcbn07XG4iXX0=
@@ -0,0 +1,22 @@
1
+ var AgGridStateSpecification_1;
2
+ import { __decorate } from "tslib";
3
+ import update from 'immutability-helper';
4
+ import { NgSsmFeatureState } from 'ngssm-store';
5
+ export const selectAgGridState = (state) => state[AgGridStateSpecification.featureStateKey];
6
+ export const updateAgGridState = (state, command) => update(state, {
7
+ [AgGridStateSpecification.featureStateKey]: command
8
+ });
9
+ let AgGridStateSpecification = AgGridStateSpecification_1 = class AgGridStateSpecification {
10
+ };
11
+ AgGridStateSpecification.featureStateKey = 'ag-grid-state';
12
+ AgGridStateSpecification.initialState = {
13
+ gridStates: {}
14
+ };
15
+ AgGridStateSpecification = AgGridStateSpecification_1 = __decorate([
16
+ NgSsmFeatureState({
17
+ featureStateKey: AgGridStateSpecification_1.featureStateKey,
18
+ initialState: AgGridStateSpecification_1.initialState
19
+ })
20
+ ], AgGridStateSpecification);
21
+ export { AgGridStateSpecification };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC5zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL2xpYi9zdGF0ZS9hZy1ncmlkLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxNQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQVksRUFBZSxFQUFFLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBZ0IsQ0FBQztBQUUvSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQVksRUFBRSxPQUFpQyxFQUFTLEVBQUUsQ0FDMUYsTUFBTSxDQUFDLEtBQUssRUFBRTtJQUNaLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTztDQUNwRCxDQUFDLENBQUM7QUFVRSxJQUFNLHdCQUF3QixnQ0FBOUIsTUFBTSx3QkFBd0I7O0FBQ1osd0NBQWUsR0FBRyxlQUFlLENBQUM7QUFDbEMscUNBQVksR0FBZ0I7SUFDakQsVUFBVSxFQUFFLEVBQUU7Q0FDZixDQUFDO0FBSlMsd0JBQXdCO0lBSnBDLGlCQUFpQixDQUFDO1FBQ2pCLGVBQWUsRUFBRSwwQkFBd0IsQ0FBQyxlQUFlO1FBQ3pELFlBQVksRUFBRSwwQkFBd0IsQ0FBQyxZQUFZO0tBQ3BELENBQUM7R0FDVyx3QkFBd0IsQ0FLcEM7U0FMWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdXBkYXRlLCB7IFNwZWMgfSBmcm9tICdpbW11dGFiaWxpdHktaGVscGVyJztcblxuaW1wb3J0IHsgTmdTc21GZWF0dXJlU3RhdGUsIFN0YXRlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgR3JpZFN0YXRlIH0gZnJvbSAnLi9ncmlkLXN0YXRlJztcblxuZXhwb3J0IGNvbnN0IHNlbGVjdEFnR3JpZFN0YXRlID0gKHN0YXRlOiBTdGF0ZSk6IEFnR3JpZFN0YXRlID0+IHN0YXRlW0FnR3JpZFN0YXRlU3BlY2lmaWNhdGlvbi5mZWF0dXJlU3RhdGVLZXldIGFzIEFnR3JpZFN0YXRlO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlQWdHcmlkU3RhdGUgPSAoc3RhdGU6IFN0YXRlLCBjb21tYW5kOiBTcGVjPEFnR3JpZFN0YXRlLCBuZXZlcj4pOiBTdGF0ZSA9PlxuICB1cGRhdGUoc3RhdGUsIHtcbiAgICBbQWdHcmlkU3RhdGVTcGVjaWZpY2F0aW9uLmZlYXR1cmVTdGF0ZUtleV06IGNvbW1hbmRcbiAgfSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWdHcmlkU3RhdGUge1xuICBncmlkU3RhdGVzOiB7IFtrZXk6IHN0cmluZ106IEdyaWRTdGF0ZSB9O1xufVxuXG5ATmdTc21GZWF0dXJlU3RhdGUoe1xuICBmZWF0dXJlU3RhdGVLZXk6IEFnR3JpZFN0YXRlU3BlY2lmaWNhdGlvbi5mZWF0dXJlU3RhdGVLZXksXG4gIGluaXRpYWxTdGF0ZTogQWdHcmlkU3RhdGVTcGVjaWZpY2F0aW9uLmluaXRpYWxTdGF0ZVxufSlcbmV4cG9ydCBjbGFzcyBBZ0dyaWRTdGF0ZVNwZWNpZmljYXRpb24ge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZlYXR1cmVTdGF0ZUtleSA9ICdhZy1ncmlkLXN0YXRlJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBpbml0aWFsU3RhdGU6IEFnR3JpZFN0YXRlID0ge1xuICAgIGdyaWRTdGF0ZXM6IHt9XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var ChangeOrigin;
2
+ (function (ChangeOrigin) {
3
+ ChangeOrigin["agGrid"] = "agGrid";
4
+ ChangeOrigin["other"] = "other";
5
+ })(ChangeOrigin || (ChangeOrigin = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLW9yaWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL2xpYi9zdGF0ZS9jaGFuZ2Utb3JpZ2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsaUNBQWlCLENBQUE7SUFDakIsK0JBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFuZ2VPcmlnaW4ge1xuICBhZ0dyaWQgPSAnYWdHcmlkJyxcbiAgb3RoZXIgPSAnb3RoZXInXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL2xpYi9zdGF0ZS9ncmlkLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW5TdGF0ZSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcblxuaW1wb3J0IHsgQ2hhbmdlT3JpZ2luIH0gZnJvbSAnLi9jaGFuZ2Utb3JpZ2luJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmlkU3RhdGUge1xuICBvcmlnaW46IENoYW5nZU9yaWdpbjtcbiAgY29sdW1uc1N0YXRlOiBDb2x1bW5TdGF0ZVtdO1xufVxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './ag-grid.state';
2
+ export * from './change-origin';
3
+ export * from './grid-state';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1hZy1ncmlkL3NyYy9saWIvc3RhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZy1ncmlkLnN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLW9yaWdpbic7XG5leHBvcnQgKiBmcm9tICcuL2dyaWQtc3RhdGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzc20tYWctZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL25nc3NtLWFnLWdyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Public API Surface of ngssm-ag-grid
3
+ */
4
+ export * from './lib/ngssm-ag-grid.module';
5
+ export * from './lib/actions';
6
+ export * from './lib/state';
7
+ export * from './lib/components/ngssm-ag-grid.directive';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nc3NtLWFnLWdyaWQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nc3NtLWFnLWdyaWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZ3NzbS1hZy1ncmlkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbmdzc20tYWctZ3JpZC5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,179 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, Injectable, NgModule } from '@angular/core';
3
+ import { Subject, ReplaySubject, take, combineLatest, map, takeUntil } from 'rxjs';
4
+ import { __decorate } from 'tslib';
5
+ import update from 'immutability-helper';
6
+ import * as i1 from 'ngssm-store';
7
+ import { NgSsmFeatureState, NGSSM_REDUCER } from 'ngssm-store';
8
+ import * as i2 from 'ag-grid-angular';
9
+
10
+ var AgGridActionType;
11
+ (function (AgGridActionType) {
12
+ AgGridActionType["registerAgGridState"] = "[AgGridActionType] registerAgGridState";
13
+ })(AgGridActionType || (AgGridActionType = {}));
14
+
15
+ class RegisterAgGridStateAction {
16
+ constructor(gridId, origin, columnStates) {
17
+ this.gridId = gridId;
18
+ this.origin = origin;
19
+ this.columnStates = columnStates;
20
+ this.type = AgGridActionType.registerAgGridState;
21
+ }
22
+ }
23
+
24
+ var AgGridStateSpecification_1;
25
+ const selectAgGridState = (state) => state[AgGridStateSpecification.featureStateKey];
26
+ const updateAgGridState = (state, command) => update(state, {
27
+ [AgGridStateSpecification.featureStateKey]: command
28
+ });
29
+ let AgGridStateSpecification = AgGridStateSpecification_1 = class AgGridStateSpecification {
30
+ };
31
+ AgGridStateSpecification.featureStateKey = 'ag-grid-state';
32
+ AgGridStateSpecification.initialState = {
33
+ gridStates: {}
34
+ };
35
+ AgGridStateSpecification = AgGridStateSpecification_1 = __decorate([
36
+ NgSsmFeatureState({
37
+ featureStateKey: AgGridStateSpecification_1.featureStateKey,
38
+ initialState: AgGridStateSpecification_1.initialState
39
+ })
40
+ ], AgGridStateSpecification);
41
+
42
+ var ChangeOrigin;
43
+ (function (ChangeOrigin) {
44
+ ChangeOrigin["agGrid"] = "agGrid";
45
+ ChangeOrigin["other"] = "other";
46
+ })(ChangeOrigin || (ChangeOrigin = {}));
47
+
48
+ class NgssmAgGridDirective {
49
+ constructor(store, agGridAngular) {
50
+ this.store = store;
51
+ this.agGridAngular = agGridAngular;
52
+ this.unsubsribeAll$ = new Subject();
53
+ this._gridId$ = new ReplaySubject();
54
+ this.agGridAngular.gridReady.pipe(take(1)).subscribe((v) => {
55
+ combineLatest([
56
+ this.store.state$.pipe(take(1), map((s) => selectAgGridState(s))),
57
+ this._gridId$
58
+ ])
59
+ .pipe(take(1))
60
+ .subscribe((values) => {
61
+ if (values[0].gridStates[values[1]]) {
62
+ this.agGridAngular.columnApi.applyColumnState({
63
+ state: values[0].gridStates[values[1]].columnsState,
64
+ applyOrder: true
65
+ });
66
+ }
67
+ this.initSateChangeListener();
68
+ });
69
+ });
70
+ combineLatest([this.store.state$.pipe(map((s) => selectAgGridState(s))), this._gridId$])
71
+ .pipe(takeUntil(this.unsubsribeAll$))
72
+ .subscribe((values) => {
73
+ var _a;
74
+ if (((_a = values[0].gridStates[values[1]]) === null || _a === void 0 ? void 0 : _a.origin) === ChangeOrigin.other) {
75
+ this.agGridAngular.columnApi.applyColumnState({
76
+ state: values[0].gridStates[values[1]].columnsState,
77
+ applyOrder: true
78
+ });
79
+ }
80
+ });
81
+ }
82
+ set gridId(value) {
83
+ this._gridId$.next(value);
84
+ }
85
+ ngOnDestroy() {
86
+ this.unsubsribeAll$.next();
87
+ this.unsubsribeAll$.complete();
88
+ }
89
+ initSateChangeListener() {
90
+ this.agGridAngular.sortChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
91
+ this.agGridAngular.filterChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
92
+ this.agGridAngular.columnPinned.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
93
+ this.agGridAngular.columnResized.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
94
+ this.agGridAngular.displayedColumnsChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
95
+ }
96
+ saveGridState() {
97
+ const state = this.agGridAngular.columnApi.getColumnState();
98
+ this._gridId$
99
+ .pipe(take(1))
100
+ .subscribe((gridId) => this.store.dispatchAction(new RegisterAgGridStateAction(gridId, ChangeOrigin.agGrid, state)));
101
+ }
102
+ }
103
+ NgssmAgGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridDirective, deps: [{ token: i1.Store }, { token: i2.AgGridAngular }], target: i0.ɵɵFactoryTarget.Directive });
104
+ NgssmAgGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: NgssmAgGridDirective, selector: "[ngssm-ag-grid]", inputs: { gridId: ["ngssm-ag-grid", "gridId"] }, ngImport: i0 });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridDirective, decorators: [{
106
+ type: Directive,
107
+ args: [{
108
+ // eslint-disable-next-line @angular-eslint/directive-selector
109
+ selector: '[ngssm-ag-grid]'
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AgGridAngular }]; }, propDecorators: { gridId: [{
112
+ type: Input,
113
+ args: ['ngssm-ag-grid']
114
+ }] } });
115
+
116
+ class GridStatesReducer {
117
+ constructor() {
118
+ this.processedActions = [AgGridActionType.registerAgGridState];
119
+ }
120
+ updateState(state, action) {
121
+ switch (action.type) {
122
+ case AgGridActionType.registerAgGridState:
123
+ const registerAgGridStateAction = action;
124
+ return updateAgGridState(state, {
125
+ gridStates: {
126
+ [registerAgGridStateAction.gridId]: {
127
+ $set: {
128
+ origin: registerAgGridStateAction.origin,
129
+ columnsState: registerAgGridStateAction.columnStates
130
+ }
131
+ }
132
+ }
133
+ });
134
+ }
135
+ return state;
136
+ }
137
+ }
138
+ GridStatesReducer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
139
+ GridStatesReducer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer, decorators: [{
141
+ type: Injectable
142
+ }] });
143
+ const gridStatesReducerProvider = {
144
+ provide: NGSSM_REDUCER,
145
+ useClass: GridStatesReducer,
146
+ multi: true
147
+ };
148
+
149
+ class NgssmAgGridModule {
150
+ static forRoot() {
151
+ return {
152
+ ngModule: NgssmAgGridModule,
153
+ providers: [gridStatesReducerProvider]
154
+ };
155
+ }
156
+ }
157
+ NgssmAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
158
+ NgssmAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, declarations: [NgssmAgGridDirective], exports: [NgssmAgGridDirective] });
159
+ NgssmAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule });
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, decorators: [{
161
+ type: NgModule,
162
+ args: [{
163
+ declarations: [NgssmAgGridDirective],
164
+ imports: [],
165
+ exports: [NgssmAgGridDirective],
166
+ providers: []
167
+ }]
168
+ }] });
169
+
170
+ /*
171
+ * Public API Surface of ngssm-ag-grid
172
+ */
173
+
174
+ /**
175
+ * Generated bundle index. Do not edit.
176
+ */
177
+
178
+ export { AgGridActionType, AgGridStateSpecification, ChangeOrigin, NgssmAgGridDirective, NgssmAgGridModule, RegisterAgGridStateAction, selectAgGridState, updateAgGridState };
179
+ //# sourceMappingURL=ngssm-ag-grid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngssm-ag-grid.mjs","sources":["../../../projects/ngssm-ag-grid/src/lib/actions/ag-grid-action-type.ts","../../../projects/ngssm-ag-grid/src/lib/actions/register-ag-grid-state.action.ts","../../../projects/ngssm-ag-grid/src/lib/state/ag-grid.state.ts","../../../projects/ngssm-ag-grid/src/lib/state/change-origin.ts","../../../projects/ngssm-ag-grid/src/lib/components/ngssm-ag-grid.directive.ts","../../../projects/ngssm-ag-grid/src/lib/reducers/grid-states.reducer.ts","../../../projects/ngssm-ag-grid/src/lib/ngssm-ag-grid.module.ts","../../../projects/ngssm-ag-grid/src/public-api.ts","../../../projects/ngssm-ag-grid/src/ngssm-ag-grid.ts"],"sourcesContent":["export enum AgGridActionType {\n registerAgGridState = '[AgGridActionType] registerAgGridState'\n}\n","import { ColumnState } from 'ag-grid-community';\n\nimport { Action } from 'ngssm-store';\n\nimport { ChangeOrigin } from '../state';\nimport { AgGridActionType } from './ag-grid-action-type';\n\nexport class RegisterAgGridStateAction implements Action {\n public readonly type: string = AgGridActionType.registerAgGridState;\n\n constructor(public readonly gridId: string, public readonly origin: ChangeOrigin, public readonly columnStates: ColumnState[]) {}\n}\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\nimport { GridState } from './grid-state';\n\nexport const selectAgGridState = (state: State): AgGridState => state[AgGridStateSpecification.featureStateKey] as AgGridState;\n\nexport const updateAgGridState = (state: State, command: Spec<AgGridState, never>): State =>\n update(state, {\n [AgGridStateSpecification.featureStateKey]: command\n });\n\nexport interface AgGridState {\n gridStates: { [key: string]: GridState };\n}\n\n@NgSsmFeatureState({\n featureStateKey: AgGridStateSpecification.featureStateKey,\n initialState: AgGridStateSpecification.initialState\n})\nexport class AgGridStateSpecification {\n public static readonly featureStateKey = 'ag-grid-state';\n public static readonly initialState: AgGridState = {\n gridStates: {}\n };\n}\n","export enum ChangeOrigin {\n agGrid = 'agGrid',\n other = 'other'\n}\n","import { Directive, Input, OnDestroy } from '@angular/core';\nimport { combineLatest, map, ReplaySubject, Subject, take, takeUntil } from 'rxjs';\n\nimport { AgGridAngular } from 'ag-grid-angular';\n\nimport { Store } from 'ngssm-store';\n\nimport { RegisterAgGridStateAction } from '../actions';\nimport { ChangeOrigin, selectAgGridState } from '../state';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[ngssm-ag-grid]'\n})\nexport class NgssmAgGridDirective implements OnDestroy {\n private readonly unsubsribeAll$ = new Subject<void>();\n private readonly _gridId$ = new ReplaySubject<string>();\n\n constructor(private store: Store, private agGridAngular: AgGridAngular) {\n this.agGridAngular.gridReady.pipe(take(1)).subscribe((v) => {\n combineLatest([\n this.store.state$.pipe(\n take(1),\n map((s) => selectAgGridState(s))\n ),\n this._gridId$\n ])\n .pipe(take(1))\n .subscribe((values) => {\n if (values[0].gridStates[values[1]]) {\n this.agGridAngular.columnApi.applyColumnState({\n state: values[0].gridStates[values[1]].columnsState,\n applyOrder: true\n });\n }\n\n this.initSateChangeListener();\n });\n });\n\n combineLatest([this.store.state$.pipe(map((s) => selectAgGridState(s))), this._gridId$])\n .pipe(takeUntil(this.unsubsribeAll$))\n .subscribe((values) => {\n if (values[0].gridStates[values[1]]?.origin === ChangeOrigin.other) {\n this.agGridAngular.columnApi.applyColumnState({\n state: values[0].gridStates[values[1]].columnsState,\n applyOrder: true\n });\n }\n });\n }\n\n @Input('ngssm-ag-grid') public set gridId(value: string) {\n this._gridId$.next(value);\n }\n\n public ngOnDestroy(): void {\n this.unsubsribeAll$.next();\n this.unsubsribeAll$.complete();\n }\n\n private initSateChangeListener(): void {\n this.agGridAngular.sortChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.filterChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.columnPinned.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.columnResized.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.displayedColumnsChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n }\n\n private saveGridState(): void {\n const state = this.agGridAngular.columnApi.getColumnState();\n this._gridId$\n .pipe(take(1))\n .subscribe((gridId) => this.store.dispatchAction(new RegisterAgGridStateAction(gridId, ChangeOrigin.agGrid, state)));\n }\n}\n","import { Injectable, Provider } from '@angular/core';\n\nimport { Reducer, State, Action, NGSSM_REDUCER } from 'ngssm-store';\n\nimport { AgGridActionType, RegisterAgGridStateAction } from '../actions';\nimport { updateAgGridState } from '../state';\n\n@Injectable()\nexport class GridStatesReducer implements Reducer {\n public readonly processedActions: string[] = [AgGridActionType.registerAgGridState];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case AgGridActionType.registerAgGridState:\n const registerAgGridStateAction = action as RegisterAgGridStateAction;\n return updateAgGridState(state, {\n gridStates: {\n [registerAgGridStateAction.gridId]: {\n $set: {\n origin: registerAgGridStateAction.origin,\n columnsState: registerAgGridStateAction.columnStates\n }\n }\n }\n });\n }\n\n return state;\n }\n}\n\nexport const gridStatesReducerProvider: Provider = {\n provide: NGSSM_REDUCER,\n useClass: GridStatesReducer,\n multi: true\n};\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgssmAgGridDirective } from './components/ngssm-ag-grid.directive';\nimport { gridStatesReducerProvider } from './reducers/grid-states.reducer';\n\n@NgModule({\n declarations: [NgssmAgGridDirective],\n imports: [],\n exports: [NgssmAgGridDirective],\n providers: []\n})\nexport class NgssmAgGridModule {\n static forRoot(): ModuleWithProviders<NgssmAgGridModule> {\n return {\n ngModule: NgssmAgGridModule,\n providers: [gridStatesReducerProvider]\n };\n }\n}\n","/*\n * Public API Surface of ngssm-ag-grid\n */\n\nexport * from './lib/ngssm-ag-grid.module';\nexport * from './lib/actions';\nexport * from './lib/state';\nexport * from './lib/components/ngssm-ag-grid.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, Injectable, NgModule } from '@angular/core';
3
+ import { Subject, ReplaySubject, take, combineLatest, map, takeUntil } from 'rxjs';
4
+ import { __decorate } from 'tslib';
5
+ import update from 'immutability-helper';
6
+ import * as i1 from 'ngssm-store';
7
+ import { NgSsmFeatureState, NGSSM_REDUCER } from 'ngssm-store';
8
+ import * as i2 from 'ag-grid-angular';
9
+
10
+ var AgGridActionType;
11
+ (function (AgGridActionType) {
12
+ AgGridActionType["registerAgGridState"] = "[AgGridActionType] registerAgGridState";
13
+ })(AgGridActionType || (AgGridActionType = {}));
14
+
15
+ class RegisterAgGridStateAction {
16
+ constructor(gridId, origin, columnStates) {
17
+ this.gridId = gridId;
18
+ this.origin = origin;
19
+ this.columnStates = columnStates;
20
+ this.type = AgGridActionType.registerAgGridState;
21
+ }
22
+ }
23
+
24
+ var AgGridStateSpecification_1;
25
+ const selectAgGridState = (state) => state[AgGridStateSpecification.featureStateKey];
26
+ const updateAgGridState = (state, command) => update(state, {
27
+ [AgGridStateSpecification.featureStateKey]: command
28
+ });
29
+ let AgGridStateSpecification = AgGridStateSpecification_1 = class AgGridStateSpecification {
30
+ };
31
+ AgGridStateSpecification.featureStateKey = 'ag-grid-state';
32
+ AgGridStateSpecification.initialState = {
33
+ gridStates: {}
34
+ };
35
+ AgGridStateSpecification = AgGridStateSpecification_1 = __decorate([
36
+ NgSsmFeatureState({
37
+ featureStateKey: AgGridStateSpecification_1.featureStateKey,
38
+ initialState: AgGridStateSpecification_1.initialState
39
+ })
40
+ ], AgGridStateSpecification);
41
+
42
+ var ChangeOrigin;
43
+ (function (ChangeOrigin) {
44
+ ChangeOrigin["agGrid"] = "agGrid";
45
+ ChangeOrigin["other"] = "other";
46
+ })(ChangeOrigin || (ChangeOrigin = {}));
47
+
48
+ class NgssmAgGridDirective {
49
+ constructor(store, agGridAngular) {
50
+ this.store = store;
51
+ this.agGridAngular = agGridAngular;
52
+ this.unsubsribeAll$ = new Subject();
53
+ this._gridId$ = new ReplaySubject();
54
+ this.agGridAngular.gridReady.pipe(take(1)).subscribe((v) => {
55
+ combineLatest([
56
+ this.store.state$.pipe(take(1), map((s) => selectAgGridState(s))),
57
+ this._gridId$
58
+ ])
59
+ .pipe(take(1))
60
+ .subscribe((values) => {
61
+ if (values[0].gridStates[values[1]]) {
62
+ this.agGridAngular.columnApi.applyColumnState({
63
+ state: values[0].gridStates[values[1]].columnsState,
64
+ applyOrder: true
65
+ });
66
+ }
67
+ this.initSateChangeListener();
68
+ });
69
+ });
70
+ combineLatest([this.store.state$.pipe(map((s) => selectAgGridState(s))), this._gridId$])
71
+ .pipe(takeUntil(this.unsubsribeAll$))
72
+ .subscribe((values) => {
73
+ if (values[0].gridStates[values[1]]?.origin === ChangeOrigin.other) {
74
+ this.agGridAngular.columnApi.applyColumnState({
75
+ state: values[0].gridStates[values[1]].columnsState,
76
+ applyOrder: true
77
+ });
78
+ }
79
+ });
80
+ }
81
+ set gridId(value) {
82
+ this._gridId$.next(value);
83
+ }
84
+ ngOnDestroy() {
85
+ this.unsubsribeAll$.next();
86
+ this.unsubsribeAll$.complete();
87
+ }
88
+ initSateChangeListener() {
89
+ this.agGridAngular.sortChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
90
+ this.agGridAngular.filterChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
91
+ this.agGridAngular.columnPinned.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
92
+ this.agGridAngular.columnResized.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
93
+ this.agGridAngular.displayedColumnsChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());
94
+ }
95
+ saveGridState() {
96
+ const state = this.agGridAngular.columnApi.getColumnState();
97
+ this._gridId$
98
+ .pipe(take(1))
99
+ .subscribe((gridId) => this.store.dispatchAction(new RegisterAgGridStateAction(gridId, ChangeOrigin.agGrid, state)));
100
+ }
101
+ }
102
+ NgssmAgGridDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridDirective, deps: [{ token: i1.Store }, { token: i2.AgGridAngular }], target: i0.ɵɵFactoryTarget.Directive });
103
+ NgssmAgGridDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.2", type: NgssmAgGridDirective, selector: "[ngssm-ag-grid]", inputs: { gridId: ["ngssm-ag-grid", "gridId"] }, ngImport: i0 });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridDirective, decorators: [{
105
+ type: Directive,
106
+ args: [{
107
+ // eslint-disable-next-line @angular-eslint/directive-selector
108
+ selector: '[ngssm-ag-grid]'
109
+ }]
110
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AgGridAngular }]; }, propDecorators: { gridId: [{
111
+ type: Input,
112
+ args: ['ngssm-ag-grid']
113
+ }] } });
114
+
115
+ class GridStatesReducer {
116
+ constructor() {
117
+ this.processedActions = [AgGridActionType.registerAgGridState];
118
+ }
119
+ updateState(state, action) {
120
+ switch (action.type) {
121
+ case AgGridActionType.registerAgGridState:
122
+ const registerAgGridStateAction = action;
123
+ return updateAgGridState(state, {
124
+ gridStates: {
125
+ [registerAgGridStateAction.gridId]: {
126
+ $set: {
127
+ origin: registerAgGridStateAction.origin,
128
+ columnsState: registerAgGridStateAction.columnStates
129
+ }
130
+ }
131
+ }
132
+ });
133
+ }
134
+ return state;
135
+ }
136
+ }
137
+ GridStatesReducer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
138
+ GridStatesReducer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer });
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: GridStatesReducer, decorators: [{
140
+ type: Injectable
141
+ }] });
142
+ const gridStatesReducerProvider = {
143
+ provide: NGSSM_REDUCER,
144
+ useClass: GridStatesReducer,
145
+ multi: true
146
+ };
147
+
148
+ class NgssmAgGridModule {
149
+ static forRoot() {
150
+ return {
151
+ ngModule: NgssmAgGridModule,
152
+ providers: [gridStatesReducerProvider]
153
+ };
154
+ }
155
+ }
156
+ NgssmAgGridModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
157
+ NgssmAgGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, declarations: [NgssmAgGridDirective], exports: [NgssmAgGridDirective] });
158
+ NgssmAgGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule });
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: NgssmAgGridModule, decorators: [{
160
+ type: NgModule,
161
+ args: [{
162
+ declarations: [NgssmAgGridDirective],
163
+ imports: [],
164
+ exports: [NgssmAgGridDirective],
165
+ providers: []
166
+ }]
167
+ }] });
168
+
169
+ /*
170
+ * Public API Surface of ngssm-ag-grid
171
+ */
172
+
173
+ /**
174
+ * Generated bundle index. Do not edit.
175
+ */
176
+
177
+ export { AgGridActionType, AgGridStateSpecification, ChangeOrigin, NgssmAgGridDirective, NgssmAgGridModule, RegisterAgGridStateAction, selectAgGridState, updateAgGridState };
178
+ //# sourceMappingURL=ngssm-ag-grid.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngssm-ag-grid.mjs","sources":["../../../projects/ngssm-ag-grid/src/lib/actions/ag-grid-action-type.ts","../../../projects/ngssm-ag-grid/src/lib/actions/register-ag-grid-state.action.ts","../../../projects/ngssm-ag-grid/src/lib/state/ag-grid.state.ts","../../../projects/ngssm-ag-grid/src/lib/state/change-origin.ts","../../../projects/ngssm-ag-grid/src/lib/components/ngssm-ag-grid.directive.ts","../../../projects/ngssm-ag-grid/src/lib/reducers/grid-states.reducer.ts","../../../projects/ngssm-ag-grid/src/lib/ngssm-ag-grid.module.ts","../../../projects/ngssm-ag-grid/src/public-api.ts","../../../projects/ngssm-ag-grid/src/ngssm-ag-grid.ts"],"sourcesContent":["export enum AgGridActionType {\n registerAgGridState = '[AgGridActionType] registerAgGridState'\n}\n","import { ColumnState } from 'ag-grid-community';\n\nimport { Action } from 'ngssm-store';\n\nimport { ChangeOrigin } from '../state';\nimport { AgGridActionType } from './ag-grid-action-type';\n\nexport class RegisterAgGridStateAction implements Action {\n public readonly type: string = AgGridActionType.registerAgGridState;\n\n constructor(public readonly gridId: string, public readonly origin: ChangeOrigin, public readonly columnStates: ColumnState[]) {}\n}\n","import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\nimport { GridState } from './grid-state';\n\nexport const selectAgGridState = (state: State): AgGridState => state[AgGridStateSpecification.featureStateKey] as AgGridState;\n\nexport const updateAgGridState = (state: State, command: Spec<AgGridState, never>): State =>\n update(state, {\n [AgGridStateSpecification.featureStateKey]: command\n });\n\nexport interface AgGridState {\n gridStates: { [key: string]: GridState };\n}\n\n@NgSsmFeatureState({\n featureStateKey: AgGridStateSpecification.featureStateKey,\n initialState: AgGridStateSpecification.initialState\n})\nexport class AgGridStateSpecification {\n public static readonly featureStateKey = 'ag-grid-state';\n public static readonly initialState: AgGridState = {\n gridStates: {}\n };\n}\n","export enum ChangeOrigin {\n agGrid = 'agGrid',\n other = 'other'\n}\n","import { Directive, Input, OnDestroy } from '@angular/core';\nimport { combineLatest, map, ReplaySubject, Subject, take, takeUntil } from 'rxjs';\n\nimport { AgGridAngular } from 'ag-grid-angular';\n\nimport { Store } from 'ngssm-store';\n\nimport { RegisterAgGridStateAction } from '../actions';\nimport { ChangeOrigin, selectAgGridState } from '../state';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[ngssm-ag-grid]'\n})\nexport class NgssmAgGridDirective implements OnDestroy {\n private readonly unsubsribeAll$ = new Subject<void>();\n private readonly _gridId$ = new ReplaySubject<string>();\n\n constructor(private store: Store, private agGridAngular: AgGridAngular) {\n this.agGridAngular.gridReady.pipe(take(1)).subscribe((v) => {\n combineLatest([\n this.store.state$.pipe(\n take(1),\n map((s) => selectAgGridState(s))\n ),\n this._gridId$\n ])\n .pipe(take(1))\n .subscribe((values) => {\n if (values[0].gridStates[values[1]]) {\n this.agGridAngular.columnApi.applyColumnState({\n state: values[0].gridStates[values[1]].columnsState,\n applyOrder: true\n });\n }\n\n this.initSateChangeListener();\n });\n });\n\n combineLatest([this.store.state$.pipe(map((s) => selectAgGridState(s))), this._gridId$])\n .pipe(takeUntil(this.unsubsribeAll$))\n .subscribe((values) => {\n if (values[0].gridStates[values[1]]?.origin === ChangeOrigin.other) {\n this.agGridAngular.columnApi.applyColumnState({\n state: values[0].gridStates[values[1]].columnsState,\n applyOrder: true\n });\n }\n });\n }\n\n @Input('ngssm-ag-grid') public set gridId(value: string) {\n this._gridId$.next(value);\n }\n\n public ngOnDestroy(): void {\n this.unsubsribeAll$.next();\n this.unsubsribeAll$.complete();\n }\n\n private initSateChangeListener(): void {\n this.agGridAngular.sortChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.filterChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.columnPinned.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.columnResized.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n this.agGridAngular.displayedColumnsChanged.pipe(takeUntil(this.unsubsribeAll$)).subscribe(() => this.saveGridState());\n }\n\n private saveGridState(): void {\n const state = this.agGridAngular.columnApi.getColumnState();\n this._gridId$\n .pipe(take(1))\n .subscribe((gridId) => this.store.dispatchAction(new RegisterAgGridStateAction(gridId, ChangeOrigin.agGrid, state)));\n }\n}\n","import { Injectable, Provider } from '@angular/core';\n\nimport { Reducer, State, Action, NGSSM_REDUCER } from 'ngssm-store';\n\nimport { AgGridActionType, RegisterAgGridStateAction } from '../actions';\nimport { updateAgGridState } from '../state';\n\n@Injectable()\nexport class GridStatesReducer implements Reducer {\n public readonly processedActions: string[] = [AgGridActionType.registerAgGridState];\n\n public updateState(state: State, action: Action): State {\n switch (action.type) {\n case AgGridActionType.registerAgGridState:\n const registerAgGridStateAction = action as RegisterAgGridStateAction;\n return updateAgGridState(state, {\n gridStates: {\n [registerAgGridStateAction.gridId]: {\n $set: {\n origin: registerAgGridStateAction.origin,\n columnsState: registerAgGridStateAction.columnStates\n }\n }\n }\n });\n }\n\n return state;\n }\n}\n\nexport const gridStatesReducerProvider: Provider = {\n provide: NGSSM_REDUCER,\n useClass: GridStatesReducer,\n multi: true\n};\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NgssmAgGridDirective } from './components/ngssm-ag-grid.directive';\nimport { gridStatesReducerProvider } from './reducers/grid-states.reducer';\n\n@NgModule({\n declarations: [NgssmAgGridDirective],\n imports: [],\n exports: [NgssmAgGridDirective],\n providers: []\n})\nexport class NgssmAgGridModule {\n static forRoot(): ModuleWithProviders<NgssmAgGridModule> {\n return {\n ngModule: NgssmAgGridModule,\n providers: [gridStatesReducerProvider]\n };\n }\n}\n","/*\n * Public API Surface of ngssm-ag-grid\n */\n\nexport * from './lib/ngssm-ag-grid.module';\nexport * from './lib/actions';\nexport * from './lib/state';\nexport * from './lib/components/ngssm-ag-grid.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="ngssm-ag-grid" />
5
+ export * from './public-api';
@@ -0,0 +1,3 @@
1
+ export declare enum AgGridActionType {
2
+ registerAgGridState = "[AgGridActionType] registerAgGridState"
3
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ag-grid-action-type';
2
+ export * from './register-ag-grid-state.action';
@@ -0,0 +1,10 @@
1
+ import { ColumnState } from 'ag-grid-community';
2
+ import { Action } from 'ngssm-store';
3
+ import { ChangeOrigin } from '../state';
4
+ export declare class RegisterAgGridStateAction implements Action {
5
+ readonly gridId: string;
6
+ readonly origin: ChangeOrigin;
7
+ readonly columnStates: ColumnState[];
8
+ readonly type: string;
9
+ constructor(gridId: string, origin: ChangeOrigin, columnStates: ColumnState[]);
10
+ }
@@ -0,0 +1,17 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { AgGridAngular } from 'ag-grid-angular';
3
+ import { Store } from 'ngssm-store';
4
+ import * as i0 from "@angular/core";
5
+ export declare class NgssmAgGridDirective implements OnDestroy {
6
+ private store;
7
+ private agGridAngular;
8
+ private readonly unsubsribeAll$;
9
+ private readonly _gridId$;
10
+ constructor(store: Store, agGridAngular: AgGridAngular);
11
+ set gridId(value: string);
12
+ ngOnDestroy(): void;
13
+ private initSateChangeListener;
14
+ private saveGridState;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgssmAgGridDirective, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgssmAgGridDirective, "[ngssm-ag-grid]", never, { "gridId": "ngssm-ag-grid"; }, {}, never, never, false>;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./components/ngssm-ag-grid.directive";
4
+ export declare class NgssmAgGridModule {
5
+ static forRoot(): ModuleWithProviders<NgssmAgGridModule>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgssmAgGridModule, never>;
7
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgssmAgGridModule, [typeof i1.NgssmAgGridDirective], never, [typeof i1.NgssmAgGridDirective]>;
8
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgssmAgGridModule>;
9
+ }
@@ -0,0 +1,10 @@
1
+ import { Provider } from '@angular/core';
2
+ import { Reducer, State, Action } from 'ngssm-store';
3
+ import * as i0 from "@angular/core";
4
+ export declare class GridStatesReducer implements Reducer {
5
+ readonly processedActions: string[];
6
+ updateState(state: State, action: Action): State;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<GridStatesReducer, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<GridStatesReducer>;
9
+ }
10
+ export declare const gridStatesReducerProvider: Provider;
@@ -0,0 +1,14 @@
1
+ import { Spec } from 'immutability-helper';
2
+ import { State } from 'ngssm-store';
3
+ import { GridState } from './grid-state';
4
+ export declare const selectAgGridState: (state: State) => AgGridState;
5
+ export declare const updateAgGridState: (state: State, command: Spec<AgGridState, never>) => State;
6
+ export interface AgGridState {
7
+ gridStates: {
8
+ [key: string]: GridState;
9
+ };
10
+ }
11
+ export declare class AgGridStateSpecification {
12
+ static readonly featureStateKey = "ag-grid-state";
13
+ static readonly initialState: AgGridState;
14
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum ChangeOrigin {
2
+ agGrid = "agGrid",
3
+ other = "other"
4
+ }
@@ -0,0 +1,6 @@
1
+ import { ColumnState } from 'ag-grid-community';
2
+ import { ChangeOrigin } from './change-origin';
3
+ export interface GridState {
4
+ origin: ChangeOrigin;
5
+ columnsState: ColumnState[];
6
+ }
@@ -0,0 +1,3 @@
1
+ export * from './ag-grid.state';
2
+ export * from './change-origin';
3
+ export * from './grid-state';
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "ngssm-ag-grid",
3
+ "version": "14.1.0",
4
+ "description": "NgSsm - Helpers for ag-grid and columns state save/restore feature.",
5
+ "author": "Lion Marc",
6
+ "license": "MIT",
7
+ "peerDependencies": {
8
+ "@angular/common": "^14.2.0",
9
+ "@angular/core": "^14.2.0",
10
+ "ag-grid-angular": "^28.1.1",
11
+ "ag-grid-community": "^28.1.1",
12
+ "ngssm-store": "14.1.0"
13
+ },
14
+ "dependencies": {
15
+ "tslib": "^2.3.0"
16
+ },
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/LionMarc/ng-simple-state-management",
20
+ "directory": "projects/ngssm-ag-grid"
21
+ },
22
+ "module": "fesm2015/ngssm-ag-grid.mjs",
23
+ "es2020": "fesm2020/ngssm-ag-grid.mjs",
24
+ "esm2020": "esm2020/ngssm-ag-grid.mjs",
25
+ "fesm2020": "fesm2020/ngssm-ag-grid.mjs",
26
+ "fesm2015": "fesm2015/ngssm-ag-grid.mjs",
27
+ "typings": "index.d.ts",
28
+ "exports": {
29
+ "./package.json": {
30
+ "default": "./package.json"
31
+ },
32
+ ".": {
33
+ "types": "./index.d.ts",
34
+ "esm2020": "./esm2020/ngssm-ag-grid.mjs",
35
+ "es2020": "./fesm2020/ngssm-ag-grid.mjs",
36
+ "es2015": "./fesm2015/ngssm-ag-grid.mjs",
37
+ "node": "./fesm2015/ngssm-ag-grid.mjs",
38
+ "default": "./fesm2020/ngssm-ag-grid.mjs"
39
+ }
40
+ },
41
+ "sideEffects": false
42
+ }
@@ -0,0 +1,4 @@
1
+ export * from './lib/ngssm-ag-grid.module';
2
+ export * from './lib/actions';
3
+ export * from './lib/state';
4
+ export * from './lib/components/ngssm-ag-grid.directive';