@one-paragon/angular-utilities 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/esm2022/action-state/action-state-spinner/action-state-spinner.component.mjs +7 -7
  2. package/esm2022/action-state/action-state-ui/action-state-ui.module.mjs +5 -5
  3. package/esm2022/action-state/ngrx-ext/ngrx-ext.module.mjs +6 -6
  4. package/esm2022/action-state/ngrx.mjs +6 -1
  5. package/esm2022/http-request-state/HttpRequestStateFactory.mjs +6 -7
  6. package/esm2022/http-request-state/HttpRequestStateStore.mjs +41 -37
  7. package/esm2022/http-request-state/directives/HttpStateDirectiveBase.mjs +17 -21
  8. package/esm2022/http-request-state/directives/http-error-state-directive.mjs +12 -18
  9. package/esm2022/http-request-state/directives/http-inProgress-state-directive.mjs +12 -18
  10. package/esm2022/http-request-state/directives/http-notStarted-state-directive.mjs +12 -18
  11. package/esm2022/http-request-state/directives/http-success-state-directive.mjs +13 -18
  12. package/esm2022/http-request-state/directives/request-state-directive.mjs +20 -19
  13. package/esm2022/http-request-state/http-state-module.mjs +6 -6
  14. package/esm2022/ngrx/actionable-selector.mjs +12 -14
  15. package/esm2022/rxjs/subjectifier.mjs +6 -6
  16. package/esm2022/rxjs/subscriber.directive.mjs +11 -13
  17. package/esm2022/table-builder/classes/MatTableObservableDataSource.mjs +3 -1
  18. package/esm2022/table-builder/classes/TableBuilderDataSource.mjs +10 -8
  19. package/esm2022/table-builder/classes/TableState.mjs +13 -15
  20. package/esm2022/table-builder/classes/table-builder-general-settings.mjs +46 -54
  21. package/esm2022/table-builder/classes/table-builder.mjs +4 -1
  22. package/esm2022/table-builder/classes/table-store.mjs +280 -282
  23. package/esm2022/table-builder/components/array-column.component.mjs +15 -19
  24. package/esm2022/table-builder/components/column-builder/column-builder.component.mjs +44 -35
  25. package/esm2022/table-builder/components/date-filter/date-filter.component.mjs +7 -7
  26. package/esm2022/table-builder/components/date-time-filter/date-time-filter.component.mjs +7 -7
  27. package/esm2022/table-builder/components/filter/filter.component.mjs +24 -24
  28. package/esm2022/table-builder/components/filter/in-list/in-list-filter.component.mjs +19 -18
  29. package/esm2022/table-builder/components/gen-col-displayer/gen-col-displayer.component.mjs +15 -15
  30. package/esm2022/table-builder/components/generic-table/generic-table.component.mjs +100 -86
  31. package/esm2022/table-builder/components/generic-table/paginator.component.mjs +20 -18
  32. package/esm2022/table-builder/components/group-by-list/group-by-list.component.mjs +5 -7
  33. package/esm2022/table-builder/components/header-menu/header-menu.component.mjs +24 -21
  34. package/esm2022/table-builder/components/in-filter/in-filter.component.mjs +14 -13
  35. package/esm2022/table-builder/components/initialization-component/initialization-component.mjs +11 -4
  36. package/esm2022/table-builder/components/link-column.component.mjs +19 -23
  37. package/esm2022/table-builder/components/number-filter/number-filter.component.mjs +8 -8
  38. package/esm2022/table-builder/components/profiles-menu/profiles-menu.component.mjs +26 -28
  39. package/esm2022/table-builder/components/scroll-strategy.mjs +11 -7
  40. package/esm2022/table-builder/components/sort-menu/sort-menu.component-store.mjs +31 -31
  41. package/esm2022/table-builder/components/sort-menu/sort-menu.component.mjs +23 -22
  42. package/esm2022/table-builder/components/table-container/table-container.mjs +90 -80
  43. package/esm2022/table-builder/components/table-container/virtual-scroll-container.mjs +49 -51
  44. package/esm2022/table-builder/components/table-container-filter/filter-list/filter-list.component.mjs +8 -10
  45. package/esm2022/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.mjs +17 -15
  46. package/esm2022/table-builder/components/table-container-filter/table-wrapper-filter-store.mjs +14 -14
  47. package/esm2022/table-builder/directives/custom-cell-directive.mjs +24 -20
  48. package/esm2022/table-builder/directives/multi-sort.directive.mjs +10 -10
  49. package/esm2022/table-builder/directives/resize-column.directive.mjs +13 -14
  50. package/esm2022/table-builder/directives/table-wrapper.directive.mjs +5 -7
  51. package/esm2022/table-builder/directives/tb-filter.directive.mjs +105 -110
  52. package/esm2022/table-builder/ngrx/tableBuilderStateStore.mjs +124 -124
  53. package/esm2022/table-builder/pipes/column-total.pipe.mjs +4 -4
  54. package/esm2022/table-builder/pipes/format-filter-type.pipe.mjs +4 -4
  55. package/esm2022/table-builder/pipes/format-filter-value.pipe.mjs +10 -12
  56. package/esm2022/table-builder/pipes/key-display.mjs +8 -10
  57. package/esm2022/table-builder/services/export-to-csv.service.mjs +57 -63
  58. package/esm2022/table-builder/services/table-template-service.mjs +11 -8
  59. package/esm2022/table-builder/services/transform-creator.mjs +35 -40
  60. package/esm2022/table-builder/table-builder.module.mjs +7 -7
  61. package/esm2022/utilities/directives/auto-focus.directive.mjs +8 -10
  62. package/esm2022/utilities/directives/clickEmitterDirective.mjs +4 -4
  63. package/esm2022/utilities/directives/clickSubject.mjs +5 -4
  64. package/esm2022/utilities/directives/conditional-classes.directive.mjs +11 -11
  65. package/esm2022/utilities/directives/dialog-service.mjs +5 -7
  66. package/esm2022/utilities/directives/dialog.mjs +38 -39
  67. package/esm2022/utilities/directives/mat-toggle-group-directive.mjs +7 -8
  68. package/esm2022/utilities/directives/prevent-enter.directive.mjs +4 -4
  69. package/esm2022/utilities/directives/stop-propagation.directive.mjs +4 -4
  70. package/esm2022/utilities/directives/styler.mjs +10 -11
  71. package/esm2022/utilities/directives/trim-whitespace.directive.mjs +7 -9
  72. package/esm2022/utilities/module.mjs +7 -7
  73. package/esm2022/utilities/pipes/function.pipe.mjs +4 -4
  74. package/esm2022/utilities/pipes/phone.pipe.mjs +4 -4
  75. package/esm2022/utilities/pipes/space-case.pipes.mjs +4 -4
  76. package/fesm2022/one-paragon-angular-utilities.mjs +1666 -1678
  77. package/fesm2022/one-paragon-angular-utilities.mjs.map +1 -1
  78. package/http-request-state/HttpRequestStateStore.d.ts +2 -2
  79. package/http-request-state/directives/HttpStateDirectiveBase.d.ts +5 -7
  80. package/http-request-state/directives/http-error-state-directive.d.ts +1 -4
  81. package/http-request-state/directives/http-inProgress-state-directive.d.ts +3 -6
  82. package/http-request-state/directives/http-notStarted-state-directive.d.ts +1 -4
  83. package/http-request-state/directives/http-success-state-directive.d.ts +1 -6
  84. package/http-request-state/directives/request-state-directive.d.ts +0 -1
  85. package/package.json +8 -8
  86. package/rxjs/subjectifier.d.ts +0 -1
  87. package/table-builder/classes/TableBuilderDataSource.d.ts +0 -1
  88. package/table-builder/classes/table-store.d.ts +1 -2
  89. package/table-builder/components/column-builder/column-builder.component.d.ts +2 -6
  90. package/table-builder/components/filter/filter.component.d.ts +1 -2
  91. package/table-builder/components/filter/in-list/in-list-filter.component.d.ts +0 -3
  92. package/table-builder/components/gen-col-displayer/gen-col-displayer.component.d.ts +1 -2
  93. package/table-builder/components/generic-table/generic-table.component.d.ts +4 -4
  94. package/table-builder/components/generic-table/paginator.component.d.ts +0 -2
  95. package/table-builder/components/header-menu/header-menu.component.d.ts +1 -2
  96. package/table-builder/components/in-filter/in-filter.component.d.ts +1 -2
  97. package/table-builder/components/sort-menu/sort-menu.component-store.d.ts +1 -2
  98. package/table-builder/components/sort-menu/sort-menu.component.d.ts +2 -3
  99. package/table-builder/components/table-container/table-container-imports.d.ts +1 -1
  100. package/table-builder/components/table-container/virtual-scroll-container.d.ts +0 -2
  101. package/table-builder/components/table-container-filter/gen-filter-displayer/gen-filter-displayer.component.d.ts +3 -3
  102. package/table-builder/directives/custom-cell-directive.d.ts +3 -3
  103. package/table-builder/directives/multi-sort.directive.d.ts +1 -2
  104. package/table-builder/directives/resize-column.directive.d.ts +1 -2
  105. package/table-builder/directives/tb-filter.directive.d.ts +19 -23
  106. package/table-builder/pipes/format-filter-value.pipe.d.ts +0 -2
  107. package/table-builder/pipes/key-display.d.ts +0 -1
  108. package/table-builder/services/export-to-csv.service.d.ts +0 -3
  109. package/table-builder/services/table-template-service.d.ts +1 -2
  110. package/table-builder/services/transform-creator.d.ts +0 -5
  111. package/utilities/directives/auto-focus.directive.d.ts +1 -2
  112. package/utilities/directives/conditional-classes.directive.d.ts +1 -2
  113. package/utilities/directives/dialog.d.ts +2 -5
  114. package/utilities/directives/styler.d.ts +0 -2
  115. package/utilities/directives/trim-whitespace.directive.d.ts +0 -2
