@porscheinformatik/clr-addons 12.6.0 → 12.7.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/clr-addons.module.d.ts +3 -2
- package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/column-hidden-state-persistence.directive.d.ts +0 -0
- package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-field.directive.d.ts +0 -0
- package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-state-persistence-model.interface.d.ts +0 -0
- package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-state-persistence.module.d.ts +0 -0
- package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/index.d.ts +0 -0
- package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/state-persistence-key.directive.d.ts +0 -0
- package/datagrid/enum-filter/enum-filter.component.d.ts +22 -0
- package/datagrid/enum-filter/enum-filter.module.d.ts +10 -0
- package/datagrid/enum-filter/index.d.ts +2 -0
- package/datagrid/index.d.ts +2 -0
- package/esm2020/abstract-form-component/abstract-form-component.mjs +4 -4
- package/esm2020/abstract-form-component/control-id.service.mjs +4 -4
- package/esm2020/abstract-form-component/form.module.mjs +5 -5
- package/esm2020/abstract-form-component/label.mjs +4 -4
- package/esm2020/autocomplete-off/autocomplete-off.directive.mjs +4 -4
- package/esm2020/autocomplete-off/autocomplete-off.module.mjs +5 -5
- package/esm2020/back-button/back-button.mjs +4 -4
- package/esm2020/back-button/back-button.module.mjs +5 -5
- package/esm2020/brand-avatar/brand-avatar.mjs +4 -4
- package/esm2020/brand-avatar/brand-avatar.module.mjs +5 -5
- package/esm2020/breadcrumb/breadcrumb.mjs +4 -4
- package/esm2020/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2020/breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2020/clr-addons.module.mjs +11 -8
- package/esm2020/collapse-expand-section/collapse-expand-section.mjs +4 -4
- package/esm2020/collapse-expand-section/collapse-expand-section.module.mjs +5 -5
- package/esm2020/content-panel/content-panel-container-content.mjs +4 -4
- package/esm2020/content-panel/content-panel-container-footer.mjs +4 -4
- package/esm2020/content-panel/content-panel-container.mjs +4 -4
- package/esm2020/content-panel/content-panel.mjs +4 -4
- package/esm2020/content-panel/content-panel.module.mjs +5 -5
- package/esm2020/data-list-validator/data-list-predefined-validator.directive.mjs +4 -4
- package/esm2020/data-list-validator/data-list-validator.module.mjs +5 -5
- package/esm2020/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +76 -0
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-field.directive.mjs +15 -0
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +2 -0
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.mjs +18 -0
- package/esm2020/datagrid/datagrid-state-persistence/index.mjs +6 -0
- package/esm2020/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +38 -0
- package/esm2020/datagrid/enum-filter/enum-filter.component.mjs +60 -0
- package/esm2020/datagrid/enum-filter/enum-filter.module.mjs +20 -0
- package/esm2020/datagrid/enum-filter/index.mjs +3 -0
- package/esm2020/datagrid/index.mjs +3 -0
- package/esm2020/date-time-container/date-time-container.mjs +4 -4
- package/esm2020/date-time-container/date-time-module.mjs +5 -5
- package/esm2020/date-time-container/time-input.mjs +4 -4
- package/esm2020/dot-pager/dot-pager.mjs +4 -4
- package/esm2020/dot-pager/dot-pager.module.mjs +5 -5
- package/esm2020/dropdown/clr-dropdown-overflow.directive.mjs +4 -4
- package/esm2020/dropdown/clr-dropdown-overflow.module.mjs +5 -5
- package/esm2020/flow-bar/flow-bar.mjs +4 -4
- package/esm2020/flow-bar/flow-bar.module.mjs +5 -5
- package/esm2020/generic-quick-list/generic-quick-list.mjs +4 -4
- package/esm2020/generic-quick-list/generic-quick-list.module.mjs +5 -5
- package/esm2020/history/history-pinned.mjs +4 -4
- package/esm2020/history/history.mjs +4 -4
- package/esm2020/history/history.module.mjs +5 -5
- package/esm2020/history/history.service.mjs +4 -4
- package/esm2020/index.mjs +2 -2
- package/esm2020/letter-avatar/letter-avatar.mjs +4 -4
- package/esm2020/letter-avatar/letter-avatar.module.mjs +5 -5
- package/esm2020/location-bar/location-bar-node/location-bar-node.component.mjs +4 -4
- package/esm2020/location-bar/location-bar.component.mjs +4 -4
- package/esm2020/location-bar/location-bar.module.mjs +5 -5
- package/esm2020/main-nav-group/main-nav-group-item.mjs +4 -4
- package/esm2020/main-nav-group/main-nav-group.mjs +4 -4
- package/esm2020/main-nav-group/main-nav-group.module.mjs +5 -5
- package/esm2020/multilingual/abstract-multilingual.mjs +4 -4
- package/esm2020/multilingual/multilingual-input/multilingual-input.mjs +4 -4
- package/esm2020/multilingual/multilingual-selector.mjs +4 -4
- package/esm2020/multilingual/multilingual-textarea/multilingual-textarea.mjs +4 -4
- package/esm2020/multilingual/multilingual-validators.mjs +7 -7
- package/esm2020/multilingual/multilingual.module.mjs +5 -5
- package/esm2020/notification/notification.mjs +4 -4
- package/esm2020/notification/notification.module.mjs +5 -5
- package/esm2020/notification/notification.service.mjs +4 -4
- package/esm2020/numericfield/numeric-field-validators.mjs +7 -7
- package/esm2020/numericfield/numeric-field.mjs +4 -4
- package/esm2020/numericfield/numeric-field.module.mjs +5 -5
- package/esm2020/paged-search-result-list/paged-search-result-list.mjs +4 -4
- package/esm2020/paged-search-result-list/paged-search-result-list.module.mjs +5 -5
- package/esm2020/pager/pager.mjs +4 -4
- package/esm2020/pager/pager.module.mjs +5 -5
- package/esm2020/progress-spinner/progress-spinner.mjs +4 -4
- package/esm2020/progress-spinner/progress-spinner.module.mjs +5 -5
- package/esm2020/quick-list/add-option.mjs +4 -4
- package/esm2020/quick-list/quick-list.mjs +4 -4
- package/esm2020/quick-list/quick-list.module.mjs +5 -5
- package/esm2020/searchfield/search-field.mjs +4 -4
- package/esm2020/searchfield/search-field.module.mjs +5 -5
- package/esm2020/treetable/renderer/cell-renderer.mjs +4 -4
- package/esm2020/treetable/renderer/header-renderer.mjs +4 -4
- package/esm2020/treetable/renderer/main-renderer.mjs +4 -4
- package/esm2020/treetable/renderer/row-renderer.mjs +4 -4
- package/esm2020/treetable/treetable-action-overflow.mjs +4 -4
- package/esm2020/treetable/treetable-cell.mjs +4 -4
- package/esm2020/treetable/treetable-column.mjs +4 -4
- package/esm2020/treetable/treetable-placeholder.mjs +4 -4
- package/esm2020/treetable/treetable-row.mjs +4 -4
- package/esm2020/treetable/treetable.mjs +4 -4
- package/esm2020/treetable/treetable.module.mjs +5 -5
- package/esm2020/view-edit-section/view-edit-section.mjs +4 -4
- package/esm2020/view-edit-section/view-edit-section.module.mjs +5 -5
- package/fesm2015/clr-addons.mjs +370 -300
- package/fesm2015/clr-addons.mjs.map +1 -1
- package/fesm2020/clr-addons.mjs +370 -300
- package/fesm2020/clr-addons.mjs.map +1 -1
- package/index.d.ts +1 -1
- package/package.json +1 -1
- package/src/datagrid/enum-filter/enum-filter.component.scss +3 -0
- package/esm2020/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +0 -76
- package/esm2020/datagrid-state-persistence/datagrid-field.directive.mjs +0 -15
- package/esm2020/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +0 -2
- package/esm2020/datagrid-state-persistence/datagrid-state-persistence.module.mjs +0 -18
- package/esm2020/datagrid-state-persistence/index.mjs +0 -6
- package/esm2020/datagrid-state-persistence/state-persistence-key.directive.mjs +0 -38
package/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -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==
|