@porscheinformatik/clr-addons 13.2.0 → 13.3.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/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.d.ts +6 -2
- package/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.d.ts +2 -0
- package/datagrid/datagrid-state-persistence/state-persistence-key.directive.d.ts +37 -5
- package/datagrid/date-filter/date-filter.component.d.ts +1 -0
- package/datagrid/date-filter/nested-property.d.ts +1 -1
- package/datagrid/enum-filter/enum-filter.component.d.ts +4 -2
- package/esm2020/abstract-form-component/abstract-form-component.mjs +3 -3
- package/esm2020/abstract-form-component/control-id.service.mjs +3 -3
- package/esm2020/abstract-form-component/form.module.mjs +4 -4
- package/esm2020/abstract-form-component/label.mjs +3 -3
- package/esm2020/autocomplete-off/autocomplete-off.directive.mjs +3 -3
- package/esm2020/autocomplete-off/autocomplete-off.module.mjs +4 -4
- package/esm2020/back-button/back-button.mjs +3 -3
- package/esm2020/back-button/back-button.module.mjs +4 -4
- package/esm2020/brand-avatar/brand-avatar.mjs +3 -3
- package/esm2020/brand-avatar/brand-avatar.module.mjs +4 -4
- package/esm2020/breadcrumb/breadcrumb.mjs +3 -3
- package/esm2020/breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2020/breadcrumb/breadcrumb.service.mjs +3 -3
- package/esm2020/clr-addons.module.mjs +4 -4
- package/esm2020/collapse-expand-section/collapse-expand-section.mjs +3 -3
- package/esm2020/collapse-expand-section/collapse-expand-section.module.mjs +4 -4
- package/esm2020/content-panel/content-panel-container-content.mjs +3 -3
- package/esm2020/content-panel/content-panel-container-footer.mjs +3 -3
- package/esm2020/content-panel/content-panel-container.mjs +3 -3
- package/esm2020/content-panel/content-panel.mjs +3 -3
- package/esm2020/content-panel/content-panel.module.mjs +4 -4
- package/esm2020/data-list-validator/data-list-predefined-validator.directive.mjs +3 -3
- package/esm2020/data-list-validator/data-list-validator.module.mjs +4 -4
- package/esm2020/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +25 -22
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-field.directive.mjs +3 -3
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +1 -1
- package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.mjs +4 -4
- package/esm2020/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +131 -21
- package/esm2020/datagrid/date-filter/date-filter.component.mjs +7 -4
- package/esm2020/datagrid/date-filter/date-filter.module.mjs +4 -4
- package/esm2020/datagrid/date-filter/nested-property.mjs +1 -1
- package/esm2020/datagrid/enum-filter/enum-filter.component.mjs +19 -10
- package/esm2020/datagrid/enum-filter/enum-filter.module.mjs +4 -4
- package/esm2020/date-time-container/date-time-container.mjs +3 -3
- package/esm2020/date-time-container/date-time-module.mjs +4 -4
- package/esm2020/date-time-container/time-input.mjs +3 -3
- package/esm2020/dot-pager/dot-pager.mjs +3 -3
- package/esm2020/dot-pager/dot-pager.module.mjs +4 -4
- package/esm2020/dropdown/clr-dropdown-overflow.directive.mjs +3 -3
- package/esm2020/dropdown/clr-dropdown-overflow.module.mjs +4 -4
- package/esm2020/flow-bar/flow-bar.mjs +3 -3
- package/esm2020/flow-bar/flow-bar.module.mjs +4 -4
- package/esm2020/generic-quick-list/generic-quick-list.mjs +3 -3
- package/esm2020/generic-quick-list/generic-quick-list.module.mjs +4 -4
- package/esm2020/history/history-pinned.mjs +3 -3
- package/esm2020/history/history.mjs +3 -3
- package/esm2020/history/history.module.mjs +4 -4
- package/esm2020/history/history.service.mjs +3 -3
- package/esm2020/letter-avatar/letter-avatar.mjs +3 -3
- package/esm2020/letter-avatar/letter-avatar.module.mjs +4 -4
- package/esm2020/location-bar/location-bar-node/location-bar-node.component.mjs +3 -3
- package/esm2020/location-bar/location-bar.component.mjs +3 -3
- package/esm2020/location-bar/location-bar.module.mjs +4 -4
- package/esm2020/main-nav-group/main-nav-group-item.mjs +3 -3
- package/esm2020/main-nav-group/main-nav-group.mjs +3 -3
- package/esm2020/main-nav-group/main-nav-group.module.mjs +4 -4
- package/esm2020/multilingual/abstract-multilingual.mjs +3 -3
- package/esm2020/multilingual/multilingual-input/multilingual-input.mjs +3 -3
- package/esm2020/multilingual/multilingual-selector.mjs +3 -3
- package/esm2020/multilingual/multilingual-textarea/multilingual-textarea.mjs +3 -3
- package/esm2020/multilingual/multilingual-validators.mjs +6 -6
- package/esm2020/multilingual/multilingual.module.mjs +4 -4
- package/esm2020/notification/notification.mjs +3 -3
- package/esm2020/notification/notification.module.mjs +4 -4
- package/esm2020/notification/notification.service.mjs +3 -3
- package/esm2020/numericfield/numeric-field-validators.mjs +6 -6
- package/esm2020/numericfield/numeric-field.mjs +3 -3
- package/esm2020/numericfield/numeric-field.module.mjs +4 -4
- package/esm2020/paged-search-result-list/paged-search-result-list.mjs +3 -3
- package/esm2020/paged-search-result-list/paged-search-result-list.module.mjs +4 -4
- package/esm2020/pager/pager.mjs +3 -3
- package/esm2020/pager/pager.module.mjs +4 -4
- package/esm2020/progress-spinner/progress-spinner.mjs +3 -3
- package/esm2020/progress-spinner/progress-spinner.module.mjs +4 -4
- package/esm2020/quick-list/add-option.mjs +3 -3
- package/esm2020/quick-list/quick-list.mjs +3 -3
- package/esm2020/quick-list/quick-list.module.mjs +4 -4
- package/esm2020/searchfield/search-field.mjs +3 -3
- package/esm2020/searchfield/search-field.module.mjs +4 -4
- package/esm2020/treetable/renderer/cell-renderer.mjs +3 -3
- package/esm2020/treetable/renderer/header-renderer.mjs +3 -3
- package/esm2020/treetable/renderer/main-renderer.mjs +3 -3
- package/esm2020/treetable/renderer/row-renderer.mjs +3 -3
- package/esm2020/treetable/treetable-action-overflow.mjs +3 -3
- package/esm2020/treetable/treetable-cell.mjs +3 -3
- package/esm2020/treetable/treetable-column.mjs +3 -3
- package/esm2020/treetable/treetable-placeholder.mjs +3 -3
- package/esm2020/treetable/treetable-row.mjs +3 -3
- package/esm2020/treetable/treetable.mjs +3 -3
- package/esm2020/treetable/treetable.module.mjs +4 -4
- package/esm2020/view-edit-section/view-edit-section.mjs +3 -3
- package/esm2020/view-edit-section/view-edit-section.module.mjs +4 -4
- package/fesm2015/clr-addons.mjs +471 -347
- package/fesm2015/clr-addons.mjs.map +1 -1
- package/fesm2020/clr-addons.mjs +467 -347
- package/fesm2020/clr-addons.mjs.map +1 -1
- package/package.json +5 -5
- package/src/components.clr-addons.scss +0 -3
- package/styles/clr-addons-phs.css +87 -91
- package/styles/clr-addons-phs.css.map +1 -1
- package/styles/clr-addons-phs.min.css +1 -1
- package/styles/clr-addons-phs.min.css.map +1 -1
package/esm2020/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs
CHANGED
|
@@ -2,6 +2,8 @@ import { Directive, Optional } from '@angular/core';
|
|
|
2
2
|
import { DatagridFieldDirective } from './datagrid-field.directive';
|
|
3
3
|
import { ClrDatagrid, ClrDatagridHideableColumn } from '@clr/angular';
|
|
4
4
|
import { StatePersistenceKeyDirective } from './state-persistence-key.directive';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
6
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "./datagrid-field.directive";
|
|
7
9
|
import * as i2 from "./state-persistence-key.directive";
|
|
@@ -12,40 +14,34 @@ export class ColumnHiddenStatePersistenceDirective {
|
|
|
12
14
|
this.statePersistenceKey = statePersistenceKey;
|
|
13
15
|
this.datagrid = datagrid;
|
|
14
16
|
this.hideableColumnDirective = hideableColumnDirective;
|
|
17
|
+
this.destroy$ = new Subject();
|
|
15
18
|
}
|
|
16
19
|
ngOnInit() {
|
|
17
|
-
if (this.statePersistenceKey?.
|
|
20
|
+
if (this.statePersistenceKey?.options.key && this.columnDirective?.clrDgField) {
|
|
18
21
|
/* set hidden states from local storage (if existing) */
|
|
19
22
|
this.initHiddenState();
|
|
20
23
|
/* listen to state changes and persist in local storage */
|
|
21
|
-
this.hideableColumnDirective.hiddenChange.subscribe(hidden => {
|
|
24
|
+
this.hideableColumnDirective.hiddenChange.pipe(takeUntil(this.destroy$)).subscribe(hidden => {
|
|
22
25
|
this.setHiddenState(hidden);
|
|
23
26
|
});
|
|
24
27
|
}
|
|
25
28
|
}
|
|
26
29
|
initHiddenState() {
|
|
27
30
|
/* read grid state if existing */
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/* read column state if existing */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (persistedColumnHiddenState !== undefined) {
|
|
36
|
-
this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;
|
|
37
|
-
}
|
|
31
|
+
const persistedGridState = this.readStoredState();
|
|
32
|
+
/* read column state if existing */
|
|
33
|
+
if (persistedGridState?.columns?.[this.columnDirective.clrDgField]) {
|
|
34
|
+
/* read column hidden state if existing */
|
|
35
|
+
const persistedColumnHiddenState = persistedGridState.columns[this.columnDirective.clrDgField].hidden;
|
|
36
|
+
if (persistedColumnHiddenState !== undefined) {
|
|
37
|
+
this.hideableColumnDirective.clrDgHidden = persistedColumnHiddenState === true;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
setHiddenState(hidden) {
|
|
42
42
|
if (!this.datagrid?.detailService?.isOpen) {
|
|
43
43
|
/* read grid state if existing */
|
|
44
|
-
const
|
|
45
|
-
let persistedGridState = {};
|
|
46
|
-
if (persistedGridStateJson !== null) {
|
|
47
|
-
persistedGridState = JSON.parse(persistedGridStateJson);
|
|
48
|
-
}
|
|
44
|
+
const persistedGridState = this.readStoredState();
|
|
49
45
|
/* read column state if existing */
|
|
50
46
|
if (!persistedGridState.columns) {
|
|
51
47
|
persistedGridState.columns = {};
|
|
@@ -57,13 +53,20 @@ export class ColumnHiddenStatePersistenceDirective {
|
|
|
57
53
|
}
|
|
58
54
|
/* set column hidden state and persist in local storage */
|
|
59
55
|
persistedColumnState.hidden = hidden;
|
|
60
|
-
localStorage.setItem(this.statePersistenceKey.
|
|
56
|
+
localStorage.setItem(this.statePersistenceKey.options.key, JSON.stringify(persistedGridState));
|
|
61
57
|
}
|
|
62
58
|
}
|
|
59
|
+
readStoredState() {
|
|
60
|
+
return JSON.parse(localStorage.getItem(this.statePersistenceKey.options.key)) || {};
|
|
61
|
+
}
|
|
62
|
+
ngOnDestroy() {
|
|
63
|
+
this.destroy$.next();
|
|
64
|
+
this.destroy$.complete();
|
|
65
|
+
}
|
|
63
66
|
}
|
|
64
|
-
ColumnHiddenStatePersistenceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
65
|
-
ColumnHiddenStatePersistenceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
67
|
+
ColumnHiddenStatePersistenceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.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 });
|
|
68
|
+
ColumnHiddenStatePersistenceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: ColumnHiddenStatePersistenceDirective, selector: "[clrDgHideableColumn]", ngImport: i0 });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ColumnHiddenStatePersistenceDirective, decorators: [{
|
|
67
70
|
type: Directive,
|
|
68
71
|
args: [{
|
|
69
72
|
selector: '[clrDgHideableColumn]',
|
|
@@ -73,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
73
76
|
}] }, { type: i2.StatePersistenceKeyDirective, decorators: [{
|
|
74
77
|
type: Optional
|
|
75
78
|
}] }, { type: i3.ClrDatagrid }, { type: i3.ClrDatagridHideableColumn }]; } });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLWhpZGRlbi1zdGF0ZS1wZXJzaXN0ZW5jZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9kYXRhZ3JpZC9kYXRhZ3JpZC1zdGF0ZS1wZXJzaXN0ZW5jZS9jb2x1bW4taGlkZGVuLXN0YXRlLXBlcnNpc3RlbmNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVqRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFLM0MsTUFBTSxPQUFPLHFDQUFxQztJQUdoRCxZQUNzQixlQUF1QyxFQUN2QyxtQkFBaUQsRUFDN0QsUUFBcUIsRUFDckIsdUJBQWtEO1FBSHRDLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQUN2Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQThCO1FBQzdELGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUEyQjtRQU41RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU81QixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUU7WUFDN0Usd0RBQXdEO1lBQ3hELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV2QiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDMUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsaUNBQWlDO1FBQ2pDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRWxELG1DQUFtQztRQUNuQyxJQUFJLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEUsMENBQTBDO1lBQzFDLE1BQU0sMEJBQTBCLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3RHLElBQUksMEJBQTBCLEtBQUssU0FBUyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxHQUFHLDBCQUEwQixLQUFLLElBQUksQ0FBQzthQUNoRjtTQUNGO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFlO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUU7WUFDekMsaUNBQWlDO1lBQ2pDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRWxELG1DQUFtQztZQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO2dCQUMvQixrQkFBa0IsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3pCLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztnQkFDMUIsa0JBQWtCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsb0JBQW9CLENBQUM7YUFDcEY7WUFFRCwwREFBMEQ7WUFDMUQsb0JBQW9CLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1NBQ2hHO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSUFoRVUscUNBQXFDO3NIQUFyQyxxQ0FBcUM7MkZBQXJDLHFDQUFxQztrQkFIakQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQzs7MEJBS0ksUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhZ3JpZEZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9kYXRhZ3JpZC1maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWQsIENsckRhdGFncmlkSGlkZWFibGVDb2x1bW4gfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZSB9IGZyb20gJy4vc3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbCB9IGZyb20gJy4vZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsckRnSGlkZWFibGVDb2x1bW5dJyxcbn0pXG5leHBvcnQgY2xhc3MgQ29sdW1uSGlkZGVuU3RhdGVQZXJzaXN0ZW5jZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgY29sdW1uRGlyZWN0aXZlOiBEYXRhZ3JpZEZpZWxkRGlyZWN0aXZlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc3RhdGVQZXJzaXN0ZW5jZUtleTogU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZSxcbiAgICBwcml2YXRlIGRhdGFncmlkOiBDbHJEYXRhZ3JpZCxcbiAgICBwcml2YXRlIGhpZGVhYmxlQ29sdW1uRGlyZWN0aXZlOiBDbHJEYXRhZ3JpZEhpZGVhYmxlQ29sdW1uXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5zdGF0ZVBlcnNpc3RlbmNlS2V5Py5vcHRpb25zLmtleSAmJiB0aGlzLmNvbHVtbkRpcmVjdGl2ZT8uY2xyRGdGaWVsZCkge1xuICAgICAgLyogc2V0IGhpZGRlbiBzdGF0ZXMgZnJvbSBsb2NhbCBzdG9yYWdlIChpZiBleGlzdGluZykgKi9cbiAgICAgIHRoaXMuaW5pdEhpZGRlblN0YXRlKCk7XG5cbiAgICAgIC8qIGxpc3RlbiB0byBzdGF0ZSBjaGFuZ2VzIGFuZCBwZXJzaXN0IGluIGxvY2FsIHN0b3JhZ2UgKi9cbiAgICAgIHRoaXMuaGlkZWFibGVDb2x1bW5EaXJlY3RpdmUuaGlkZGVuQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoaGlkZGVuID0+IHtcbiAgICAgICAgdGhpcy5zZXRIaWRkZW5TdGF0ZShoaWRkZW4pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0SGlkZGVuU3RhdGUoKSB7XG4gICAgLyogcmVhZCBncmlkIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlID0gdGhpcy5yZWFkU3RvcmVkU3RhdGUoKTtcblxuICAgIC8qIHJlYWQgY29sdW1uIHN0YXRlIGlmIGV4aXN0aW5nICovXG4gICAgaWYgKHBlcnNpc3RlZEdyaWRTdGF0ZT8uY29sdW1ucz8uW3RoaXMuY29sdW1uRGlyZWN0aXZlLmNsckRnRmllbGRdKSB7XG4gICAgICAvKiByZWFkIGNvbHVtbiBoaWRkZW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgIGNvbnN0IHBlcnNpc3RlZENvbHVtbkhpZGRlblN0YXRlID0gcGVyc2lzdGVkR3JpZFN0YXRlLmNvbHVtbnNbdGhpcy5jb2x1bW5EaXJlY3RpdmUuY2xyRGdGaWVsZF0uaGlkZGVuO1xuICAgICAgaWYgKHBlcnNpc3RlZENvbHVtbkhpZGRlblN0YXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5oaWRlYWJsZUNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0hpZGRlbiA9IHBlcnNpc3RlZENvbHVtbkhpZGRlblN0YXRlID09PSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0SGlkZGVuU3RhdGUoaGlkZGVuOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmRhdGFncmlkPy5kZXRhaWxTZXJ2aWNlPy5pc09wZW4pIHtcbiAgICAgIC8qIHJlYWQgZ3JpZCBzdGF0ZSBpZiBleGlzdGluZyAqL1xuICAgICAgY29uc3QgcGVyc2lzdGVkR3JpZFN0YXRlID0gdGhpcy5yZWFkU3RvcmVkU3RhdGUoKTtcblxuICAgICAgLyogcmVhZCBjb2x1bW4gc3RhdGUgaWYgZXhpc3RpbmcgKi9cbiAgICAgIGlmICghcGVyc2lzdGVkR3JpZFN0YXRlLmNvbHVtbnMpIHtcbiAgICAgICAgcGVyc2lzdGVkR3JpZFN0YXRlLmNvbHVtbnMgPSB7fTtcbiAgICAgIH1cbiAgICAgIGxldCBwZXJzaXN0ZWRDb2x1bW5TdGF0ZSA9IHBlcnNpc3RlZEdyaWRTdGF0ZS5jb2x1bW5zW3RoaXMuY29sdW1uRGlyZWN0aXZlLmNsckRnRmllbGRdO1xuICAgICAgaWYgKCFwZXJzaXN0ZWRDb2x1bW5TdGF0ZSkge1xuICAgICAgICBwZXJzaXN0ZWRDb2x1bW5TdGF0ZSA9IHt9O1xuICAgICAgICBwZXJzaXN0ZWRHcmlkU3RhdGUuY29sdW1uc1t0aGlzLmNvbHVtbkRpcmVjdGl2ZS5jbHJEZ0ZpZWxkXSA9IHBlcnNpc3RlZENvbHVtblN0YXRlO1xuICAgICAgfVxuXG4gICAgICAvKiBzZXQgY29sdW1uIGhpZGRlbiBzdGF0ZSBhbmQgcGVyc2lzdCBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgICBwZXJzaXN0ZWRDb2x1bW5TdGF0ZS5oaWRkZW4gPSBoaWRkZW47XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0YXRlUGVyc2lzdGVuY2VLZXkub3B0aW9ucy5rZXksIEpTT04uc3RyaW5naWZ5KHBlcnNpc3RlZEdyaWRTdGF0ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZFN0b3JlZFN0YXRlKCk6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0YXRlUGVyc2lzdGVuY2VLZXkub3B0aW9ucy5rZXkpKSB8fCB7fTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -2,9 +2,9 @@ import { Directive, Input } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class DatagridFieldDirective {
|
|
4
4
|
}
|
|
5
|
-
DatagridFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
6
|
-
DatagridFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
5
|
+
DatagridFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DatagridFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
+
DatagridFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: DatagridFieldDirective, selector: "[clrDgField]", inputs: { clrDgField: "clrDgField" }, ngImport: i0 });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: DatagridFieldDirective, decorators: [{
|
|
8
8
|
type: Directive,
|
|
9
9
|
args: [{
|
|
10
10
|
selector: '[clrDgField]',
|
package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UvZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsIHtcbiAgcGFnZVNpemU6IG51bWJlcjtcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcbiAgY29sdW1uczogeyBba2V5OiBzdHJpbmddOiBDbHJDb2x1bW5TdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbHJDb2x1bW5TdGF0ZVBlcnNpc3RlbmNlTW9kZWwge1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBmaWx0ZXJWYWx1ZT86IGFueTtcbn1cbiJdfQ==
|
|
@@ -5,10 +5,10 @@ import { StatePersistenceKeyDirective } from './state-persistence-key.directive'
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class ClrDatagridStatePersistenceModule {
|
|
7
7
|
}
|
|
8
|
-
ClrDatagridStatePersistenceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
9
|
-
ClrDatagridStatePersistenceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
10
|
-
ClrDatagridStatePersistenceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
8
|
+
ClrDatagridStatePersistenceModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDatagridStatePersistenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
ClrDatagridStatePersistenceModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ClrDatagridStatePersistenceModule, declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective], exports: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective] });
|
|
10
|
+
ClrDatagridStatePersistenceModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDatagridStatePersistenceModule });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDatagridStatePersistenceModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
declarations: [ColumnHiddenStatePersistenceDirective, DatagridFieldDirective, StatePersistenceKeyDirective],
|
|
@@ -1,38 +1,148 @@
|
|
|
1
|
-
import { ContentChild, Directive, Input } from '@angular/core';
|
|
2
|
-
import { ClrDatagridPagination } from '@clr/angular';
|
|
1
|
+
import { ContentChild, ContentChildren, Directive, Input, QueryList } from '@angular/core';
|
|
2
|
+
import { ClrDatagrid, ClrDatagridFilter, ClrDatagridPagination } from '@clr/angular';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@clr/angular";
|
|
7
|
+
const DATE_TYPE = 'date';
|
|
4
8
|
export class StatePersistenceKeyDirective {
|
|
9
|
+
constructor(datagrid) {
|
|
10
|
+
this.datagrid = datagrid;
|
|
11
|
+
this.useLocalStoreOnly = false;
|
|
12
|
+
this.destroy$ = new Subject();
|
|
13
|
+
}
|
|
5
14
|
ngAfterContentInit() {
|
|
15
|
+
if (this.options.serverDriven) {
|
|
16
|
+
this.init();
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
setTimeout(() => {
|
|
20
|
+
this.init();
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
init() {
|
|
25
|
+
const volatileDataState = this.getVolatileDataState();
|
|
26
|
+
const localStorageState = this.getLocalStorageState();
|
|
27
|
+
this.initFilter(volatileDataState);
|
|
28
|
+
this.initDatagridPersister();
|
|
6
29
|
if (this.pagination && this.pagination.page) {
|
|
7
|
-
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
30
|
+
this.initPageSizePersister(localStorageState);
|
|
31
|
+
this.initCurrentPage(volatileDataState);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
initPageSizePersister(savedState) {
|
|
35
|
+
/* persist page size changes in local storage */
|
|
36
|
+
this.pagination.page.sizeChange.pipe(takeUntil(this.destroy$)).subscribe(pageSize => {
|
|
37
|
+
const state = this.getLocalStorageState();
|
|
38
|
+
state.pageSize = pageSize;
|
|
39
|
+
localStorage.setItem(this.options.key, JSON.stringify(state));
|
|
40
|
+
});
|
|
41
|
+
/* init page size of datagrid if already persisted in local storage */
|
|
42
|
+
if (savedState.pageSize) {
|
|
43
|
+
this.pagination.page.size = savedState.pageSize;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
initCurrentPage(savedState) {
|
|
47
|
+
/* init current page of datagrid if already persisted */
|
|
48
|
+
if (savedState?.currentPage) {
|
|
49
|
+
this.pagination.page.current = savedState.currentPage;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
initFilter(savedState) {
|
|
53
|
+
if (savedState.columns) {
|
|
54
|
+
Object.keys(savedState.columns).forEach(prop => {
|
|
55
|
+
const filter = this.getFilter(prop);
|
|
56
|
+
if (filter) {
|
|
57
|
+
const savedFilterValue = savedState.columns[prop].filterValue || {};
|
|
58
|
+
Object.keys(savedFilterValue)
|
|
59
|
+
.filter(valueKey => valueKey !== 'property')
|
|
60
|
+
.forEach(valueKey => (filter[valueKey] = this.parseFilterValue(savedFilterValue[valueKey])));
|
|
12
61
|
}
|
|
13
|
-
state.pageSize = pageSize;
|
|
14
|
-
localStorage.setItem(this.clrStatePersistenceKey, JSON.stringify(state));
|
|
15
62
|
});
|
|
16
|
-
/* init page size of datagrid if already persisted in local storage */
|
|
17
|
-
const loadedState = JSON.parse(localStorage.getItem(this.clrStatePersistenceKey));
|
|
18
|
-
if (loadedState?.pageSize) {
|
|
19
|
-
/* postpone set size to other cycle as it is already set in this change detection cycle */
|
|
20
|
-
setTimeout(() => (this.pagination.page.size = loadedState.pageSize));
|
|
21
|
-
}
|
|
22
63
|
}
|
|
23
64
|
}
|
|
65
|
+
initDatagridPersister() {
|
|
66
|
+
this.datagrid.refresh.pipe(takeUntil(this.destroy$)).subscribe(dgState => {
|
|
67
|
+
const state = this.getVolatileDataState();
|
|
68
|
+
state.currentPage = dgState.page?.current;
|
|
69
|
+
state.columns = state.columns || {};
|
|
70
|
+
Object.keys(state.columns).forEach(prop => (state.columns[prop].filterValue = undefined));
|
|
71
|
+
dgState.filters?.forEach(filter => {
|
|
72
|
+
const property = this.getFilterPropertyName(filter);
|
|
73
|
+
if (property) {
|
|
74
|
+
state.columns[property] = state.columns[property] || {};
|
|
75
|
+
state.columns[property].filterValue = this.enrichFilterValue(filter);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
(this.useLocalStoreOnly ? localStorage : sessionStorage).setItem(this.options.key, JSON.stringify(state));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Gets the state of volatile data. This can be influenced by clrUseLocalStoreOnly.
|
|
83
|
+
*/
|
|
84
|
+
getVolatileDataState() {
|
|
85
|
+
return JSON.parse((this.useLocalStoreOnly ? localStorage : sessionStorage).getItem(this.options.key)) || {};
|
|
86
|
+
}
|
|
87
|
+
getLocalStorageState() {
|
|
88
|
+
return JSON.parse(localStorage.getItem(this.options.key)) || {};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* As a date is serialized as string, but not deserialized as date
|
|
92
|
+
* we need to add some meta information to do that manually later
|
|
93
|
+
*/
|
|
94
|
+
enrichFilterValue(filter) {
|
|
95
|
+
const result = {};
|
|
96
|
+
Object.keys(filter).forEach(key => (result[key] =
|
|
97
|
+
filter[key] instanceof Date
|
|
98
|
+
? {
|
|
99
|
+
type: DATE_TYPE,
|
|
100
|
+
value: filter[key],
|
|
101
|
+
}
|
|
102
|
+
: filter[key]));
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Parse filter values with meta information like date, which needs manual deserialization to a date object
|
|
107
|
+
*/
|
|
108
|
+
parseFilterValue(value) {
|
|
109
|
+
return value?.type === DATE_TYPE
|
|
110
|
+
? new Date(value.value)
|
|
111
|
+
: value;
|
|
112
|
+
}
|
|
113
|
+
getFilter(prop) {
|
|
114
|
+
// get default filter or custom filter
|
|
115
|
+
return (this.datagrid.columns.find(col => col.field === prop)?.filter ||
|
|
116
|
+
this.customFilters.find(filter => this.getFilterPropertyName(filter.filter) === prop)?.filter);
|
|
117
|
+
}
|
|
118
|
+
getFilterPropertyName(filter) {
|
|
119
|
+
// for NestedProperty we need to get the original property
|
|
120
|
+
const filterWithProp = filter;
|
|
121
|
+
return (filterWithProp.property?.prop || filterWithProp.property);
|
|
122
|
+
}
|
|
123
|
+
ngOnDestroy() {
|
|
124
|
+
this.destroy$.next();
|
|
125
|
+
this.destroy$.complete();
|
|
126
|
+
}
|
|
24
127
|
}
|
|
25
|
-
StatePersistenceKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
26
|
-
StatePersistenceKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
128
|
+
StatePersistenceKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: StatePersistenceKeyDirective, deps: [{ token: i1.ClrDatagrid }], target: i0.ɵɵFactoryTarget.Directive });
|
|
129
|
+
StatePersistenceKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.8", type: StatePersistenceKeyDirective, selector: "[clrStatePersistenceKey]", inputs: { options: ["clrStatePersistenceKey", "options"], useLocalStoreOnly: ["clrUseLocalStoreOnly", "useLocalStoreOnly"] }, queries: [{ propertyName: "pagination", first: true, predicate: ClrDatagridPagination, descendants: true }, { propertyName: "customFilters", predicate: ClrDatagridFilter, descendants: true }], ngImport: i0 });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: StatePersistenceKeyDirective, decorators: [{
|
|
28
131
|
type: Directive,
|
|
29
132
|
args: [{
|
|
30
133
|
selector: '[clrStatePersistenceKey]',
|
|
31
134
|
}]
|
|
32
|
-
}], propDecorators: {
|
|
33
|
-
type: Input
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i1.ClrDatagrid }]; }, propDecorators: { options: [{
|
|
136
|
+
type: Input,
|
|
137
|
+
args: ['clrStatePersistenceKey']
|
|
138
|
+
}], useLocalStoreOnly: [{
|
|
139
|
+
type: Input,
|
|
140
|
+
args: ['clrUseLocalStoreOnly']
|
|
34
141
|
}], pagination: [{
|
|
35
142
|
type: ContentChild,
|
|
36
143
|
args: [ClrDatagridPagination]
|
|
144
|
+
}], customFilters: [{
|
|
145
|
+
type: ContentChildren,
|
|
146
|
+
args: [ClrDatagridFilter, { descendants: true }]
|
|
37
147
|
}] } });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBTXJELE1BQU0sT0FBTyw0QkFBNEI7SUFPdkMsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUMzQyxnREFBZ0Q7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDbkQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFxQyxDQUFDO2dCQUM5RyxJQUFJLENBQUMsS0FBSyxFQUFFO29CQUNWLEtBQUssR0FBRyxFQUFzQyxDQUFDO2lCQUNoRDtnQkFDRCxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFDMUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNFLENBQUMsQ0FBQyxDQUFDO1lBRUgsc0VBQXNFO1lBQ3RFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLElBQUksV0FBVyxFQUFFLFFBQVEsRUFBRTtnQkFDekIsMEZBQTBGO2dCQUMxRixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDdEU7U0FDRjtJQUNILENBQUM7O3lIQTFCVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixzS0FJekIscUJBQXFCOzJGQUp4Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtpQkFDckM7OEJBR0Msc0JBQXNCO3NCQURyQixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckRhdGFncmlkUGFnaW5hdGlvbiB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZFN0YXRlUGVyc2lzdGVuY2VNb2RlbCB9IGZyb20gJy4vZGF0YWdyaWQtc3RhdGUtcGVyc2lzdGVuY2UtbW9kZWwuaW50ZXJmYWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclN0YXRlUGVyc2lzdGVuY2VLZXldJyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKVxuICBjbHJTdGF0ZVBlcnNpc3RlbmNlS2V5OiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZChDbHJEYXRhZ3JpZFBhZ2luYXRpb24pXG4gIHBhZ2luYXRpb246IENsckRhdGFncmlkUGFnaW5hdGlvbjtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMucGFnaW5hdGlvbiAmJiB0aGlzLnBhZ2luYXRpb24ucGFnZSkge1xuICAgICAgLyogcGVyc2lzdCBwYWdlIHNpemUgY2hhbmdlcyBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgICB0aGlzLnBhZ2luYXRpb24ucGFnZS5zaXplQ2hhbmdlLnN1YnNjcmliZShwYWdlU2l6ZSA9PiB7XG4gICAgICAgIGxldCBzdGF0ZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KSkgYXMgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWw7XG4gICAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgICBzdGF0ZSA9IHt9IGFzIENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLnBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuY2xyU3RhdGVQZXJzaXN0ZW5jZUtleSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgICAgIH0pO1xuXG4gICAgICAvKiBpbml0IHBhZ2Ugc2l6ZSBvZiBkYXRhZ3JpZCBpZiBhbHJlYWR5IHBlcnNpc3RlZCBpbiBsb2NhbCBzdG9yYWdlICovXG4gICAgICBjb25zdCBsb2FkZWRTdGF0ZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5jbHJTdGF0ZVBlcnNpc3RlbmNlS2V5KSk7XG4gICAgICBpZiAobG9hZGVkU3RhdGU/LnBhZ2VTaXplKSB7XG4gICAgICAgIC8qIHBvc3Rwb25lIHNldCBzaXplIHRvIG90aGVyIGN5Y2xlIGFzIGl0IGlzIGFscmVhZHkgc2V0IGluIHRoaXMgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSAqL1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLnBhZ2luYXRpb24ucGFnZS5zaXplID0gbG9hZGVkU3RhdGUucGFnZVNpemUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtcGVyc2lzdGVuY2Uta2V5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2RhdGFncmlkL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlL3N0YXRlLXBlcnNpc3RlbmNlLWtleS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQThCLHFCQUFxQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFM0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBVXpCLE1BQU0sT0FBTyw0QkFBNEI7SUFldkMsWUFBb0IsUUFBcUI7UUFBckIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQVZ6QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFRMUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFYSxDQUFDO0lBRTdDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDTCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sSUFBSTtRQUNWLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9C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LE9BQU8sQ0FBRSxjQUFjLENBQUMsUUFBb0MsRUFBRSxJQUFJLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBVyxDQUFDO0lBQzNHLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3lIQXhKVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixzT0FPekIscUJBQXFCLG1FQUdsQixpQkFBaUI7MkZBVnZCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2lCQUNyQztrR0FHQyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUkvQixpQkFBaUI7c0JBRGhCLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUk3QixVQUFVO3NCQURULFlBQVk7dUJBQUMscUJBQXFCO2dCQUluQyxhQUFhO3NCQURaLGVBQWU7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIERpcmVjdGl2ZSwgSW5wdXQsIE9uRGVzdHJveSwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZCwgQ2xyRGF0YWdyaWRGaWx0ZXIsIENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlLCBDbHJEYXRhZ3JpZFBhZ2luYXRpb24gfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwgfSBmcm9tICcuL2RhdGFncmlkLXN0YXRlLXBlcnNpc3RlbmNlLW1vZGVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNvbnN0IERBVEVfVFlQRSA9ICdkYXRlJztcblxuaW50ZXJmYWNlIEZpbHRlclZhbHVlV2l0aE1ldGFkYXRhIHtcbiAgdHlwZTogc3RyaW5nO1xuICB2YWx1ZTogdW5rbm93bjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NsclN0YXRlUGVyc2lzdGVuY2VLZXldJyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdGVQZXJzaXN0ZW5jZUtleURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgnY2xyU3RhdGVQZXJzaXN0ZW5jZUtleScpXG4gIG9wdGlvbnM6IHsga2V5OiBzdHJpbmc7IHNlcnZlckRyaXZlbjogYm9vbGVhbiB9O1xuXG4gIEBJbnB1dCgnY2xyVXNlTG9jYWxTdG9yZU9ubHknKVxuICB1c2VMb2NhbFN0b3JlT25seSA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoQ2xyRGF0YWdyaWRQYWdpbmF0aW9uKVxuICBwYWdpbmF0aW9uOiBDbHJEYXRhZ3JpZFBhZ2luYXRpb247XG5cbiAgQENvbnRlbnRDaGlsZHJlbihDbHJEYXRhZ3JpZEZpbHRlciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBjdXN0b21GaWx0ZXJzOiBRdWVyeUxpc3Q8Q2xyRGF0YWdyaWRGaWx0ZXI+O1xuXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFncmlkOiBDbHJEYXRhZ3JpZCkge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zZXJ2ZXJEcml2ZW4pIHtcbiAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXQoKSB7XG4gICAgY29uc3Qgdm9sYXRpbGVEYXRhU3RhdGUgPSB0aGlzLmdldFZvbGF0aWxlRGF0YVN0YXRlKCk7XG4gICAgY29uc3QgbG9jYWxTdG9yYWdlU3RhdGUgPSB0aGlzLmdldExvY2FsU3RvcmFnZVN0YXRlKCk7XG5cbiAgICB0aGlzLmluaXRGaWx0ZXIodm9sYXRpbGVEYXRhU3RhdGUpO1xuICAgIHRoaXMuaW5pdERhdGFncmlkUGVyc2lzdGVyKCk7XG5cbiAgICBpZiAodGhpcy5wYWdpbmF0aW9uICYmIHRoaXMucGFnaW5hdGlvbi5wYWdlKSB7XG4gICAgICB0aGlzLmluaXRQYWdlU2l6ZVBlcnNpc3Rlcihsb2NhbFN0b3JhZ2VTdGF0ZSk7XG4gICAgICB0aGlzLmluaXRDdXJyZW50UGFnZSh2b2xhdGlsZURhdGFTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGFnZVNpemVQZXJzaXN0ZXIoc2F2ZWRTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwpIHtcbiAgICAvKiBwZXJzaXN0IHBhZ2Ugc2l6ZSBjaGFuZ2VzIGluIGxvY2FsIHN0b3JhZ2UgKi9cbiAgICB0aGlzLnBhZ2luYXRpb24ucGFnZS5zaXplQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUocGFnZVNpemUgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldExvY2FsU3RvcmFnZVN0YXRlKCk7XG4gICAgICBzdGF0ZS5wYWdlU2l6ZSA9IHBhZ2VTaXplO1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5vcHRpb25zLmtleSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgICB9KTtcblxuICAgIC8qIGluaXQgcGFnZSBzaXplIG9mIGRhdGFncmlkIGlmIGFscmVhZHkgcGVyc2lzdGVkIGluIGxvY2FsIHN0b3JhZ2UgKi9cbiAgICBpZiAoc2F2ZWRTdGF0ZS5wYWdlU2l6ZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2l6ZSA9IHNhdmVkU3RhdGUucGFnZVNpemU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q3VycmVudFBhZ2Uoc2F2ZWRTdGF0ZTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwpIHtcbiAgICAvKiBpbml0IGN1cnJlbnQgcGFnZSBvZiBkYXRhZ3JpZCBpZiBhbHJlYWR5IHBlcnNpc3RlZCAqL1xuICAgIGlmIChzYXZlZFN0YXRlPy5jdXJyZW50UGFnZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2UuY3VycmVudCA9IHNhdmVkU3RhdGUuY3VycmVudFBhZ2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0RmlsdGVyKHNhdmVkU3RhdGU6IENsckRhdGFncmlkU3RhdGVQZXJzaXN0ZW5jZU1vZGVsKSB7XG4gICAgaWYgKHNhdmVkU3RhdGUuY29sdW1ucykge1xuICAgICAgT2JqZWN0LmtleXMoc2F2ZWRTdGF0ZS5jb2x1bW5zKS5mb3JFYWNoKHByb3AgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmdldEZpbHRlcihwcm9wKTtcbiAgICAgICAgaWYgKGZpbHRlcikge1xuICAgICAgICAgIGNvbnN0IHNhdmVkRmlsdGVyVmFsdWUgPSBzYXZlZFN0YXRlLmNvbHVtbnNbcHJvcF0uZmlsdGVyVmFsdWUgfHwge307XG4gICAgICAgICAgT2JqZWN0LmtleXMoc2F2ZWRGaWx0ZXJWYWx1ZSlcbiAgICAgICAgICAgIC5maWx0ZXIodmFsdWVLZXkgPT4gdmFsdWVLZXkgIT09ICdwcm9wZXJ0eScpXG4gICAgICAgICAgICAuZm9yRWFjaCh2YWx1ZUtleSA9PiAoKGZpbHRlciBhcyBhbnkpW3ZhbHVlS2V5XSA9IHRoaXMucGFyc2VGaWx0ZXJWYWx1ZShzYXZlZEZpbHRlclZhbHVlW3ZhbHVlS2V5XSkpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0RGF0YWdyaWRQZXJzaXN0ZXIoKSB7XG4gICAgdGhpcy5kYXRhZ3JpZC5yZWZyZXNoLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoZGdTdGF0ZSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0Vm9sYXRpbGVEYXRhU3RhdGUoKTtcblxuICAgICAgc3RhdGUuY3VycmVudFBhZ2UgPSBkZ1N0YXRlLnBhZ2U/LmN1cnJlbnQ7XG4gICAgICBzdGF0ZS5jb2x1bW5zID0gc3RhdGUuY29sdW1ucyB8fCB7fTtcbiAgICAgIE9iamVjdC5rZXlzKHN0YXRlLmNvbHVtbnMpLmZvckVhY2gocHJvcCA9PiAoc3RhdGUuY29sdW1uc1twcm9wXS5maWx0ZXJWYWx1ZSA9IHVuZGVmaW5lZCkpO1xuICAgICAgZGdTdGF0ZS5maWx0ZXJzPy5mb3JFYWNoKGZpbHRlciA9PiB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5ID0gdGhpcy5nZXRGaWx0ZXJQcm9wZXJ0eU5hbWUoZmlsdGVyKTtcbiAgICAgICAgaWYgKHByb3BlcnR5KSB7XG4gICAgICAgICAgc3RhdGUuY29sdW1uc1twcm9wZXJ0eV0gPSBzdGF0ZS5jb2x1bW5zW3Byb3BlcnR5XSB8fCB7fTtcbiAgICAgICAgICBzdGF0ZS5jb2x1bW5zW3Byb3BlcnR5XS5maWx0ZXJWYWx1ZSA9IHRoaXMuZW5yaWNoRmlsdGVyVmFsdWUoZmlsdGVyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgICh0aGlzLnVzZUxvY2FsU3RvcmVPbmx5ID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2UpLnNldEl0ZW0odGhpcy5vcHRpb25zLmtleSwgSlNPTi5zdHJpbmdpZnkoc3RhdGUpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzdGF0ZSBvZiB2b2xhdGlsZSBkYXRhLiBUaGlzIGNhbiBiZSBpbmZsdWVuY2VkIGJ5IGNsclVzZUxvY2FsU3RvcmVPbmx5LlxuICAgKi9cbiAgZ2V0Vm9sYXRpbGVEYXRhU3RhdGUoKTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwge1xuICAgIHJldHVybiBKU09OLnBhcnNlKCh0aGlzLnVzZUxvY2FsU3RvcmVPbmx5ID8gbG9jYWxTdG9yYWdlIDogc2Vzc2lvblN0b3JhZ2UpLmdldEl0ZW0odGhpcy5vcHRpb25zLmtleSkpIHx8IHt9O1xuICB9XG5cbiAgZ2V0TG9jYWxTdG9yYWdlU3RhdGUoKTogQ2xyRGF0YWdyaWRTdGF0ZVBlcnNpc3RlbmNlTW9kZWwge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMub3B0aW9ucy5rZXkpKSB8fCB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcyBhIGRhdGUgaXMgc2VyaWFsaXplZCBhcyBzdHJpbmcsIGJ1dCBub3QgZGVzZXJpYWxpemVkIGFzIGRhdGVcbiAgICogd2UgbmVlZCB0byBhZGQgc29tZSBtZXRhIGluZm9ybWF0aW9uIHRvIGRvIHRoYXQgbWFudWFsbHkgbGF0ZXJcbiAgICovXG4gIHByaXZhdGUgZW5yaWNoRmlsdGVyVmFsdWUoZmlsdGVyOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgT2JqZWN0LmtleXMoZmlsdGVyKS5mb3JFYWNoKFxuICAgICAga2V5ID0+XG4gICAgICAgIChyZXN1bHRba2V5XSA9XG4gICAgICAgICAgZmlsdGVyW2tleV0gaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogREFURV9UWVBFLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXJba2V5XSxcbiAgICAgICAgICAgICAgfSBhcyBGaWx0ZXJWYWx1ZVdpdGhNZXRhZGF0YSlcbiAgICAgICAgICAgIDogZmlsdGVyW2tleV0pXG4gICAgKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgZmlsdGVyIHZhbHVlcyB3aXRoIG1ldGEgaW5mb3JtYXRpb24gbGlrZSBkYXRlLCB3aGljaCBuZWVkcyBtYW51YWwgZGVzZXJpYWxpemF0aW9uIHRvIGEgZGF0ZSBvYmplY3RcbiAgICovXG4gIHByaXZhdGUgcGFyc2VGaWx0ZXJWYWx1ZSh2YWx1ZTogdW5rbm93bik6IHVua25vd24ge1xuICAgIHJldHVybiAodmFsdWUgYXMgRmlsdGVyVmFsdWVXaXRoTWV0YWRhdGEpPy50eXBlID09PSBEQVRFX1RZUEVcbiAgICAgID8gbmV3IERhdGUoKHZhbHVlIGFzIEZpbHRlclZhbHVlV2l0aE1ldGFkYXRhKS52YWx1ZSBhcyBzdHJpbmcpXG4gICAgICA6IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWx0ZXIocHJvcDogc3RyaW5nKTogQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8dW5rbm93biwgdW5rbm93bj4ge1xuICAgIC8vIGdldCBkZWZhdWx0IGZpbHRlciBvciBjdXN0b20gZmlsdGVyXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZGF0YWdyaWQuY29sdW1ucy5maW5kKGNvbCA9PiBjb2wuZmllbGQgPT09IHByb3ApPy5maWx0ZXIgfHxcbiAgICAgIHRoaXMuY3VzdG9tRmlsdGVycy5maW5kKGZpbHRlciA9PiB0aGlzLmdldEZpbHRlclByb3BlcnR5TmFtZShmaWx0ZXIuZmlsdGVyKSA9PT0gcHJvcCk/LmZpbHRlclxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbHRlclByb3BlcnR5TmFtZShmaWx0ZXI6IENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlPHVua25vd24sIHVua25vd24+KTogc3RyaW5nIHtcbiAgICAvLyBmb3IgTmVzdGVkUHJvcGVydHkgd2UgbmVlZCB0byBnZXQgdGhlIG9yaWdpbmFsIHByb3BlcnR5XG4gICAgY29uc3QgZmlsdGVyV2l0aFByb3AgPSBmaWx0ZXIgYXMgdW5rbm93biBhcyB7IHByb3BlcnR5OiB1bmtub3duIH07XG4gICAgcmV0dXJuICgoZmlsdGVyV2l0aFByb3AucHJvcGVydHkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pPy5wcm9wIHx8IGZpbHRlcldpdGhQcm9wLnByb3BlcnR5KSBhcyBzdHJpbmc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -22,6 +22,9 @@ export class ClrDateFilterComponent {
|
|
|
22
22
|
set property(value) {
|
|
23
23
|
this.nestedProp = new NestedProperty(value);
|
|
24
24
|
}
|
|
25
|
+
get property() {
|
|
26
|
+
return this.nestedProp.prop;
|
|
27
|
+
}
|
|
25
28
|
get maxPlaceholderValue() {
|
|
26
29
|
return this.maxPlaceholder || this.commonStrings.keys.maxValue;
|
|
27
30
|
}
|
|
@@ -110,9 +113,9 @@ export class ClrDateFilterComponent {
|
|
|
110
113
|
return other === this;
|
|
111
114
|
}
|
|
112
115
|
}
|
|
113
|
-
ClrDateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
114
|
-
ClrDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
116
|
+
ClrDateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDateFilterComponent, deps: [{ token: i1.ClrDatagridFilter }, { token: i1.ClrCommonStringsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
+
ClrDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ClrDateFilterComponent, selector: "clr-date-filter", inputs: { property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ClrDateContainer, selector: "clr-date-container", inputs: ["clrPosition"] }, { kind: "directive", type: i1.ClrDateInput, selector: "[clrDate]", inputs: ["placeholder", "clrDate", "min", "max", "disabled"], outputs: ["clrDateChange"] }, { kind: "directive", type: i1.ClrDateInputValidator, selector: "[clrDate]" }] });
|
|
118
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDateFilterComponent, decorators: [{
|
|
116
119
|
type: Component,
|
|
117
120
|
args: [{ selector: 'clr-date-filter', template: "<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n" }]
|
|
118
121
|
}], ctorParameters: function () { return [{ type: i1.ClrDatagridFilter }, { type: i1.ClrCommonStringsService }]; }, propDecorators: { property: [{
|
|
@@ -131,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
131
134
|
type: Output,
|
|
132
135
|
args: ['clrFilterValueChange']
|
|
133
136
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQThCLE1BQU0sY0FBYyxDQUFDO0FBQ3RHLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUFZLGVBQWtDLEVBQVUsYUFBc0M7UUFBdEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBc0M5RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZFOztXQUVHO1FBQ0ssVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsUUFBRyxHQUFnQixJQUFJLENBQUM7UUF3RGhDOztXQUVHO1FBQ0ssYUFBUSxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBdEc3QyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFORCxJQUEwQixRQUFRLENBQUMsS0FBYTtRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFXRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pFLENBQUM7SUFJRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxJQUNXLEtBQUssQ0FBQyxNQUFvQjtRQUNuQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsSUFBSSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNsRSxJQUFJLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtvQkFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3hCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2lCQUNuQjtnQkFDRCxJQUFJLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsRUFBRTtvQkFDakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO2lCQUNqQjtnQkFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1QjtTQUNGO0lBQ0gsQ0FBQztJQVVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxJQUFJLENBQUMsSUFBVTtRQUN4QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNuRCxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDO2FBQzVEO1lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBVyxFQUFFLENBQUMsRUFBUTtRQUNwQixJQUFJLE9BQU8sRUFBRSxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM3QyxJQUFJLEVBQUUsSUFBSSxPQUFPLEVBQUUsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUMzQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO2FBQzNEO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQU87UUFDYixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVFLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDakMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBQVksSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtZQUN2RyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBQVksSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtZQUNuRyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBTUQscUZBQXFGO0lBQ3JGLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQXlDO1FBQ3JELE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztJQUN4QixDQUFDOzttSEE3SFUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb1VDVm5DLGloQkFxQkE7MkZEWGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQjs4SUFNRCxRQUFRO3NCQUFqQyxLQUFLO3VCQUFDLGFBQWE7Z0JBV2MsY0FBYztzQkFBL0MsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBTUUsY0FBYztzQkFBL0MsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBT3JCLEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBbUJTLGlCQUFpQjtzQkFBaEQsTUFBTTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UsIENsckRhdGFncmlkRmlsdGVyLCBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZSB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZXN0ZWRQcm9wZXJ0eSB9IGZyb20gJy4vbmVzdGVkLXByb3BlcnR5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWRhdGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRGF0ZUZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfT4gaW1wbGVtZW50cyBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxUPiB7XG4gIHByaXZhdGUgbmVzdGVkUHJvcDogTmVzdGVkUHJvcGVydHk8YW55PjtcbiAgQElucHV0KCdjbHJQcm9wZXJ0eScpIHNldCBwcm9wZXJ0eSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5uZXN0ZWRQcm9wID0gbmV3IE5lc3RlZFByb3BlcnR5KHZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZpbHRlckNvbnRhaW5lcjogQ2xyRGF0YWdyaWRGaWx0ZXIsIHByaXZhdGUgY29tbW9uU3RyaW5nczogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UpIHtcbiAgICBmaWx0ZXJDb250YWluZXIuc2V0RmlsdGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgYSB3YXkgdG8gcGFzcyBleHRlcm5hbCBwbGFjZWhvbGRlciBhbmQgYXJpYS1sYWJlbCB0byB0aGUgZmlsdGVyIGlucHV0XG4gICAqL1xuICBASW5wdXQoJ2NsckZpbHRlck1heFBsYWNlaG9sZGVyJykgbWF4UGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBnZXQgbWF4UGxhY2Vob2xkZXJWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXhQbGFjZWhvbGRlciB8fCB0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5tYXhWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRmlsdGVyTWluUGxhY2Vob2xkZXInKSBtaW5QbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIGdldCBtaW5QbGFjZWhvbGRlclZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLm1pblBsYWNlaG9sZGVyIHx8IHRoaXMuY29tbW9uU3RyaW5ncy5rZXlzLm1pblZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdjbHJGaWx0ZXJWYWx1ZScpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWVzOiBbRGF0ZSwgRGF0ZV0pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpKSB7XG4gICAgICBpZiAodmFsdWVzICYmICh2YWx1ZXNbMF0gIT09IHRoaXMuX2Zyb20gfHwgdmFsdWVzWzFdICE9PSB0aGlzLl90bykpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZXNbMF0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5fZnJvbSA9IHZhbHVlc1swXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9mcm9tID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlc1sxXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICB0aGlzLl90byA9IHZhbHVlc1sxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90byA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2hhbmdlcy5uZXh0KHZhbHVlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgnY2xyRmlsdGVyVmFsdWVDaGFuZ2UnKSBmaWx0ZXJWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogSW50ZXJuYWwgdmFsdWVzIGFuZCBhY2Nlc3NvclxuICAgKi9cbiAgcHJpdmF0ZSBfZnJvbTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90bzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZnJvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZnJvbTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZnJvbShmcm9tOiBEYXRlKSB7XG4gICAgaWYgKHR5cGVvZiBmcm9tID09PSAnb2JqZWN0JyAmJiBmcm9tICE9PSB0aGlzLl9mcm9tKSB7XG4gICAgICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbS5zZXRIb3VycyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBmcm9tLnNldEhvdXJzKDAsIDAsIDAsIDApOyAvLyBzZXQgZnJvbS1kYXRlIHRvIHN0YXJ0IG9mIGRheVxuICAgICAgfVxuICAgICAgdGhpcy5fZnJvbSA9IGZyb207XG4gICAgICB0aGlzLl9jaGFuZ2VzLm5leHQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgICB0aGlzLmZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB0bygpIHtcbiAgICByZXR1cm4gdGhpcy5fdG87XG4gIH1cblxuICBwdWJsaWMgc2V0IHRvKHRvOiBEYXRlKSB7XG4gICAgaWYgKHR5cGVvZiB0byA9PT0gJ29iamVjdCcgJiYgdG8gIT09IHRoaXMuX3RvKSB7XG4gICAgICBpZiAodG8gJiYgdHlwZW9mIHRvLnNldEhvdXJzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRvLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7IC8vIHNldCB0by1kYXRlIHRvIGVuZCBvZiBkYXlcbiAgICAgIH1cbiAgICAgIHRoaXMuX3RvID0gdG87XG4gICAgICB0aGlzLl9jaGFuZ2VzLm5leHQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgICB0aGlzLmZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgZmlsdGVyIGlzIGN1cnJlbnRseSBhY3RpdmUsIChhdCBsZWFzdCBvbmUgaW5wdXQgaXMgc2V0KVxuICAgKi9cbiAgcHVibGljIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mcm9tICE9PSBudWxsIHx8IHRoaXMuX3RvICE9PSBudWxsO1xuICB9XG5cbiAgYWNjZXB0cyhpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgbGV0IHByb3BWYWx1ZSA9IHRoaXMubmVzdGVkUHJvcCA/IHRoaXMubmVzdGVkUHJvcC5nZXRQcm9wVmFsdWUoaXRlbSkgOiBpdGVtO1xuICAgIGlmIChwcm9wVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHByb3BWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHByb3BWYWx1ZSA9IG5ldyBEYXRlKHByb3BWYWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9mcm9tICE9PSBudWxsICYmICghKHByb3BWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHx8IHByb3BWYWx1ZS5nZXRUaW1lKCkgPCB0aGlzLl9mcm9tLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3RvICE9PSBudWxsICYmICghKHByb3BWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHx8IHByb3BWYWx1ZS5nZXRUaW1lKCkgPiB0aGlzLl90by5nZXRUaW1lKCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNlcnZhYmxlIHJlcXVpcmVkIGFzIHBhcnQgb2YgdGhlIEZpbHRlciBpbnRlcmZhY2VcbiAgICovXG4gIHByaXZhdGUgX2NoYW5nZXMgPSBuZXcgU3ViamVjdDxbRGF0ZSwgRGF0ZV0+KCk7XG4gIC8vIFdlIGRvIG5vdCB3YW50IHRvIGV4cG9zZSB0aGUgU3ViamVjdCBpdHNlbGYsIGJ1dCB0aGUgT2JzZXJ2YWJsZSB3aGljaCBpcyByZWFkLW9ubHlcbiAgcHVibGljIGdldCBjaGFuZ2VzKCk6IE9ic2VydmFibGU8W0RhdGUsIERhdGVdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnR5OiB0aGlzLm5lc3RlZFByb3AsXG4gICAgICBmcm9tOiB0aGlzLl9mcm9tLFxuICAgICAgdG86IHRoaXMuX3RvLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZXF1YWxzKG90aGVyOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxULCBhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG90aGVyID09PSB0aGlzO1xuICB9XG59XG4iLCI8Y2xyLWRhdGUtY29udGFpbmVyPlxuICA8aW5wdXRcbiAgICAjaW5wdXRfZnJvbVxuICAgIHR5cGU9XCJkYXRlXCJcbiAgICBuYW1lPVwiZnJvbVwiXG4gICAgY2xhc3M9XCJkYXRhZ3JpZC1kYXRlLWZpbHRlci1pbnB1dFwiXG4gICAgWyhjbHJEYXRlKV09XCJmcm9tXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwibWluUGxhY2Vob2xkZXJWYWx1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtaW5QbGFjZWhvbGRlclZhbHVlXCJcbiAgLz5cbjwvY2xyLWRhdGUtY29udGFpbmVyPlxuPGNsci1kYXRlLWNvbnRhaW5lcj5cbiAgPGlucHV0XG4gICAgdHlwZT1cImRhdGVcIlxuICAgIG5hbWU9XCJ0b1wiXG4gICAgY2xhc3M9XCJkYXRhZ3JpZC1kYXRlLWZpbHRlci1pbnB1dFwiXG4gICAgWyhjbHJEYXRlKV09XCJ0b1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cIm1heFBsYWNlaG9sZGVyVmFsdWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibWF4UGxhY2Vob2xkZXJWYWx1ZVwiXG4gIC8+XG48L2Nsci1kYXRlLWNvbnRhaW5lcj5cbiJdfQ==
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQThCLE1BQU0sY0FBYyxDQUFDO0FBQ3RHLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUFZLGVBQWtDLEVBQVUsYUFBc0M7UUFBdEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBc0M5RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZFOztXQUVHO1FBQ0ssVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDMUIsUUFBRyxHQUFnQixJQUFJLENBQUM7UUF3RGhDOztXQUVHO1FBQ0ssYUFBUSxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBdEc3QyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFWRCxJQUEwQixRQUFRLENBQUMsS0FBYTtRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFD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SztRQUNkLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQXlDO1FBQ3JELE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztJQUN4QixDQUFDOzttSEFuSVUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb1VDVm5DLGloQkFxQkE7MkZEWGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQjs4SUFPRCxRQUFRO3NCQUFqQyxLQUFLO3VCQUFDLGFBQWE7Z0JBZWMsY0FBYztzQkFBL0MsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBTUUsY0FBYztzQkFBL0MsS0FBSzt1QkFBQyx5QkFBeUI7Z0JBT3JCLEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBbUJTLGlCQUFpQjtzQkFBaEQsTUFBTTt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UsIENsckRhdGFncmlkRmlsdGVyLCBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZSB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZXN0ZWRQcm9wZXJ0eSB9IGZyb20gJy4vbmVzdGVkLXByb3BlcnR5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWRhdGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRGF0ZUZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfT4gaW1wbGVtZW50cyBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxUPiB7XG4gIHByaXZhdGUgbmVzdGVkUHJvcDogTmVzdGVkUHJvcGVydHk8YW55PjtcblxuICBASW5wdXQoJ2NsclByb3BlcnR5Jykgc2V0IHByb3BlcnR5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5lc3RlZFByb3AgPSBuZXcgTmVzdGVkUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgZ2V0IHByb3BlcnR5KCkge1xuICAgIHJldHVybiB0aGlzLm5lc3RlZFByb3AucHJvcDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZpbHRlckNvbnRhaW5lcjogQ2xyRGF0YWdyaWRGaWx0ZXIsIHByaXZhdGUgY29tbW9uU3RyaW5nczogQ2xyQ29tbW9uU3RyaW5nc1NlcnZpY2UpIHtcbiAgICBmaWx0ZXJDb250YWluZXIuc2V0RmlsdGVyKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgYSB3YXkgdG8gcGFzcyBleHRlcm5hbCBwbGFjZWhvbGRlciBhbmQgYXJpYS1sYWJlbCB0byB0aGUgZmlsdGVyIGlucHV0XG4gICAqL1xuICBASW5wdXQoJ2NsckZpbHRlck1heFBsYWNlaG9sZGVyJykgbWF4UGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBnZXQgbWF4UGxhY2Vob2xkZXJWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXhQbGFjZWhvbGRlciB8fCB0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5tYXhWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRmlsdGVyTWluUGxhY2Vob2xkZXInKSBtaW5QbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIGdldCBtaW5QbGFjZWhvbGRlclZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLm1pblBsYWNlaG9sZGVyIHx8IHRoaXMuY29tbW9uU3RyaW5ncy5rZXlzLm1pblZhbHVlO1xuICB9XG5cbiAgQElucHV0KCdjbHJGaWx0ZXJWYWx1ZScpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWVzOiBbRGF0ZSwgRGF0ZV0pIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXMpKSB7XG4gICAgICBpZiAodmFsdWVzICYmICh2YWx1ZXNbMF0gIT09IHRoaXMuX2Zyb20gfHwgdmFsdWVzWzFdICE9PSB0aGlzLl90bykpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZXNbMF0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5fZnJvbSA9IHZhbHVlc1swXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9mcm9tID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlc1sxXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICB0aGlzLl90byA9IHZhbHVlc1sxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90byA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2hhbmdlcy5uZXh0KHZhbHVlcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgnY2xyRmlsdGVyVmFsdWVDaGFuZ2UnKSBmaWx0ZXJWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogSW50ZXJuYWwgdmFsdWVzIGFuZCBhY2Nlc3NvclxuICAgKi9cbiAgcHJpdmF0ZSBfZnJvbTogRGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90bzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgZnJvbSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZnJvbTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZnJvbShmcm9tOiBEYXRlKSB7XG4gICAgaWYgKHR5cGVvZiBmcm9tID09PSAnb2JqZWN0JyAmJiBmcm9tICE9PSB0aGlzLl9mcm9tKSB7XG4gICAgICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbS5zZXRIb3VycyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBmcm9tLnNldEhvdXJzKDAsIDAsIDAsIDApOyAvLyBzZXQgZnJvbS1kYXRlIHRvIHN0YXJ0IG9mIGRheVxuICAgICAgfVxuICAgICAgdGhpcy5fZnJvbSA9IGZyb207XG4gICAgICB0aGlzLl9jaGFuZ2VzLm5leHQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgICB0aGlzLmZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB0bygpIHtcbiAgICByZXR1cm4gdGhpcy5fdG87XG4gIH1cblxuICBwdWJsaWMgc2V0IHRvKHRvOiBEYXRlKSB7XG4gICAgaWYgKHR5cGVvZiB0byA9PT0gJ29iamVjdCcgJiYgdG8gIT09IHRoaXMuX3RvKSB7XG4gICAgICBpZiAodG8gJiYgdHlwZW9mIHRvLnNldEhvdXJzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRvLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7IC8vIHNldCB0by1kYXRlIHRvIGVuZCBvZiBkYXlcbiAgICAgIH1cbiAgICAgIHRoaXMuX3RvID0gdG87XG4gICAgICB0aGlzLl9jaGFuZ2VzLm5leHQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgICB0aGlzLmZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGUgZmlsdGVyIGlzIGN1cnJlbnRseSBhY3RpdmUsIChhdCBsZWFzdCBvbmUgaW5wdXQgaXMgc2V0KVxuICAgKi9cbiAgcHVibGljIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9mcm9tICE9PSBudWxsIHx8IHRoaXMuX3RvICE9PSBudWxsO1xuICB9XG5cbiAgYWNjZXB0cyhpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgbGV0IHByb3BWYWx1ZSA9IHRoaXMubmVzdGVkUHJvcCA/IHRoaXMubmVzdGVkUHJvcC5nZXRQcm9wVmFsdWUoaXRlbSkgOiBpdGVtO1xuICAgIGlmIChwcm9wVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHByb3BWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHByb3BWYWx1ZSA9IG5ldyBEYXRlKHByb3BWYWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9mcm9tICE9PSBudWxsICYmICghKHByb3BWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHx8IHByb3BWYWx1ZS5nZXRUaW1lKCkgPCB0aGlzLl9mcm9tLmdldFRpbWUoKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3RvICE9PSBudWxsICYmICghKHByb3BWYWx1ZSBpbnN0YW5jZW9mIERhdGUpIHx8IHByb3BWYWx1ZS5nZXRUaW1lKCkgPiB0aGlzLl90by5nZXRUaW1lKCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBPYnNlcnZhYmxlIHJlcXVpcmVkIGFzIHBhcnQgb2YgdGhlIEZpbHRlciBpbnRlcmZhY2VcbiAgICovXG4gIHByaXZhdGUgX2NoYW5nZXMgPSBuZXcgU3ViamVjdDxbRGF0ZSwgRGF0ZV0+KCk7XG5cbiAgLy8gV2UgZG8gbm90IHdhbnQgdG8gZXhwb3NlIHRoZSBTdWJqZWN0IGl0c2VsZiwgYnV0IHRoZSBPYnNlcnZhYmxlIHdoaWNoIGlzIHJlYWQtb25seVxuICBwdWJsaWMgZ2V0IGNoYW5nZXMoKTogT2JzZXJ2YWJsZTxbRGF0ZSwgRGF0ZV0+IHtcbiAgICByZXR1cm4gdGhpcy5fY2hhbmdlcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHk6IHRoaXMubmVzdGVkUHJvcCxcbiAgICAgIGZyb206IHRoaXMuX2Zyb20sXG4gICAgICB0bzogdGhpcy5fdG8sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBlcXVhbHMob3RoZXI6IENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlPFQsIGFueT4pOiBib29sZWFuIHtcbiAgICByZXR1cm4gb3RoZXIgPT09IHRoaXM7XG4gIH1cbn1cbiIsIjxjbHItZGF0ZS1jb250YWluZXI+XG4gIDxpbnB1dFxuICAgICNpbnB1dF9mcm9tXG4gICAgdHlwZT1cImRhdGVcIlxuICAgIG5hbWU9XCJmcm9tXCJcbiAgICBjbGFzcz1cImRhdGFncmlkLWRhdGUtZmlsdGVyLWlucHV0XCJcbiAgICBbKGNsckRhdGUpXT1cImZyb21cIlxuICAgIFtwbGFjZWhvbGRlcl09XCJtaW5QbGFjZWhvbGRlclZhbHVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1pblBsYWNlaG9sZGVyVmFsdWVcIlxuICAvPlxuPC9jbHItZGF0ZS1jb250YWluZXI+XG48Y2xyLWRhdGUtY29udGFpbmVyPlxuICA8aW5wdXRcbiAgICB0eXBlPVwiZGF0ZVwiXG4gICAgbmFtZT1cInRvXCJcbiAgICBjbGFzcz1cImRhdGFncmlkLWRhdGUtZmlsdGVyLWlucHV0XCJcbiAgICBbKGNsckRhdGUpXT1cInRvXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwibWF4UGxhY2Vob2xkZXJWYWx1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtYXhQbGFjZWhvbGRlclZhbHVlXCJcbiAgLz5cbjwvY2xyLWRhdGUtY29udGFpbmVyPlxuIl19
|
|
@@ -6,10 +6,10 @@ import { ClrDateFilterComponent } from './date-filter.component';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class ClrDateFilterModule {
|
|
8
8
|
}
|
|
9
|
-
ClrDateFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
10
|
-
ClrDateFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.
|
|
11
|
-
ClrDateFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
9
|
+
ClrDateFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDateFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
ClrDateFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.8", ngImport: i0, type: ClrDateFilterModule, declarations: [ClrDateFilterComponent], imports: [ClarityModule, CommonModule, FormsModule], exports: [ClrDateFilterComponent] });
|
|
11
|
+
ClrDateFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDateFilterModule, imports: [ClarityModule, CommonModule, FormsModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrDateFilterModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [ClarityModule, CommonModule, FormsModule],
|
|
@@ -34,4 +34,4 @@ export class NestedProperty {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLXByb3BlcnR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvbmVzdGVkLXByb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUd6QixZQUFtQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCw2RUFBNkU7SUFDN0Usd0VBQXdFO0lBQ2pFLFlBQVksQ0FBQyxJQUFPO1FBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDakIsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN2QyxJQUNFLEtBQUssS0FBSyxJQUFJO29CQUNkLE9BQU8sS0FBSyxLQUFLLFdBQVc7b0JBQzVCLE9BQVEsS0FBNkIsQ0FBQyxVQUFVLENBQUMsS0FBSyxXQUFXLEVBQ2pFO29CQUNBLE9BQU8sU0FBUyxDQUFDO2lCQUNsQjtnQkFDRCxLQUFLLEdBQUksS0FBNkIsQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNwRDtZQUNELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7YUFBTTtZQUNMLE9BQVEsSUFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbi8qKlxuICogR2VuZXJpYyBhY2Nlc3NvciBmb3IgZGVlcCBvYmplY3QgcHJvcGVydGllc1xuICogdGhhdCBjYW4gYmUgc3BlY2lmaWVkIGFzIHNpbXBsZSBkb3Qtc2VwYXJhdGVkIHN0cmluZ3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXN0ZWRQcm9wZXJ0eTxUID0gYW55PiB7XG4gIHByaXZhdGUgc3BsaXRQcm9wOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcHJvcDogc3RyaW5nKSB7XG4gICAgaWYgKHByb3AuaW5kZXhPZignLicpID49IDApIHtcbiAgICAgIHRoaXMuc3BsaXRQcm9wID0gcHJvcC5zcGxpdCgnLicpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNhZmUgZ2V0dGVyIGZvciBhIGRlZXAgb2JqZWN0IHByb3BlcnR5LCB3aWxsIG5vdCB0aHJvdyBhbiBlcnJvciBidXQgcmV0dXJuXG4gIC8vIHVuZGVmaW5lZCBpZiBvbmUgb2YgdGhlIGludGVybWVkaWF0ZSBwcm9wZXJ0aWVzIGlzIG51bGwgb3IgdW5kZWZpbmVkLlxuICBwdWJsaWMgZ2V0UHJvcFZhbHVlKGl0ZW06IFQpOiBhbnkge1xuICAgIGlmICh0aGlzLnNwbGl0UHJvcCkge1xuICAgICAgbGV0IHZhbHVlID0gaXRlbTtcbiAgICAgIGZvciAoY29uc3QgbmVzdGVkUHJvcCBvZiB0aGlzLnNwbGl0UHJvcCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgICAgICB0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAgICAgdHlwZW9mICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtuZXN0ZWRQcm9wXSA9PT0gJ3VuZGVmaW5lZCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVtuZXN0ZWRQcm9wXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChpdGVtIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pW3RoaXMucHJvcF07XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -17,19 +17,22 @@ export class ClrEnumFilterComponent {
|
|
|
17
17
|
filterContainer.setFilter(this);
|
|
18
18
|
datagrid.items.allChanges.pipe(takeUntil(this.destroyed$)).subscribe(items => {
|
|
19
19
|
if (!this.customPossibleValues) {
|
|
20
|
-
this.
|
|
21
|
-
.map(item => item[this.property])
|
|
22
|
-
.filter((value, index, self) => self.indexOf(value) === index);
|
|
20
|
+
this.setPossibleValues(items.map(item => item[this.property]).filter((value, index, self) => self.indexOf(value) === index));
|
|
23
21
|
}
|
|
24
22
|
});
|
|
25
23
|
}
|
|
26
|
-
set
|
|
24
|
+
set value(values) {
|
|
27
25
|
this.filteredValues = values;
|
|
26
|
+
this.changes.emit(true);
|
|
28
27
|
}
|
|
29
28
|
set clrPossibleValues(values) {
|
|
30
|
-
this.
|
|
29
|
+
this.setPossibleValues(values);
|
|
31
30
|
this.customPossibleValues = true;
|
|
32
31
|
}
|
|
32
|
+
setPossibleValues(values) {
|
|
33
|
+
this.possibleValues = values;
|
|
34
|
+
this.possibleValues.sort();
|
|
35
|
+
}
|
|
33
36
|
onChange(selectedValue, checkboxState) {
|
|
34
37
|
if (checkboxState) {
|
|
35
38
|
this.filteredValues.push(selectedValue);
|
|
@@ -46,20 +49,26 @@ export class ClrEnumFilterComponent {
|
|
|
46
49
|
accepts(item) {
|
|
47
50
|
return this.filteredValues.includes(item[this.property]);
|
|
48
51
|
}
|
|
52
|
+
get state() {
|
|
53
|
+
return {
|
|
54
|
+
property: this.property,
|
|
55
|
+
value: this.filteredValues,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
49
58
|
ngOnDestroy() {
|
|
50
59
|
this.destroyed$.next();
|
|
51
60
|
this.destroyed$.complete();
|
|
52
61
|
}
|
|
53
62
|
}
|
|
54
|
-
ClrEnumFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
|
55
|
-
ClrEnumFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
|
63
|
+
ClrEnumFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrEnumFilterComponent, deps: [{ token: i1.ClrDatagridFilter }, { token: i1.ClrDatagrid }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
+
ClrEnumFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.8", type: ClrEnumFilterComponent, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"filteredValues.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}\n"], dependencies: [{ kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { kind: "component", type: i1.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.8", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
|
|
57
66
|
type: Component,
|
|
58
67
|
args: [{ selector: 'clr-enum-filter', template: "<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"filteredValues.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}\n"] }]
|
|
59
68
|
}], ctorParameters: function () { return [{ type: i1.ClrDatagridFilter }, { type: i1.ClrDatagrid }]; }, propDecorators: { property: [{
|
|
60
69
|
type: Input,
|
|
61
70
|
args: ['clrProperty']
|
|
62
|
-
}],
|
|
71
|
+
}], value: [{
|
|
63
72
|
type: Input,
|
|
64
73
|
args: ['clrFilterValues']
|
|
65
74
|
}], clrFilterValuesChange: [{
|
|
@@ -67,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.6", ngImpor
|
|
|
67
76
|
}], clrPossibleValues: [{
|
|
68
77
|
type: Input
|
|
69
78
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHNCQUFzQjtJQXlCakMsWUFBWSxlQUFrQyxFQUFFLFFBQXFCO1FBdEIvQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBUTFCLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFL0QsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLFlBQU8sR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUzQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVEvQixlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FDckcsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBN0JELElBQ1csS0FBSyxDQUFDLE1BQWdCO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFXRCxJQUFhLGlCQUFpQixDQUFDLE1BQWdCO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFhRCxpQkFBaUIsQ0FBQyxNQUFnQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsYUFBcUIsRUFBRSxhQUFzQjtRQUNwRCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsS0FBSyxhQUFhLENBQUMsQ0FBQztTQUNwRztRQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzttSEF0RVUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb1BDVG5DLHdkQWFBOzJGREphLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7a0lBT0wsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUdULEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBTWQscUJBQXFCO3NCQUE5QixNQUFNO2dCQVNNLGlCQUFpQjtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckRhdGFncmlkLCBDbHJEYXRhZ3JpZEZpbHRlciwgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2UgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1lbnVtLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnVtLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudW0tZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENsckVudW1GaWx0ZXJDb21wb25lbnQ8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+XG4gIGltcGxlbWVudHMgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4sIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2NsclByb3BlcnR5JykgcHJvcGVydHkgPSAnJztcblxuICBASW5wdXQoJ2NsckZpbHRlclZhbHVlcycpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5jaGFuZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBAT3V0cHV0KCkgY2xyRmlsdGVyVmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwb3NzaWJsZVZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgY3VzdG9tUG9zc2libGVWYWx1ZXMgPSBmYWxzZTtcbiAgZmlsdGVyZWRWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gIGNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKSBzZXQgY2xyUG9zc2libGVWYWx1ZXModmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2V0UG9zc2libGVWYWx1ZXModmFsdWVzKTtcbiAgICB0aGlzLmN1c3RvbVBvc3NpYmxlVmFsdWVzID0gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZpbHRlckNvbnRhaW5lcjogQ2xyRGF0YWdyaWRGaWx0ZXIsIGRhdGFncmlkOiBDbHJEYXRhZ3JpZCkge1xuICAgIGZpbHRlckNvbnRhaW5lci5zZXRGaWx0ZXIodGhpcyk7XG4gICAgZGF0YWdyaWQuaXRlbXMuYWxsQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgaWYgKCF0aGlzLmN1c3RvbVBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICAgIHRoaXMuc2V0UG9zc2libGVWYWx1ZXMoXG4gICAgICAgICAgaXRlbXMubWFwKGl0ZW0gPT4gaXRlbVt0aGlzLnByb3BlcnR5XSkuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIHNlbGYpID0+IHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0UG9zc2libGVWYWx1ZXModmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucG9zc2libGVWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5wb3NzaWJsZVZhbHVlcy5zb3J0KCk7XG4gIH1cblxuICBvbkNoYW5nZShzZWxlY3RlZFZhbHVlOiBzdHJpbmcsIGNoZWNrYm94U3RhdGU6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2hlY2tib3hTdGF0ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcy5wdXNoKHNlbGVjdGVkVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gdGhpcy5maWx0ZXJlZFZhbHVlcy5maWx0ZXIoZmlsdGVyZWRTdGF0ZSA9PiBmaWx0ZXJlZFN0YXRlICE9PSBzZWxlY3RlZFZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmNsckZpbHRlclZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuZmlsdGVyZWRWYWx1ZXMpO1xuICAgIHRoaXMuY2hhbmdlcy5lbWl0KHRydWUpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYWx1ZXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGFjY2VwdHMoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkVmFsdWVzLmluY2x1ZGVzKGl0ZW1bdGhpcy5wcm9wZXJ0eV0pO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBwcm9wZXJ0eTogdGhpcy5wcm9wZXJ0eSxcbiAgICAgIHZhbHVlOiB0aGlzLmZpbHRlcmVkVmFsdWVzLFxuICAgIH07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8Y2xyLWNoZWNrYm94LWNvbnRhaW5lciBjbGFzcz1cImZpbHRlci1zZWxlY3Rpb25cIj5cbiAgPGNsci1jaGVja2JveC13cmFwcGVyICpuZ0Zvcj1cImxldCBwb3NzaWJsZVZhbHVlIG9mIHBvc3NpYmxlVmFsdWVzXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgY2xyQ2hlY2tib3hcbiAgICAgIHZhbHVlPVwie3sgcG9zc2libGVWYWx1ZSB9fVwiXG4gICAgICBuYW1lPVwicG9zc2libGVWYWx1ZVwiXG4gICAgICBbbmdNb2RlbF09XCJmaWx0ZXJlZFZhbHVlcy5pbmNsdWRlcyhwb3NzaWJsZVZhbHVlKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZShwb3NzaWJsZVZhbHVlLCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxsYWJlbD57eyBwb3NzaWJsZVZhbHVlIH19PC9sYWJlbD5cbiAgPC9jbHItY2hlY2tib3gtd3JhcHBlcj5cbjwvY2xyLWNoZWNrYm94LWNvbnRhaW5lcj5cbiJdfQ==
|