@@ -4,135 +4,135 @@ import * as i0 from "@angular/core";
4
4
  export class TableBuilderStateStore extends ComponentStore {
5
5
  constructor() {
6
6
  super(loadGlobalStorageState() || defaultStorageState);
7
- //selectors
8
- this.$selectLocalTableProfile = (profileKey) => this.selectSignal(state => state.localProfiles[profileKey]);
9
- this.$selectLocalTableStateForView = (tableId) => this.selectSignal(this.$selectLocalTableProfile(tableId), (profile) => {
10
- if (profile?.current) {
11
- return profile.states[profile.current];
12
- }
13
- if (profile?.localSavedState)
14
- return profile.localSavedState;
15
- return null;
16
- });
17
- this.$selectLocalProfileCurrentKey = (key) => this.selectSignal(this.$selectLocalTableProfile(key), (profile) => profile?.current);
18
- this.$selectLocalProfileDefaultKey = (key) => this.selectSignal(this.$selectLocalTableProfile(key), (profile) => profile?.default);
19
- this.$selectLocalProfileKeys = (tableId) => this.selectSignal(this.$selectLocalTableProfile(tableId), (profile) => Object.keys(profile?.states || {}));
20
- // reducers
21
- this.saveTableSettingsToLocalAndStorage = (tableId, stateName, tableState, asDefault) => {
22
- this.saveTableStateToStorage(tableId, stateName, tableState, asDefault);
23
- this.saveTableStateToLocal({ tableId, tableState, stateName, asDefault });
24
- };
25
- this.saveTableStateToLocal = this.updater((state, props) => {
26
- let profile = state.localProfiles[props.tableId];
27
- if (!profile?.states) {
28
- profile = { states: {} };
29
- }
30
- if (!props.stateName) {
31
- profile = { ...profile, localSavedState: props.tableState };
32
- }
33
- else {
34
- profile = { ...profile, states: { ...profile.states, [props.stateName]: props.tableState } };
35
- }
36
- if (props.asDefault) {
37
- profile.default = props.stateName;
7
+ }
8
+ //selectors
9
+ $selectLocalTableProfile = (profileKey) => this.selectSignal(state => state.localProfiles[profileKey]);
10
+ $selectLocalTableStateForView = (tableId) => this.selectSignal(this.$selectLocalTableProfile(tableId), (profile) => {
11
+ if (profile?.current) {
12
+ return profile.states[profile.current];
13
+ }
14
+ if (profile?.localSavedState)
15
+ return profile.localSavedState;
16
+ return null;
17
+ });
18
+ $selectLocalProfileCurrentKey = (key) => this.selectSignal(this.$selectLocalTableProfile(key), (profile) => profile?.current);
19
+ $selectLocalProfileDefaultKey = (key) => this.selectSignal(this.$selectLocalTableProfile(key), (profile) => profile?.default);
20
+ $selectLocalProfileKeys = (tableId) => this.selectSignal(this.$selectLocalTableProfile(tableId), (profile) => Object.keys(profile?.states || {}));
21
+ // reducers
22
+ saveTableSettingsToLocalAndStorage = (tableId, stateName, tableState, asDefault) => {
23
+ this.saveTableStateToStorage(tableId, stateName, tableState, asDefault);
24
+ this.saveTableStateToLocal({ tableId, tableState, stateName, asDefault });
25
+ };
26
+ saveTableStateToLocal = this.updater((state, props) => {
27
+ let profile = state.localProfiles[props.tableId];
28
+ if (!profile?.states) {
29
+ profile = { states: {} };
30
+ }
31
+ if (!props.stateName) {
32
+ profile = { ...profile, localSavedState: props.tableState };
33
+ }
34
+ else {
35
+ profile = { ...profile, states: { ...profile.states, [props.stateName]: props.tableState } };
36
+ }
37
+ if (props.asDefault) {
38
+ profile.default = props.stateName;
39
+ }
40
+ return { ...state, localProfiles: { ...state.localProfiles, [props.tableId]: profile } };
41
+ });
42
+ saveTableStateToStorage = (tableId, stateName, tableState, asDefault = false) => {
43
+ const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
44
+ globalSavedState.localProfiles[tableId] ??= { states: {} };
45
+ globalSavedState.localProfiles[tableId].states[stateName] = tableState;
46
+ if (asDefault) {
47
+ globalSavedState.localProfiles[tableId].default = stateName;
48
+ }
49
+ localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
50
+ };
51
+ addNewStateToLocalAndStorage = (tableId, newStateName, tableState, asDefault) => {
52
+ this.saveTableSettingsToLocalAndStorage(tableId, newStateName, tableState, asDefault);
53
+ this.setLocalCurrentState({ tableId: tableId, currentStateKey: newStateName });
54
+ };
55
+ setLocalCurrentState = this.updater((state, props) => {
56
+ const profile = state.localProfiles[props.tableId] || { states: {} };
57
+ profile.current = props.currentStateKey;
58
+ return { ...state, localProfiles: { ...state.localProfiles, [props.tableId]: { ...profile } } };
59
+ });
60
+ setDefaultInLocalAndStorage = (tableId, newDefault) => {
61
+ this.setDefaultInLocal({ default: newDefault, key: tableId });
62
+ this.setDefaultInStorage(tableId, newDefault);
63
+ };
64
+ setDefaultInLocal = this.updater((state, props) => {
65
+ if (state.localProfiles[props.key]?.states[props.default]) {
66
+ return ({ ...state, localProfiles: { ...state.localProfiles, [props.key]: { ...state.localProfiles[props.key], default: props.default } } });
67
+ }
68
+ return state;
69
+ });
70
+ unsetDefaultFromLocalAndStorage = (tableId) => {
71
+ this.unsetDefaultFromLocal(tableId);
72
+ this.unsetDefaultFromStorage(tableId);
73
+ };
74
+ unsetDefaultFromLocal = (tableId) => {
75
+ this.patchState(tables => {
76
+ const profile = { ...tables.localProfiles[tableId] };
77
+ if (profile) {
78
+ delete profile.default;
38
79
  }
39
- return { ...state, localProfiles: { ...state.localProfiles, [props.tableId]: profile } };
80
+ return { ...tables, localProfiles: { ...tables.localProfiles, [tableId]: profile } };
40
81
  });
41
- this.saveTableStateToStorage = (tableId, stateName, tableState, asDefault = false) => {
42
- const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
43
- globalSavedState.localProfiles[tableId] ??= { states: {} };
44
- globalSavedState.localProfiles[tableId].states[stateName] = tableState;
45
- if (asDefault) {
46
- globalSavedState.localProfiles[tableId].default = stateName;
47
- }
82
+ };
83
+ unsetDefaultFromStorage = (tableId) => {
84
+ const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
85
+ if (globalSavedState.localProfiles[tableId]) {
86
+ delete globalSavedState.localProfiles[tableId].default;
48
87
  localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
49
- };
50
- this.addNewStateToLocalAndStorage = (tableId, newStateName, tableState, asDefault) => {
51
- this.saveTableSettingsToLocalAndStorage(tableId, newStateName, tableState, asDefault);
52
- this.setLocalCurrentState({ tableId: tableId, currentStateKey: newStateName });
53
- };
54
- this.setLocalCurrentState = this.updater((state, props) => {
55
- const profile = state.localProfiles[props.tableId] || { states: {} };
56
- profile.current = props.currentStateKey;
57
- return { ...state, localProfiles: { ...state.localProfiles, [props.tableId]: { ...profile } } };
58
- });
59
- this.setDefaultInLocalAndStorage = (tableId, newDefault) => {
60
- this.setDefaultInLocal({ default: newDefault, key: tableId });
61
- this.setDefaultInStorage(tableId, newDefault);
62
- };
63
- this.setDefaultInLocal = this.updater((state, props) => {
64
- if (state.localProfiles[props.key]?.states[props.default]) {
65
- return ({ ...state, localProfiles: { ...state.localProfiles, [props.key]: { ...state.localProfiles[props.key], default: props.default } } });
88
+ }
89
+ };
90
+ setDefaultInStorage = (tableId, stateName) => {
91
+ const tableProfile = this.$selectLocalTableProfile(tableId)();
92
+ const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
93
+ let savedProfile = globalSavedState.localProfiles[stateName];
94
+ if (!savedProfile?.states) {
95
+ savedProfile = { default: stateName, states: tableProfile.states };
96
+ }
97
+ else {
98
+ savedProfile.default = stateName;
99
+ }
100
+ globalSavedState.localProfiles[tableId] = savedProfile;
101
+ localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
102
+ };
103
+ deleteLocalProfilesState = this.updater((state, props) => {
104
+ let profile = state.localProfiles[props.key];
105
+ if (profile) {
106
+ const current = profile.current === props.stateKey ? profile.default : profile.current;
107
+ profile = { ...profile, current, states: { ...profile.states } };
108
+ delete profile.states[props.stateKey];
109
+ if (current === props.stateKey) {
110
+ profile.current = undefined;
66
111
  }
112
+ return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
113
+ }
114
+ else {
67
115
  return state;
68
- });
69
- this.unsetDefaultFromLocalAndStorage = (tableId) => {
70
- this.unsetDefaultFromLocal(tableId);
71
- this.unsetDefaultFromStorage(tableId);
72
- };
73
- this.unsetDefaultFromLocal = (tableId) => {
74
- this.patchState(tables => {
75
- const profile = { ...tables.localProfiles[tableId] };
76
- if (profile) {
77
- delete profile.default;
78
- }
79
- return { ...tables, localProfiles: { ...tables.localProfiles, [tableId]: profile } };
80
- });
81
- };
82
- this.unsetDefaultFromStorage = (tableId) => {
83
- const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
84
- if (globalSavedState.localProfiles[tableId]) {
85
- delete globalSavedState.localProfiles[tableId].default;
86
- localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
87
- }
88
- };
89
- this.setDefaultInStorage = (tableId, stateName) => {
90
- const tableProfile = this.$selectLocalTableProfile(tableId)();
91
- const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
92
- let savedProfile = globalSavedState.localProfiles[stateName];
93
- if (!savedProfile?.states) {
94
- savedProfile = { default: stateName, states: tableProfile.states };
95
- }
96
- else {
97
- savedProfile.default = stateName;
98
- }
99
- globalSavedState.localProfiles[tableId] = savedProfile;
100
- localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
101
- };
102
- this.deleteLocalProfilesState = this.updater((state, props) => {
103
- let profile = state.localProfiles[props.key];
104
- if (profile) {
105
- const current = profile.current === props.stateKey ? profile.default : profile.current;
106
- profile = { ...profile, current, states: { ...profile.states } };
107
- delete profile.states[props.stateKey];
108
- if (current === props.stateKey) {
109
- profile.current = undefined;
110
- }
111
- return { ...state, localProfiles: { ...state.localProfiles, [props.key]: profile } };
112
- }
113
- else {
114
- return state;
115
- }
116
- });
117
- this.deleteProfileFromLocalAndStorage = (key, stateKey) => {
118
- const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
119
- if (!globalSavedState.localProfiles[key]) {
120
- return;
121
- }
122
- else {
123
- delete (globalSavedState.localProfiles[key].states ?? {})[stateKey];
124
- }
125
- if (globalSavedState.localProfiles[key].default === stateKey) {
126
- globalSavedState.localProfiles[key].default = undefined;
127
- }
128
- localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
129
- this.deleteLocalProfilesState({ key, stateKey });
130
- };
131
- }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: TableBuilderStateStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
133
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: TableBuilderStateStore, providedIn: 'root' }); }
116
+ }
117
+ });
118
+ deleteProfileFromLocalAndStorage = (key, stateKey) => {
119
+ const globalSavedState = JSON.parse(localStorage.getItem('global-state-storage') ?? JSON.stringify(defaultStorageState));
120
+ if (!globalSavedState.localProfiles[key]) {
121
+ return;
122
+ }
123
+ else {
124
+ delete (globalSavedState.localProfiles[key].states ?? {})[stateKey];
125
+ }
126
+ if (globalSavedState.localProfiles[key].default === stateKey) {
127
+ globalSavedState.localProfiles[key].default = undefined;
128
+ }
129
+ localStorage.setItem('global-state-storage', JSON.stringify(globalSavedState));
130
+ this.deleteLocalProfilesState({ key, stateKey });
131
+ };
132
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TableBuilderStateStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
133
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TableBuilderStateStore, providedIn: 'root' });
134
134
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: TableBuilderStateStore, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: TableBuilderStateStore, decorators: [{
136
136
  type: Injectable,
137
137
  args: [{ providedIn: 'root' }]
138
138
  }], ctorParameters: () => [] });
