@porscheinformatik/clr-addons 12.5.1 → 12.5.2

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.
@@ -0,0 +1,9 @@
1
+ export interface ClrDatagridStatePersistenceModel {
2
+ pageSize: number;
3
+ columns: {
4
+ [key: string]: ClrColumnStatePersistenceModel;
5
+ };
6
+ }
7
+ export interface ClrColumnStatePersistenceModel {
8
+ hidden?: boolean;
9
+ }
@@ -2,3 +2,4 @@ export * from './column-hidden-state-persistence.directive';
2
2
  export * from './datagrid-field.directive';
3
3
  export * from './datagrid-state-persistence.module';
4
4
  export * from './state-persistence-key.directive';
5
+ export * from './datagrid-state-persistence-model.interface';
@@ -1,6 +1,10 @@
1
+ import { AfterContentInit } from '@angular/core';
2
+ import { ClrDatagridPagination } from '@clr/angular';
1
3
  import * as i0 from "@angular/core";
2
- export declare class StatePersistenceKeyDirective {
4
+ export declare class StatePersistenceKeyDirective implements AfterContentInit {
3
5
  clrStatePersistenceKey: string;
6
+ pagination: ClrDatagridPagination;
7
+ ngAfterContentInit(): void;
4
8
  static ɵfac: i0.ɵɵFactoryDeclaration<StatePersistenceKeyDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<StatePersistenceKeyDirective, "[clrStatePersistenceKey]", never, { "clrStatePersistenceKey": "clrStatePersistenceKey"; }, {}, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<StatePersistenceKeyDirective, "[clrStatePersistenceKey]", never, { "clrStatePersistenceKey": "clrStatePersistenceKey"; }, {}, ["pagination"]>;
6
10
  }
@@ -29,10 +29,9 @@ export class ColumnHiddenStatePersistenceDirective {
29
29
  if (persistedGridStateJson !== null) {
30
30
  const persistedGridState = JSON.parse(persistedGridStateJson);
31
31
  /* read column state if existing */
32
- const persistedColumnState = persistedGridState[this.columnDirective.clrDgField];
33
- if (persistedColumnState) {
32
+ if (persistedGridState.columns && persistedGridState.columns[this.columnDirective.clrDgField]) {
34
33
  /* read column hidden state if existing */
35
- const persistedColumnHiddenState = persistedColumnState.hidden;
34
+ const persistedColumnHiddenState = persistedGridState.columns[this.columnDirective.clrDgField].hidden;
36
35
  if (persistedColumnHiddenState) {
37
36
  this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;
38
37
  }
@@ -48,10 +47,13 @@ export class ColumnHiddenStatePersistenceDirective {
48
47
  persistedGridState = JSON.parse(persistedGridStateJson);
49
48
  }
50
49
  /* read column state if existing */
51
- let persistedColumnState = persistedGridState[this.columnDirective.clrDgField];
50
+ if (!persistedGridState.columns) {
51
+ persistedGridState.columns = {};
52
+ }
53
+ let persistedColumnState = persistedGridState.columns[this.columnDirective.clrDgField];
52
54
  if (!persistedColumnState) {
53
55
  persistedColumnState = {};
54
- persistedGridState[this.columnDirective.clrDgField] = persistedColumnState;
56
+ persistedGridState.columns[this.columnDirective.clrDgField] = persistedColumnState;
55
57
  }
56
58
  /* set column hidden state and persist in local storage */
57
59
  persistedColumnState.hidden = hidden;
@@ -71,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
71
73
  }] }, { type: i2.StatePersistenceKeyDirective, decorators: [{
72
74
  type: Optional
73
75
  }] }, { type: i3.ClrDatagrid }, { type: i3.ClrDatagridHideableColumn }]; } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhpZGRlbi1zdGF0ZS1wZXJzaXN0ZW5jZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9jb2x1bW4taGlkZGVuLXN0YXRlLXBlcnNpc3RlbmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQVdqRixNQUFNLE9BQU8scUNBQXFDO0lBQ2hELFlBQ3NCLGVBQXVDLEVBQ3ZDLG1CQUFpRCxFQUM3RCxRQUFxQixFQUNyQix1QkFBa0Q7UUFIdEMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBOEI7UUFDN0QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTJCO0lBQ3pELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUU7WUFDeEYsd0RBQXdEO1lBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV2QiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLGlDQUFpQztRQUNqQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckcsSUFBSSxzQkFBc0IsS0FBSyxJQUFJLEVBQUU7WUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFrQixDQUFDO1lBRS9FLG1DQUFtQztZQUNuQyxNQUFNLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakYsSUFBSSxvQkFBb0IsRUFBRTtnQkFDeEIsMENBQTBDO2dCQUMxQyxNQUFNLDBCQUEwQixHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztnQkFDL0QsSUFBSSwwQkFBMEIsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRywwQkFBMEIsS0FBSyxJQUFJLENBQUM7aUJBQ2hGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsTUFBZTtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLGlDQUFpQztZQUNqQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDckcsSUFBSSxrQkFBa0IsR0FBRyxFQUFtQixDQUFDO1lBQzdDLElBQUksc0JBQXNCLEtBQUssSUFBSSxFQUFFO2dCQUNuQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFrQixDQUFDO2FBQzFFO1lBRUQsbUNBQW1DO1lBQ25DLElBQUksb0JBQW9CLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3pCLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztnQkFDMUIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxvQkFBb0IsQ0FBQzthQUM1RTtZQUVELDBEQUEwRDtZQUMxRCxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQzNHO0lBQ0gsQ0FBQzs7a0lBMURVLHFDQUFxQztzSEFBckMscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBSGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OzBCQUdJLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFncmlkRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RhdGFncmlkLWZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZCwgQ2xyRGF0YWdyaWRIaWRlYWJsZUNvbHVtbiB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9zdGF0ZS1wZXJzaXN0ZW5jZS1rZXkuZGlyZWN0aXZlJztcblxudHlwZSBEYXRhZ3JpZFN0YXRlID0geyBba2V5OiBzdHJpbmddOiBDb2x1bW5TdGF0ZSB9O1xuXG5pbnRlcmZhY2UgQ29sdW1uU3RhdGUge1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyRGdIaWRlYWJsZUNvbHVtbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5IaWRkZW5TdGF0ZVBlcnNpc3RlbmNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb2x1bW5EaXJlY3RpdmU6IERhdGFncmlkRmllbGREaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlS2V5OiBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGF0YWdyaWQ6IENsckRhdGFncmlkLFxuICAgIHByaXZhdGUgaGlkZWFibGVDb2x1bW5EaXJlY3RpdmU6IENsckRhdGFncmlkSGlkZWFibGVDb2x1bW5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnN0YXRlUGVyc2lzdGVuY2VLZXk/LmNsclN0YXRlUGVyc2lzdGVuY2VLZXkgJiYgdGhpcy5jb2x1bW5EaXJlY3RpdmU/LmNsckRnRmllbGQpIHtcbiAgICAgIC8qIHNldCBoaWRkZW4gc3RhdGVzIGZyb20gbG9jYWwgc3RvcmFnZSAoaWYgZXhpc3RpbmcpICovXG4gICAgICB0aGlzLmluaXRIaWRkZW5TdGF0ZSgpO1xuXG4gICAgICAvKiBsaXN0ZW4gdG8gc3RhdGUgY2hhbmdlcyBhbmQgcGVyc2lzdCBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgICB0aGlzLmhpZGVhYmxlQ29sdW1uRGlyZWN0aXZlLmhpZGRlbkNoYW5nZS5zdWJzY3JpYmUoaGlkZGVuID0+IHtcbiAgICAgICAgdGhpcy5zZXRIaWRkZW5TdGF0ZShoaWRkZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SGlkZGVuU3RhdGUoKSB7XG4gICAgLyogcmVhZCBncmlkIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RhdGVQZXJzaXN0ZW5jZUtleS5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KTtcbiAgICBpZiAocGVyc2lzdGVkR3JpZFN0YXRlSnNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlID0gSlNPTi5wYXJzZShwZXJzaXN0ZWRHcmlkU3RhdGVKc29uKSBhcyBEYXRhZ3JpZFN0YXRlO1xuXG4gICAgICAvKiByZWFkIGNvbHVtbiBzdGF0ZSBpZiBleGlzdGluZyAqL1xuICAgICAgY29uc3QgcGVyc2lzdGVkQ29sdW1uU3RhdGUgPSBwZXJzaXN0ZWRHcmlkU3RhdGVbdGhpcy5jb2x1bW5EaXJlY3RpdmUuY2xyRGdGaWVsZF07XG4gICAgICBpZiAocGVyc2lzdGVkQ29sdW1uU3RhdGUpIHtcbiAgICAgICAgLyogcmVhZCBjb2x1bW4gaGlkZGVuIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgICAgIGNvbnN0IHBlcnNpc3RlZENvbHVtbkhpZGRlblN0YXRlID0gcGVyc2lzdGVkQ29sdW1uU3RhdGUuaGlkZGVuO1xuICAgICAgICBpZiAocGVyc2lzdGVkQ29sdW1uSGlkZGVuU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLmhpZGVhYmxlQ29sdW1uRGlyZWN0aXZlLmNsckRnSGlkZGVuID0gcGVyc2lzdGVkQ29sdW1uSGlkZGVuU3RhdGUgPT09IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEhpZGRlblN0YXRlKGhpZGRlbjogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5kYXRhZ3JpZD8uZGV0YWlsU2VydmljZT8uaXNPcGVuKSB7XG4gICAgICAvKiByZWFkIGdyaWQgc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgIGNvbnN0IHBlcnNpc3RlZEdyaWRTdGF0ZUpzb24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0YXRlUGVyc2lzdGVuY2VLZXkuY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSk7XG4gICAgICBsZXQgcGVyc2lzdGVkR3JpZFN0YXRlID0ge30gYXMgRGF0YWdyaWRTdGF0ZTtcbiAgICAgIGlmIChwZXJzaXN0ZWRHcmlkU3RhdGVKc29uICE9PSBudWxsKSB7XG4gICAgICAgIHBlcnNpc3RlZEdyaWRTdGF0ZSA9IEpTT04ucGFyc2UocGVyc2lzdGVkR3JpZFN0YXRlSnNvbikgYXMgRGF0YWdyaWRTdGF0ZTtcbiAgICAgIH1cblxuICAgICAgLyogcmVhZCBjb2x1bW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgIGxldCBwZXJzaXN0ZWRDb2x1bW5TdGF0ZSA9IHBlcnNpc3RlZEdyaWRTdGF0ZVt0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXTtcbiAgICAgIGlmICghcGVyc2lzdGVkQ29sdW1uU3RhdGUpIHtcbiAgICAgICAgcGVyc2lzdGVkQ29sdW1uU3RhdGUgPSB7fTtcbiAgICAgICAgcGVyc2lzdGVkR3JpZFN0YXRlW3RoaXMuY29sdW1uRGlyZWN0aXZlLmNsckRnRmllbGRdID0gcGVyc2lzdGVkQ29sdW1uU3RhdGU7XG4gICAgICB9XG5cbiAgICAgIC8qIHNldCBjb2x1bW4gaGlkZGVuIHN0YXRlIGFuZCBwZXJzaXN0IGluIGxvY2FsIHN0b3JhZ2UgKi9cbiAgICAgIHBlcnNpc3RlZENvbHVtblN0YXRlLmhpZGRlbiA9IGhpZGRlbjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RhdGVQZXJzaXN0ZW5jZUtleS5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5LCBKU09OLnN0cmluZ2lmeShwZXJzaXN0ZWRHcmlkU3RhdGUpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhpZGRlbi1zdGF0ZS1wZXJzaXN0ZW5jZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9jb2x1bW4taGlkZGVuLXN0YXRlLXBlcnNpc3RlbmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU1qRixNQUFNLE9BQU8scUNBQXFDO0lBQ2hELFlBQ3NCLGVBQXVDLEVBQ3ZDLG1CQUFpRCxFQUM3RCxRQUFxQixFQUNyQix1QkFBa0Q7UUFIdEMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBOEI7UUFDN0QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTJCO0lBQ3pELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUU7WUFDeEYsd0RBQXdEO1lBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV2QiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLGlDQUFpQztRQUNqQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckcsSUFBSSxzQkFBc0IsS0FBSyxJQUFJLEVBQUU7WUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFxQyxDQUFDO1lBRWxHLG1DQUFtQztZQUNuQyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDN0YsMENBQTBDO2dCQUMxQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDdEcsSUFBSSwwQkFBMEIsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRywwQkFBMEIsS0FBSyxJQUFJLENBQUM7aUJBQ2hGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsTUFBZTtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLGlDQUFpQztZQUNqQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDckcsSUFBSSxrQkFBa0IsR0FBRyxFQUFzQyxDQUFDO1lBQ2hFLElBQUksc0JBQXNCLEtBQUssSUFBSSxFQUFFO2dCQUNuQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFxQyxDQUFDO2FBQzdGO1lBRUQsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7YUFDakM7WUFDRCxJQUFJLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDekIsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO2dCQUMxQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxvQkFBb0IsQ0FBQzthQUNwRjtZQUVELDBEQUEwRDtZQUMxRCxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQzNHO0lBQ0gsQ0FBQzs7a0lBNURVLHFDQUFxQztzSEFBckMscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBSGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OzBCQUdJLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFncmlkRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RhdGFncmlkLWZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZCwgQ2xyRGF0YWdyaWRIaWRlYWJsZUNvbHVtbiB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9zdGF0ZS1wZXJzaXN0ZW5jZS1rZXkuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIH0gZnJvbSAnLi9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS1tb2RlbC5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyRGdIaWRlYWJsZUNvbHVtbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5IaWRkZW5TdGF0ZVBlcnNpc3RlbmNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb2x1bW5EaXJlY3RpdmU6IERhdGFncmlkRmllbGREaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlS2V5OiBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGF0YWdyaWQ6IENsckRhdGFncmlkLFxuICAgIHByaXZhdGUgaGlkZWFibGVDb2x1bW5EaXJlY3RpdmU6IENsckRhdGFncmlkSGlkZWFibGVDb2x1bW5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnN0YXRlUGVyc2lzdGVuY2VLZXk/LmNsclN0YXRlUGVyc2lzdGVuY2VLZXkgJiYgdGhpcy5jb2x1bW5EaXJlY3RpdmU/LmNsckRnRmllbGQpIHtcbiAgICAgIC8qIHNldCBoaWRkZW4gc3RhdGVzIGZyb20gbG9jYWwgc3RvcmFnZSAoaWYgZXhpc3RpbmcpICovXG4gICAgICB0aGlzLmluaXRIaWRkZW5TdGF0ZSgpO1xuXG4gICAgICAvKiBsaXN0ZW4gdG8gc3RhdGUgY2hhbmdlcyBhbmQgcGVyc2lzdCBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgICB0aGlzLmhpZGVhYmxlQ29sdW1uRGlyZWN0aXZlLmhpZGRlbkNoYW5nZS5zdWJzY3JpYmUoaGlkZGVuID0+IHtcbiAgICAgICAgdGhpcy5zZXRIaWRkZW5TdGF0ZShoaWRkZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SGlkZGVuU3RhdGUoKSB7XG4gICAgLyogcmVhZCBncmlkIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RhdGVQZXJzaXN0ZW5jZUtleS5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KTtcbiAgICBpZiAocGVyc2lzdGVkR3JpZFN0YXRlSnNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlID0gSlNPTi5wYXJzZShwZXJzaXN0ZWRHcmlkU3RhdGVKc29uKSBhcyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbDtcblxuICAgICAgLyogcmVhZCBjb2x1bW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgIGlmIChwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1ucyAmJiBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXSkge1xuICAgICAgICAvKiByZWFkIGNvbHVtbiBoaWRkZW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgICAgY29uc3QgcGVyc2lzdGVkQ29sdW1uSGlkZGVuU3RhdGUgPSBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXS5oaWRkZW47XG4gICAgICAgIGlmIChwZXJzaXN0ZWRDb2x1bW5IaWRkZW5TdGF0ZSkge1xuICAgICAgICAgIHRoaXMuaGlkZWFibGVDb2x1bW5EaXJlY3RpdmUuY2xyRGdIaWRkZW4gPSBwZXJzaXN0ZWRDb2x1bW5IaWRkZW5TdGF0ZSA9PT0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SGlkZGVuU3RhdGUoaGlkZGVuOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFncmlkPy5kZXRhaWxTZXJ2aWNlPy5pc09wZW4pIHtcbiAgICAgIC8qIHJlYWQgZ3JpZCBzdGF0ZSBpZiBleGlzdGluZyAqL1xuICAgICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RhdGVQZXJzaXN0ZW5jZUtleS5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KTtcbiAgICAgIGxldCBwZXJzaXN0ZWRHcmlkU3RhdGUgPSB7fSBhcyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbDtcbiAgICAgIGlmIChwZXJzaXN0ZWRHcmlkU3RhdGVKc29uICE9PSBudWxsKSB7XG4gICAgICAgIHBlcnNpc3RlZEdyaWRTdGF0ZSA9IEpTT04ucGFyc2UocGVyc2lzdGVkR3JpZFN0YXRlSnNvbikgYXMgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWw7XG4gICAgICB9XG5cbiAgICAgIC8qIHJlYWQgY29sdW1uIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgICBpZiAoIXBlcnNpc3RlZEdyaWRTdGF0ZS5jb2x1bW5zKSB7XG4gICAgICAgIHBlcnNpc3RlZEdyaWRTdGF0ZS5jb2x1bW5zID0ge307XG4gICAgICB9XG4gICAgICBsZXQgcGVyc2lzdGVkQ29sdW1uU3RhdGUgPSBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXTtcbiAgICAgIGlmICghcGVyc2lzdGVkQ29sdW1uU3RhdGUpIHtcbiAgICAgICAgcGVyc2lzdGVkQ29sdW1uU3RhdGUgPSB7fTtcbiAgICAgICAgcGVyc2lzdGVkR3JpZFN0YXRlLmNvbHVtbnNbdGhpcy5jb2x1bW5EaXJlY3RpdmUuY2xyRGdGaWVsZF0gPSBwZXJzaXN0ZWRDb2x1bW5TdGF0ZTtcbiAgICAgIH1cblxuICAgICAgLyogc2V0IGNvbHVtbiBoaWRkZW4gc3RhdGUgYW5kIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZSAqL1xuICAgICAgcGVyc2lzdGVkQ29sdW1uU3RhdGUuaGlkZGVuID0gaGlkZGVuO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdGF0ZVBlcnNpc3RlbmNlS2V5LmNsclN0YXRlUGVyc2lzdGVuY2VLZXksIEpTT04uc3RyaW5naWZ5KHBlcnNpc3RlZEdyaWRTdGF0ZSkpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIHtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgY29sdW1uczogeyBba2V5OiBzdHJpbmddOiBDbHJDb2x1bW5TdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHJDb2x1bW5TdGF0ZVBlcnNpc3RlbmNlTW9kZWwge1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuIl19
