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 +3 -0
- package/esm2020/lib/actions/ag-grid-action-type.mjs +5 -0
- package/esm2020/lib/actions/index.mjs +3 -0
- package/esm2020/lib/actions/register-ag-grid-state.action.mjs +10 -0
- package/esm2020/lib/components/ngssm-ag-grid.directive.mjs +74 -0
- package/esm2020/lib/ngssm-ag-grid.module.mjs +25 -0
- package/esm2020/lib/reducers/grid-states.reducer.mjs +38 -0
- package/esm2020/lib/state/ag-grid.state.mjs +22 -0
- package/esm2020/lib/state/change-origin.mjs +6 -0
- package/esm2020/lib/state/grid-state.mjs +2 -0
- package/esm2020/lib/state/index.mjs +4 -0
- package/esm2020/ngssm-ag-grid.mjs +5 -0
- package/esm2020/public-api.mjs +8 -0
- package/fesm2015/ngssm-ag-grid.mjs +179 -0
- package/fesm2015/ngssm-ag-grid.mjs.map +1 -0
- package/fesm2020/ngssm-ag-grid.mjs +178 -0
- package/fesm2020/ngssm-ag-grid.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/actions/ag-grid-action-type.d.ts +3 -0
- package/lib/actions/index.d.ts +2 -0
- package/lib/actions/register-ag-grid-state.action.d.ts +10 -0
- package/lib/components/ngssm-ag-grid.directive.d.ts +17 -0
- package/lib/ngssm-ag-grid.module.d.ts +9 -0
- package/lib/reducers/grid-states.reducer.d.ts +10 -0
- package/lib/state/ag-grid.state.d.ts +14 -0
- package/lib/state/change-origin.d.ts +4 -0
- package/lib/state/grid-state.d.ts +6 -0
- package/lib/state/index.d.ts +3 -0
- package/package.json +42 -0
- package/public-api.d.ts +4 -0
package/README.md
ADDED
|
@@ -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":";;;;;;;;;AAAY,IAAA,iBAEX;AAFD,CAAA,UAAY,gBAAgB,EAAA;AAC1B,IAAA,gBAAA,CAAA,qBAAA,CAAA,GAAA,wCAA8D,CAAA;AAChE,CAAC,EAFW,gBAAgB,KAAhB,gBAAgB,GAE3B,EAAA,CAAA,CAAA;;MCKY,yBAAyB,CAAA;AAGpC,IAAA,WAAA,CAA4B,MAAc,EAAkB,MAAoB,EAAkB,YAA2B,EAAA;AAAjG,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAAkB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;AAAkB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAe;AAF7G,QAAA,IAAA,CAAA,IAAI,GAAW,gBAAgB,CAAC,mBAAmB,CAAC;KAE6D;AAClI;;;ACNM,MAAM,iBAAiB,GAAG,CAAC,KAAY,KAAkB,KAAK,CAAC,wBAAwB,CAAC,eAAe,EAAiB;AAExH,MAAM,iBAAiB,GAAG,CAAC,KAAY,EAAE,OAAiC,KAC/E,MAAM,CAAC,KAAK,EAAE;AACZ,IAAA,CAAC,wBAAwB,CAAC,eAAe,GAAG,OAAO;AACpD,CAAA,EAAE;AAUE,IAAM,wBAAwB,GAA9B,0BAAA,GAAA,MAAM,wBAAwB,CAAA;;AACZ,wBAAe,CAAA,eAAA,GAAG,eAAe,CAAC;AAClC,wBAAA,CAAA,YAAY,GAAgB;AACjD,IAAA,UAAU,EAAE,EAAE;CACf,CAAC;AAJS,wBAAwB,GAAA,0BAAA,GAAA,UAAA,CAAA;AAJpC,IAAA,iBAAiB,CAAC;QACjB,eAAe,EAAE,0BAAwB,CAAC,eAAe;QACzD,YAAY,EAAE,0BAAwB,CAAC,YAAY;KACpD,CAAC;CACW,EAAA,wBAAwB,CAKpC;;ACzBW,IAAA,aAGX;AAHD,CAAA,UAAY,YAAY,EAAA;AACtB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY,GAGvB,EAAA,CAAA,CAAA;;MCWY,oBAAoB,CAAA;IAI/B,WAAoB,CAAA,KAAY,EAAU,aAA4B,EAAA;AAAlD,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAHrD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,aAAa,EAAU,CAAC;AAGtD,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACzD,YAAA,aAAa,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CACpB,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CACjC;AACD,gBAAA,IAAI,CAAC,QAAQ;aACd,CAAC;AACC,iBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACb,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AACpB,gBAAA,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AACnC,oBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAC5C,wBAAA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;AACnD,wBAAA,UAAU,EAAE,IAAI;AACjB,qBAAA,CAAC,CAAC;AACJ,iBAAA;gBAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;AAChC,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AAEH,QAAA,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrF,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;;YACpB,IAAI,CAAA,MAAA,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,MAAK,YAAY,CAAC,KAAK,EAAE;AAClE,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAC5C,oBAAA,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;AACnD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;KACN;IAED,IAAmC,MAAM,CAAC,KAAa,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;KAChC;IAEO,sBAAsB,GAAA;QAC5B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;KACvH;IAEO,aAAa,GAAA;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;AAC5D,QAAA,IAAI,CAAC,QAAQ;AACV,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACb,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACxH;;iHA5DU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,iBAAiB;iBAC5B,CAAA;wHAuCoC,MAAM,EAAA,CAAA;sBAAxC,KAAK;uBAAC,eAAe,CAAA;;;MC5CX,iBAAiB,CAAA;AAD9B,IAAA,WAAA,GAAA;QAEkB,IAAA,CAAA,gBAAgB,GAAa,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;KAoBrF;IAlBQ,WAAW,CAAC,KAAY,EAAE,MAAc,EAAA;QAC7C,QAAQ,MAAM,CAAC,IAAI;YACjB,KAAK,gBAAgB,CAAC,mBAAmB;gBACvC,MAAM,yBAAyB,GAAG,MAAmC,CAAC;gBACtE,OAAO,iBAAiB,CAAC,KAAK,EAAE;AAC9B,oBAAA,UAAU,EAAE;AACV,wBAAA,CAAC,yBAAyB,CAAC,MAAM,GAAG;AAClC,4BAAA,IAAI,EAAE;gCACJ,MAAM,EAAE,yBAAyB,CAAC,MAAM;gCACxC,YAAY,EAAE,yBAAyB,CAAC,YAAY;AACrD,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA,CAAC,CAAC;AACN,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KACd;;8GApBU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;AAwBJ,MAAM,yBAAyB,GAAa;AACjD,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,KAAK,EAAE,IAAI;CACZ;;MCzBY,iBAAiB,CAAA;AAC5B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE,CAAC,yBAAyB,CAAC;SACvC,CAAC;KACH;;8GANU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,YAAA,EAAA,CALb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEzB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAGnB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,oBAAoB,CAAC;AACpC,oBAAA,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAC/B,oBAAA,SAAS,EAAE,EAAE;iBACd,CAAA;;;ACTD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -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,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
|
+
}
|
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
|
+
}
|
package/public-api.d.ts
ADDED