@porscheinformatik/clr-addons 12.5.2 → 12.8.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.
Files changed (118) hide show
  1. package/clr-addons.module.d.ts +3 -2
  2. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/column-hidden-state-persistence.directive.d.ts +0 -0
  3. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-field.directive.d.ts +0 -0
  4. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-state-persistence-model.interface.d.ts +0 -0
  5. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-state-persistence.module.d.ts +0 -0
  6. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/index.d.ts +0 -0
  7. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/state-persistence-key.directive.d.ts +0 -0
  8. package/datagrid/enum-filter/enum-filter.component.d.ts +24 -0
  9. package/datagrid/enum-filter/enum-filter.module.d.ts +10 -0
  10. package/datagrid/enum-filter/index.d.ts +2 -0
  11. package/datagrid/index.d.ts +2 -0
  12. package/esm2020/abstract-form-component/abstract-form-component.mjs +4 -4
  13. package/esm2020/abstract-form-component/control-id.service.mjs +4 -4
  14. package/esm2020/abstract-form-component/form.module.mjs +5 -5
  15. package/esm2020/abstract-form-component/label.mjs +4 -4
  16. package/esm2020/autocomplete-off/autocomplete-off.directive.mjs +4 -4
  17. package/esm2020/autocomplete-off/autocomplete-off.module.mjs +5 -5
  18. package/esm2020/back-button/back-button.mjs +4 -4
  19. package/esm2020/back-button/back-button.module.mjs +5 -5
  20. package/esm2020/brand-avatar/brand-avatar.mjs +4 -4
  21. package/esm2020/brand-avatar/brand-avatar.module.mjs +5 -5
  22. package/esm2020/breadcrumb/breadcrumb.mjs +4 -4
  23. package/esm2020/breadcrumb/breadcrumb.module.mjs +5 -5
  24. package/esm2020/breadcrumb/breadcrumb.service.mjs +4 -4
  25. package/esm2020/clr-addons.module.mjs +11 -8
  26. package/esm2020/collapse-expand-section/collapse-expand-section.mjs +4 -4
  27. package/esm2020/collapse-expand-section/collapse-expand-section.module.mjs +5 -5
  28. package/esm2020/content-panel/content-panel-container-content.mjs +4 -4
  29. package/esm2020/content-panel/content-panel-container-footer.mjs +4 -4
  30. package/esm2020/content-panel/content-panel-container.mjs +4 -4
  31. package/esm2020/content-panel/content-panel.mjs +4 -4
  32. package/esm2020/content-panel/content-panel.module.mjs +5 -5
  33. package/esm2020/data-list-validator/data-list-predefined-validator.directive.mjs +4 -4
  34. package/esm2020/data-list-validator/data-list-validator.module.mjs +5 -5
  35. package/esm2020/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +76 -0
  36. package/esm2020/datagrid/datagrid-state-persistence/datagrid-field.directive.mjs +15 -0
  37. package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +2 -0
  38. package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.mjs +18 -0
  39. package/esm2020/datagrid/datagrid-state-persistence/index.mjs +6 -0
  40. package/esm2020/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +38 -0
  41. package/esm2020/datagrid/enum-filter/enum-filter.component.mjs +70 -0
  42. package/esm2020/datagrid/enum-filter/enum-filter.module.mjs +20 -0
  43. package/esm2020/datagrid/enum-filter/index.mjs +3 -0
  44. package/esm2020/datagrid/index.mjs +3 -0
  45. package/esm2020/date-time-container/date-time-container.mjs +4 -4
  46. package/esm2020/date-time-container/date-time-module.mjs +5 -5
  47. package/esm2020/date-time-container/time-input.mjs +4 -4
  48. package/esm2020/dot-pager/dot-pager.mjs +4 -4
  49. package/esm2020/dot-pager/dot-pager.module.mjs +5 -5
  50. package/esm2020/dropdown/clr-dropdown-overflow.directive.mjs +4 -4
  51. package/esm2020/dropdown/clr-dropdown-overflow.module.mjs +5 -5
  52. package/esm2020/flow-bar/flow-bar.mjs +4 -4
  53. package/esm2020/flow-bar/flow-bar.module.mjs +5 -5
  54. package/esm2020/generic-quick-list/generic-quick-list.mjs +4 -4
  55. package/esm2020/generic-quick-list/generic-quick-list.module.mjs +5 -5
  56. package/esm2020/history/history-pinned.mjs +4 -4
  57. package/esm2020/history/history.mjs +4 -4
  58. package/esm2020/history/history.module.mjs +5 -5
  59. package/esm2020/history/history.service.mjs +4 -4
  60. package/esm2020/index.mjs +2 -2
  61. package/esm2020/letter-avatar/letter-avatar.mjs +4 -4
  62. package/esm2020/letter-avatar/letter-avatar.module.mjs +5 -5
  63. package/esm2020/location-bar/location-bar-node/location-bar-node.component.mjs +4 -4
  64. package/esm2020/location-bar/location-bar.component.mjs +4 -4
  65. package/esm2020/location-bar/location-bar.module.mjs +5 -5
  66. package/esm2020/main-nav-group/main-nav-group-item.mjs +4 -4
  67. package/esm2020/main-nav-group/main-nav-group.mjs +4 -4
  68. package/esm2020/main-nav-group/main-nav-group.module.mjs +5 -5
  69. package/esm2020/multilingual/abstract-multilingual.mjs +4 -4
  70. package/esm2020/multilingual/multilingual-input/multilingual-input.mjs +4 -4
  71. package/esm2020/multilingual/multilingual-selector.mjs +4 -4
  72. package/esm2020/multilingual/multilingual-textarea/multilingual-textarea.mjs +10 -8
  73. package/esm2020/multilingual/multilingual-validators.mjs +7 -7
  74. package/esm2020/multilingual/multilingual.module.mjs +5 -5
  75. package/esm2020/notification/notification.mjs +4 -4
  76. package/esm2020/notification/notification.module.mjs +5 -5
  77. package/esm2020/notification/notification.service.mjs +4 -4
  78. package/esm2020/numericfield/numeric-field-validators.mjs +7 -7
  79. package/esm2020/numericfield/numeric-field.mjs +4 -4
  80. package/esm2020/numericfield/numeric-field.module.mjs +5 -5
  81. package/esm2020/paged-search-result-list/paged-search-result-list.mjs +4 -4
  82. package/esm2020/paged-search-result-list/paged-search-result-list.module.mjs +5 -5
  83. package/esm2020/pager/pager.mjs +4 -4
  84. package/esm2020/pager/pager.module.mjs +5 -5
  85. package/esm2020/progress-spinner/progress-spinner.mjs +4 -4
  86. package/esm2020/progress-spinner/progress-spinner.module.mjs +5 -5
  87. package/esm2020/quick-list/add-option.mjs +4 -4
  88. package/esm2020/quick-list/quick-list.mjs +4 -4
  89. package/esm2020/quick-list/quick-list.module.mjs +5 -5
  90. package/esm2020/searchfield/search-field.mjs +4 -4
  91. package/esm2020/searchfield/search-field.module.mjs +5 -5
  92. package/esm2020/treetable/renderer/cell-renderer.mjs +4 -4
  93. package/esm2020/treetable/renderer/header-renderer.mjs +4 -4
  94. package/esm2020/treetable/renderer/main-renderer.mjs +4 -4
  95. package/esm2020/treetable/renderer/row-renderer.mjs +4 -4
  96. package/esm2020/treetable/treetable-action-overflow.mjs +4 -4
  97. package/esm2020/treetable/treetable-cell.mjs +4 -4
  98. package/esm2020/treetable/treetable-column.mjs +4 -4
  99. package/esm2020/treetable/treetable-placeholder.mjs +4 -4
  100. package/esm2020/treetable/treetable-row.mjs +4 -4
  101. package/esm2020/treetable/treetable.mjs +4 -4
  102. package/esm2020/treetable/treetable.module.mjs +5 -5
  103. package/esm2020/view-edit-section/view-edit-section.mjs +4 -4
  104. package/esm2020/view-edit-section/view-edit-section.module.mjs +5 -5
  105. package/fesm2015/clr-addons.mjs +385 -303
  106. package/fesm2015/clr-addons.mjs.map +1 -1
  107. package/fesm2020/clr-addons.mjs +385 -303
  108. package/fesm2020/clr-addons.mjs.map +1 -1
  109. package/index.d.ts +1 -1
  110. package/multilingual/multilingual-textarea/multilingual-textarea.d.ts +2 -1
  111. package/package.json +1 -1
  112. package/src/datagrid/enum-filter/enum-filter.component.scss +3 -0
  113. package/esm2020/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +0 -76
  114. package/esm2020/datagrid-state-persistence/datagrid-field.directive.mjs +0 -15
  115. package/esm2020/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +0 -2
  116. package/esm2020/datagrid-state-persistence/datagrid-state-persistence.module.mjs +0 -18
  117. package/esm2020/datagrid-state-persistence/index.mjs +0 -6
  118. package/esm2020/datagrid-state-persistence/state-persistence-key.directive.mjs +0 -38