@@ -151,4 +151,4 @@ function loadGlobalStorageState() {
151
151
  export const defaultStorageState = {
152
152
  localProfiles: {}
153
153
  };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVCdWlsZGVyU3RhdGVTdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL25ncngvdGFibGVCdWlsZGVyU3RhdGVTdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPbkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWtDO0lBQzVFO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixFQUFFLElBQUksbUJBQW1CLENBQUMsQ0FBQTtRQUd4RCxXQUFXO1FBQ1gsNkJBQXdCLEdBQUcsQ0FBQyxVQUFpQixFQUErQixFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUN2RyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFbkMsa0NBQTZCLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQ3BFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFDdEMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNWLElBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUNwQixPQUFRLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFDRCxJQUFHLE9BQU8sRUFBRSxlQUFlO2dCQUFFLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUM1RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FDRixDQUFBO1FBRUQsa0NBQTZCLEdBQUcsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQy9ELElBQUksQ0FBQyx3QkFB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LE9BQU8sRUFBRSxDQUFDO1FBQ1gsTUFBTSxDQUFDLEdBQXdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFnQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxhQUFhLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLEtBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFhLENBQUE7UUFDNUUsQ0FBQztRQUNELE9BQU8sRUFBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUFDLENBQUM7SUFDeEMsQ0FBQztBQUNILENBQUM7QUFtQkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXVCO0lBQ3JELGFBQWEsRUFBRSxFQUFFO0NBQ2xCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gXCJAbmdyeC9jb21wb25lbnQtc3RvcmVcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjb25jYXRMYXRlc3RGcm9tIH0gZnJvbSAnQG5ncngvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2RpY3Rpb25hcnlcIjtcclxuaW1wb3J0IHsgUGVyc2lzdGVkVGFibGVTdGF0ZSwgVGFibGVTdGF0ZSB9IGZyb20gXCIuLi9jbGFzc2VzL1RhYmxlU3RhdGVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnfSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQnVpbGRlclN0YXRlU3RvcmUgZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxHbG9iYWxTdG9yYWdlU3RhdGU+IHtcclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgc3VwZXIobG9hZEdsb2JhbFN0b3JhZ2VTdGF0ZSgpIHx8IGRlZmF1bHRTdG9yYWdlU3RhdGUpXHJcbiAgfVxyXG5cclxuICAvL3NlbGVjdG9yc1xyXG4gICRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZSA9IChwcm9maWxlS2V5OnN0cmluZyk6IFNpZ25hbDxQcm9maWxlIHwgdW5kZWZpbmVkPiA9PiB0aGlzLnNlbGVjdFNpZ25hbChzdGF0ZSA9PiBcclxuICAgIHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvZmlsZUtleV0pO1xyXG5cclxuICAkc2VsZWN0TG9jYWxUYWJsZVN0YXRlRm9yVmlldyA9ICh0YWJsZUlkOiBzdHJpbmcpID0+IHRoaXMuc2VsZWN0U2lnbmFsKFxyXG4gICAgdGhpcy4kc2VsZWN0TG9jYWxUYWJsZVByb2ZpbGUodGFibGVJZCksXHJcbiAgICAocHJvZmlsZSkgPT4ge1xyXG4gICAgICBpZihwcm9maWxlPy5jdXJyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuICBwcm9maWxlLnN0YXRlc1twcm9maWxlLmN1cnJlbnRdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHByb2ZpbGU/LmxvY2FsU2F2ZWRTdGF0ZSkgcmV0dXJuIHByb2ZpbGUubG9jYWxTYXZlZFN0YXRlO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICApXHJcblxyXG4gICRzZWxlY3RMb2NhbFByb2ZpbGVDdXJyZW50S2V5ID0gKGtleTpzdHJpbmcpID0+IHRoaXMuc2VsZWN0U2lnbmFsKFxyXG4gICAgdGhpcy4kc2VsZWN0TG9jYWxUYWJsZVByb2ZpbGUoa2V5KSxcclxuICAgIChwcm9maWxlKSA9PiBwcm9maWxlPy5jdXJyZW50KTtcclxuXHJcbiAgJHNlbGVjdExvY2FsUHJvZmlsZURlZmF1bHRLZXkgPSAoa2V5OnN0cmluZykgPT4gdGhpcy5zZWxlY3RTaWduYWwoXHJcbiAgICB0aGlzLiRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZShrZXkpLFxyXG4gICAgKHByb2ZpbGUpID0+IHByb2ZpbGU/LmRlZmF1bHQpO1xyXG5cclxuICAkc2VsZWN0TG9jYWxQcm9maWxlS2V5cyA9ICh0YWJsZUlkOnN0cmluZykgPT4gdGhpcy5zZWxlY3RTaWduYWwoXHJcbiAgICB0aGlzLiRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZSh0YWJsZUlkKSxcclxuICAgIChwcm9maWxlKSA9PiBPYmplY3Qua2V5cyhwcm9maWxlPy5zdGF0ZXMgfHwge30pXHJcbiAgKTtcclxuXHJcblxyXG4gIC8vIHJlZHVjZXJzXHJcbiAgXHJcblxyXG4gIHNhdmVUYWJsZVNldHRpbmdzVG9Mb2NhbEFuZFN0b3JhZ2UgPSAodGFibGVJZDogc3RyaW5nLCBzdGF0ZU5hbWU6IHN0cmluZywgdGFibGVTdGF0ZTogUGVyc2lzdGVkVGFibGVTdGF0ZSwgYXNEZWZhdWx0PzogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5zYXZlVGFibGVTdGF0ZVRvU3RvcmFnZSh0YWJsZUlkLCBzdGF0ZU5hbWUsIHRhYmxlU3RhdGUsIGFzRGVmYXVsdCk7XHJcbiAgICB0aGlzLnNhdmVUYWJsZVN0YXRlVG9Mb2NhbCh7IHRhYmxlSWQsIHRhYmxlU3RhdGUsIHN0YXRlTmFtZSwgYXNEZWZhdWx0IH0pO1xyXG4gIH1cclxuICBcclxuICBzYXZlVGFibGVTdGF0ZVRvTG9jYWwgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBwcm9wczogeyB0YWJsZUlkOiBzdHJpbmcsIHRhYmxlU3RhdGU6IFBlcnNpc3RlZFRhYmxlU3RhdGUsIHN0YXRlTmFtZT86IHN0cmluZywgYXNEZWZhdWx0PzogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICBsZXQgcHJvZmlsZSA9IHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMudGFibGVJZF07XHJcbiAgICBpZighcHJvZmlsZT8uc3RhdGVzKSB7XHJcbiAgICAgIHByb2ZpbGUgPSB7c3RhdGVzOnt9fTtcclxuICAgIH1cclxuICAgIGlmKCFwcm9wcy5zdGF0ZU5hbWUpe1xyXG4gICAgICBwcm9maWxlID0gey4uLnByb2ZpbGUsIGxvY2FsU2F2ZWRTdGF0ZTogcHJvcHMudGFibGVTdGF0ZSB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLCBzdGF0ZXM6IHsuLi5wcm9maWxlLnN0YXRlcywgW3Byb3BzLnN0YXRlTmFtZV0gOiBwcm9wcy50YWJsZVN0YXRlfSB9O1xyXG4gICAgfVxyXG4gICAgaWYocHJvcHMuYXNEZWZhdWx0KXtcclxuICAgICAgcHJvZmlsZS5kZWZhdWx0ID0gcHJvcHMuc3RhdGVOYW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgbG9jYWxQcm9maWxlczogey4uLnN0YXRlLmxvY2FsUHJvZmlsZXMsIFtwcm9wcy50YWJsZUlkXTogcHJvZmlsZX0gfVxyXG4gIH0pO1xyXG5cclxuICBzYXZlVGFibGVTdGF0ZVRvU3RvcmFnZSA9ICh0YWJsZUlkOiBzdHJpbmcsIHN0YXRlTmFtZTogc3RyaW5nLCB0YWJsZVN0YXRlOiBQZXJzaXN0ZWRUYWJsZVN0YXRlLCBhc0RlZmF1bHQgPSBmYWxzZSkgPT4ge1xyXG4gICAgY29uc3QgZ2xvYmFsU2F2ZWRTdGF0ZTogUGVyc2lzdGVkR2xvYmFsU3RvcmFnZVNhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICBnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbdGFibGVJZF0gPz89IHsgc3RhdGVzIDoge319XHJcbiAgICBnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbdGFibGVJZF0uc3RhdGVzW3N0YXRlTmFtZV0gPSB0YWJsZVN0YXRlO1xyXG4gICAgaWYoYXNEZWZhdWx0KXtcclxuICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW3RhYmxlSWRdLmRlZmF1bHQgPSBzdGF0ZU5hbWU7XHJcbiAgICB9XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnLCBKU09OLnN0cmluZ2lmeSggZ2xvYmFsU2F2ZWRTdGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkTmV3U3RhdGVUb0xvY2FsQW5kU3RvcmFnZSA9ICh0YWJsZUlkOiBzdHJpbmcsIG5ld1N0YXRlTmFtZTogc3RyaW5nLCB0YWJsZVN0YXRlOiBQZXJzaXN0ZWRUYWJsZVN0YXRlLCBhc0RlZmF1bHQ/OiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnNhdmVUYWJsZVNldHRpbmdzVG9Mb2NhbEFuZFN0b3JhZ2UodGFibGVJZCwgbmV3U3RhdGVOYW1lLCB0YWJsZVN0YXRlLCBhc0RlZmF1bHQpO1xyXG4gICAgdGhpcy5zZXRMb2NhbEN1cnJlbnRTdGF0ZSh7IHRhYmxlSWQ6IHRhYmxlSWQsIGN1cnJlbnRTdGF0ZUtleTogbmV3U3RhdGVOYW1lfSk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2NhbEN1cnJlbnRTdGF0ZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHByb3BzOiB7IHRhYmxlSWQ6IHN0cmluZywgY3VycmVudFN0YXRlS2V5OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgY29uc3QgcHJvZmlsZSA9IHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMudGFibGVJZF0gfHwgeyBzdGF0ZXM6IHt9fTtcclxuICAgIHByb2ZpbGUuY3VycmVudCA9IHByb3BzLmN1cnJlbnRTdGF0ZUtleTtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGxvY2FsUHJvZmlsZXM6IHsuLi5zdGF0ZS5sb2NhbFByb2ZpbGVzLCBbcHJvcHMudGFibGVJZF06IHsuLi5wcm9maWxlfX19O1xyXG4gIH0pO1xyXG5cclxuICBzZXREZWZhdWx0SW5Mb2NhbEFuZFN0b3JhZ2UgPSAodGFibGVJZDogc3RyaW5nLCBuZXdEZWZhdWx0OiBzdHJpbmcpID0+IHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdEluTG9jYWwoeyBkZWZhdWx0OiBuZXdEZWZhdWx0LCBrZXk6IHRhYmxlSWQgfSk7XHJcbiAgICB0aGlzLnNldERlZmF1bHRJblN0b3JhZ2UodGFibGVJZCwgbmV3RGVmYXVsdCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0SW5Mb2NhbCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHByb3BzOiB7IGtleTogc3RyaW5nLCBkZWZhdWx0OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgaWYoc3RhdGUubG9jYWxQcm9maWxlc1twcm9wcy5rZXldPy5zdGF0ZXNbcHJvcHMuZGVmYXVsdF0pIHtcclxuICAgICAgcmV0dXJuICh7Li4uc3RhdGUsIGxvY2FsUHJvZmlsZXM6IHsuLi5zdGF0ZS5sb2NhbFByb2ZpbGVzLCBbcHJvcHMua2V5XTogey4uLnN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMua2V5XSwgZGVmYXVsdDogcHJvcHMuZGVmYXVsdH0gfSB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdGF0ZTtcclxuICB9KTtcclxuICBcclxuICB1bnNldERlZmF1bHRGcm9tTG9jYWxBbmRTdG9yYWdlID0gKHRhYmxlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgdGhpcy51bnNldERlZmF1bHRGcm9tTG9jYWwodGFibGVJZCk7XHJcbiAgICB0aGlzLnVuc2V0RGVmYXVsdEZyb21TdG9yYWdlKHRhYmxlSWQpO1xyXG4gIH1cclxuXHJcbiAgdW5zZXREZWZhdWx0RnJvbUxvY2FsID0gKHRhYmxlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgdGhpcy5wYXRjaFN0YXRlKHRhYmxlcyA9PiB7XHJcbiAgICAgIGNvbnN0IHByb2ZpbGUgPSB7IC4uLnRhYmxlcy5sb2NhbFByb2ZpbGVzW3RhYmxlSWRdIH07XHJcbiAgICAgIGlmKHByb2ZpbGUpIHtcclxuICAgICAgICBkZWxldGUgcHJvZmlsZS5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IC4uLnRhYmxlcywgbG9jYWxQcm9maWxlczogeyAuLi50YWJsZXMubG9jYWxQcm9maWxlcywgW3RhYmxlSWRdOiBwcm9maWxlIH0gfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5zZXREZWZhdWx0RnJvbVN0b3JhZ2UgPSAodGFibGVJZDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBnbG9iYWxTYXZlZFN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICBpZihnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbdGFibGVJZF0pIHtcclxuICAgICAgZGVsZXRlIGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1t0YWJsZUlkXS5kZWZhdWx0O1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnLCBKU09OLnN0cmluZ2lmeSggZ2xvYmFsU2F2ZWRTdGF0ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGVmYXVsdEluU3RvcmFnZSA9ICh0YWJsZUlkOiBzdHJpbmcsIHN0YXRlTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCB0YWJsZVByb2ZpbGUgPSB0aGlzLiRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZSh0YWJsZUlkKSgpO1xyXG4gICAgY29uc3QgZ2xvYmFsU2F2ZWRTdGF0ZTogR2xvYmFsU3RvcmFnZVN0YXRlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnKSA/PyBKU09OLnN0cmluZ2lmeShkZWZhdWx0U3RvcmFnZVN0YXRlKSApO1xyXG4gICAgbGV0IHNhdmVkUHJvZmlsZSA9IGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1tzdGF0ZU5hbWVdO1xyXG4gICAgaWYoIXNhdmVkUHJvZmlsZT8uc3RhdGVzKSB7XHJcbiAgICAgIHNhdmVkUHJvZmlsZSA9ICB7IGRlZmF1bHQ6IHN0YXRlTmFtZSwgc3RhdGVzIDogdGFibGVQcm9maWxlIS5zdGF0ZXMgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNhdmVkUHJvZmlsZS5kZWZhdWx0ID0gc3RhdGVOYW1lO1xyXG4gICAgfVxyXG4gICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW3RhYmxlSWRdID0gc2F2ZWRQcm9maWxlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2dsb2JhbC1zdGF0ZS1zdG9yYWdlJywgSlNPTi5zdHJpbmdpZnkoIGdsb2JhbFNhdmVkU3RhdGUpKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUxvY2FsUHJvZmlsZXNTdGF0ZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHByb3BzOiB7IGtleTogc3RyaW5nLCBzdGF0ZUtleTogc3RyaW5nIH0pID0+IHtcclxuICAgIGxldCBwcm9maWxlID0gc3RhdGUubG9jYWxQcm9maWxlc1twcm9wcy5rZXldO1xyXG4gICAgaWYocHJvZmlsZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50ID0gcHJvZmlsZS5jdXJyZW50ID09PSBwcm9wcy5zdGF0ZUtleSA/IHByb2ZpbGUuZGVmYXVsdCA6IHByb2ZpbGUuY3VycmVudDtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLGN1cnJlbnQsIHN0YXRlczogeyAuLi5wcm9maWxlLnN0YXRlc319O1xyXG4gICAgICBkZWxldGUgcHJvZmlsZS5zdGF0ZXNbcHJvcHMuc3RhdGVLZXldO1xyXG4gICAgICBpZihjdXJyZW50ID09PSBwcm9wcy5zdGF0ZUtleSkge1xyXG4gICAgICAgIHByb2ZpbGUuY3VycmVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBsb2NhbFByb2ZpbGVzOiB7Li4uc3RhdGUubG9jYWxQcm9maWxlcywgW3Byb3BzLmtleV06IHByb2ZpbGV9IH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc3RhdGU7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGRlbGV0ZVByb2ZpbGVGcm9tTG9jYWxBbmRTdG9yYWdlID0gKGtleTogc3RyaW5nLCBzdGF0ZUtleTogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBnbG9iYWxTYXZlZFN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICBpZighZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2tleV0pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVsZXRlIChnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNba2V5XS5zdGF0ZXMgPz8ge30pW3N0YXRlS2V5XTtcclxuICAgIH1cclxuICAgIGlmKGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1trZXldLmRlZmF1bHQgPT09IHN0YXRlS2V5KSB7XHJcbiAgICAgIGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1trZXldLmRlZmF1bHQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnLCBKU09OLnN0cmluZ2lmeSggZ2xvYmFsU2F2ZWRTdGF0ZSkpO1xyXG4gICAgdGhpcy5kZWxldGVMb2NhbFByb2ZpbGVzU3RhdGUoeyBrZXksIHN0YXRlS2V5IH0pXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBsb2FkR2xvYmFsU3RvcmFnZVN0YXRlKCkgOiBHbG9iYWxTdG9yYWdlU3RhdGUgfCB2b2lkIHtcclxuICBjb25zdCBzdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2dsb2JhbC1zdGF0ZS1zdG9yYWdlJyk7XHJcbiAgXHJcbiAgaWYoc3RvcmFnZSkge1xyXG4gICAgY29uc3QgczogR2xvYmFsU3RvcmFnZVN0YXRlID0gKEpTT04ucGFyc2Uoc3RvcmFnZSkgYXMgUGVyc2lzdGVkR2xvYmFsU3RvcmFnZVNhdGUpO1xyXG4gICAgcy5sb2NhbFByb2ZpbGVzID8/PSB7fTtcclxuICAgIGZvcihjb25zdCBrZXkgaW4gcy5sb2NhbFByb2ZpbGVzKXtcclxuICAgICAgY29uc3QgcHJvZmlsZSA9IHMubG9jYWxQcm9maWxlc1trZXldO1xyXG4gICAgICBzLmxvY2FsUHJvZmlsZXNba2V5XSA9IHsgLi4ucHJvZmlsZSwgY3VycmVudDogcHJvZmlsZS5kZWZhdWx0IH0gYXMgUHJvZmlsZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsuLi5kZWZhdWx0U3RvcmFnZVN0YXRlLCAuLi5zfTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBQZXJzaXN0ZWRQcm9maWxlIHtcclxuICBzdGF0ZXM6IERpY3Rpb25hcnk8UGVyc2lzdGVkVGFibGVTdGF0ZT47XHJcbiAgZGVmYXVsdD86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUgZXh0ZW5kcyBQZXJzaXN0ZWRQcm9maWxlIHtcclxuICBjdXJyZW50Pzogc3RyaW5nO1xyXG4gIGxvY2FsU2F2ZWRTdGF0ZT86IFBlcnNpc3RlZFRhYmxlU3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsU3RvcmFnZVN0YXRlIHtcclxuICBsb2NhbFByb2ZpbGVzOiBEaWN0aW9uYXJ5PFByb2ZpbGU+O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGVyc2lzdGVkR2xvYmFsU3RvcmFnZVNhdGUge1xyXG4gIGxvY2FsUHJvZmlsZXM6IERpY3Rpb25hcnk8UGVyc2lzdGVkUHJvZmlsZT47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0U3RvcmFnZVN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSB7XHJcbiAgbG9jYWxQcm9maWxlczoge31cclxufSJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVCdWlsZGVyU3RhdGVTdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItdXRpbGl0aWVzL3NyYy90YWJsZS1idWlsZGVyL25ncngvdGFibGVCdWlsZGVyU3RhdGVTdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7QUFPbkQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGNBQWtDO0lBQzVFO1FBQ0UsS0FBSyxDQUFDLHNCQUFzQixFQUFFLElBQUksbUJBQW1CLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsV0FBVztJQUNYLHdCQUF3QixHQUFHLENBQUMsVUFBaUIsRUFBK0IsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDdkcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRW5DLDZCQUE2QixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUNwRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQ3RDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDVixJQUFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNwQixPQUFRLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFHLE9BQU8sRUFBRSxlQUFlO1lBQUUsT0FBTyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQzVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUNGLENBQUE7SUFFRCw2QkFBNkIsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FDL0QsSUFBSSxD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LEdBQXdCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFnQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxhQUFhLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLEtBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFhLENBQUE7UUFDNUUsQ0FBQztRQUNELE9BQU8sRUFBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcsQ0FBQyxFQUFDLENBQUM7SUFDeEMsQ0FBQztBQUNILENBQUM7QUFtQkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXVCO0lBQ3JELGFBQWEsRUFBRSxFQUFFO0NBQ2xCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gXCJAbmdyeC9jb21wb25lbnQtc3RvcmVcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjb25jYXRMYXRlc3RGcm9tIH0gZnJvbSAnQG5ncngvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2RpY3Rpb25hcnlcIjtcclxuaW1wb3J0IHsgUGVyc2lzdGVkVGFibGVTdGF0ZSwgVGFibGVTdGF0ZSB9IGZyb20gXCIuLi9jbGFzc2VzL1RhYmxlU3RhdGVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnfSlcclxuZXhwb3J0IGNsYXNzIFRhYmxlQnVpbGRlclN0YXRlU3RvcmUgZXh0ZW5kcyBDb21wb25lbnRTdG9yZTxHbG9iYWxTdG9yYWdlU3RhdGU+IHtcclxuICBjb25zdHJ1Y3Rvcigpe1xyXG4gICAgc3VwZXIobG9hZEdsb2JhbFN0b3JhZ2VTdGF0ZSgpIHx8IGRlZmF1bHRTdG9yYWdlU3RhdGUpXHJcbiAgfVxyXG5cclxuICAvL3NlbGVjdG9yc1xyXG4gICRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZSA9IChwcm9maWxlS2V5OnN0cmluZyk6IFNpZ25hbDxQcm9maWxlIHwgdW5kZWZpbmVkPiA9PiB0aGlzLnNlbGVjdFNpZ25hbChzdGF0ZSA9PiBcclxuICAgIHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvZmlsZUtleV0pO1xyXG5cclxuICAkc2VsZWN0TG9jYWxUYWJsZVN0YXRlRm9yVmlldyA9ICh0YWJsZUlkOiBzdHJpbmcpID0+IHRoaXMuc2VsZWN0U2lnbmFsKFxyXG4gICAgdGhpcy4kc2VsZWN0TG9jYWxUYWJsZVByb2ZpbGUodGFibGVJZCksXHJcbiAgICAocHJvZmlsZSkgPT4ge1xyXG4gICAgICBpZihwcm9maWxlPy5jdXJyZW50KSB7XHJcbiAgICAgICAgcmV0dXJuICBwcm9maWxlLnN0YXRlc1twcm9maWxlLmN1cnJlbnRdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKHByb2ZpbGU/LmxvY2FsU2F2ZWRTdGF0ZSkgcmV0dXJuIHByb2ZpbGUubG9jYWxTYXZlZFN0YXRlO1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICApXHJcblxyXG4gICRzZWxlY3RMb2NhbFByb2ZpbGVDdXJyZW50S2V5ID0gKGtleTpzdHJpbmcpID0+IHRoaXMuc2VsZWN0U2lnbmFsKFxyXG4gICAgdGhpcy4kc2VsZWN0TG9jYWxUYWJsZVByb2ZpbGUoa2V5KSxcclxuICAgIChwcm9maWxlKSA9PiBwcm9maWxlPy5jdXJyZW50KTtcclxuXHJcbiAgJHNlbGVjdExvY2FsUHJvZmlsZURlZmF1bHRLZXkgPSAoa2V5OnN0cmluZykgPT4gdGhpcy5zZWxlY3RTaWduYWwoXHJcbiAgICB0aGlzLiRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZShrZXkpLFxyXG4gICAgKHByb2ZpbGUpID0+IHByb2ZpbGU/LmRlZmF1bHQpO1xyXG5cclxuICAkc2VsZWN0TG9jYWxQcm9maWxlS2V5cyA9ICh0YWJsZUlkOnN0cmluZykgPT4gdGhpcy5zZWxlY3RTaWduYWwoXHJcbiAgICB0aGlzLiRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZSh0YWJsZUlkKSxcclxuICAgIChwcm9maWxlKSA9PiBPYmplY3Qua2V5cyhwcm9maWxlPy5zdGF0ZXMgfHwge30pXHJcbiAgKTtcclxuXHJcblxyXG4gIC8vIHJlZHVjZXJzXHJcbiAgXHJcblxyXG4gIHNhdmVUYWJsZVNldHRpbmdzVG9Mb2NhbEFuZFN0b3JhZ2UgPSAodGFibGVJZDogc3RyaW5nLCBzdGF0ZU5hbWU6IHN0cmluZywgdGFibGVTdGF0ZTogUGVyc2lzdGVkVGFibGVTdGF0ZSwgYXNEZWZhdWx0PzogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5zYXZlVGFibGVTdGF0ZVRvU3RvcmFnZSh0YWJsZUlkLCBzdGF0ZU5hbWUsIHRhYmxlU3RhdGUsIGFzRGVmYXVsdCk7XHJcbiAgICB0aGlzLnNhdmVUYWJsZVN0YXRlVG9Mb2NhbCh7IHRhYmxlSWQsIHRhYmxlU3RhdGUsIHN0YXRlTmFtZSwgYXNEZWZhdWx0IH0pO1xyXG4gIH1cclxuICBcclxuICBzYXZlVGFibGVTdGF0ZVRvTG9jYWwgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBwcm9wczogeyB0YWJsZUlkOiBzdHJpbmcsIHRhYmxlU3RhdGU6IFBlcnNpc3RlZFRhYmxlU3RhdGUsIHN0YXRlTmFtZT86IHN0cmluZywgYXNEZWZhdWx0PzogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICBsZXQgcHJvZmlsZSA9IHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMudGFibGVJZF07XHJcbiAgICBpZighcHJvZmlsZT8uc3RhdGVzKSB7XHJcbiAgICAgIHByb2ZpbGUgPSB7c3RhdGVzOnt9fTtcclxuICAgIH1cclxuICAgIGlmKCFwcm9wcy5zdGF0ZU5hbWUpe1xyXG4gICAgICBwcm9maWxlID0gey4uLnByb2ZpbGUsIGxvY2FsU2F2ZWRTdGF0ZTogcHJvcHMudGFibGVTdGF0ZSB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLCBzdGF0ZXM6IHsuLi5wcm9maWxlLnN0YXRlcywgW3Byb3BzLnN0YXRlTmFtZV0gOiBwcm9wcy50YWJsZVN0YXRlfSB9O1xyXG4gICAgfVxyXG4gICAgaWYocHJvcHMuYXNEZWZhdWx0KXtcclxuICAgICAgcHJvZmlsZS5kZWZhdWx0ID0gcHJvcHMuc3RhdGVOYW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsuLi5zdGF0ZSwgbG9jYWxQcm9maWxlczogey4uLnN0YXRlLmxvY2FsUHJvZmlsZXMsIFtwcm9wcy50YWJsZUlkXTogcHJvZmlsZX0gfVxyXG4gIH0pO1xyXG5cclxuICBzYXZlVGFibGVTdGF0ZVRvU3RvcmFnZSA9ICh0YWJsZUlkOiBzdHJpbmcsIHN0YXRlTmFtZTogc3RyaW5nLCB0YWJsZVN0YXRlOiBQZXJzaXN0ZWRUYWJsZVN0YXRlLCBhc0RlZmF1bHQgPSBmYWxzZSkgPT4ge1xyXG4gICAgY29uc3QgZ2xvYmFsU2F2ZWRTdGF0ZTogUGVyc2lzdGVkR2xvYmFsU3RvcmFnZVNhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICBnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbdGFibGVJZF0gPz89IHsgc3RhdGVzIDoge319XHJcbiAgICBnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbdGFibGVJZF0uc3RhdGVzW3N0YXRlTmFtZV0gPSB0YWJsZVN0YXRlO1xyXG4gICAgaWYoYXNEZWZhdWx0KXtcclxuICAgICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW3RhYmxlSWRdLmRlZmF1bHQgPSBzdGF0ZU5hbWU7XHJcbiAgICB9XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnLCBKU09OLnN0cmluZ2lmeSggZ2xvYmFsU2F2ZWRTdGF0ZSkpO1xyXG4gIH1cclxuXHJcbiAgYWRkTmV3U3RhdGVUb0xvY2FsQW5kU3RvcmFnZSA9ICh0YWJsZUlkOiBzdHJpbmcsIG5ld1N0YXRlTmFtZTogc3RyaW5nLCB0YWJsZVN0YXRlOiBQZXJzaXN0ZWRUYWJsZVN0YXRlLCBhc0RlZmF1bHQ/OiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLnNhdmVUYWJsZVNldHRpbmdzVG9Mb2NhbEFuZFN0b3JhZ2UodGFibGVJZCwgbmV3U3RhdGVOYW1lLCB0YWJsZVN0YXRlLCBhc0RlZmF1bHQpO1xyXG4gICAgdGhpcy5zZXRMb2NhbEN1cnJlbnRTdGF0ZSh7IHRhYmxlSWQ6IHRhYmxlSWQsIGN1cnJlbnRTdGF0ZUtleTogbmV3U3RhdGVOYW1lfSk7XHJcbiAgfVxyXG5cclxuICBzZXRMb2NhbEN1cnJlbnRTdGF0ZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHByb3BzOiB7IHRhYmxlSWQ6IHN0cmluZywgY3VycmVudFN0YXRlS2V5OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgY29uc3QgcHJvZmlsZSA9IHN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMudGFibGVJZF0gfHwgeyBzdGF0ZXM6IHt9fTtcclxuICAgIHByb2ZpbGUuY3VycmVudCA9IHByb3BzLmN1cnJlbnRTdGF0ZUtleTtcclxuICAgIHJldHVybiB7Li4uc3RhdGUsIGxvY2FsUHJvZmlsZXM6IHsuLi5zdGF0ZS5sb2NhbFByb2ZpbGVzLCBbcHJvcHMudGFibGVJZF06IHsuLi5wcm9maWxlfX19O1xyXG4gIH0pO1xyXG5cclxuICBzZXREZWZhdWx0SW5Mb2NhbEFuZFN0b3JhZ2UgPSAodGFibGVJZDogc3RyaW5nLCBuZXdEZWZhdWx0OiBzdHJpbmcpID0+IHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdEluTG9jYWwoeyBkZWZhdWx0OiBuZXdEZWZhdWx0LCBrZXk6IHRhYmxlSWQgfSk7XHJcbiAgICB0aGlzLnNldERlZmF1bHRJblN0b3JhZ2UodGFibGVJZCwgbmV3RGVmYXVsdCk7XHJcbiAgfVxyXG5cclxuICBzZXREZWZhdWx0SW5Mb2NhbCA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHByb3BzOiB7IGtleTogc3RyaW5nLCBkZWZhdWx0OiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgaWYoc3RhdGUubG9jYWxQcm9maWxlc1twcm9wcy5rZXldPy5zdGF0ZXNbcHJvcHMuZGVmYXVsdF0pIHtcclxuICAgICAgcmV0dXJuICh7Li4uc3RhdGUsIGxvY2FsUHJvZmlsZXM6IHsuLi5zdGF0ZS5sb2NhbFByb2ZpbGVzLCBbcHJvcHMua2V5XTogey4uLnN0YXRlLmxvY2FsUHJvZmlsZXNbcHJvcHMua2V5XSwgZGVmYXVsdDogcHJvcHMuZGVmYXVsdH0gfSB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdGF0ZTtcclxuICB9KTtcclxuICBcclxuICB1bnNldERlZmF1bHRGcm9tTG9jYWxBbmRTdG9yYWdlID0gKHRhYmxlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgdGhpcy51bnNldERlZmF1bHRGcm9tTG9jYWwodGFibGVJZCk7XHJcbiAgICB0aGlzLnVuc2V0RGVmYXVsdEZyb21TdG9yYWdlKHRhYmxlSWQpO1xyXG4gIH1cclxuXHJcbiAgdW5zZXREZWZhdWx0RnJvbUxvY2FsID0gKHRhYmxlSWQ6IHN0cmluZykgPT4ge1xyXG4gICAgdGhpcy5wYXRjaFN0YXRlKHRhYmxlcyA9PiB7XHJcbiAgICAgIGNvbnN0IHByb2ZpbGUgPSB7IC4uLnRhYmxlcy5sb2NhbFByb2ZpbGVzW3RhYmxlSWRdIH07XHJcbiAgICAgIGlmKHByb2ZpbGUpIHtcclxuICAgICAgICBkZWxldGUgcHJvZmlsZS5kZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7IC4uLnRhYmxlcywgbG9jYWxQcm9maWxlczogeyAuLi50YWJsZXMubG9jYWxQcm9maWxlcywgW3RhYmxlSWRdOiBwcm9maWxlIH0gfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5zZXREZWZhdWx0RnJvbVN0b3JhZ2UgPSAodGFibGVJZDogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBnbG9iYWxTYXZlZFN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICBpZihnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNbdGFibGVJZF0pIHtcclxuICAgICAgZGVsZXRlIGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1t0YWJsZUlkXS5kZWZhdWx0O1xyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnLCBKU09OLnN0cmluZ2lmeSggZ2xvYmFsU2F2ZWRTdGF0ZSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RGVmYXVsdEluU3RvcmFnZSA9ICh0YWJsZUlkOiBzdHJpbmcsIHN0YXRlTmFtZTogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCB0YWJsZVByb2ZpbGUgPSB0aGlzLiRzZWxlY3RMb2NhbFRhYmxlUHJvZmlsZSh0YWJsZUlkKSgpO1xyXG4gICAgY29uc3QgZ2xvYmFsU2F2ZWRTdGF0ZTogR2xvYmFsU3RvcmFnZVN0YXRlID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnKSA/PyBKU09OLnN0cmluZ2lmeShkZWZhdWx0U3RvcmFnZVN0YXRlKSApO1xyXG4gICAgbGV0IHNhdmVkUHJvZmlsZSA9IGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1tzdGF0ZU5hbWVdO1xyXG4gICAgaWYoIXNhdmVkUHJvZmlsZT8uc3RhdGVzKSB7XHJcbiAgICAgIHNhdmVkUHJvZmlsZSA9ICB7IGRlZmF1bHQ6IHN0YXRlTmFtZSwgc3RhdGVzIDogdGFibGVQcm9maWxlIS5zdGF0ZXMgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNhdmVkUHJvZmlsZS5kZWZhdWx0ID0gc3RhdGVOYW1lO1xyXG4gICAgfVxyXG4gICAgZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW3RhYmxlSWRdID0gc2F2ZWRQcm9maWxlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2dsb2JhbC1zdGF0ZS1zdG9yYWdlJywgSlNPTi5zdHJpbmdpZnkoIGdsb2JhbFNhdmVkU3RhdGUpKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUxvY2FsUHJvZmlsZXNTdGF0ZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHByb3BzOiB7IGtleTogc3RyaW5nLCBzdGF0ZUtleTogc3RyaW5nIH0pID0+IHtcclxuICAgIGxldCBwcm9maWxlID0gc3RhdGUubG9jYWxQcm9maWxlc1twcm9wcy5rZXldO1xyXG4gICAgaWYocHJvZmlsZSkge1xyXG4gICAgICBjb25zdCBjdXJyZW50ID0gcHJvZmlsZS5jdXJyZW50ID09PSBwcm9wcy5zdGF0ZUtleSA/IHByb2ZpbGUuZGVmYXVsdCA6IHByb2ZpbGUuY3VycmVudDtcclxuICAgICAgcHJvZmlsZSA9IHsuLi5wcm9maWxlLGN1cnJlbnQsIHN0YXRlczogeyAuLi5wcm9maWxlLnN0YXRlc319O1xyXG4gICAgICBkZWxldGUgcHJvZmlsZS5zdGF0ZXNbcHJvcHMuc3RhdGVLZXldO1xyXG4gICAgICBpZihjdXJyZW50ID09PSBwcm9wcy5zdGF0ZUtleSkge1xyXG4gICAgICAgIHByb2ZpbGUuY3VycmVudCA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gey4uLnN0YXRlLCBsb2NhbFByb2ZpbGVzOiB7Li4uc3RhdGUubG9jYWxQcm9maWxlcywgW3Byb3BzLmtleV06IHByb2ZpbGV9IH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc3RhdGU7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGRlbGV0ZVByb2ZpbGVGcm9tTG9jYWxBbmRTdG9yYWdlID0gKGtleTogc3RyaW5nLCBzdGF0ZUtleTogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCBnbG9iYWxTYXZlZFN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdnbG9iYWwtc3RhdGUtc3RvcmFnZScpID8/IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRTdG9yYWdlU3RhdGUpICk7XHJcbiAgICBpZighZ2xvYmFsU2F2ZWRTdGF0ZS5sb2NhbFByb2ZpbGVzW2tleV0pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVsZXRlIChnbG9iYWxTYXZlZFN0YXRlLmxvY2FsUHJvZmlsZXNba2V5XS5zdGF0ZXMgPz8ge30pW3N0YXRlS2V5XTtcclxuICAgIH1cclxuICAgIGlmKGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1trZXldLmRlZmF1bHQgPT09IHN0YXRlS2V5KSB7XHJcbiAgICAgIGdsb2JhbFNhdmVkU3RhdGUubG9jYWxQcm9maWxlc1trZXldLmRlZmF1bHQgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZ2xvYmFsLXN0YXRlLXN0b3JhZ2UnLCBKU09OLnN0cmluZ2lmeSggZ2xvYmFsU2F2ZWRTdGF0ZSkpO1xyXG4gICAgdGhpcy5kZWxldGVMb2NhbFByb2ZpbGVzU3RhdGUoeyBrZXksIHN0YXRlS2V5IH0pXHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBsb2FkR2xvYmFsU3RvcmFnZVN0YXRlKCkgOiBHbG9iYWxTdG9yYWdlU3RhdGUgfCB2b2lkIHtcclxuICBjb25zdCBzdG9yYWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2dsb2JhbC1zdGF0ZS1zdG9yYWdlJyk7XHJcbiAgXHJcbiAgaWYoc3RvcmFnZSkge1xyXG4gICAgY29uc3QgczogR2xvYmFsU3RvcmFnZVN0YXRlID0gKEpTT04ucGFyc2Uoc3RvcmFnZSkgYXMgUGVyc2lzdGVkR2xvYmFsU3RvcmFnZVNhdGUpO1xyXG4gICAgcy5sb2NhbFByb2ZpbGVzID8/PSB7fTtcclxuICAgIGZvcihjb25zdCBrZXkgaW4gcy5sb2NhbFByb2ZpbGVzKXtcclxuICAgICAgY29uc3QgcHJvZmlsZSA9IHMubG9jYWxQcm9maWxlc1trZXldO1xyXG4gICAgICBzLmxvY2FsUHJvZmlsZXNba2V5XSA9IHsgLi4ucHJvZmlsZSwgY3VycmVudDogcHJvZmlsZS5kZWZhdWx0IH0gYXMgUHJvZmlsZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHsuLi5kZWZhdWx0U3RvcmFnZVN0YXRlLCAuLi5zfTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBQZXJzaXN0ZWRQcm9maWxlIHtcclxuICBzdGF0ZXM6IERpY3Rpb25hcnk8UGVyc2lzdGVkVGFibGVTdGF0ZT47XHJcbiAgZGVmYXVsdD86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUgZXh0ZW5kcyBQZXJzaXN0ZWRQcm9maWxlIHtcclxuICBjdXJyZW50Pzogc3RyaW5nO1xyXG4gIGxvY2FsU2F2ZWRTdGF0ZT86IFBlcnNpc3RlZFRhYmxlU3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsU3RvcmFnZVN0YXRlIHtcclxuICBsb2NhbFByb2ZpbGVzOiBEaWN0aW9uYXJ5PFByb2ZpbGU+O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGVyc2lzdGVkR2xvYmFsU3RvcmFnZVNhdGUge1xyXG4gIGxvY2FsUHJvZmlsZXM6IERpY3Rpb25hcnk8UGVyc2lzdGVkUHJvZmlsZT47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBkZWZhdWx0U3RvcmFnZVN0YXRlOiBHbG9iYWxTdG9yYWdlU3RhdGUgPSB7XHJcbiAgbG9jYWxQcm9maWxlczoge31cclxufSJdfQ==
@@ -9,14 +9,14 @@ export class ColumnTotalPipe {
9
9
  return sumBy(dataToCalculate, metaData.key);
10
10
  }
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnTotalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: ColumnTotalPipe, isStandalone: true, name: "columnTotal" }); }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ColumnTotalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
13
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: ColumnTotalPipe, isStandalone: true, name: "columnTotal" });
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnTotalPipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: ColumnTotalPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{
18
18
  name: 'columnTotal',
19
19
  standalone: true
20
20
  }]