@@ -2,4 +2,5 @@ export * from './column-hidden-state-persistence.directive';
2
2
  export * from './datagrid-field.directive';
3
3
  export * from './datagrid-state-persistence.module';
4
4
  export * from './state-persistence-key.directive';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4taGlkZGVuLXN0YXRlLXBlcnNpc3RlbmNlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGFncmlkLWZpZWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUnO1xuIl19
5
+ export * from './datagrid-state-persistence-model.interface';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbHVtbi1oaWRkZW4tc3RhdGUtcGVyc2lzdGVuY2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWdyaWQtZmllbGQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLW1vZGVsLmludGVyZmFjZSc7XG4iXX0=
@@ -1,9 +1,29 @@
1
- import { Directive, Input } from '@angular/core';
1
+ import { ContentChild, Directive, Input } from '@angular/core';
2
+ import { ClrDatagridPagination } from '@clr/angular';
2
3
  import * as i0 from "@angular/core";
3
4
  export class StatePersistenceKeyDirective {
5
+ ngAfterContentInit() {
6
+ if (this.pagination && this.pagination.page) {
7
+ /* persist page size changes in local storage */
8
+ this.pagination.page.sizeChange.subscribe(pageSize => {
9
+ let state = JSON.parse(localStorage.getItem(this.clrStatePersistenceKey));
10
+ if (!state) {
11
+ state = {};
12
+ }
13
+ state.pageSize = pageSize;
14
+ localStorage.setItem(this.clrStatePersistenceKey, JSON.stringify(state));
15
+ });
16
+ /* init page size of datagrid if already persisted in local storage */
17
+ const state = JSON.parse(localStorage.getItem(this.clrStatePersistenceKey));
18
+ if (state && state.pageSize) {
19
+ /* postpone set size to other cycle as it is already set in this change detection cycle */
20
+ setTimeout(() => (this.pagination.page.size = state.pageSize));
21
+ }
22
+ }
23
+ }
4
24
  }