package/index.d.ts CHANGED
@@ -28,4 +28,4 @@ export * from './location-bar/index';
28
28
  export * from './autocomplete-off/index';
29
29
  export * from './abstract-form-component/index';
30
30
  export * from './dropdown/index';
31
- export * from './datagrid-state-persistence/index';
31
+ export * from './datagrid/index';
@@ -2,7 +2,8 @@ import { Injector } from '@angular/core';
2
2
  import { ClrMultilingualAbstract } from '../abstract-multilingual';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ClrMultilingualTextarea extends ClrMultilingualAbstract {
5
+ rows: number;
5
6
  constructor(injector: Injector);
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrMultilingualTextarea, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<ClrMultilingualTextarea, "clr-multilingual-textarea", never, {}, {}, never, ["label", "clr-control-helper", "clr-control-error"]>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<ClrMultilingualTextarea, "clr-multilingual-textarea", never, { "rows": "rows"; }, {}, never, ["label", "clr-control-helper", "clr-control-error"]>;
8
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@porscheinformatik/clr-addons",
3
- "version": "12.5.2",
3
+ "version": "12.8.0",
4
4
  "description": "Addon components for Clarity Angular",
5
5
  "es2015": "esm2015/clr-addons.js",
6
6
  "homepage": "https://porscheinformatik.github.io/clarity-addons/",
@@ -0,0 +1,3 @@
1
+ .filter-selection {
2
+ margin-top: 0;
3
+ }
@@ -1,76 +0,0 @@
1
- import { Directive, Optional } from '@angular/core';
2
- import { DatagridFieldDirective } from './datagrid-field.directive';
3
- import { ClrDatagrid, ClrDatagridHideableColumn } from '@clr/angular';
4
- import { StatePersistenceKeyDirective } from './state-persistence-key.directive';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./datagrid-field.directive";
7
- import * as i2 from "./state-persistence-key.directive";
8
- import * as i3 from "@clr/angular";
9
- export class ColumnHiddenStatePersistenceDirective {
10
- constructor(columnDirective, statePersistenceKey, datagrid, hideableColumnDirective) {
11
- this.columnDirective = columnDirective;
12
- this.statePersistenceKey = statePersistenceKey;
13
- this.datagrid = datagrid;
14
- this.hideableColumnDirective = hideableColumnDirective;
15
- }
16
- ngOnInit() {
17
- if (this.statePersistenceKey?.clrStatePersistenceKey && this.columnDirective?.clrDgField) {
18
- /* set hidden states from local storage (if existing) */
19
- this.initHiddenState();
20
- /* listen to state changes and persist in local storage */
21
- this.hideableColumnDirective.hiddenChange.subscribe(hidden => {
22
- this.setHiddenState(hidden);
23
- });
24
- }
25
- }
26
- initHiddenState() {
27
- /* read grid state if existing */
28
- const persistedGridStateJson = localStorage.getItem(this.statePersistenceKey.clrStatePersistenceKey);
29
- if (persistedGridStateJson !== null) {
30
- const persistedGridState = JSON.parse(persistedGridStateJson);
31
- /* read column state if existing */
32
- if (persistedGridState.columns && persistedGridState.columns[this.columnDirective.clrDgField]) {
33
- /* read column hidden state if existing */
34
- const persistedColumnHiddenState = persistedGridState.columns[this.columnDirective.clrDgField].hidden;
35
- if (persistedColumnHiddenState) {
36
- this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;
37
- }
38
- }
39
- }
40
- }
41
- setHiddenState(hidden) {
42
- if (!this.datagrid?.detailService?.isOpen) {
43
- /* read grid state if existing */
44
- const persistedGridStateJson = localStorage.getItem(this.statePersistenceKey.clrStatePersistenceKey);
45
- let persistedGridState = {};
46
- if (persistedGridStateJson !== null) {
47
- persistedGridState = JSON.parse(persistedGridStateJson);
48
- }
49
- /* read column state if existing */
50
- if (!persistedGridState.columns) {
51
- persistedGridState.columns = {};
52
- }
53
- let persistedColumnState = persistedGridState.columns[this.columnDirective.clrDgField];
54
- if (!persistedColumnState) {
55
- persistedColumnState = {};
56
- persistedGridState.columns[this.columnDirective.clrDgField] = persistedColumnState;
57
- }
58
- /* set column hidden state and persist in local storage */
59
- persistedColumnState.hidden = hidden;
60
- localStorage.setItem(this.statePersistenceKey.clrStatePersistenceKey, JSON.stringify(persistedGridState));
61
- }
62
- }
63
- }
64
- ColumnHiddenStatePersistenceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, deps: [{ token: i1.DatagridFieldDirective, optional: true }, { token: i2.StatePersistenceKeyDirective, optional: true }, { token: i3.ClrDatagrid }, { token: i3.ClrDatagridHideableColumn }], target: i0.ɵɵFactoryTarget.Directive });
65
- ColumnHiddenStatePersistenceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: ColumnHiddenStatePersistenceDirective, selector: "[clrDgHideableColumn]", ngImport: i0 });
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, decorators: [{
67
- type: Directive,
68
- args: [{
69
- selector: '[clrDgHideableColumn]',
70
- }]
71
- }], ctorParameters: function () { return [{ type: i1.DatagridFieldDirective, decorators: [{
72
- type: Optional
73
- }] }, { type: i2.StatePersistenceKeyDirective, decorators: [{
74
- type: Optional
75
- }] }, { type: i3.ClrDatagrid }, { type: i3.ClrDatagridHideableColumn }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhpZGRlbi1zdGF0ZS1wZXJzaXN0ZW5jZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9jb2x1bW4taGlkZGVuLXN0YXRlLXBlcnNpc3RlbmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQU1qRixNQUFNLE9BQU8scUNBQXFDO0lBQ2hELFlBQ3NCLGVBQXVDLEVBQ3ZDLG1CQUFpRCxFQUM3RCxRQUFxQixFQUNyQix1QkFBa0Q7UUFIdEMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBOEI7UUFDN0QsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTJCO0lBQ3pELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsc0JBQXNCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUU7WUFDeEYsd0RBQXdEO1lBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV2QiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxlQUFlO1FBQ3JCLGlDQUFpQztRQUNqQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckcsSUFBSSxzQkFBc0IsS0FBSyxJQUFJLEVBQUU7WUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFxQyxDQUFDO1lBRWxHLG1DQUFtQztZQUNuQyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDN0YsMENBQTBDO2dCQUMxQyxNQUFNLDBCQUEwQixHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFDdEcsSUFBSSwwQkFBMEIsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsR0FBRywwQkFBMEIsS0FBSyxJQUFJLENBQUM7aUJBQ2hGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsTUFBZTtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLGlDQUFpQztZQUNqQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDckcsSUFBSSxrQkFBa0IsR0FBRyxFQUFzQyxDQUFDO1lBQ2hFLElBQUksc0JBQXNCLEtBQUssSUFBSSxFQUFFO2dCQUNuQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFxQyxDQUFDO2FBQzdGO1lBRUQsbUNBQW1DO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLGtCQUFrQixDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7YUFDakM7WUFDRCxJQUFJLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDekIsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO2dCQUMxQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxvQkFBb0IsQ0FBQzthQUNwRjtZQUVELDBEQUEwRDtZQUMxRCxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQzNHO0lBQ0gsQ0FBQzs7a0lBNURVLHFDQUFxQztzSEFBckMscUNBQXFDOzJGQUFyQyxxQ0FBcUM7a0JBSGpELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OzBCQUdJLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFncmlkRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RhdGFncmlkLWZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZCwgQ2xyRGF0YWdyaWRIaWRlYWJsZUNvbHVtbiB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9zdGF0ZS1wZXJzaXN0ZW5jZS1rZXkuZGlyZWN0aXZlJztcbmltcG9ydCB7IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIH0gZnJvbSAnLi9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS1tb2RlbC5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyRGdIaWRlYWJsZUNvbHVtbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBDb2x1bW5IaWRkZW5TdGF0ZVBlcnNpc3RlbmNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBjb2x1bW5EaXJlY3RpdmU6IERhdGFncmlkRmllbGREaXJlY3RpdmUsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBzdGF0ZVBlcnNpc3RlbmNlS2V5OiBTdGF0ZVBlcnNpc3RlbmNlS2V5RGlyZWN0aXZlLFxuICAgIHByaXZhdGUgZGF0YWdyaWQ6IENsckRhdGFncmlkLFxuICAgIHByaXZhdGUgaGlkZWFibGVDb2x1bW5EaXJlY3RpdmU6IENsckRhdGFncmlkSGlkZWFibGVDb2x1bW5cbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICh0aGlzLnN0YXRlUGVyc2lzdGVuY2VLZXk/LmNsclN0YXRlUGVyc2lzdGVuY2VLZXkgJiYgdGhpcy5jb2x1bW5EaXJlY3RpdmU/LmNsckRnRmllbGQpIHtcbiAgICAgIC8qIHNldCBoaWRkZW4gc3RhdGVzIGZyb20gbG9jYWwgc3RvcmFnZSAoaWYgZXhpc3RpbmcpICovXG4gICAgICB0aGlzLmluaXRIaWRkZW5TdGF0ZSgpO1xuXG4gICAgICAvKiBsaXN0ZW4gdG8gc3RhdGUgY2hhbmdlcyBhbmQgcGVyc2lzdCBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgICB0aGlzLmhpZGVhYmxlQ29sdW1uRGlyZWN0aXZlLmhpZGRlbkNoYW5nZS5zdWJzY3JpYmUoaGlkZGVuID0+IHtcbiAgICAgICAgdGhpcy5zZXRIaWRkZW5TdGF0ZShoaWRkZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SGlkZGVuU3RhdGUoKSB7XG4gICAgLyogcmVhZCBncmlkIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RhdGVQZXJzaXN0ZW5jZUtleS5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KTtcbiAgICBpZiAocGVyc2lzdGVkR3JpZFN0YXRlSnNvbiAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlID0gSlNPTi5wYXJzZShwZXJzaXN0ZWRHcmlkU3RhdGVKc29uKSBhcyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbDtcblxuICAgICAgLyogcmVhZCBjb2x1bW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgIGlmIChwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1ucyAmJiBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXSkge1xuICAgICAgICAvKiByZWFkIGNvbHVtbiBoaWRkZW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgICAgY29uc3QgcGVyc2lzdGVkQ29sdW1uSGlkZGVuU3RhdGUgPSBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXS5oaWRkZW47XG4gICAgICAgIGlmIChwZXJzaXN0ZWRDb2x1bW5IaWRkZW5TdGF0ZSkge1xuICAgICAgICAgIHRoaXMuaGlkZWFibGVDb2x1bW5EaXJlY3RpdmUuY2xyRGdIaWRkZW4gPSBwZXJzaXN0ZWRDb2x1bW5IaWRkZW5TdGF0ZSA9PT0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SGlkZGVuU3RhdGUoaGlkZGVuOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFncmlkPy5kZXRhaWxTZXJ2aWNlPy5pc09wZW4pIHtcbiAgICAgIC8qIHJlYWQgZ3JpZCBzdGF0ZSBpZiBleGlzdGluZyAqL1xuICAgICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RhdGVQZXJzaXN0ZW5jZUtleS5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KTtcbiAgICAgIGxldCBwZXJzaXN0ZWRHcmlkU3RhdGUgPSB7fSBhcyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbDtcbiAgICAgIGlmIChwZXJzaXN0ZWRHcmlkU3RhdGVKc29uICE9PSBudWxsKSB7XG4gICAgICAgIHBlcnNpc3RlZEdyaWRTdGF0ZSA9IEpTT04ucGFyc2UocGVyc2lzdGVkR3JpZFN0YXRlSnNvbikgYXMgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWw7XG4gICAgICB9XG5cbiAgICAgIC8qIHJlYWQgY29sdW1uIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgICBpZiAoIXBlcnNpc3RlZEdyaWRTdGF0ZS5jb2x1bW5zKSB7XG4gICAgICAgIHBlcnNpc3RlZEdyaWRTdGF0ZS5jb2x1bW5zID0ge307XG4gICAgICB9XG4gICAgICBsZXQgcGVyc2lzdGVkQ29sdW1uU3RhdGUgPSBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXTtcbiAgICAgIGlmICghcGVyc2lzdGVkQ29sdW1uU3RhdGUpIHtcbiAgICAgICAgcGVyc2lzdGVkQ29sdW1uU3RhdGUgPSB7fTtcbiAgICAgICAgcGVyc2lzdGVkR3JpZFN0YXRlLmNvbHVtbnNbdGhpcy5jb2x1bW5EaXJlY3RpdmUuY2xyRGdGaWVsZF0gPSBwZXJzaXN0ZWRDb2x1bW5TdGF0ZTtcbiAgICAgIH1cblxuICAgICAgLyogc2V0IGNvbHVtbiBoaWRkZW4gc3RhdGUgYW5kIHBlcnNpc3QgaW4gbG9jYWwgc3RvcmFnZSAqL1xuICAgICAgcGVyc2lzdGVkQ29sdW1uU3RhdGUuaGlkZGVuID0gaGlkZGVuO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdGF0ZVBlcnNpc3RlbmNlS2V5LmNsclN0YXRlUGVyc2lzdGVuY2VLZXksIEpTT04uc3RyaW5naWZ5KHBlcnNpc3RlZEdyaWRTdGF0ZSkpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,15 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DatagridFieldDirective {
4
- }
5
- DatagridFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: DatagridFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
- DatagridFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.8", type: DatagridFieldDirective, selector: "[clrDgField]", inputs: { clrDgField: "clrDgField" }, ngImport: i0 });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: DatagridFieldDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- selector: '[clrDgField]',
11
- }]
12
- }], propDecorators: { clrDgField: [{
13
- type: Input
14
- }] } });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UvZGF0YWdyaWQtZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtqRCxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztpQkFDekI7OEJBR0MsVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2xyRGdGaWVsZF0nLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhZ3JpZEZpZWxkRGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgY2xyRGdGaWVsZDogc3RyaW5nO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIHtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgY29sdW1uczogeyBba2V5OiBzdHJpbmddOiBDbHJDb2x1bW5TdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHJDb2x1bW5TdGF0ZVBlcnNpc3RlbmNlTW9kZWwge1xuICBoaWRkZW4/OiBib29sZWFuO1xufVxuIl19
@@ -1,18 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ColumnHiddenStatePersistenceDirective } from './column-hidden-state-persistence.directive';
3
- import { DatagridFieldDirective } from './datagrid-field.directive';
4
- import { StatePersistenceKeyDirective } from './state-persistence-key.directive';
5
- import * as i0 from "@angular/core";
6
- export class ClrDatagridStatePersistenceModule {
7
- }
8
- ClrDatagridStatePersistenceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrDatagridStatePersistenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- ClrDatagridStatePersistenceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrDatagridStatePersistenceModule, declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective], exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective] });
10
- ClrDatagridStatePersistenceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrDatagridStatePersistenceModule });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrDatagridStatePersistenceModule, decorators: [{
12
- type: NgModule,
13
- args: [{
14
- declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],
15
- exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDcEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBTWpGLE1BQU0sT0FBTyxpQ0FBaUM7OzhIQUFqQyxpQ0FBaUM7K0hBQWpDLGlDQUFpQyxpQkFIN0IscUNBQXFDLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLGFBQ2hHLHFDQUFxQyxFQUFFLHNCQUFzQixFQUFFLDRCQUE0QjsrSEFFMUYsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBSjdDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMscUNBQXFDLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLENBQUM7b0JBQzNHLE9BQU8sRUFBRSxDQUFDLHFDQUFxQyxFQUFFLHNCQUFzQixFQUFFLDRCQUE0QixDQUFDO2lCQUN2RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2x1bW5IaWRkZW5TdGF0ZVBlcnNpc3RlbmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW4taGlkZGVuLXN0YXRlLXBlcnNpc3RlbmNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEYXRhZ3JpZEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhZ3JpZC1maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZSB9IGZyb20gJy4vc3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0NvbHVtbkhpZGRlblN0YXRlUGVyc2lzdGVuY2VEaXJlY3RpdmUsIERhdGFncmlkRmllbGREaXJlY3RpdmUsIFN0YXRlUGVyc2lzdGVuY2VLZXlEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbQ29sdW1uSGlkZGVuU3RhdGVQZXJzaXN0ZW5jZURpcmVjdGl2ZSwgRGF0YWdyaWRGaWVsZERpcmVjdGl2ZSwgU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZHVsZSB7fVxuIl19
@@ -1,6 +0,0 @@
1
- export * from './column-hidden-state-persistence.directive';
2
- export * from './datagrid-field.directive';
3
- export * from './datagrid-state-persistence.module';
4
- export * from './state-persistence-key.directive';
5
- export * from './datagrid-state-persistence-model.interface';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbHVtbi1oaWRkZW4tc3RhdGUtcGVyc2lzdGVuY2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWdyaWQtZmllbGQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLW1vZGVsLmludGVyZmFjZSc7XG4iXX0=
@@ -1,38 +0,0 @@
1
- import { ContentChild, Directive, Input } from '@angular/core';
2
- import { ClrDatagridPagination } from '@clr/angular';
3
- import * as i0 from "@angular/core";
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
- }
24
- }
25
- StatePersistenceKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StatePersistenceKeyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
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 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: StatePersistenceKeyDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: '[clrStatePersistenceKey]',
31
- }]
32
- }], propDecorators: { clrStatePersistenceKey: [{
33
- type: Input
34
- }], pagination: [{
35
- type: ContentChild,
36
- args: [ClrDatagridPagination]
37
- }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBTXJELE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUMzQyxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFxQyxDQUFDO2dCQUM5RyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLEtBQUssR0FBRyxFQUFzQyxDQUFDO2lCQUNoRDtnQkFDRCxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFDMUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUFDO1lBRUgsc0VBQXNFO1lBQ3RFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1lBQzVFLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQzNCLDBGQUEwRjtnQkFDMUYsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ2hFO1NBQ0Y7SUFDSCxDQUFDOzt5SEExQlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsc0tBSXpCLHFCQUFxQjsyRkFKeEIsNEJBQTRCO2tCQUh4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7aUJBQ3JDOzhCQUdDLHNCQUFzQjtzQkFEckIsS0FBSztnQkFJTixVQUFVO3NCQURULFlBQVk7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkLCBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZFBhZ2luYXRpb24gfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfSBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLW1vZGVsLmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbHJTdGF0ZVBlcnNpc3RlbmNlS2V5XScsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlUGVyc2lzdGVuY2VLZXlEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KClcbiAgY2xyU3RhdGVQZXJzaXN0ZW5jZUtleTogc3RyaW5nO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2xyRGF0YWdyaWRQYWdpbmF0aW9uKVxuICBwYWdpbmF0aW9uOiBDbHJEYXRhZ3JpZFBhZ2luYXRpb247XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIGlmICh0aGlzLnBhZ2luYXRpb24gJiYgdGhpcy5wYWdpbmF0aW9uLnBhZ2UpIHtcbiAgICAgIC8qIHBlcnNpc3QgcGFnZSBzaXplIGNoYW5nZXMgaW4gbG9jYWwgc3RvcmFnZSAqL1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2l6ZUNoYW5nZS5zdWJzY3JpYmUocGFnZVNpemUgPT4ge1xuICAgICAgICBsZXQgc3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSkpIGFzIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsO1xuICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgc3RhdGUgPSB7fSBhcyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbDtcbiAgICAgICAgfVxuICAgICAgICBzdGF0ZS5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmNsclN0YXRlUGVyc2lzdGVuY2VLZXksIEpTT04uc3RyaW5naWZ5KHN0YXRlKSk7XG4gICAgICB9KTtcblxuICAgICAgLyogaW5pdCBwYWdlIHNpemUgb2YgZGF0YWdyaWQgaWYgYWxyZWFkeSBwZXJzaXN0ZWQgaW4gbG9jYWwgc3RvcmFnZSAqL1xuICAgICAgY29uc3Qgc3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSkpO1xuICAgICAgaWYgKHN0YXRlICYmIHN0YXRlLnBhZ2VTaXplKSB7XG4gICAgICAgIC8qIHBvc3Rwb25lIHNldCBzaXplIHRvIG90aGVyIGN5Y2xlIGFzIGl0IGlzIGFscmVhZHkgc2V0IGluIHRoaXMgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSAqL1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnBhZ2luYXRpb24ucGFnZS5zaXplID0gc3RhdGUucGFnZVNpemUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==