21
21
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRvdGFsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9jb2x1bW4tdG90YWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQU03QixNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsSUFBVyxFQUFFLFFBQWtCO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxRCxRQUFRLFFBQVEsQ0FBQyxVQUFXLENBQUMsTUFBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFDLEtBQUssS0FBSztnQkFDVixPQUFPLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDOzhHQVBVLGVBQWU7NEdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDakIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7c3VtQnl9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NvbHVtblRvdGFsJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxuICB9KVxyXG5leHBvcnQgY2xhc3MgQ29sdW1uVG90YWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGRhdGE6IGFueVtdLCBtZXRhRGF0YTogTWV0YURhdGEpIHtcclxuICAgIGNvbnN0IGRhdGFUb0NhbGN1bGF0ZSA9IGRhdGEuZmlsdGVyKGQgPT4gIWQuaXNHcm91cEhlYWRlcilcclxuICAgIHN3aXRjaCAobWV0YURhdGEuYWRkaXRpb25hbCEuZm9vdGVyIS50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3N1bSc6XHJcbiAgICAgIHJldHVybiBzdW1CeShkYXRhVG9DYWxjdWxhdGUsIG1ldGFEYXRhLmtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXRvdGFsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9jb2x1bW4tdG90YWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDOztBQU03QixNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsSUFBVyxFQUFFLFFBQWtCO1FBQ3ZDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxRCxRQUFRLFFBQVEsQ0FBQyxVQUFXLENBQUMsTUFBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzFDLEtBQUssS0FBSztnQkFDVixPQUFPLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO3VHQVBVLGVBQWU7cUdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDakIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXRhRGF0YSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7c3VtQnl9IGZyb20gJ2xvZGFzaCc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2NvbHVtblRvdGFsJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxuICB9KVxyXG5leHBvcnQgY2xhc3MgQ29sdW1uVG90YWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGRhdGE6IGFueVtdLCBtZXRhRGF0YTogTWV0YURhdGEpIHtcclxuICAgIGNvbnN0IGRhdGFUb0NhbGN1bGF0ZSA9IGRhdGEuZmlsdGVyKGQgPT4gIWQuaXNHcm91cEhlYWRlcilcclxuICAgIHN3aXRjaCAobWV0YURhdGEuYWRkaXRpb25hbCEuZm9vdGVyIS50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ3N1bSc6XHJcbiAgICAgIHJldHVybiBzdW1CeShkYXRhVG9DYWxjdWxhdGUsIG1ldGFEYXRhLmtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -8,11 +8,11 @@ export class FormatFilterTypePipe {
8
8
  }