5
25
  StatePersistenceKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StatePersistenceKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- StatePersistenceKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: StatePersistenceKeyDirective, selector: "[clrStatePersistenceKey]", inputs: { clrStatePersistenceKey: "clrStatePersistenceKey" }, ngImport: i0 });
26
+ StatePersistenceKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: StatePersistenceKeyDirective, selector: "[clrStatePersistenceKey]", inputs: { clrStatePersistenceKey: "clrStatePersistenceKey" }, queries: [{ propertyName: "pagination", first: true, predicate: ClrDatagridPagination, descendants: true }], ngImport: i0 });
7
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StatePersistenceKeyDirective, decorators: [{
8
28
  type: Directive,
9
29
  args: [{
@@ -11,5 +31,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
11
31
  }]
12
32
  }], propDecorators: { clrStatePersistenceKey: [{
13
33
  type: Input
34
+ }], pagination: [{
35
+ type: ContentChild,
36
+ args: [ClrDatagridPagination]
14
37
  }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pELE1BQU0sT0FBTyw0QkFBNEI7O3lIQUE1Qiw0QkFBNEI7NkdBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDOzhCQUdDLHNCQUFzQjtzQkFEckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclN0YXRlUGVyc2lzdGVuY2VLZXldJyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpXG4gIGNsclN0YXRlUGVyc2lzdGVuY2VLZXk6IHN0cmluZztcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBTXJELE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUMzQyxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFxQyxDQUFDO2dCQUM5RyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLEtBQUssR0FBRyxFQUFzQyxDQUFDO2lCQUNoRDtnQkFDRCxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFDMUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUFDO1lBRUgsc0VBQXNFO1lBQ3RFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1lBQzVFLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQzNCLDBGQUEwRjtnQkFDMUYsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ2hFO1NBQ0Y7SUFDSCxDQUFDOzt5SEExQlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsc0tBSXpCLHFCQUFxQjsyRkFKeEIsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDOzhCQUdDLHNCQUFzQjtzQkFEckIsS0FBSztnQkFJTixVQUFVO3NCQURULFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZFBhZ2luYXRpb24gfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfSBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLW1vZGVsLmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJTdGF0ZVBlcnNpc3RlbmNlS2V5XScsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlUGVyc2lzdGVuY2VLZXlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KClcbiAgY2xyU3RhdGVQZXJzaXN0ZW5jZUtleTogc3RyaW5nO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2xyRGF0YWdyaWRQYWdpbmF0aW9uKVxuICBwYWdpbmF0aW9uOiBDbHJEYXRhZ3JpZFBhZ2luYXRpb247XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICh0aGlzLnBhZ2luYXRpb24gJiYgdGhpcy5wYWdpbmF0aW9uLnBhZ2UpIHtcbiAgICAgIC8qIHBlcnNpc3QgcGFnZSBzaXplIGNoYW5nZXMgaW4gbG9jYWwgc3RvcmFnZSAqL1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2l6ZUNoYW5nZS5zdWJzY3JpYmUocGFnZVNpemUgPT4ge1xuICAgICAgICBsZXQgc3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSkpIGFzIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsO1xuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgc3RhdGUgPSB7fSBhcyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbDtcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZS5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNsclN0YXRlUGVyc2lzdGVuY2VLZXksIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XG4gICAgICB9KTtcblxuICAgICAgLyogaW5pdCBwYWdlIHNpemUgb2YgZGF0YWdyaWQgaWYgYWxyZWFkeSBwZXJzaXN0ZWQgaW4gbG9jYWwgc3RvcmFnZSAqL1xuICAgICAgY29uc3Qgc3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSkpO1xuICAgICAgaWYgKHN0YXRlICYmIHN0YXRlLnBhZ2VTaXplKSB7XG4gICAgICAgIC8qIHBvc3Rwb25lIHNldCBzaXplIHRvIG90aGVyIGN5Y2xlIGFzIGl0IGlzIGFscmVhZHkgc2V0IGluIHRoaXMgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSAqL1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnBhZ2luYXRpb24ucGFnZS5zaXplID0gc3RhdGUucGFnZVNpemUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import * as i3$1 from '@angular/forms';
6
6
  import { FormsModule, NG_VALIDATORS, NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import * as i1 from '@clr/angular';
8
- import { ClarityModule, ClrFormsModule, ClrDropdown, ClrForm, ClrAlert, ClrAxis, ClrSide, ClrAlignment, ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService, ClrIconModule, ClrDropdownModule } from '@clr/angular';
8
+ import { ClarityModule, ClrFormsModule, ClrDropdown, ClrForm, ClrAlert, ClrAxis, ClrSide, ClrAlignment, ClrPopoverToggleService, ClrPopoverEventsService, ClrPopoverPositionService, ClrIconModule, ClrDropdownModule, ClrDatagridPagination } from '@clr/angular';
9
9
  import { Subject, BehaviorSubject, timer, asyncScheduler, interval, of, ReplaySubject, takeUntil as takeUntil$1 } from 'rxjs';
10
10
  import { takeUntil, observeOn, take } from 'rxjs/operators';
11
11
  import * as i3 from '@angular/router';
@@ -4612,9 +4612,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
4612
4612
  }] } });
4613
4613
 
4614
4614
  class StatePersistenceKeyDirective {
4615
+ ngAfterContentInit() {
4616
+ if (this.pagination && this.pagination.page) {
4617
+ /* persist page size changes in local storage */
4618
+ this.pagination.page.sizeChange.subscribe(pageSize => {
4619
+ let state = JSON.parse(localStorage.getItem(this.clrStatePersistenceKey));
4620
+ if (!state) {
4621
+ state = {};
4622
+ }
4623
+ state.pageSize = pageSize;
4624
+ localStorage.setItem(this.clrStatePersistenceKey, JSON.stringify(state));
4625
+ });
4626
+ /* init page size of datagrid if already persisted in local storage */
4627
+ const state = JSON.parse(localStorage.getItem(this.clrStatePersistenceKey));
4628
+ if (state && state.pageSize) {
4629
+ /* postpone set size to other cycle as it is already set in this change detection cycle */
4630
+ setTimeout(() => (this.pagination.page.size = state.pageSize));
4631
+ }
4632
+ }
4633
+ }
4615
4634
  }
4616
4635
  StatePersistenceKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StatePersistenceKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4617
- StatePersistenceKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: StatePersistenceKeyDirective, selector: "[clrStatePersistenceKey]", inputs: { clrStatePersistenceKey: "clrStatePersistenceKey" }, ngImport: i0 });
4636
+ StatePersistenceKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: StatePersistenceKeyDirective, selector: "[clrStatePersistenceKey]", inputs: { clrStatePersistenceKey: "clrStatePersistenceKey" }, queries: [{ propertyName: "pagination", first: true, predicate: ClrDatagridPagination, descendants: true }], ngImport: i0 });
4618
4637
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StatePersistenceKeyDirective, decorators: [{
4619
4638
  type: Directive,
4620
4639
  args: [{
@@ -4622,6 +4641,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
4622
4641
  }]
4623
4642
  }], propDecorators: { clrStatePersistenceKey: [{
4624
4643
  type: Input
4644
+ }], pagination: [{
4645
+ type: ContentChild,
4646
+ args: [ClrDatagridPagination]
4625
4647
  }] } });