9
9
  return filterType;
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormatFilterTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: FormatFilterTypePipe, isStandalone: true, name: "formatFilterType" }); }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FormatFilterTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: FormatFilterTypePipe, isStandalone: true, name: "formatFilterType" });
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormatFilterTypePipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FormatFilterTypePipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'formatFilterType', standalone: true }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci10eXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9mb3JtYXQtZmlsdGVyLXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBR2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLFVBQXNCLEVBQUUsS0FBVTtRQUMxQyxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFDLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFBO1FBQzVDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQU5VLG9CQUFvQjs0R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcblxyXG5AUGlwZSh7bmFtZTogJ2Zvcm1hdEZpbHRlclR5cGUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclR5cGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGZpbHRlclR5cGU6IEZpbHRlclR5cGUsIHZhbHVlOiBhbnkpe1xyXG4gICAgaWYoZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jc051bGwpe1xyXG4gICAgICByZXR1cm4gdmFsdWUgPyBmaWx0ZXJUeXBlIDogJ0lzIE5vdCBCbGFuaydcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJUeXBlO1xyXG4gIH1cclxufSJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci10eXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9mb3JtYXQtZmlsdGVyLXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBR2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsU0FBUyxDQUFDLFVBQXNCLEVBQUUsS0FBVTtRQUMxQyxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFDLENBQUM7WUFDbkMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFBO1FBQzVDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO3VHQU5VLG9CQUFvQjtxR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUgfSBmcm9tICcuLi9lbnVtcy9maWx0ZXJUeXBlcyc7XHJcblxyXG5AUGlwZSh7bmFtZTogJ2Zvcm1hdEZpbHRlclR5cGUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclR5cGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKGZpbHRlclR5cGU6IEZpbHRlclR5cGUsIHZhbHVlOiBhbnkpe1xyXG4gICAgaWYoZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5Jc051bGwpe1xyXG4gICAgICByZXR1cm4gdmFsdWUgPyBmaWx0ZXJUeXBlIDogJ0lzIE5vdCBCbGFuaydcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJUeXBlO1xyXG4gIH1cclxufSJdfQ==
@@ -1,17 +1,15 @@
1
- import { Pipe } from '@angular/core';
1
+ import { Pipe, inject } from '@angular/core';
2
+ import { TableStore } from '../classes/table-store';
2
3
  import { map } from 'rxjs/operators';