4626
4648
 
4627
4649
  class ColumnHiddenStatePersistenceDirective {
@@ -4648,10 +4670,9 @@ class ColumnHiddenStatePersistenceDirective {
4648
4670
  if (persistedGridStateJson !== null) {
4649
4671
  const persistedGridState = JSON.parse(persistedGridStateJson);
4650
4672
  /* read column state if existing */
4651
- const persistedColumnState = persistedGridState[this.columnDirective.clrDgField];
4652
- if (persistedColumnState) {
4673
+ if (persistedGridState.columns && persistedGridState.columns[this.columnDirective.clrDgField]) {
4653
4674
  /* read column hidden state if existing */
4654
- const persistedColumnHiddenState = persistedColumnState.hidden;
4675
+ const persistedColumnHiddenState = persistedGridState.columns[this.columnDirective.clrDgField].hidden;
4655
4676
  if (persistedColumnHiddenState) {
4656
4677
  this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;
4657
4678
  }
@@ -4668,10 +4689,13 @@ class ColumnHiddenStatePersistenceDirective {
4668
4689
  persistedGridState = JSON.parse(persistedGridStateJson);
4669
4690
  }
4670
4691
  /* read column state if existing */
4671
- let persistedColumnState = persistedGridState[this.columnDirective.clrDgField];
4692
+ if (!persistedGridState.columns) {
4693
+ persistedGridState.columns = {};
4694
+ }
4695
+ let persistedColumnState = persistedGridState.columns[this.columnDirective.clrDgField];
4672
4696
  if (!persistedColumnState) {
4673
4697
  persistedColumnState = {};
4674
- persistedGridState[this.columnDirective.clrDgField] = persistedColumnState;
4698
+ persistedGridState.columns[this.columnDirective.clrDgField] = persistedColumnState;
4675
4699
  }
4676
4700
  /* set column hidden state and persist in local storage */
4677
4701
  persistedColumnState.hidden = hidden;