3
4
  import { FieldType } from '../interfaces/report-def';
5
+ import { DatePipe } from '@angular/common';
4
6
  import { FilterType } from '../enums/filterTypes';
5
7
  import { spaceCase } from '../../utilities/pipes/space-case.pipes';
6
8
  import { DateTimeFilterFuncs } from '../functions/date-filter-function';
7
9
  import * as i0 from "@angular/core";
8
- import * as i1 from "../classes/table-store";
9
- import * as i2 from "@angular/common";
10
10
  export class FormatFilterValuePipe {
11
- constructor(tableState, datePipe) {
12
- this.tableState = tableState;
13
- this.datePipe = datePipe;
14
- }
11
+ tableState = inject(TableStore);
12
+ datePipe = inject(DatePipe);
15
13
  transform(value, key, filterType) {
16
14
  return this.tableState.getMetaData$(key).pipe(map(md => {
17
15
  if (filterType === FilterType.IsNull) {
@@ -35,11 +33,11 @@ export class FormatFilterValuePipe {
35
33
  return value;
36
34
  }));
37
35
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormatFilterValuePipe, deps: [{ token: i1.TableStore }, { token: i2.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe }); }
39
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: FormatFilterValuePipe, isStandalone: true, name: "formatFilterValue" }); }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FormatFilterValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
37
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: FormatFilterValuePipe, isStandalone: true, name: "formatFilterValue" });
40
38
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: FormatFilterValuePipe, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FormatFilterValuePipe, decorators: [{
42
40
  type: Pipe,
43
41
  args: [{ name: 'formatFilterValue', standalone: true }]
44
- }], ctorParameters: () => [{ type: i1.TableStore }, { type: i2.DatePipe }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvcGlwZXMvZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7OztBQUl4RSxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLFVBQXNCLEVBQVcsUUFBa0I7UUFBbkQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFXLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDdkUsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFVLEVBQUUsR0FBVyxFQUFFLFVBQXNCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUUsRUFBRSxDQUFDLEVBQUU7WUFDUixJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELElBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxFQUFFLENBQUUsRUFBQyxDQUFDO2dCQUMzQyxJQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNuQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVyxDQUFDLE9BQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQztnQkFDM0YsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO1lBQ25DLENBQUM7WUFDRCxJQUFHLFVBQVUsS0FBSyxVQUFVLENBQUMsYUFBYSxFQUFDLENBQUM7Z0JBQzFDLE9BQU8sS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsSUFBRyxFQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FBQztnQkFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELElBQUcsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsUUFBUSxFQUFDLENBQUM7Z0JBQ3RDLE9BQU8sQ0FBQyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsSSxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0EzQlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQtZGVmJztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGaWx0ZXJUeXBlIH0gZnJvbSAnLi4vZW51bXMvZmlsdGVyVHlwZXMnO1xyXG5pbXBvcnQgeyBzcGFjZUNhc2UgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcyc7XHJcbmltcG9ydCB7IERhdGVUaW1lRmlsdGVyRnVuY3MgfSBmcm9tICcuLi9mdW5jdGlvbnMvZGF0ZS1maWx0ZXItZnVuY3Rpb24nO1xyXG5cclxuXHJcbkBQaXBlKHtuYW1lOiAnZm9ybWF0RmlsdGVyVmFsdWUnLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdEZpbHRlclZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgdGFibGVTdGF0ZTogVGFibGVTdG9yZSAsIHByaXZhdGUgZGF0ZVBpcGU6IERhdGVQaXBlKSB7XHJcbiAgfVxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBrZXk6IHN0cmluZywgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZVN0YXRlLmdldE1ldGFEYXRhJChrZXkpLnBpcGUoXHJcbiAgICAgIG1hcCggbWQgPT4ge1xyXG4gICAgICAgIGlmKGZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuSXNOdWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHZhbHVlICYmIChmaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLkluICkpe1xyXG4gICAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRW51bSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubWFwKCAodjogYW55KSA9PiBzcGFjZUNhc2UobWQuYWRkaXRpb25hbCEuZW51bU1hcCFbdl0pKS5qb2luKCcsICcpID8/IHZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLmpvaW4oJywgJykgPz8gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGZpbHRlclR5cGUgPT09IEZpbHRlclR5cGUuTnVtYmVyQmV0d2Vlbil7XHJcbiAgICAgICAgICByZXR1cm4gdmFsdWUuU3RhcnQgKyAnIC0gJyArIHZhbHVlLkVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZSl7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihtZC5maWVsZFR5cGUgPT09IEZpZWxkVHlwZS5EYXRlVGltZSl7XHJcbiAgICAgICAgICByZXR1cm4gISFEYXRlVGltZUZpbHRlckZ1bmNzW2ZpbHRlclR5cGVdID8gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdzaG9ydCcpIDogdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsICdNTS9kZC95eScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci11dGlsaXRpZXMvc3JjL3RhYmxlLWJ1aWxkZXIvcGlwZXMvZm9ybWF0LWZpbHRlci12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFJeEUsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEMsU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFXLEVBQUUsVUFBc0I7UUFDdkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBRSxFQUFFLENBQUMsRUFBRTtZQUNSLElBQUcsVUFBVSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBQ0QsSUFBRyxLQUFLLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLEVBQUUsQ0FBRSxFQUFDLENBQUM7Z0JBQzNDLElBQUcsRUFBRSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ25DLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFXLENBQUMsT0FBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDO2dCQUMzRixDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUM7WUFDbkMsQ0FBQztZQUNELElBQUcsVUFBVSxLQUFLLFVBQVUsQ0FBQyxhQUFhLEVBQUMsQ0FBQztnQkFDMUMsT0FBTyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFHLEVBQUUsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLElBQUksRUFBQyxDQUFDO2dCQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQ0QsSUFBRyxFQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUMsQ0FBQztnQkFDdEMsT0FBTyxDQUFDLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2xJLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQTtRQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQTVCVSxxQkFBcUI7cUdBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEakMsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRhYmxlU3RvcmUgfSBmcm9tICcuLi9jbGFzc2VzL3RhYmxlLXN0b3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LWRlZic7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRmlsdGVyVHlwZSB9IGZyb20gJy4uL2VudW1zL2ZpbHRlclR5cGVzJztcclxuaW1wb3J0IHsgc3BhY2VDYXNlIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3BpcGVzL3NwYWNlLWNhc2UucGlwZXMnO1xyXG5pbXBvcnQgeyBEYXRlVGltZUZpbHRlckZ1bmNzIH0gZnJvbSAnLi4vZnVuY3Rpb25zL2RhdGUtZmlsdGVyLWZ1bmN0aW9uJztcclxuXHJcblxyXG5AUGlwZSh7bmFtZTogJ2Zvcm1hdEZpbHRlclZhbHVlJywgc3RhbmRhbG9uZTogdHJ1ZX0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRGaWx0ZXJWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0YWJsZVN0YXRlID0gaW5qZWN0KFRhYmxlU3RvcmUpO1xyXG4gIHByaXZhdGUgZGF0ZVBpcGUgPSBpbmplY3QoRGF0ZVBpcGUpO1xyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwga2V5OiBzdHJpbmcsIGZpbHRlclR5cGU6IEZpbHRlclR5cGUpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZS5nZXRNZXRhRGF0YSQoa2V5KS5waXBlKFxyXG4gICAgICBtYXAoIG1kID0+IHtcclxuICAgICAgICBpZihmaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLklzTnVsbCkge1xyXG4gICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih2YWx1ZSAmJiAoZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZS5JbiApKXtcclxuICAgICAgICAgIGlmKG1kLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkVudW0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLm1hcCggKHY6IGFueSkgPT4gc3BhY2VDYXNlKG1kLmFkZGl0aW9uYWwhLmVudW1NYXAhW3ZdKSkuam9pbignLCAnKSA/PyB2YWx1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB2YWx1ZS5qb2luKCcsICcpID8/IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihmaWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlLk51bWJlckJldHdlZW4pe1xyXG4gICAgICAgICAgcmV0dXJuIHZhbHVlLlN0YXJ0ICsgJyAtICcgKyB2YWx1ZS5FbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKG1kLmZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkRhdGUpe1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnTU0vZGQveXknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYobWQuZmllbGRUeXBlID09PSBGaWVsZFR5cGUuRGF0ZVRpbWUpe1xyXG4gICAgICAgICAgcmV0dXJuICEhRGF0ZVRpbWVGaWx0ZXJGdW5jc1tmaWx0ZXJUeXBlXSA/IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnc2hvcnQnKSA6IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHZhbHVlLCAnTU0vZGQveXknKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,20 +1,18 @@
1
- import { Pipe } from '@angular/core';
1
+ import { Pipe, inject } from '@angular/core';
2
+ import { TableStore } from '../classes/table-store';
2
3
  import { spaceCase } from '../../utilities/pipes/space-case.pipes';
3
4
  import { map } from 'rxjs/operators';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "../classes/table-store";
6
6
  export class KeyDisplayPipe {
7
- constructor(tableState) {
8
- this.tableState = tableState;
9
- }
7
+ tableState = inject(TableStore);
10
8
  transform(key) {
11
9
  return this.tableState.getMetaData$(key).pipe(map(metaData => metaData.displayName || spaceCase(key)));
12
10
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: KeyDisplayPipe, deps: [{ token: i1.TableStore }], target: i0.ɵɵFactoryTarget.Pipe }); }
14
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: KeyDisplayPipe, isStandalone: true, name: "keyDisplay" }); }
11
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: KeyDisplayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
12
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: KeyDisplayPipe, isStandalone: true, name: "keyDisplay" });
15
13
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: KeyDisplayPipe, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: KeyDisplayPipe, decorators: [{
17
15
  type: Pipe,
18
16
  args: [{ name: 'keyDisplay', standalone: true }]
19
- }], ctorParameters: () => [{ type: i1.TableStore }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRpc3BsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9rZXktZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFHckMsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUMxQyxDQUFDO0lBQ0QsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDOzhHQVBVLGNBQWM7NEdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGFibGVTdG9yZSB9IGZyb20gJy4uL2NsYXNzZXMvdGFibGUtc3RvcmUnO1xyXG5pbXBvcnQgeyBzcGFjZUNhc2UgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvcGlwZXMvc3BhY2UtY2FzZS5waXBlcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQFBpcGUoe25hbWU6ICdrZXlEaXNwbGF5Jywgc3RhbmRhbG9uZTogdHJ1ZX0pXHJcbmV4cG9ydCBjbGFzcyBLZXlEaXNwbGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgdGFibGVTdGF0ZTogVGFibGVTdG9yZSkge1xyXG4gIH1cclxuICB0cmFuc2Zvcm0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZS5nZXRNZXRhRGF0YSQoa2V5KS5waXBlKFxyXG4gICAgICBtYXAoIG1ldGFEYXRhID0+IG1ldGFEYXRhLmRpc3BsYXlOYW1lIHx8IHNwYWNlQ2FzZShrZXkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWRpc3BsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXV0aWxpdGllcy9zcmMvdGFibGUtYnVpbGRlci9waXBlcy9rZXktZGlzcGxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR3JDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFaEMsU0FBUyxDQUFDLEdBQVc7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzNDLEdBQUcsQ0FBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDSixDQUFDO3VHQVBVLGNBQWM7cUdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWJsZVN0b3JlIH0gZnJvbSAnLi4vY2xhc3Nlcy90YWJsZS1zdG9yZSc7XHJcbmltcG9ydCB7IHNwYWNlQ2FzZSB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9waXBlcy9zcGFjZS1jYXNlLnBpcGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5AUGlwZSh7bmFtZTogJ2tleURpc3BsYXknLCBzdGFuZGFsb25lOiB0cnVlfSlcclxuZXhwb3J0IGNsYXNzIEtleURpc3BsYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRhYmxlU3RhdGUgPSBpbmplY3QoVGFibGVTdG9yZSk7XG5cclxuICB0cmFuc2Zvcm0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGVTdGF0ZS5nZXRNZXRhRGF0YSQoa2V5KS5waXBlKFxyXG4gICAgICBtYXAoIG1ldGFEYXRhID0+IG1ldGFEYXRhLmRpc3BsYXlOYW1lIHx8IHNwYWNlQ2FzZShrZXkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19