ngx-register-base 1.1.0 → 1.2.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/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +24 -15
- package/esm2022/lib/components/column-settings/column-settings.component.mjs +249 -0
- package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +80 -0
- package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +10 -0
- package/esm2022/lib/components/column-settings/index.mjs +3 -0
- package/esm2022/lib/components/filter-button/filter-button.component.mjs +3 -3
- package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +13 -12
- package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +18 -13
- package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +12 -10
- package/esm2022/lib/components/filters/register-table-filter.component.mjs +27 -34
- package/esm2022/lib/components/filters/register-table-filter.module.mjs +7 -3
- package/esm2022/lib/components/index.mjs +3 -1
- package/esm2022/lib/components/inputs/index.mjs +1 -1
- package/esm2022/lib/components/inputs/inputs.module.mjs +1 -5
- package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +24 -4
- package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +3 -3
- package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +7 -3
- package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +5 -4
- package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +6 -4
- package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +3 -3
- package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +3 -3
- package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +10 -55
- package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +8 -7
- package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +7 -3
- package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +7 -4
- package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +3 -3
- package/esm2022/lib/components/inputs/param-tree/consts/param-tree.consts.mjs +4 -3
- package/esm2022/lib/components/inputs/param-tree/index.mjs +3 -1
- package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +34 -26
- package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +3 -3
- package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +11 -13
- package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +12 -9
- package/esm2022/lib/components/paginator/paginator.component.mjs +34 -9
- package/esm2022/lib/components/register-table/directives/header-template.directive.mjs +18 -0
- package/esm2022/lib/components/register-table/model/schema.mjs +1 -1
- package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +12 -4
- package/esm2022/lib/components/register-table/register-table.component.mjs +164 -82
- package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +18 -0
- package/esm2022/lib/components/search-input/search-input.component.mjs +28 -0
- package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +26 -15
- package/esm2022/lib/consts/register-base.consts.mjs +1 -1
- package/esm2022/lib/core/form-group-wrapper/errors-consts.mjs +1 -1
- package/esm2022/lib/core/input-control/input-control.mjs +3 -1
- package/esm2022/lib/core/param/param-base.mjs +6 -2
- package/esm2022/lib/core/param/param-select-base.mjs +2 -2
- package/esm2022/lib/core/register-base/register-base.mjs +38 -33
- package/esm2022/lib/directives/date/date-time.types.mjs +5 -1
- package/esm2022/lib/directives/index.mjs +2 -1
- package/esm2022/lib/directives/number/number-only.directive.mjs +23 -8
- package/esm2022/lib/directives/sticky/sticky.directive.mjs +2 -3
- package/esm2022/lib/services/date-time.service.mjs +35 -39
- package/esm2022/lib/services/dialog/dialog.service.mjs +53 -0
- package/esm2022/lib/services/dialog/dialog.types.mjs +2 -0
- package/esm2022/lib/services/dialog/index.mjs +3 -0
- package/esm2022/lib/services/filter/filters-transmit.service.mjs +3 -3
- package/esm2022/lib/services/index.mjs +5 -2
- package/esm2022/lib/services/inputs-state.service.mjs +3 -3
- package/esm2022/lib/services/inputs.service.mjs +2 -1
- package/esm2022/lib/services/key-pressed.service.mjs +12 -5
- package/esm2022/lib/services/resize-window-observer.service.mjs +33 -0
- package/esm2022/lib/types/event.types.mjs +2 -0
- package/esm2022/lib/types/index.mjs +2 -1
- package/esm2022/lib/types/inputs.types.mjs +1 -1
- package/esm2022/lib/types/register-base.types.mjs +1 -1
- package/esm2022/lib/types/user-profile.types.mjs +1 -1
- package/esm2022/lib/utils/select-all-utils.mjs +1 -1
- package/fesm2022/ngx-register-base.mjs +1838 -1248
- package/fesm2022/ngx-register-base.mjs.map +1 -1
- package/icons/16-editor-dots.svg +10 -0
- package/icons/calendar-blank.svg +10 -0
- package/icons/calendar-custom.svg +4 -0
- package/icons/cancel-close.svg +3 -0
- package/icons/circle-question-empty.svg +10 -0
- package/icons/close.svg +3 -0
- package/icons/eraser.svg +10 -0
- package/icons/eye-closed.svg +13 -0
- package/icons/eye.svg +10 -0
- package/icons/lock.svg +3 -0
- package/icons/settings.svg +3 -0
- package/icons/triangle-down.svg +3 -0
- package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +8 -6
- package/lib/components/column-settings/column-settings.component.d.ts +80 -0
- package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +24 -0
- package/lib/components/column-settings/consts/column-settings.consts.d.ts +8 -0
- package/lib/components/column-settings/index.d.ts +2 -0
- package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +7 -3
- package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +9 -4
- package/lib/components/filters/components/filter-list/filters-section/filters-section.component.d.ts +4 -4
- package/lib/components/filters/register-table-filter.component.d.ts +7 -5
- package/lib/components/filters/register-table-filter.module.d.ts +2 -1
- package/lib/components/index.d.ts +2 -0
- package/lib/components/inputs/index.d.ts +1 -0
- package/lib/components/inputs/inputs.module.d.ts +3 -4
- package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +5 -0
- package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +8 -4
- package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +0 -4
- package/lib/components/inputs/param-select/param-select.component.d.ts +2 -1
- package/lib/components/inputs/param-text/param-text.component.d.ts +5 -1
- package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +3 -1
- package/lib/components/inputs/param-tree/consts/param-tree.consts.d.ts +2 -1
- package/lib/components/inputs/param-tree/index.d.ts +2 -0
- package/lib/components/inputs/param-tree/param-tree.component.d.ts +6 -2
- package/lib/components/paginator/paginator.component.d.ts +7 -1
- package/lib/components/register-table/directives/header-template.directive.d.ts +9 -0
- package/lib/components/register-table/model/schema.d.ts +2 -1
- package/lib/components/register-table/register-table.component.d.ts +38 -16
- package/lib/components/reset-settings-form/reset-settings-form.component.d.ts +9 -0
- package/lib/components/search-input/search-input.component.d.ts +11 -0
- package/lib/components/sliding-panel/sliding-panel.component.d.ts +7 -9
- package/lib/consts/register-base.consts.d.ts +3 -3
- package/lib/core/form-group-wrapper/errors-consts.d.ts +1 -1
- package/lib/core/input-control/input-control.d.ts +3 -0
- package/lib/core/param/param-base.d.ts +1 -0
- package/lib/core/register-base/register-base.d.ts +14 -18
- package/lib/directives/date/date-time.types.d.ts +6 -2
- package/lib/directives/index.d.ts +1 -0
- package/lib/directives/number/number-only.directive.d.ts +6 -3
- package/lib/services/date-time.service.d.ts +7 -5
- package/lib/services/dialog/dialog.service.d.ts +22 -0
- package/lib/services/dialog/dialog.types.d.ts +11 -0
- package/lib/services/dialog/index.d.ts +2 -0
- package/lib/services/index.d.ts +4 -1
- package/lib/services/inputs-state.service.d.ts +6 -6
- package/lib/services/inputs.service.d.ts +1 -1
- package/lib/services/key-pressed.service.d.ts +5 -2
- package/lib/services/resize-window-observer.service.d.ts +11 -0
- package/lib/types/event.types.d.ts +3 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/inputs.types.d.ts +3 -0
- package/lib/types/register-base.types.d.ts +2 -2
- package/lib/types/user-profile.types.d.ts +2 -2
- package/lib/utils/select-all-utils.d.ts +1 -1
- package/package.json +1 -1
- package/styles/buttons.less +13 -0
- package/styles/classes.less +0 -7
- package/styles/common-param.less +130 -0
- package/styles/indicator.less +8 -0
- package/styles/overrides/tui/tui-input.less +161 -0
- package/styles/overrides/tui/tui-styles.less +3 -2
- package/styles/register-table.less +38 -22
- package/styles/variables.less +9 -0
- package/esm2022/lib/components/inputs/sub-components/param-clear-button/param-clear-button.component.mjs +0 -26
- package/lib/components/inputs/sub-components/param-clear-button/param-clear-button.component.d.ts +0 -10
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, inject, input, signal, TemplateRef, untracked, viewChild, } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { filter, map, skip } from 'rxjs';
|
|
4
|
+
import { TuiButton, TuiIcon, TuiPopup, TuiScrollbar } from '@taiga-ui/core';
|
|
5
|
+
import { TuiDrawer } from '@taiga-ui/kit';
|
|
6
|
+
import { CdkDropList, CdkDropListGroup, moveItemInArray, transferArrayItem, } from '@angular/cdk/drag-drop';
|
|
7
|
+
import { outputFromObservable, takeUntilDestroyed, toObservable, toSignal, } from '@angular/core/rxjs-interop';
|
|
8
|
+
import { EColumnStatus, } from './types/column-settings.types';
|
|
9
|
+
import { WaResizeObserver } from '@ng-web-apis/resize-observer';
|
|
10
|
+
import { ColumnSettingsTemplateComponent } from './components/column-settings-template/column-settings-template.component';
|
|
11
|
+
import { ICON_CANCEL_CLOSE, ICON_ERASER, ICON_SETTINGS } from './consts/column-settings.consts';
|
|
12
|
+
import { DialogService, ResizeWindowObserverService } from '../../services';
|
|
13
|
+
import { getLastSegmentOfPathName, isNonNull } from '../../utils';
|
|
14
|
+
import { SETTINGS_TYPE, USER_PROFILE_LOADER, USER_SETTINGS_LOADER } from '../../consts';
|
|
15
|
+
import { ResetSettingsFormComponent } from '../reset-settings-form/reset-settings-form.component';
|
|
16
|
+
import { DividerComponent } from '../divider/divider.component';
|
|
17
|
+
import * as i0 from "@angular/core";
|
|
18
|
+
export class ColumnSettingsComponent {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.resetColumnSettingsRef = viewChild('resetSettings', { read: (TemplateRef) });
|
|
21
|
+
this.resetColumnSettingsFooter = viewChild('resetSettingsFooter', {
|
|
22
|
+
read: (TemplateRef),
|
|
23
|
+
});
|
|
24
|
+
this.defaultSettings = input.required();
|
|
25
|
+
/** Высота всего компонента настроек */
|
|
26
|
+
this.height = input();
|
|
27
|
+
this.disabled = input(false);
|
|
28
|
+
/** показ заголовка листа фикс. слева колонок */
|
|
29
|
+
this.showLeftListHeader = input(true);
|
|
30
|
+
/** показ заголовка листа фикс. справа колонок */
|
|
31
|
+
this.showRightListHeader = input(true);
|
|
32
|
+
/** заголовок листа с колонками (нефиксированные) */
|
|
33
|
+
this.columnsListHeader = input('Колонки');
|
|
34
|
+
/** показ фикс. справа колонок */
|
|
35
|
+
this.showFixedRightList = input(false);
|
|
36
|
+
/** функция предикат - возможность добавления элемента в лист фикс. слева колонок */
|
|
37
|
+
this.fixedLeftListEnterPredicate = input(() => true);
|
|
38
|
+
/** функция предикат - возможность добавления элемента в лист колонок (нефиксированные) */
|
|
39
|
+
this.columnsListEnterPredicate = input(() => true);
|
|
40
|
+
/** функция предикат - возможность добавления элемента в лист фикс. справа колонок */
|
|
41
|
+
this.fixedRightListEnterPredicate = input(() => true);
|
|
42
|
+
this.openSettings = signal(false);
|
|
43
|
+
this.inputSettings = signal(null);
|
|
44
|
+
this.fixedLeftColumns = computed(() => this.inputSettings()?.stickyLeft ?? []);
|
|
45
|
+
this.columns = computed(() => this.inputSettings()?.columns ?? []);
|
|
46
|
+
this.fixedRightColumns = computed(() => this.inputSettings()?.stickyRight ?? []);
|
|
47
|
+
this.columnsChanges = outputFromObservable(toObservable(this.inputSettings).pipe(skip(1), map((settings) => ({ settings }))));
|
|
48
|
+
this.settingsStore = inject(USER_SETTINGS_LOADER);
|
|
49
|
+
this._dr = inject(DestroyRef);
|
|
50
|
+
this._router = inject(Router);
|
|
51
|
+
this._userProfileService = inject(USER_PROFILE_LOADER);
|
|
52
|
+
this._dialogService = inject(DialogService);
|
|
53
|
+
this._resizeWindowObserver = inject(ResizeWindowObserverService);
|
|
54
|
+
this.iconSettings = ICON_SETTINGS;
|
|
55
|
+
this.iconEraser = ICON_ERASER;
|
|
56
|
+
this.iconCancelClose = ICON_CANCEL_CLOSE;
|
|
57
|
+
this.columnSettingsHeaderHeightPx = 40;
|
|
58
|
+
this.columnSettingsSubtitleHeightPx = 32;
|
|
59
|
+
this.scrollBoxFixedColumnsHeightPx = signal(0);
|
|
60
|
+
this.scrollBoxRightFixedColumnsHeightPx = signal(0);
|
|
61
|
+
this.scrollBoxFixedColumnsMaxHeightPx = 287;
|
|
62
|
+
this.scrollBoxColumnsMaxHeightPx = signal(0);
|
|
63
|
+
this.columnSettingsFooterHeightPx = 48;
|
|
64
|
+
this.columnListHeightPx = toSignal(this._resizeWindowObserver.innerHeight$.pipe(skip(1), map((innerHeight) => this._calcColumnListHeightPx(innerHeight))), {
|
|
65
|
+
initialValue: this._calcColumnListHeightPx(this._resizeWindowObserver.innerHeight()),
|
|
66
|
+
});
|
|
67
|
+
this.columnListBottomPaddingPx = 8;
|
|
68
|
+
this._idUser = this._userProfileService.getUserProfile().id;
|
|
69
|
+
this._moduleName = getLastSegmentOfPathName(this._router.url);
|
|
70
|
+
this.setDefaultSettings();
|
|
71
|
+
this._effectOnSetScrollBoxColumnsMaxHeight();
|
|
72
|
+
}
|
|
73
|
+
setDefaultSettings() {
|
|
74
|
+
effect(() => {
|
|
75
|
+
const defaultSettings = this.defaultSettings();
|
|
76
|
+
const clonedSettings = JSON.parse(JSON.stringify(defaultSettings));
|
|
77
|
+
untracked(() => {
|
|
78
|
+
this.inputSettings.set(clonedSettings);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
_effectOnSetScrollBoxColumnsMaxHeight() {
|
|
83
|
+
effect(() => {
|
|
84
|
+
const parentHeightPx = this.columnListHeightPx();
|
|
85
|
+
const fixedHeightPx = this.scrollBoxFixedColumnsHeightPx();
|
|
86
|
+
const rightFixedHeightPx = this.scrollBoxRightFixedColumnsHeightPx();
|
|
87
|
+
const sumFixedHeightPx = fixedHeightPx + rightFixedHeightPx;
|
|
88
|
+
untracked(() => {
|
|
89
|
+
const newHeightPx = this._calcScrollBoxColumnsMaxHeightPx(parentHeightPx, sumFixedHeightPx);
|
|
90
|
+
this.scrollBoxColumnsMaxHeightPx.set(newHeightPx);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
ngOnInit() {
|
|
95
|
+
this.subscribeOnSettings();
|
|
96
|
+
this.fetchSettings(this._idUser, this._moduleName);
|
|
97
|
+
}
|
|
98
|
+
fetchSettings(userId, moduleName) {
|
|
99
|
+
this.settingsStore.fetchUserSettingsByUserId({
|
|
100
|
+
userId,
|
|
101
|
+
settingsType: SETTINGS_TYPE.COLUMNS,
|
|
102
|
+
moduleName,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
subscribeOnSettings() {
|
|
106
|
+
this.settingsStore.settings$
|
|
107
|
+
.pipe(filter((settings) => settings.length > 0), map(([settings]) => settings), filter((settings) => isNonNull(settings)), takeUntilDestroyed(this._dr))
|
|
108
|
+
.subscribe((settings) => {
|
|
109
|
+
this._columnsSettings = settings;
|
|
110
|
+
const { tableFields } = settings.settings;
|
|
111
|
+
if (tableFields) {
|
|
112
|
+
this.inputSettings.set(tableFields);
|
|
113
|
+
this.close();
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
deleteSettings() {
|
|
118
|
+
const clonedSettings = JSON.parse(JSON.stringify(this.defaultSettings()));
|
|
119
|
+
this.inputSettings.set(clonedSettings);
|
|
120
|
+
if (this._columnsSettings) {
|
|
121
|
+
this.settingsStore.deleteUserSettingsById({
|
|
122
|
+
id: this._columnsSettings?.id,
|
|
123
|
+
updateSettings: true,
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
this.close();
|
|
127
|
+
}
|
|
128
|
+
saveSettings(settings) {
|
|
129
|
+
this.settingsStore.upsertUserSettingsByUserId({
|
|
130
|
+
settings: {
|
|
131
|
+
id: this._columnsSettings?.id,
|
|
132
|
+
module_name: this._moduleName,
|
|
133
|
+
settings: {
|
|
134
|
+
...this._columnsSettings?.settings,
|
|
135
|
+
tableFields: settings,
|
|
136
|
+
},
|
|
137
|
+
settings_type: SETTINGS_TYPE.COLUMNS,
|
|
138
|
+
},
|
|
139
|
+
updateSettings: true,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
saveTableSettings() {
|
|
143
|
+
this.saveSettings({
|
|
144
|
+
stickyLeft: this.fixedLeftColumns(),
|
|
145
|
+
columns: this.columns(),
|
|
146
|
+
stickyRight: this.fixedRightColumns(),
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
openResetDialog() {
|
|
150
|
+
this._dialogService
|
|
151
|
+
.openModal(this.resetColumnSettingsRef(), {
|
|
152
|
+
closeable: true,
|
|
153
|
+
width: 466,
|
|
154
|
+
footer: this.resetColumnSettingsFooter(),
|
|
155
|
+
dismissible: true,
|
|
156
|
+
})
|
|
157
|
+
.subscribe();
|
|
158
|
+
}
|
|
159
|
+
toggle() {
|
|
160
|
+
this.openSettings.update((isOpen) => !isOpen);
|
|
161
|
+
}
|
|
162
|
+
close() {
|
|
163
|
+
this.openSettings.set(false);
|
|
164
|
+
}
|
|
165
|
+
dropIntoFixedLeft(event) {
|
|
166
|
+
const droppedElement = event.previousContainer.data[event.previousIndex];
|
|
167
|
+
this._setStatusRecursive(droppedElement, EColumnStatus.STICKY);
|
|
168
|
+
this._moveDroppedItem(event);
|
|
169
|
+
}
|
|
170
|
+
dropIntoColumns(event) {
|
|
171
|
+
const fromOther = event.previousContainer !== event.container;
|
|
172
|
+
if (fromOther) {
|
|
173
|
+
const droppedElement = event.previousContainer.data[event.previousIndex];
|
|
174
|
+
this._setStatusRecursive(droppedElement, EColumnStatus.DEFAULT);
|
|
175
|
+
}
|
|
176
|
+
this._moveDroppedItem(event);
|
|
177
|
+
}
|
|
178
|
+
_moveDroppedItem(event) {
|
|
179
|
+
if (event.previousContainer === event.container) {
|
|
180
|
+
moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
transferArrayItem(event.previousContainer.data, event.container.data, event.previousIndex, event.currentIndex);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
toggleVisibility(col) {
|
|
187
|
+
const isHidden = col.status === EColumnStatus.HIDDEN;
|
|
188
|
+
col.status = isHidden ? EColumnStatus.DEFAULT : EColumnStatus.HIDDEN;
|
|
189
|
+
}
|
|
190
|
+
showAllColumns() {
|
|
191
|
+
const settings = this.inputSettings();
|
|
192
|
+
if (!settings) {
|
|
193
|
+
throw new Error('Настройки таблицы не инициализированы');
|
|
194
|
+
}
|
|
195
|
+
this._setColumnsStatusRecursive(settings.columns, EColumnStatus.DEFAULT);
|
|
196
|
+
}
|
|
197
|
+
isHiddenColumn(column) {
|
|
198
|
+
return column.status === EColumnStatus.HIDDEN;
|
|
199
|
+
}
|
|
200
|
+
onFixedScrollbarResize([fixedScrollbar]) {
|
|
201
|
+
this.scrollBoxFixedColumnsHeightPx.set(fixedScrollbar.contentRect.height);
|
|
202
|
+
}
|
|
203
|
+
onRightFixedScrollbarResize([fixedScrollbar]) {
|
|
204
|
+
this.scrollBoxRightFixedColumnsHeightPx.set(fixedScrollbar.contentRect.height);
|
|
205
|
+
}
|
|
206
|
+
_calcColumnListHeightPx(windowInnerHeight) {
|
|
207
|
+
const mainHeaderPx = 52;
|
|
208
|
+
const columnSettingsHeaderFooterSumHeightPx = this.columnSettingsHeaderHeightPx + this.columnSettingsFooterHeightPx;
|
|
209
|
+
return windowInnerHeight - mainHeaderPx - columnSettingsHeaderFooterSumHeightPx;
|
|
210
|
+
}
|
|
211
|
+
_calcScrollBoxColumnsMaxHeightPx(parentHeightPx, fixedScrollbarHeightPx) {
|
|
212
|
+
const twoSubtitleHeightPx = 2 * this.columnSettingsSubtitleHeightPx;
|
|
213
|
+
const bottomPaddingPx = this.columnListBottomPaddingPx;
|
|
214
|
+
return parentHeightPx - twoSubtitleHeightPx - fixedScrollbarHeightPx - bottomPaddingPx;
|
|
215
|
+
}
|
|
216
|
+
_setStatusRecursive(column, status) {
|
|
217
|
+
column.status = status;
|
|
218
|
+
if (column.children) {
|
|
219
|
+
this._setColumnsStatusRecursive(column.children, status);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
_setColumnsStatusRecursive(columns, status) {
|
|
223
|
+
for (const [index, col] of columns.entries()) {
|
|
224
|
+
columns[index] = { ...col, status };
|
|
225
|
+
if (col.children) {
|
|
226
|
+
this._setColumnsStatusRecursive(col.children, status);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnSettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
231
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColumnSettingsComponent, isStandalone: true, selector: "sproc-column-settings", inputs: { defaultSettings: { classPropertyName: "defaultSettings", publicName: "defaultSettings", isSignal: true, isRequired: true, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showLeftListHeader: { classPropertyName: "showLeftListHeader", publicName: "showLeftListHeader", isSignal: true, isRequired: false, transformFunction: null }, showRightListHeader: { classPropertyName: "showRightListHeader", publicName: "showRightListHeader", isSignal: true, isRequired: false, transformFunction: null }, columnsListHeader: { classPropertyName: "columnsListHeader", publicName: "columnsListHeader", isSignal: true, isRequired: false, transformFunction: null }, showFixedRightList: { classPropertyName: "showFixedRightList", publicName: "showFixedRightList", isSignal: true, isRequired: false, transformFunction: null }, fixedLeftListEnterPredicate: { classPropertyName: "fixedLeftListEnterPredicate", publicName: "fixedLeftListEnterPredicate", isSignal: true, isRequired: false, transformFunction: null }, columnsListEnterPredicate: { classPropertyName: "columnsListEnterPredicate", publicName: "columnsListEnterPredicate", isSignal: true, isRequired: false, transformFunction: null }, fixedRightListEnterPredicate: { classPropertyName: "fixedRightListEnterPredicate", publicName: "fixedRightListEnterPredicate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { columnsChanges: "columnsChanges" }, providers: [ResizeWindowObserverService], viewQueries: [{ propertyName: "resetColumnSettingsRef", first: true, predicate: ["resetSettings"], descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "resetColumnSettingsFooter", first: true, predicate: ["resetSettingsFooter"], descendants: true, read: TemplateRef, isSignal: true }], ngImport: i0, template: "<button\n tuiButton\n class=\"column-settings__main-button\"\n appearance=\"outline-grayscale\"\n size=\"m\"\n [disabled]=\"disabled()\"\n (click)=\"toggle()\"\n>\n <tui-icon class=\"column-settings__icon gray\" [icon]=\"iconSettings\"></tui-icon>\n</button>\n\n<tui-drawer\n *tuiPopup=\"openSettings()\"\n class=\"column-settings__popup\"\n direction=\"right\"\n [overlay]=\"true\"\n (click.self)=\"close()\"\n>\n <header class=\"header\" [style.height.px]=\"columnSettingsHeaderHeightPx\">\n <span class=\"header__title\">\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u044B</span>\n <div class=\"header__buttons\">\n <button\n tuiIconButton\n class=\"reset-button\"\n appearance=\"flat\"\n size=\"m\"\n (click)=\"openResetDialog()\"\n >\n <tui-icon class=\"column-settings__icon\" [icon]=\"iconEraser\"></tui-icon>\n </button>\n <sproc-divider layout=\"vertical\"></sproc-divider>\n <button tuiIconButton class=\"close-button\" appearance=\"flat\" size=\"m\" (click)=\"close()\">\n <tui-icon class=\"column-settings__icon\" [icon]=\"iconCancelClose\"></tui-icon>\n </button>\n </div>\n </header>\n <div\n cdkDropListGroup\n class=\"column-container tui__t-content--no-default-padding\"\n [style.height.px]=\"columnListHeightPx()\"\n >\n <div\n cdkDropList\n class=\"column-list\"\n [cdkDropListData]=\"fixedLeftColumns()\"\n (cdkDropListDropped)=\"dropIntoFixedLeft($event)\"\n [cdkDropListEnterPredicate]=\"fixedLeftListEnterPredicate()\"\n >\n @if (showLeftListHeader()) {\n <div class=\"column-list__label-container\">\n <span class=\"subtitle\" [style.height.px]=\"columnSettingsSubtitleHeightPx\">\n \u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043B\u043E\u043D\u043A\u0438 \u0441\u043B\u0435\u0432\u0430\n </span>\n </div>\n }\n\n <tui-scrollbar\n [style.max-height.px]=\"scrollBoxFixedColumnsMaxHeightPx\"\n (waResizeObserver)=\"onFixedScrollbarResize($event)\"\n >\n @for (fixedLeftColumn of fixedLeftColumns(); track fixedLeftColumn.id) {\n <sproc-column-settings-template\n [column]=\"fixedLeftColumn\"\n ></sproc-column-settings-template>\n }\n </tui-scrollbar>\n </div>\n <sproc-divider></sproc-divider>\n <div\n cdkDropList\n class=\"column-list\"\n [style.padding-bottom.px]=\"columnListBottomPaddingPx\"\n [cdkDropListData]=\"columns()\"\n (cdkDropListDropped)=\"dropIntoColumns($event)\"\n [cdkDropListEnterPredicate]=\"columnsListEnterPredicate()\"\n >\n <div class=\"column-list__label-container\">\n <span\n class=\"subtitle subtitle--flex-grow-1\"\n [style.height.px]=\"columnSettingsSubtitleHeightPx\"\n >{{ columnsListHeader() }}</span\n >\n <span class=\"show-all\" (click)=\"showAllColumns()\">\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435</span>\n </div>\n <tui-scrollbar [style.max-height.px]=\"scrollBoxColumnsMaxHeightPx()\">\n @for (column of columns(); track column.id) {\n <sproc-column-settings-template [column]=\"column\"></sproc-column-settings-template>\n }\n </tui-scrollbar>\n </div>\n @if (showFixedRightList()) {\n <sproc-divider></sproc-divider>\n <div\n cdkDropList\n class=\"column-list\"\n [style.padding-bottom.px]=\"columnListBottomPaddingPx\"\n [cdkDropListData]=\"fixedRightColumns()\"\n (cdkDropListDropped)=\"dropIntoColumns($event)\"\n [cdkDropListEnterPredicate]=\"fixedRightListEnterPredicate()\"\n >\n @if (showRightListHeader()) {\n <div class=\"column-list__label-container\">\n <span\n class=\"subtitle subtitle--flex-grow-1\"\n [style.height.px]=\"columnSettingsSubtitleHeightPx\"\n >\u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043B\u043E\u043D\u043A\u0438 \u0441\u043F\u0440\u0430\u0432\u0430</span\n >\n </div>\n }\n\n <tui-scrollbar\n [style.max-height.px]=\"scrollBoxFixedColumnsMaxHeightPx\"\n (waResizeObserver)=\"onRightFixedScrollbarResize($event)\"\n >\n @for (column of fixedRightColumns(); track column.id) {\n <sproc-column-settings-template [column]=\"column\"></sproc-column-settings-template>\n }\n </tui-scrollbar>\n </div>\n }\n </div>\n <footer class=\"footer\" [style.height.px]=\"columnSettingsFooterHeightPx\">\n <button\n tuiButton\n class=\"save-button\"\n size=\"m\"\n appearance=\"primary\"\n (click)=\"saveTableSettings()\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </footer>\n</tui-drawer>\n\n<ng-template #resetSettings>\n <sproc-reset-settings-form></sproc-reset-settings-form>\n</ng-template>\n\n<ng-template #resetSettingsFooter let-completeWith=\"completeWith\">\n <div style=\"width: 100%; display: flex; justify-content: center; gap: 8px\">\n <button\n tuiButton\n style=\"width: 196px\"\n appearance=\"primary-destructive\"\n size=\"l\"\n (click)=\"deleteSettings(); completeWith(true)\"\n >\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C\n </button>\n <button\n tuiButton\n style=\"width: 196px\"\n appearance=\"outline-grayscale\"\n size=\"l\"\n (click)=\"completeWith(false)\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n </div>\n</ng-template>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.gray{color:var(--gray-icon)}.column-settings__main-button{width:var(--top-bar-button-width);height:var(--top-bar-button-height);border-radius:2px;padding:10px}.column-settings__main-button:disabled{filter:grayscale(100%)!important;cursor:not-allowed}.column-settings__icon{font-size:16px}.column-settings__popup{top:var(--header-height);width:302px;border-radius:2px 2px 0 0;box-shadow:-1px 0 12px #4753263b}.column-settings__popup .header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 0 0 16px;gap:8px;border-radius:2px 2px 0 0;border-bottom:1px solid var(--stroke1);background:var(--table-header);box-shadow:unset}.column-settings__popup .header__title{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px;color:var(--main-black)}.column-settings__popup .header__buttons{display:flex;align-items:center;gap:4px}.column-settings__popup .header__buttons .reset-button{color:var(--gray-icon)}.column-settings__popup .header__buttons .reset-button:hover{color:var(--main-black)}.column-settings__popup .header__buttons sproc-divider{height:24px}.column-settings__popup .header__buttons .close-button{color:var(--brand-danger-active)}.column-settings__popup .header__buttons .close-button:hover{color:var(--brand-danger-hovered)}.column-settings__popup .column-container{display:flex;flex-direction:column;padding-top:8px;overflow:hidden}.column-settings__popup .column-container .subtitle{display:flex;align-items:center;color:var(--main-black);font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.column-settings__popup .column-container .subtitle--flex-grow-1{flex-grow:1}.column-settings__popup .column-container .show-all{color:var(--text-secondary);font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.column-settings__popup .column-container .show-all:hover{cursor:pointer;color:var(--main-black)}.column-settings__popup .footer{display:flex;padding:8px 16px;align-items:center}.column-settings__popup .footer .save-button{width:100%}.column-list{display:flex;flex-direction:column}.column-list__label-container{display:flex;flex-direction:row;align-items:center;padding:0 8px 0 12px;cursor:default}::ng-deep .column-list.cdk-drop-list-dragging .column-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "component", type: TuiDrawer, selector: "tui-drawer", inputs: ["direction", "overlay"] }, { kind: "directive", type: TuiPopup, selector: "ng-template[tuiPopup]", inputs: ["tuiPopup"] }, { kind: "component", type: DividerComponent, selector: "sproc-divider", inputs: ["layout"] }, { kind: "component", type: ResetSettingsFormComponent, selector: "sproc-reset-settings-form" }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }, { kind: "component", type: ColumnSettingsTemplateComponent, selector: "sproc-column-settings-template", inputs: ["column", "parent", "expand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
232
|
+
}
|
|
233
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnSettingsComponent, decorators: [{
|
|
234
|
+
type: Component,
|
|
235
|
+
args: [{ selector: 'sproc-column-settings', standalone: true, imports: [
|
|
236
|
+
TuiButton,
|
|
237
|
+
TuiIcon,
|
|
238
|
+
TuiDrawer,
|
|
239
|
+
TuiPopup,
|
|
240
|
+
DividerComponent,
|
|
241
|
+
ResetSettingsFormComponent,
|
|
242
|
+
CdkDropList,
|
|
243
|
+
CdkDropListGroup,
|
|
244
|
+
TuiScrollbar,
|
|
245
|
+
WaResizeObserver,
|
|
246
|
+
ColumnSettingsTemplateComponent,
|
|
247
|
+
], providers: [ResizeWindowObserverService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n tuiButton\n class=\"column-settings__main-button\"\n appearance=\"outline-grayscale\"\n size=\"m\"\n [disabled]=\"disabled()\"\n (click)=\"toggle()\"\n>\n <tui-icon class=\"column-settings__icon gray\" [icon]=\"iconSettings\"></tui-icon>\n</button>\n\n<tui-drawer\n *tuiPopup=\"openSettings()\"\n class=\"column-settings__popup\"\n direction=\"right\"\n [overlay]=\"true\"\n (click.self)=\"close()\"\n>\n <header class=\"header\" [style.height.px]=\"columnSettingsHeaderHeightPx\">\n <span class=\"header__title\">\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u044B</span>\n <div class=\"header__buttons\">\n <button\n tuiIconButton\n class=\"reset-button\"\n appearance=\"flat\"\n size=\"m\"\n (click)=\"openResetDialog()\"\n >\n <tui-icon class=\"column-settings__icon\" [icon]=\"iconEraser\"></tui-icon>\n </button>\n <sproc-divider layout=\"vertical\"></sproc-divider>\n <button tuiIconButton class=\"close-button\" appearance=\"flat\" size=\"m\" (click)=\"close()\">\n <tui-icon class=\"column-settings__icon\" [icon]=\"iconCancelClose\"></tui-icon>\n </button>\n </div>\n </header>\n <div\n cdkDropListGroup\n class=\"column-container tui__t-content--no-default-padding\"\n [style.height.px]=\"columnListHeightPx()\"\n >\n <div\n cdkDropList\n class=\"column-list\"\n [cdkDropListData]=\"fixedLeftColumns()\"\n (cdkDropListDropped)=\"dropIntoFixedLeft($event)\"\n [cdkDropListEnterPredicate]=\"fixedLeftListEnterPredicate()\"\n >\n @if (showLeftListHeader()) {\n <div class=\"column-list__label-container\">\n <span class=\"subtitle\" [style.height.px]=\"columnSettingsSubtitleHeightPx\">\n \u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043B\u043E\u043D\u043A\u0438 \u0441\u043B\u0435\u0432\u0430\n </span>\n </div>\n }\n\n <tui-scrollbar\n [style.max-height.px]=\"scrollBoxFixedColumnsMaxHeightPx\"\n (waResizeObserver)=\"onFixedScrollbarResize($event)\"\n >\n @for (fixedLeftColumn of fixedLeftColumns(); track fixedLeftColumn.id) {\n <sproc-column-settings-template\n [column]=\"fixedLeftColumn\"\n ></sproc-column-settings-template>\n }\n </tui-scrollbar>\n </div>\n <sproc-divider></sproc-divider>\n <div\n cdkDropList\n class=\"column-list\"\n [style.padding-bottom.px]=\"columnListBottomPaddingPx\"\n [cdkDropListData]=\"columns()\"\n (cdkDropListDropped)=\"dropIntoColumns($event)\"\n [cdkDropListEnterPredicate]=\"columnsListEnterPredicate()\"\n >\n <div class=\"column-list__label-container\">\n <span\n class=\"subtitle subtitle--flex-grow-1\"\n [style.height.px]=\"columnSettingsSubtitleHeightPx\"\n >{{ columnsListHeader() }}</span\n >\n <span class=\"show-all\" (click)=\"showAllColumns()\">\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435</span>\n </div>\n <tui-scrollbar [style.max-height.px]=\"scrollBoxColumnsMaxHeightPx()\">\n @for (column of columns(); track column.id) {\n <sproc-column-settings-template [column]=\"column\"></sproc-column-settings-template>\n }\n </tui-scrollbar>\n </div>\n @if (showFixedRightList()) {\n <sproc-divider></sproc-divider>\n <div\n cdkDropList\n class=\"column-list\"\n [style.padding-bottom.px]=\"columnListBottomPaddingPx\"\n [cdkDropListData]=\"fixedRightColumns()\"\n (cdkDropListDropped)=\"dropIntoColumns($event)\"\n [cdkDropListEnterPredicate]=\"fixedRightListEnterPredicate()\"\n >\n @if (showRightListHeader()) {\n <div class=\"column-list__label-container\">\n <span\n class=\"subtitle subtitle--flex-grow-1\"\n [style.height.px]=\"columnSettingsSubtitleHeightPx\"\n >\u0424\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043B\u043E\u043D\u043A\u0438 \u0441\u043F\u0440\u0430\u0432\u0430</span\n >\n </div>\n }\n\n <tui-scrollbar\n [style.max-height.px]=\"scrollBoxFixedColumnsMaxHeightPx\"\n (waResizeObserver)=\"onRightFixedScrollbarResize($event)\"\n >\n @for (column of fixedRightColumns(); track column.id) {\n <sproc-column-settings-template [column]=\"column\"></sproc-column-settings-template>\n }\n </tui-scrollbar>\n </div>\n }\n </div>\n <footer class=\"footer\" [style.height.px]=\"columnSettingsFooterHeightPx\">\n <button\n tuiButton\n class=\"save-button\"\n size=\"m\"\n appearance=\"primary\"\n (click)=\"saveTableSettings()\"\n >\n \u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C\n </button>\n </footer>\n</tui-drawer>\n\n<ng-template #resetSettings>\n <sproc-reset-settings-form></sproc-reset-settings-form>\n</ng-template>\n\n<ng-template #resetSettingsFooter let-completeWith=\"completeWith\">\n <div style=\"width: 100%; display: flex; justify-content: center; gap: 8px\">\n <button\n tuiButton\n style=\"width: 196px\"\n appearance=\"primary-destructive\"\n size=\"l\"\n (click)=\"deleteSettings(); completeWith(true)\"\n >\n \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C\n </button>\n <button\n tuiButton\n style=\"width: 196px\"\n appearance=\"outline-grayscale\"\n size=\"l\"\n (click)=\"completeWith(false)\"\n >\n \u041E\u0442\u043C\u0435\u043D\u0430\n </button>\n </div>\n</ng-template>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.gray{color:var(--gray-icon)}.column-settings__main-button{width:var(--top-bar-button-width);height:var(--top-bar-button-height);border-radius:2px;padding:10px}.column-settings__main-button:disabled{filter:grayscale(100%)!important;cursor:not-allowed}.column-settings__icon{font-size:16px}.column-settings__popup{top:var(--header-height);width:302px;border-radius:2px 2px 0 0;box-shadow:-1px 0 12px #4753263b}.column-settings__popup .header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0 0 0 16px;gap:8px;border-radius:2px 2px 0 0;border-bottom:1px solid var(--stroke1);background:var(--table-header);box-shadow:unset}.column-settings__popup .header__title{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px;color:var(--main-black)}.column-settings__popup .header__buttons{display:flex;align-items:center;gap:4px}.column-settings__popup .header__buttons .reset-button{color:var(--gray-icon)}.column-settings__popup .header__buttons .reset-button:hover{color:var(--main-black)}.column-settings__popup .header__buttons sproc-divider{height:24px}.column-settings__popup .header__buttons .close-button{color:var(--brand-danger-active)}.column-settings__popup .header__buttons .close-button:hover{color:var(--brand-danger-hovered)}.column-settings__popup .column-container{display:flex;flex-direction:column;padding-top:8px;overflow:hidden}.column-settings__popup .column-container .subtitle{display:flex;align-items:center;color:var(--main-black);font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.column-settings__popup .column-container .subtitle--flex-grow-1{flex-grow:1}.column-settings__popup .column-container .show-all{color:var(--text-secondary);font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.column-settings__popup .column-container .show-all:hover{cursor:pointer;color:var(--main-black)}.column-settings__popup .footer{display:flex;padding:8px 16px;align-items:center}.column-settings__popup .footer .save-button{width:100%}.column-list{display:flex;flex-direction:column}.column-list__label-container{display:flex;flex-direction:row;align-items:center;padding:0 8px 0 12px;cursor:default}::ng-deep .column-list.cdk-drop-list-dragging .column-item:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
|
|
248
|
+
}], ctorParameters: () => [] });
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MvY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MvY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUVMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLGlCQUFpQixHQUNsQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixRQUFRLEdBQ1QsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsYUFBYSxHQUlkLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDM0gsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQXdCaEUsTUFBTSxPQUFPLHVCQUF1QjtJQXlFbEM7UUF4RU8sMkJBQXNCLEdBQUcsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFBLFdBQW9CLENBQUEsRUFBRSxDQUFDLENBQUM7UUFDcEYsOEJBQXlCLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFO1lBQ2xFLElBQUksRUFBRSxDQUFBLFdBQW9CLENBQUE7U0FDM0IsQ0FBQyxDQUFDO1FBRUksb0JBQWUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF3QixDQUFDO1FBQ2hFLHVDQUF1QztRQUNoQyxXQUFNLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBQ3JDLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsZ0RBQWdEO1FBQ3pDLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxpREFBaUQ7UUFDMUMsd0JBQW1CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLG9EQUFvRDtRQUM3QyxzQkFBaUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsaUNBQWlDO1FBQzFCLHVCQUFrQixHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxvRkFBb0Y7UUFDN0UsZ0NBQTJCLEdBQUcsS0FBSyxDQUFnQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSwwRkFBMEY7UUFDbkYsOEJBQXlCLEdBQUcsS0FBSyxDQUFnQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRSxxRkFBcUY7UUFDOUUsaUNBQTRCLEdBQUcsS0FBSyxDQUFnQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixrQkFBYSxHQUFHLE1BQU0sQ0FBOEIsSUFBSSxDQUFDLENBQUM7UUFDMUQscUJBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUUsWUFBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlELHNCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhGLG1CQUFjLEdBQUcsb0JBQW9CLENBQzFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUNuQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUNsQyxDQUNGLENBQUM7UUFFaUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUvQyxRQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQsbUJBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFFMUQsaUJBQVksR0FBRyxhQUFhLENBQUM7UUFDN0IsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixvQkFBZSxHQUFHLGlCQUFpQixDQUFDO1FBRXBDLGlDQUE0QixHQUFHLEVBQUUsQ0FBQztRQUNsQyxtQ0FBOEIsR0FBRyxFQUFFLENBQUM7UUFDcEMsa0NBQTZCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLHVDQUFrQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxxQ0FBZ0MsR0FBRyxHQUFHLENBQUM7UUFDdkMsZ0NBQTJCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLGlDQUE0QixHQUFHLEVBQUUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxRQUFRLENBQzlDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMxQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDaEUsRUFDRDtZQUNFLFlBQVksRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3JGLENBQ0YsQ0FBQztRQUNpQiw4QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFFaEMsWUFBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsZ0JBQVcsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBS3hFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUVuRSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUNBQXFDO1FBQzNDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUNqRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztZQUMzRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1lBQ3JFLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxHQUFHLGtCQUFrQixDQUFDO1lBRTVELFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUM1RixJQUFJLENBQUMsMkJBQTJCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFjLEVBQUUsVUFBa0I7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztZQUMzQyxNQUFNO1lBQ04sWUFBWSxFQUFFLGFBQWEsQ0FBQyxPQUFPO1lBQ25DLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUzthQUN6QixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDN0IsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsRUFDekMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUM3QjthQUNBLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUM7WUFDakMsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFFMUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyxjQUFjO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXZDLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDeEMsRUFBRSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUM3QixjQUFjLEVBQUUsSUFBSTthQUNyQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVTLFlBQVksQ0FBQyxRQUE4QjtRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLDBCQUEwQixDQUFDO1lBQzVDLFFBQVEsRUFBRTtnQkFDUixFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUU7Z0JBQzdCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsUUFBUSxFQUFFO29CQUNSLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVE7b0JBQ2xDLFdBQVcsRUFBRSxRQUFRO2lCQUN0QjtnQkFDRCxhQUFhLEVBQUUsYUFBYSxDQUFDLE9BQU87YUFDckM7WUFDRCxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1NBQ3RDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLElBQUksQ0FBQyxjQUFjO2FBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRTtZQUN4QyxTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUFBRSxHQUFHO1lBQ1YsTUFBTSxFQUFFLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUN4QyxXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDO2FBQ0QsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVTLE1BQU07UUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVMsS0FBSztRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFxQztRQUMvRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVTLGVBQWUsQ0FBQyxLQUFxQztRQUM3RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUU5RCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBcUM7UUFDNUQsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hELGVBQWUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRixDQUFDO2FBQU0sQ0FBQztZQUNOLGlCQUFpQixDQUNmLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQzVCLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUNwQixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNuQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxHQUFvQjtRQUM3QyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDckQsR0FBRyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDdkUsQ0FBQztJQUVTLGNBQWM7UUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXRDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFUyxjQUFjLENBQUMsTUFBdUI7UUFDOUMsT0FBTyxNQUFNLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDaEQsQ0FBQztJQUVTLHNCQUFzQixDQUFDLENBQUMsY0FBYyxDQUFpQztRQUMvRSxJQUFJLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVTLDJCQUEyQixDQUFDLENBQUMsY0FBYyxDQUFpQztRQUNwRixJQUFJLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLHVCQUF1QixDQUFDLGlCQUF5QjtRQUN2RCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDeEIsTUFBTSxxQ0FBcUMsR0FDekMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztRQUV4RSxPQUFPLGlCQUFpQixHQUFHLFlBQVksR0FBRyxxQ0FBcUMsQ0FBQztJQUNsRixDQUFDO0lBRU8sZ0NBQWdDLENBQ3RDLGNBQXNCLEVBQ3RCLHNCQUE4QjtRQUU5QixNQUFNLG1CQUFtQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsOEJBQThCLENBQUM7UUFDcEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1FBRXZELE9BQU8sY0FBYyxHQUFHLG1CQUFtQixHQUFHLHNCQUFzQixHQUFHLGVBQWUsQ0FBQztJQUN6RixDQUFDO0lBRU8sbUJBQW1CLENBQUMsTUFBdUIsRUFBRSxNQUFxQjtRQUN4RSxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUV2QixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLDBCQUEwQixDQUFDLE9BQTBCLEVBQUUsTUFBcUI7UUFDbEYsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBRXBDLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBMVJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHVyREFIdkIsQ0FBQywyQkFBMkIsQ0FBQyw4SEFJMkIsV0FBVywySUFFdEUsV0FBVyw2Q0N2RXJCLHlyTEFnS0EsNGxKRDNHSSxTQUFTLG9JQUNULE9BQU8scUZBQ1AsU0FBUyx5RkFDVCxRQUFRLHdGQUNSLGdCQUFnQiw4RUFDaEIsMEJBQTBCLHNFQUMxQixXQUFXLDhmQUNYLGdCQUFnQixxSUFDaEIsWUFBWSw4RUFDWixnQkFBZ0IsK0dBQ2hCLCtCQUErQjs7NEZBS3RCLHVCQUF1QjtrQkFyQm5DLFNBQVM7K0JBQ0UsdUJBQXVCLGNBQ3JCLElBQUksV0FHUDt3QkFDUCxTQUFTO3dCQUNULE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLCtCQUErQjtxQkFDaEMsYUFDVSxDQUFDLDJCQUEyQixDQUFDLG1CQUN2Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIERlc3Ryb3lSZWYsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBzaWduYWwsXG4gIFRlbXBsYXRlUmVmLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHNraXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSWNvbiwgVHVpUG9wdXAsIFR1aVNjcm9sbGJhciB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IFR1aURyYXdlciB9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0Ryb3BMaXN0LFxuICBDZGtEcm9wTGlzdEdyb3VwLFxuICBtb3ZlSXRlbUluQXJyYXksXG4gIHRyYW5zZmVyQXJyYXlJdGVtLFxufSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7XG4gIG91dHB1dEZyb21PYnNlcnZhYmxlLFxuICB0YWtlVW50aWxEZXN0cm95ZWQsXG4gIHRvT2JzZXJ2YWJsZSxcbiAgdG9TaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIEVDb2x1bW5TdGF0dXMsXG4gIElDb2x1bW5TZXR0aW5ncyxcbiAgSUNvbHVtblNldHRpbmdzQ2hhbmdlcyxcbiAgSVRhYmxlQ29sdW1uU2V0dGluZ3MsXG59IGZyb20gJy4vdHlwZXMvY29sdW1uLXNldHRpbmdzLnR5cGVzJztcbmltcG9ydCB7IFdhUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICdAbmctd2ViLWFwaXMvcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7IENvbHVtblNldHRpbmdzVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlL2NvbHVtbi1zZXR0aW5ncy10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNPTl9DQU5DRUxfQ0xPU0UsIElDT05fRVJBU0VSLCBJQ09OX1NFVFRJTkdTIH0gZnJvbSAnLi9jb25zdHMvY29sdW1uLXNldHRpbmdzLmNvbnN0cyc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlLCBSZXNpemVXaW5kb3dPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBnZXRMYXN0U2VnbWVudE9mUGF0aE5hbWUsIGlzTm9uTnVsbCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFNFVFRJTkdTX1RZUEUsIFVTRVJfUFJPRklMRV9MT0FERVIsIFVTRVJfU0VUVElOR1NfTE9BREVSIH0gZnJvbSAnLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IFJlc2V0U2V0dGluZ3NGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzZXQtc2V0dGluZ3MtZm9ybS9yZXNldC1zZXR0aW5ncy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVHBVc2VyU2V0dGluZ3MgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwcm9jLWNvbHVtbi1zZXR0aW5ncycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2x1bW4tc2V0dGluZ3MuY29tcG9uZW50Lmxlc3MnXSxcbiAgaW1wb3J0czogW1xuICAgIFR1aUJ1dHRvbixcbiAgICBUdWlJY29uLFxuICAgIFR1aURyYXdlcixcbiAgICBUdWlQb3B1cCxcbiAgICBEaXZpZGVyQ29tcG9uZW50LFxuICAgIFJlc2V0U2V0dGluZ3NGb3JtQ29tcG9uZW50LFxuICAgIENka0Ryb3BMaXN0LFxuICAgIENka0Ryb3BMaXN0R3JvdXAsXG4gICAgVHVpU2Nyb2xsYmFyLFxuICAgIFdhUmVzaXplT2JzZXJ2ZXIsXG4gICAgQ29sdW1uU2V0dGluZ3NUZW1wbGF0ZUNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbUmVzaXplV2luZG93T2JzZXJ2ZXJTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIHJlc2V0Q29sdW1uU2V0dGluZ3NSZWYgPSB2aWV3Q2hpbGQoJ3Jlc2V0U2V0dGluZ3MnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmPHVua25vd24+IH0pO1xuICBwdWJsaWMgcmVzZXRDb2x1bW5TZXR0aW5nc0Zvb3RlciA9IHZpZXdDaGlsZCgncmVzZXRTZXR0aW5nc0Zvb3RlcicsIHtcbiAgICByZWFkOiBUZW1wbGF0ZVJlZjx1bmtub3duPixcbiAgfSk7XG5cbiAgcHVibGljIGRlZmF1bHRTZXR0aW5ncyA9IGlucHV0LnJlcXVpcmVkPElUYWJsZUNvbHVtblNldHRpbmdzPigpO1xuICAvKiog0JLRi9GB0L7RgtCwINCy0YHQtdCz0L4g0LrQvtC80L/QvtC90LXQvdGC0LAg0L3QsNGB0YLRgNC+0LXQuiAqL1xuICBwdWJsaWMgaGVpZ2h0ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG4gIC8qKiDQv9C+0LrQsNC3INC30LDQs9C+0LvQvtCy0LrQsCDQu9C40YHRgtCwINGE0LjQutGBLiDRgdC70LXQstCwINC60L7Qu9C+0L3QvtC6ICovXG4gIHB1YmxpYyBzaG93TGVmdExpc3RIZWFkZXIgPSBpbnB1dCh0cnVlKTtcbiAgLyoqINC/0L7QutCw0Lcg0LfQsNCz0L7Qu9C+0LLQutCwINC70LjRgdGC0LAg0YTQuNC60YEuINGB0L/RgNCw0LLQsCDQutC+0LvQvtC90L7QuiAqL1xuICBwdWJsaWMgc2hvd1JpZ2h0TGlzdEhlYWRlciA9IGlucHV0KHRydWUpO1xuICAvKiog0LfQsNCz0L7Qu9C+0LLQvtC6INC70LjRgdGC0LAg0YEg0LrQvtC70L7QvdC60LDQvNC4ICjQvdC10YTQuNC60YHQuNGA0L7QstCw0L3QvdGL0LUpICovXG4gIHB1YmxpYyBjb2x1bW5zTGlzdEhlYWRlciA9IGlucHV0KCfQmtC+0LvQvtC90LrQuCcpO1xuICAvKiog0L/QvtC60LDQtyDRhNC40LrRgS4g0YHQv9GA0LDQstCwINC60L7Qu9C+0L3QvtC6ICovXG4gIHB1YmxpYyBzaG93Rml4ZWRSaWdodExpc3QgPSBpbnB1dChmYWxzZSk7XG4gIC8qKiDRhNGD0L3QutGG0LjRjyDQv9GA0LXQtNC40LrQsNGCIC0g0LLQvtC30LzQvtC20L3QvtGB0YLRjCDQtNC+0LHQsNCy0LvQtdC90LjRjyDRjdC70LXQvNC10L3RgtCwINCyINC70LjRgdGCINGE0LjQutGBLiDRgdC70LXQstCwINC60L7Qu9C+0L3QvtC6ICovXG4gIHB1YmxpYyBmaXhlZExlZnRMaXN0RW50ZXJQcmVkaWNhdGUgPSBpbnB1dDwoKSA9PiBib29sZWFuPigoKSA9PiB0cnVlKTtcbiAgLyoqINGE0YPQvdC60YbQuNGPINC/0YDQtdC00LjQutCw0YIgLSDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC00L7QsdCw0LLQu9C10L3QuNGPINGN0LvQtdC80LXQvdGC0LAg0LIg0LvQuNGB0YIg0LrQvtC70L7QvdC+0LogKNC90LXRhNC40LrRgdC40YDQvtCy0LDQvdC90YvQtSkgKi9cbiAgcHVibGljIGNvbHVtbnNMaXN0RW50ZXJQcmVkaWNhdGUgPSBpbnB1dDwoKSA9PiBib29sZWFuPigoKSA9PiB0cnVlKTtcbiAgLyoqINGE0YPQvdC60YbQuNGPINC/0YDQtdC00LjQutCw0YIgLSDQstC+0LfQvNC+0LbQvdC+0YHRgtGMINC00L7QsdCw0LLQu9C10L3QuNGPINGN0LvQtdC80LXQvdGC0LAg0LIg0LvQuNGB0YIg0YTQuNC60YEuINGB0L/RgNCw0LLQsCDQutC+0LvQvtC90L7QuiAqL1xuICBwdWJsaWMgZml4ZWRSaWdodExpc3RFbnRlclByZWRpY2F0ZSA9IGlucHV0PCgpID0+IGJvb2xlYW4+KCgpID0+IHRydWUpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBvcGVuU2V0dGluZ3MgPSBzaWduYWwoZmFsc2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXRTZXR0aW5ncyA9IHNpZ25hbDxJVGFibGVDb2x1bW5TZXR0aW5ncyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZml4ZWRMZWZ0Q29sdW1ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXRTZXR0aW5ncygpPy5zdGlja3lMZWZ0ID8/IFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmlucHV0U2V0dGluZ3MoKT8uY29sdW1ucyA/PyBbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBmaXhlZFJpZ2h0Q29sdW1ucyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaW5wdXRTZXR0aW5ncygpPy5zdGlja3lSaWdodCA/PyBbXSk7XG5cbiAgcHVibGljIGNvbHVtbnNDaGFuZ2VzID0gb3V0cHV0RnJvbU9ic2VydmFibGU8SUNvbHVtblNldHRpbmdzQ2hhbmdlcz4oXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuaW5wdXRTZXR0aW5ncykucGlwZShcbiAgICAgIHNraXAoMSksXG4gICAgICBtYXAoKHNldHRpbmdzKSA9PiAoeyBzZXR0aW5ncyB9KSlcbiAgICApXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNldHRpbmdzU3RvcmUgPSBpbmplY3QoVVNFUl9TRVRUSU5HU19MT0FERVIpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdXNlclByb2ZpbGVTZXJ2aWNlID0gaW5qZWN0KFVTRVJfUFJPRklMRV9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemVXaW5kb3dPYnNlcnZlciA9IGluamVjdChSZXNpemVXaW5kb3dPYnNlcnZlclNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uU2V0dGluZ3MgPSBJQ09OX1NFVFRJTkdTO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbkVyYXNlciA9IElDT05fRVJBU0VSO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbkNhbmNlbENsb3NlID0gSUNPTl9DQU5DRUxfQ0xPU0U7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbHVtblNldHRpbmdzSGVhZGVySGVpZ2h0UHggPSA0MDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbHVtblNldHRpbmdzU3VidGl0bGVIZWlnaHRQeCA9IDMyO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsQm94Rml4ZWRDb2x1bW5zSGVpZ2h0UHggPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzY3JvbGxCb3hSaWdodEZpeGVkQ29sdW1uc0hlaWdodFB4ID0gc2lnbmFsKDApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Nyb2xsQm94Rml4ZWRDb2x1bW5zTWF4SGVpZ2h0UHggPSAyODc7XG4gIHByb3RlY3RlZCByZWFkb25seSBzY3JvbGxCb3hDb2x1bW5zTWF4SGVpZ2h0UHggPSBzaWduYWwoMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb2x1bW5TZXR0aW5nc0Zvb3RlckhlaWdodFB4ID0gNDg7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb2x1bW5MaXN0SGVpZ2h0UHggPSB0b1NpZ25hbChcbiAgICB0aGlzLl9yZXNpemVXaW5kb3dPYnNlcnZlci5pbm5lckhlaWdodCQucGlwZShcbiAgICAgIHNraXAoMSksXG4gICAgICBtYXAoKGlubmVySGVpZ2h0KSA9PiB0aGlzLl9jYWxjQ29sdW1uTGlzdEhlaWdodFB4KGlubmVySGVpZ2h0KSlcbiAgICApLFxuICAgIHtcbiAgICAgIGluaXRpYWxWYWx1ZTogdGhpcy5fY2FsY0NvbHVtbkxpc3RIZWlnaHRQeCh0aGlzLl9yZXNpemVXaW5kb3dPYnNlcnZlci5pbm5lckhlaWdodCgpKSxcbiAgICB9XG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb2x1bW5MaXN0Qm90dG9tUGFkZGluZ1B4ID0gODtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pZFVzZXIgPSB0aGlzLl91c2VyUHJvZmlsZVNlcnZpY2UuZ2V0VXNlclByb2ZpbGUoKS5pZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfbW9kdWxlTmFtZSA9IGdldExhc3RTZWdtZW50T2ZQYXRoTmFtZSh0aGlzLl9yb3V0ZXIudXJsKTtcblxuICBwcml2YXRlIF9jb2x1bW5zU2V0dGluZ3M6IElUcFVzZXJTZXR0aW5ncyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNldERlZmF1bHRTZXR0aW5ncygpO1xuICAgIHRoaXMuX2VmZmVjdE9uU2V0U2Nyb2xsQm94Q29sdW1uc01heEhlaWdodCgpO1xuICB9XG5cbiAgcHVibGljIHNldERlZmF1bHRTZXR0aW5ncygpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdFNldHRpbmdzID0gdGhpcy5kZWZhdWx0U2V0dGluZ3MoKTtcbiAgICAgIGNvbnN0IGNsb25lZFNldHRpbmdzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkZWZhdWx0U2V0dGluZ3MpKTtcblxuICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dFNldHRpbmdzLnNldChjbG9uZWRTZXR0aW5ncyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2VmZmVjdE9uU2V0U2Nyb2xsQm94Q29sdW1uc01heEhlaWdodCgpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgcGFyZW50SGVpZ2h0UHggPSB0aGlzLmNvbHVtbkxpc3RIZWlnaHRQeCgpO1xuICAgICAgY29uc3QgZml4ZWRIZWlnaHRQeCA9IHRoaXMuc2Nyb2xsQm94Rml4ZWRDb2x1bW5zSGVpZ2h0UHgoKTtcbiAgICAgIGNvbnN0IHJpZ2h0Rml4ZWRIZWlnaHRQeCA9IHRoaXMuc2Nyb2xsQm94UmlnaHRGaXhlZENvbHVtbnNIZWlnaHRQeCgpO1xuICAgICAgY29uc3Qgc3VtRml4ZWRIZWlnaHRQeCA9IGZpeGVkSGVpZ2h0UHggKyByaWdodEZpeGVkSGVpZ2h0UHg7XG5cbiAgICAgIHVudHJhY2tlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0hlaWdodFB4ID0gdGhpcy5fY2FsY1Njcm9sbEJveENvbHVtbnNNYXhIZWlnaHRQeChwYXJlbnRIZWlnaHRQeCwgc3VtRml4ZWRIZWlnaHRQeCk7XG4gICAgICAgIHRoaXMuc2Nyb2xsQm94Q29sdW1uc01heEhlaWdodFB4LnNldChuZXdIZWlnaHRQeCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZU9uU2V0dGluZ3MoKTtcbiAgICB0aGlzLmZldGNoU2V0dGluZ3ModGhpcy5faWRVc2VyLCB0aGlzLl9tb2R1bGVOYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgZmV0Y2hTZXR0aW5ncyh1c2VySWQ6IHN0cmluZywgbW9kdWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlLmZldGNoVXNlclNldHRpbmdzQnlVc2VySWQoe1xuICAgICAgdXNlcklkLFxuICAgICAgc2V0dGluZ3NUeXBlOiBTRVRUSU5HU19UWVBFLkNPTFVNTlMsXG4gICAgICBtb2R1bGVOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblNldHRpbmdzKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3NTdG9yZS5zZXR0aW5ncyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHNldHRpbmdzKSA9PiBzZXR0aW5ncy5sZW5ndGggPiAwKSxcbiAgICAgICAgbWFwKChbc2V0dGluZ3NdKSA9PiBzZXR0aW5ncyksXG4gICAgICAgIGZpbHRlcigoc2V0dGluZ3MpID0+IGlzTm9uTnVsbChzZXR0aW5ncykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZHIpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChzZXR0aW5ncykgPT4ge1xuICAgICAgICB0aGlzLl9jb2x1bW5zU2V0dGluZ3MgPSBzZXR0aW5ncztcbiAgICAgICAgY29uc3QgeyB0YWJsZUZpZWxkcyB9ID0gc2V0dGluZ3Muc2V0dGluZ3M7XG5cbiAgICAgICAgaWYgKHRhYmxlRmllbGRzKSB7XG4gICAgICAgICAgdGhpcy5pbnB1dFNldHRpbmdzLnNldCh0YWJsZUZpZWxkcyk7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWxldGVTZXR0aW5ncygpOiB2b2lkIHtcbiAgICBjb25zdCBjbG9uZWRTZXR0aW5ncyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5kZWZhdWx0U2V0dGluZ3MoKSkpO1xuICAgIHRoaXMuaW5wdXRTZXR0aW5ncy5zZXQoY2xvbmVkU2V0dGluZ3MpO1xuXG4gICAgaWYgKHRoaXMuX2NvbHVtbnNTZXR0aW5ncykge1xuICAgICAgdGhpcy5zZXR0aW5nc1N0b3JlLmRlbGV0ZVVzZXJTZXR0aW5nc0J5SWQoe1xuICAgICAgICBpZDogdGhpcy5fY29sdW1uc1NldHRpbmdzPy5pZCxcbiAgICAgICAgdXBkYXRlU2V0dGluZ3M6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2F2ZVNldHRpbmdzKHNldHRpbmdzOiBJVGFibGVDb2x1bW5TZXR0aW5ncyk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3NTdG9yZS51cHNlcnRVc2VyU2V0dGluZ3NCeVVzZXJJZCh7XG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBpZDogdGhpcy5fY29sdW1uc1NldHRpbmdzPy5pZCxcbiAgICAgICAgbW9kdWxlX25hbWU6IHRoaXMuX21vZHVsZU5hbWUsXG4gICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgLi4udGhpcy5fY29sdW1uc1NldHRpbmdzPy5zZXR0aW5ncyxcbiAgICAgICAgICB0YWJsZUZpZWxkczogc2V0dGluZ3MsXG4gICAgICAgIH0sXG4gICAgICAgIHNldHRpbmdzX3R5cGU6IFNFVFRJTkdTX1RZUEUuQ09MVU1OUyxcbiAgICAgIH0sXG4gICAgICB1cGRhdGVTZXR0aW5nczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzYXZlVGFibGVTZXR0aW5ncygpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVTZXR0aW5ncyh7XG4gICAgICBzdGlja3lMZWZ0OiB0aGlzLmZpeGVkTGVmdENvbHVtbnMoKSxcbiAgICAgIGNvbHVtbnM6IHRoaXMuY29sdW1ucygpLFxuICAgICAgc3RpY2t5UmlnaHQ6IHRoaXMuZml4ZWRSaWdodENvbHVtbnMoKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuUmVzZXREaWFsb2coKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW5Nb2RhbCh0aGlzLnJlc2V0Q29sdW1uU2V0dGluZ3NSZWYoKSwge1xuICAgICAgICBjbG9zZWFibGU6IHRydWUsXG4gICAgICAgIHdpZHRoOiA0NjYsXG4gICAgICAgIGZvb3RlcjogdGhpcy5yZXNldENvbHVtblNldHRpbmdzRm9vdGVyKCksXG4gICAgICAgIGRpc21pc3NpYmxlOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuU2V0dGluZ3MudXBkYXRlKChpc09wZW4pID0+ICFpc09wZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMub3BlblNldHRpbmdzLnNldChmYWxzZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZHJvcEludG9GaXhlZExlZnQoZXZlbnQ6IENka0RyYWdEcm9wPElDb2x1bW5TZXR0aW5nc1tdPik6IHZvaWQge1xuICAgIGNvbnN0IGRyb3BwZWRFbGVtZW50ID0gZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YVtldmVudC5wcmV2aW91c0luZGV4XTtcbiAgICB0aGlzLl9zZXRTdGF0dXNSZWN1cnNpdmUoZHJvcHBlZEVsZW1lbnQsIEVDb2x1bW5TdGF0dXMuU1RJQ0tZKTtcbiAgICB0aGlzLl9tb3ZlRHJvcHBlZEl0ZW0oZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGRyb3BJbnRvQ29sdW1ucyhldmVudDogQ2RrRHJhZ0Ryb3A8SUNvbHVtblNldHRpbmdzW10+KTogdm9pZCB7XG4gICAgY29uc3QgZnJvbU90aGVyID0gZXZlbnQucHJldmlvdXNDb250YWluZXIgIT09IGV2ZW50LmNvbnRhaW5lcjtcblxuICAgIGlmIChmcm9tT3RoZXIpIHtcbiAgICAgIGNvbnN0IGRyb3BwZWRFbGVtZW50ID0gZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YVtldmVudC5wcmV2aW91c0luZGV4XTtcbiAgICAgIHRoaXMuX3NldFN0YXR1c1JlY3Vyc2l2ZShkcm9wcGVkRWxlbWVudCwgRUNvbHVtblN0YXR1cy5ERUZBVUxUKTtcbiAgICB9XG5cbiAgICB0aGlzLl9tb3ZlRHJvcHBlZEl0ZW0oZXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbW92ZURyb3BwZWRJdGVtKGV2ZW50OiBDZGtEcmFnRHJvcDxJQ29sdW1uU2V0dGluZ3NbXT4pOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KGV2ZW50LmNvbnRhaW5lci5kYXRhLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cmFuc2ZlckFycmF5SXRlbShcbiAgICAgICAgZXZlbnQucHJldmlvdXNDb250YWluZXIuZGF0YSxcbiAgICAgICAgZXZlbnQuY29udGFpbmVyLmRhdGEsXG4gICAgICAgIGV2ZW50LnByZXZpb3VzSW5kZXgsXG4gICAgICAgIGV2ZW50LmN1cnJlbnRJbmRleFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9nZ2xlVmlzaWJpbGl0eShjb2w6IElDb2x1bW5TZXR0aW5ncyk6IHZvaWQge1xuICAgIGNvbnN0IGlzSGlkZGVuID0gY29sLnN0YXR1cyA9PT0gRUNvbHVtblN0YXR1cy5ISURERU47XG4gICAgY29sLnN0YXR1cyA9IGlzSGlkZGVuID8gRUNvbHVtblN0YXR1cy5ERUZBVUxUIDogRUNvbHVtblN0YXR1cy5ISURERU47XG4gIH1cblxuICBwcm90ZWN0ZWQgc2hvd0FsbENvbHVtbnMoKTogdm9pZCB7XG4gICAgY29uc3Qgc2V0dGluZ3MgPSB0aGlzLmlucHV0U2V0dGluZ3MoKTtcblxuICAgIGlmICghc2V0dGluZ3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcign0J3QsNGB0YLRgNC+0LnQutC4INGC0LDQsdC70LjRhtGLINC90LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC90YsnKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRDb2x1bW5zU3RhdHVzUmVjdXJzaXZlKHNldHRpbmdzLmNvbHVtbnMsIEVDb2x1bW5TdGF0dXMuREVGQVVMVCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNIaWRkZW5Db2x1bW4oY29sdW1uOiBJQ29sdW1uU2V0dGluZ3MpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29sdW1uLnN0YXR1cyA9PT0gRUNvbHVtblN0YXR1cy5ISURERU47XG4gIH1cblxuICBwcm90ZWN0ZWQgb25GaXhlZFNjcm9sbGJhclJlc2l6ZShbZml4ZWRTY3JvbGxiYXJdOiByZWFkb25seSBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEJveEZpeGVkQ29sdW1uc0hlaWdodFB4LnNldChmaXhlZFNjcm9sbGJhci5jb250ZW50UmVjdC5oZWlnaHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uUmlnaHRGaXhlZFNjcm9sbGJhclJlc2l6ZShbZml4ZWRTY3JvbGxiYXJdOiByZWFkb25seSBSZXNpemVPYnNlcnZlckVudHJ5W10pOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEJveFJpZ2h0Rml4ZWRDb2x1bW5zSGVpZ2h0UHguc2V0KGZpeGVkU2Nyb2xsYmFyLmNvbnRlbnRSZWN0LmhlaWdodCk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjQ29sdW1uTGlzdEhlaWdodFB4KHdpbmRvd0lubmVySGVpZ2h0OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IG1haW5IZWFkZXJQeCA9IDUyO1xuICAgIGNvbnN0IGNvbHVtblNldHRpbmdzSGVhZGVyRm9vdGVyU3VtSGVpZ2h0UHggPVxuICAgICAgdGhpcy5jb2x1bW5TZXR0aW5nc0hlYWRlckhlaWdodFB4ICsgdGhpcy5jb2x1bW5TZXR0aW5nc0Zvb3RlckhlaWdodFB4O1xuXG4gICAgcmV0dXJuIHdpbmRvd0lubmVySGVpZ2h0IC0gbWFpbkhlYWRlclB4IC0gY29sdW1uU2V0dGluZ3NIZWFkZXJGb290ZXJTdW1IZWlnaHRQeDtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGNTY3JvbGxCb3hDb2x1bW5zTWF4SGVpZ2h0UHgoXG4gICAgcGFyZW50SGVpZ2h0UHg6IG51bWJlcixcbiAgICBmaXhlZFNjcm9sbGJhckhlaWdodFB4OiBudW1iZXJcbiAgKTogbnVtYmVyIHtcbiAgICBjb25zdCB0d29TdWJ0aXRsZUhlaWdodFB4ID0gMiAqIHRoaXMuY29sdW1uU2V0dGluZ3NTdWJ0aXRsZUhlaWdodFB4O1xuICAgIGNvbnN0IGJvdHRvbVBhZGRpbmdQeCA9IHRoaXMuY29sdW1uTGlzdEJvdHRvbVBhZGRpbmdQeDtcblxuICAgIHJldHVybiBwYXJlbnRIZWlnaHRQeCAtIHR3b1N1YnRpdGxlSGVpZ2h0UHggLSBmaXhlZFNjcm9sbGJhckhlaWdodFB4IC0gYm90dG9tUGFkZGluZ1B4O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0U3RhdHVzUmVjdXJzaXZlKGNvbHVtbjogSUNvbHVtblNldHRpbmdzLCBzdGF0dXM6IEVDb2x1bW5TdGF0dXMpOiB2b2lkIHtcbiAgICBjb2x1bW4uc3RhdHVzID0gc3RhdHVzO1xuXG4gICAgaWYgKGNvbHVtbi5jaGlsZHJlbikge1xuICAgICAgdGhpcy5fc2V0Q29sdW1uc1N0YXR1c1JlY3Vyc2l2ZShjb2x1bW4uY2hpbGRyZW4sIHN0YXR1cyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0Q29sdW1uc1N0YXR1c1JlY3Vyc2l2ZShjb2x1bW5zOiBJQ29sdW1uU2V0dGluZ3NbXSwgc3RhdHVzOiBFQ29sdW1uU3RhdHVzKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBbaW5kZXgsIGNvbF0gb2YgY29sdW1ucy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbHVtbnNbaW5kZXhdID0geyAuLi5jb2wsIHN0YXR1cyB9O1xuXG4gICAgICBpZiAoY29sLmNoaWxkcmVuKSB7XG4gICAgICAgIHRoaXMuX3NldENvbHVtbnNTdGF0dXNSZWN1cnNpdmUoY29sLmNoaWxkcmVuLCBzdGF0dXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0dWlCdXR0b25cbiAgY2xhc3M9XCJjb2x1bW4tc2V0dGluZ3NfX21haW4tYnV0dG9uXCJcbiAgYXBwZWFyYW5jZT1cIm91dGxpbmUtZ3JheXNjYWxlXCJcbiAgc2l6ZT1cIm1cIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gIChjbGljayk9XCJ0b2dnbGUoKVwiXG4+XG4gIDx0dWktaWNvbiBjbGFzcz1cImNvbHVtbi1zZXR0aW5nc19faWNvbiBncmF5XCIgW2ljb25dPVwiaWNvblNldHRpbmdzXCI+PC90dWktaWNvbj5cbjwvYnV0dG9uPlxuXG48dHVpLWRyYXdlclxuICAqdHVpUG9wdXA9XCJvcGVuU2V0dGluZ3MoKVwiXG4gIGNsYXNzPVwiY29sdW1uLXNldHRpbmdzX19wb3B1cFwiXG4gIGRpcmVjdGlvbj1cInJpZ2h0XCJcbiAgW292ZXJsYXldPVwidHJ1ZVwiXG4gIChjbGljay5zZWxmKT1cImNsb3NlKClcIlxuPlxuICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyXCIgW3N0eWxlLmhlaWdodC5weF09XCJjb2x1bW5TZXR0aW5nc0hlYWRlckhlaWdodFB4XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJoZWFkZXJfX3RpdGxlXCI+0J3QsNGB0YLRgNC+0LnQutCwINGC0LDQsdC70LjRhtGLPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJfX2J1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICBjbGFzcz1cInJlc2V0LWJ1dHRvblwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAoY2xpY2spPVwib3BlblJlc2V0RGlhbG9nKClcIlxuICAgICAgPlxuICAgICAgICA8dHVpLWljb24gY2xhc3M9XCJjb2x1bW4tc2V0dGluZ3NfX2ljb25cIiBbaWNvbl09XCJpY29uRXJhc2VyXCI+PC90dWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPHNwcm9jLWRpdmlkZXIgbGF5b3V0PVwidmVydGljYWxcIj48L3Nwcm9jLWRpdmlkZXI+XG4gICAgICA8YnV0dG9uIHR1aUljb25CdXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIiBhcHBlYXJhbmNlPVwiZmxhdFwiIHNpemU9XCJtXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgPHR1aS1pY29uIGNsYXNzPVwiY29sdW1uLXNldHRpbmdzX19pY29uXCIgW2ljb25dPVwiaWNvbkNhbmNlbENsb3NlXCI+PC90dWktaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2hlYWRlcj5cbiAgPGRpdlxuICAgIGNka0Ryb3BMaXN0R3JvdXBcbiAgICBjbGFzcz1cImNvbHVtbi1jb250YWluZXIgdHVpX190LWNvbnRlbnQtLW5vLWRlZmF1bHQtcGFkZGluZ1wiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJjb2x1bW5MaXN0SGVpZ2h0UHgoKVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjZGtEcm9wTGlzdFxuICAgICAgY2xhc3M9XCJjb2x1bW4tbGlzdFwiXG4gICAgICBbY2RrRHJvcExpc3REYXRhXT1cImZpeGVkTGVmdENvbHVtbnMoKVwiXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BJbnRvRml4ZWRMZWZ0KCRldmVudClcIlxuICAgICAgW2Nka0Ryb3BMaXN0RW50ZXJQcmVkaWNhdGVdPVwiZml4ZWRMZWZ0TGlzdEVudGVyUHJlZGljYXRlKClcIlxuICAgID5cbiAgICAgIEBpZiAoc2hvd0xlZnRMaXN0SGVhZGVyKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1saXN0X19sYWJlbC1jb250YWluZXJcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInN1YnRpdGxlXCIgW3N0eWxlLmhlaWdodC5weF09XCJjb2x1bW5TZXR0aW5nc1N1YnRpdGxlSGVpZ2h0UHhcIj5cbiAgICAgICAgICAgINCk0LjQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC60L7Qu9C+0L3QutC4INGB0LvQtdCy0LBcbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8dHVpLXNjcm9sbGJhclxuICAgICAgICBbc3R5bGUubWF4LWhlaWdodC5weF09XCJzY3JvbGxCb3hGaXhlZENvbHVtbnNNYXhIZWlnaHRQeFwiXG4gICAgICAgICh3YVJlc2l6ZU9ic2VydmVyKT1cIm9uRml4ZWRTY3JvbGxiYXJSZXNpemUoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIEBmb3IgKGZpeGVkTGVmdENvbHVtbiBvZiBmaXhlZExlZnRDb2x1bW5zKCk7IHRyYWNrIGZpeGVkTGVmdENvbHVtbi5pZCkge1xuICAgICAgICAgIDxzcHJvYy1jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGVcbiAgICAgICAgICAgIFtjb2x1bW5dPVwiZml4ZWRMZWZ0Q29sdW1uXCJcbiAgICAgICAgICA+PC9zcHJvYy1jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgIDwvdHVpLXNjcm9sbGJhcj5cbiAgICA8L2Rpdj5cbiAgICA8c3Byb2MtZGl2aWRlcj48L3Nwcm9jLWRpdmlkZXI+XG4gICAgPGRpdlxuICAgICAgY2RrRHJvcExpc3RcbiAgICAgIGNsYXNzPVwiY29sdW1uLWxpc3RcIlxuICAgICAgW3N0eWxlLnBhZGRpbmctYm90dG9tLnB4XT1cImNvbHVtbkxpc3RCb3R0b21QYWRkaW5nUHhcIlxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJjb2x1bW5zKClcIlxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wSW50b0NvbHVtbnMoJGV2ZW50KVwiXG4gICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJjb2x1bW5zTGlzdEVudGVyUHJlZGljYXRlKClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbGlzdF9fbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzdWJ0aXRsZSBzdWJ0aXRsZS0tZmxleC1ncm93LTFcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29sdW1uU2V0dGluZ3NTdWJ0aXRsZUhlaWdodFB4XCJcbiAgICAgICAgICA+e3sgY29sdW1uc0xpc3RIZWFkZXIoKSB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2hvdy1hbGxcIiAoY2xpY2spPVwic2hvd0FsbENvbHVtbnMoKVwiPtCf0L7QutCw0LfQsNGC0Ywg0LLRgdC1PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8dHVpLXNjcm9sbGJhciBbc3R5bGUubWF4LWhlaWdodC5weF09XCJzY3JvbGxCb3hDb2x1bW5zTWF4SGVpZ2h0UHgoKVwiPlxuICAgICAgICBAZm9yIChjb2x1bW4gb2YgY29sdW1ucygpOyB0cmFjayBjb2x1bW4uaWQpIHtcbiAgICAgICAgICA8c3Byb2MtY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlIFtjb2x1bW5dPVwiY29sdW1uXCI+PC9zcHJvYy1jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGU+XG4gICAgICAgIH1cbiAgICAgIDwvdHVpLXNjcm9sbGJhcj5cbiAgICA8L2Rpdj5cbiAgICBAaWYgKHNob3dGaXhlZFJpZ2h0TGlzdCgpKSB7XG4gICAgICA8c3Byb2MtZGl2aWRlcj48L3Nwcm9jLWRpdmlkZXI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgIGNsYXNzPVwiY29sdW1uLWxpc3RcIlxuICAgICAgICBbc3R5bGUucGFkZGluZy1ib3R0b20ucHhdPVwiY29sdW1uTGlzdEJvdHRvbVBhZGRpbmdQeFwiXG4gICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZml4ZWRSaWdodENvbHVtbnMoKVwiXG4gICAgICAgIChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcEludG9Db2x1bW5zKCRldmVudClcIlxuICAgICAgICBbY2RrRHJvcExpc3RFbnRlclByZWRpY2F0ZV09XCJmaXhlZFJpZ2h0TGlzdEVudGVyUHJlZGljYXRlKClcIlxuICAgICAgPlxuICAgICAgICBAaWYgKHNob3dSaWdodExpc3RIZWFkZXIoKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4tbGlzdF9fbGFiZWwtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cInN1YnRpdGxlIHN1YnRpdGxlLS1mbGV4LWdyb3ctMVwiXG4gICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29sdW1uU2V0dGluZ3NTdWJ0aXRsZUhlaWdodFB4XCJcbiAgICAgICAgICAgICAgPtCk0LjQutGB0LjRgNC+0LLQsNC90L3Ri9C1INC60L7Qu9C+0L3QutC4INGB0L/RgNCw0LLQsDwvc3BhblxuICAgICAgICAgICAgPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPHR1aS1zY3JvbGxiYXJcbiAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodC5weF09XCJzY3JvbGxCb3hGaXhlZENvbHVtbnNNYXhIZWlnaHRQeFwiXG4gICAgICAgICAgKHdhUmVzaXplT2JzZXJ2ZXIpPVwib25SaWdodEZpeGVkU2Nyb2xsYmFyUmVzaXplKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgQGZvciAoY29sdW1uIG9mIGZpeGVkUmlnaHRDb2x1bW5zKCk7IHRyYWNrIGNvbHVtbi5pZCkge1xuICAgICAgICAgICAgPHNwcm9jLWNvbHVtbi1zZXR0aW5ncy10ZW1wbGF0ZSBbY29sdW1uXT1cImNvbHVtblwiPjwvc3Byb2MtY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlPlxuICAgICAgICAgIH1cbiAgICAgICAgPC90dWktc2Nyb2xsYmFyPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbiAgPGZvb3RlciBjbGFzcz1cImZvb3RlclwiIFtzdHlsZS5oZWlnaHQucHhdPVwiY29sdW1uU2V0dGluZ3NGb290ZXJIZWlnaHRQeFwiPlxuICAgIDxidXR0b25cbiAgICAgIHR1aUJ1dHRvblxuICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeVwiXG4gICAgICAoY2xpY2spPVwic2F2ZVRhYmxlU2V0dGluZ3MoKVwiXG4gICAgPlxuICAgICAg0KHQvtGF0YDQsNC90LjRgtGMXG4gICAgPC9idXR0b24+XG4gIDwvZm9vdGVyPlxuPC90dWktZHJhd2VyPlxuXG48bmctdGVtcGxhdGUgI3Jlc2V0U2V0dGluZ3M+XG4gIDxzcHJvYy1yZXNldC1zZXR0aW5ncy1mb3JtPjwvc3Byb2MtcmVzZXQtc2V0dGluZ3MtZm9ybT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVzZXRTZXR0aW5nc0Zvb3RlciBsZXQtY29tcGxldGVXaXRoPVwiY29tcGxldGVXaXRoXCI+XG4gIDxkaXYgc3R5bGU9XCJ3aWR0aDogMTAwJTsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogOHB4XCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHVpQnV0dG9uXG4gICAgICBzdHlsZT1cIndpZHRoOiAxOTZweFwiXG4gICAgICBhcHBlYXJhbmNlPVwicHJpbWFyeS1kZXN0cnVjdGl2ZVwiXG4gICAgICBzaXplPVwibFwiXG4gICAgICAoY2xpY2spPVwiZGVsZXRlU2V0dGluZ3MoKTsgY29tcGxldGVXaXRoKHRydWUpXCJcbiAgICA+XG4gICAgICDQodCx0YDQvtGB0LjRgtGMXG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgdHVpQnV0dG9uXG4gICAgICBzdHlsZT1cIndpZHRoOiAxOTZweFwiXG4gICAgICBhcHBlYXJhbmNlPVwib3V0bGluZS1ncmF5c2NhbGVcIlxuICAgICAgc2l6ZT1cImxcIlxuICAgICAgKGNsaWNrKT1cImNvbXBsZXRlV2l0aChmYWxzZSlcIlxuICAgID5cbiAgICAgINCe0YLQvNC10L3QsFxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';
|
|
2
|
+
import { EColumnStatus } from '../../types/column-settings.types';
|
|
3
|
+
import { CdkDrag, CdkDragPlaceholder, CdkDropList, moveItemInArray, transferArrayItem, } from '@angular/cdk/drag-drop';
|
|
4
|
+
import { NgOptimizedImage } from '@angular/common';
|
|
5
|
+
import { TuiHintDirective } from '@taiga-ui/core';
|
|
6
|
+
import { ICON_CHEVRONS_RIGHT, ICON_EDITOR_DOTS, ICON_EYE, ICON_EYE_CLOSED, ICON_LOCK, } from '../../consts/column-settings.consts';
|
|
7
|
+
import { TuiExpand } from '@taiga-ui/experimental';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class ColumnSettingsTemplateComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.column = input.required();
|
|
12
|
+
this.parent = input();
|
|
13
|
+
this.expand = input(true);
|
|
14
|
+
this.iconEditorDots = ICON_EDITOR_DOTS;
|
|
15
|
+
this.iconChevron = ICON_CHEVRONS_RIGHT;
|
|
16
|
+
this.iconEye = ICON_EYE;
|
|
17
|
+
this.iconEyeClosed = ICON_EYE_CLOSED;
|
|
18
|
+
this.iconLock = ICON_LOCK;
|
|
19
|
+
this.EColumnStatus = EColumnStatus;
|
|
20
|
+
this.status = computed(() => this.column().status);
|
|
21
|
+
this.canExpand = computed(() => {
|
|
22
|
+
const wantExpand = this.expand();
|
|
23
|
+
const children = this.column().children ?? [];
|
|
24
|
+
const haveChildren = children.length > 0;
|
|
25
|
+
return wantExpand && haveChildren;
|
|
26
|
+
});
|
|
27
|
+
this.expanded = signal(false);
|
|
28
|
+
}
|
|
29
|
+
collapseNested() {
|
|
30
|
+
this.expanded.set(false);
|
|
31
|
+
}
|
|
32
|
+
toggleNested() {
|
|
33
|
+
this.expanded.update((value) => !value);
|
|
34
|
+
}
|
|
35
|
+
isHiddenColumn(column) {
|
|
36
|
+
return column.status === EColumnStatus.HIDDEN;
|
|
37
|
+
}
|
|
38
|
+
toggleVisibility(column) {
|
|
39
|
+
const isHidden = column.status === EColumnStatus.HIDDEN;
|
|
40
|
+
column.status = isHidden ? EColumnStatus.DEFAULT : EColumnStatus.HIDDEN;
|
|
41
|
+
const { children } = column;
|
|
42
|
+
// Если есть дочерние узлы то устанавливать статус текущего узла
|
|
43
|
+
if (children) {
|
|
44
|
+
column.children = children.map((childColumn) => ({ ...childColumn, status: column.status }));
|
|
45
|
+
}
|
|
46
|
+
const parentColumn = this.parent();
|
|
47
|
+
const parentChildren = parentColumn?.children;
|
|
48
|
+
if (parentColumn && parentChildren && parentChildren.length > 0) {
|
|
49
|
+
const allChildrenHidden = parentChildren.every((childColumn) => childColumn.status === EColumnStatus.HIDDEN);
|
|
50
|
+
parentColumn.status = allChildrenHidden ? EColumnStatus.HIDDEN : EColumnStatus.DEFAULT;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
dropIntoChildren(event) {
|
|
54
|
+
const currentChildren = this.column().children;
|
|
55
|
+
if (!currentChildren) {
|
|
56
|
+
console.warn('Попытка переместить в столбец без дочернего массива:', this.column());
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (event.previousContainer === event.container) {
|
|
60
|
+
moveItemInArray(currentChildren, event.previousIndex, event.currentIndex);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
transferArrayItem(event.previousContainer.data, currentChildren, event.previousIndex, event.currentIndex);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnSettingsTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ColumnSettingsTemplateComponent, isStandalone: true, selector: "sproc-column-settings-template", inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, parent: { classPropertyName: "parent", publicName: "parent", isSignal: true, isRequired: false, transformFunction: null }, expand: { classPropertyName: "expand", publicName: "expand", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let col = column();\n@let isHidden = isHiddenColumn(col);\n@let currentEyeIcon = isHidden ? iconEyeClosed : iconEye;\n@let childrenColumns = col.children ?? [];\n\n<div\n class=\"column-item\"\n [class.hidden]=\"isHidden\"\n cdkDrag\n [cdkDragData]=\"col\"\n (cdkDragStarted)=\"collapseNested()\"\n>\n <img [ngSrc]=\"iconEditorDots\" [width]=\"16\" [height]=\"32\" alt=\"\" />\n @if (canExpand()) {\n <img\n class=\"expanded\"\n [ngSrc]=\"iconChevron\"\n [width]=\"16\"\n [height]=\"16\"\n [attr.expanded]=\"expanded()\"\n alt=\"\"\n (click)=\"toggleNested()\"\n />\n }\n <span class=\"column-item__name\">{{ col.name }}</span>\n @if (status() === EColumnStatus.STICKY) {\n <img\n class=\"pointer\"\n [ngSrc]=\"iconLock\"\n [width]=\"16\"\n [height]=\"16\"\n tuiHint=\"\u041D\u0435\u043B\u044C\u0437\u044F \u0441\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u043D\u0443\u044E \u043A\u043E\u043B\u043E\u043D\u043A\u0443\"\n />\n } @else {\n <img\n class=\"eye-icon\"\n [ngSrc]=\"currentEyeIcon\"\n [width]=\"16\"\n [height]=\"16\"\n tuiHint=\"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C \u043A\u043E\u043B\u043E\u043D\u043A\u0443\"\n (click)=\"toggleVisibility(col)\"\n />\n }\n\n <ng-template cdkDragPlaceholder>\n <div class=\"custom-placeholder\"></div>\n </ng-template>\n</div>\n\n@if (canExpand()) {\n <tui-expand\n class=\"nested-columns\"\n cdkDropList\n [expanded]=\"expanded()\"\n [cdkDropListData]=\"childrenColumns\"\n (cdkDropListDropped)=\"dropIntoChildren($event)\"\n >\n @for (childCol of childrenColumns; track childCol.id) {\n <sproc-column-settings-template\n [column]=\"childCol\"\n [parent]=\"col\"\n ></sproc-column-settings-template>\n }\n </tui-expand>\n}\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.column-item{display:flex;align-items:center;padding:0 12px 0 8px;gap:8px;height:32px}.column-item__name{flex-grow:1;color:var(--text-main);font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.column-item .pointer{cursor:pointer}.column-item .expanded{cursor:pointer;transition:transform .2s linear}.column-item .expanded[expanded=true]{transform:rotate(90deg);transform-origin:center center}.column-item .eye-icon{cursor:pointer;opacity:0;transition:opacity .2s ease-in-out}.column-item.hidden .eye-icon{opacity:1}.column-item:hover{background:var(--brand-hovered);cursor:ns-resize}.column-item:hover .eye-icon{opacity:1}.nested-columns{margin-left:24px}.custom-placeholder{display:flex;align-items:center;height:32px;padding:0 8px;border:1px dashed #cccccc;border-radius:3px;background-color:#fafafa;box-sizing:border-box;color:#888;font-style:italic;-webkit-user-select:none;user-select:none;width:100%;margin:0}.cdk-drag-preview{display:flex;align-items:center;padding:0 12px 0 8px;gap:8px;height:32px;box-shadow:-1px 0 12px #4753263b;background:var(--main-white)}.cdk-drag-preview__name{flex-grow:1;color:var(--text-main);font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.cdk-drag-preview .pointer{cursor:pointer}.cdk-drag-preview .expanded{cursor:pointer;transition:transform .2s linear}.cdk-drag-preview .expanded[expanded=true]{transform:rotate(90deg);transform-origin:center center}.cdk-drag-preview .eye-icon{cursor:pointer;opacity:0;transition:opacity .2s ease-in-out}.cdk-drag-preview.hidden .eye-icon{opacity:1}.cdk-drag-preview:hover{background:var(--brand-hovered);cursor:ns-resize}.cdk-drag-preview:hover .eye-icon{opacity:1}\n"], dependencies: [{ kind: "component", type: ColumnSettingsTemplateComponent, selector: "sproc-column-settings-template", inputs: ["column", "parent", "expand"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: TuiExpand, selector: "tui-expand", inputs: ["expanded"] }, { kind: "directive", type: TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
68
|
+
}
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ColumnSettingsTemplateComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'sproc-column-settings-template', standalone: true, imports: [
|
|
72
|
+
NgOptimizedImage,
|
|
73
|
+
CdkDrag,
|
|
74
|
+
CdkDragPlaceholder,
|
|
75
|
+
CdkDropList,
|
|
76
|
+
TuiExpand,
|
|
77
|
+
TuiHintDirective,
|
|
78
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@let col = column();\n@let isHidden = isHiddenColumn(col);\n@let currentEyeIcon = isHidden ? iconEyeClosed : iconEye;\n@let childrenColumns = col.children ?? [];\n\n<div\n class=\"column-item\"\n [class.hidden]=\"isHidden\"\n cdkDrag\n [cdkDragData]=\"col\"\n (cdkDragStarted)=\"collapseNested()\"\n>\n <img [ngSrc]=\"iconEditorDots\" [width]=\"16\" [height]=\"32\" alt=\"\" />\n @if (canExpand()) {\n <img\n class=\"expanded\"\n [ngSrc]=\"iconChevron\"\n [width]=\"16\"\n [height]=\"16\"\n [attr.expanded]=\"expanded()\"\n alt=\"\"\n (click)=\"toggleNested()\"\n />\n }\n <span class=\"column-item__name\">{{ col.name }}</span>\n @if (status() === EColumnStatus.STICKY) {\n <img\n class=\"pointer\"\n [ngSrc]=\"iconLock\"\n [width]=\"16\"\n [height]=\"16\"\n tuiHint=\"\u041D\u0435\u043B\u044C\u0437\u044F \u0441\u043A\u0440\u044B\u0442\u044C \u0437\u0430\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u043D\u0443\u044E \u043A\u043E\u043B\u043E\u043D\u043A\u0443\"\n />\n } @else {\n <img\n class=\"eye-icon\"\n [ngSrc]=\"currentEyeIcon\"\n [width]=\"16\"\n [height]=\"16\"\n tuiHint=\"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C/\u0421\u043A\u0440\u044B\u0442\u044C \u043A\u043E\u043B\u043E\u043D\u043A\u0443\"\n (click)=\"toggleVisibility(col)\"\n />\n }\n\n <ng-template cdkDragPlaceholder>\n <div class=\"custom-placeholder\"></div>\n </ng-template>\n</div>\n\n@if (canExpand()) {\n <tui-expand\n class=\"nested-columns\"\n cdkDropList\n [expanded]=\"expanded()\"\n [cdkDropListData]=\"childrenColumns\"\n (cdkDropListDropped)=\"dropIntoChildren($event)\"\n >\n @for (childCol of childrenColumns; track childCol.id) {\n <sproc-column-settings-template\n [column]=\"childCol\"\n [parent]=\"col\"\n ></sproc-column-settings-template>\n }\n </tui-expand>\n}\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}.column-item{display:flex;align-items:center;padding:0 12px 0 8px;gap:8px;height:32px}.column-item__name{flex-grow:1;color:var(--text-main);font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.column-item .pointer{cursor:pointer}.column-item .expanded{cursor:pointer;transition:transform .2s linear}.column-item .expanded[expanded=true]{transform:rotate(90deg);transform-origin:center center}.column-item .eye-icon{cursor:pointer;opacity:0;transition:opacity .2s ease-in-out}.column-item.hidden .eye-icon{opacity:1}.column-item:hover{background:var(--brand-hovered);cursor:ns-resize}.column-item:hover .eye-icon{opacity:1}.nested-columns{margin-left:24px}.custom-placeholder{display:flex;align-items:center;height:32px;padding:0 8px;border:1px dashed #cccccc;border-radius:3px;background-color:#fafafa;box-sizing:border-box;color:#888;font-style:italic;-webkit-user-select:none;user-select:none;width:100%;margin:0}.cdk-drag-preview{display:flex;align-items:center;padding:0 12px 0 8px;gap:8px;height:32px;box-shadow:-1px 0 12px #4753263b;background:var(--main-white)}.cdk-drag-preview__name{flex-grow:1;color:var(--text-main);font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.cdk-drag-preview .pointer{cursor:pointer}.cdk-drag-preview .expanded{cursor:pointer;transition:transform .2s linear}.cdk-drag-preview .expanded[expanded=true]{transform:rotate(90deg);transform-origin:center center}.cdk-drag-preview .eye-icon{cursor:pointer;opacity:0;transition:opacity .2s ease-in-out}.cdk-drag-preview.hidden .eye-icon{opacity:1}.cdk-drag-preview:hover{background:var(--brand-hovered);cursor:ns-resize}.cdk-drag-preview:hover .eye-icon{opacity:1}\n"] }]
|
|
79
|
+
}] });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGUvY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGUvY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLGFBQWEsRUFBbUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRixPQUFPLEVBQ0wsT0FBTyxFQUVQLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGlCQUFpQixHQUNsQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixlQUFlLEVBQ2YsU0FBUyxHQUNWLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQWlCbkQsTUFBTSxPQUFPLCtCQUErQjtJ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QyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxzREFBc0QsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNwRixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLGlCQUFpQixLQUFLLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoRCxlQUFlLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVFLENBQUM7YUFBTSxDQUFDO1lBQ04saUJBQWlCLENBQ2YsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFDNUIsZUFBZSxFQUNmLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzsrR0E1RVUsK0JBQStCO21HQUEvQiwrQkFBK0Isc2RDcEM1QyxpNURBaUVBLHk4SEQ3QmEsK0JBQStCLG1IQVh4QyxnQkFBZ0IsZ1BBQ2hCLE9BQU8sd2NBQ1Asa0JBQWtCLDhGQUNsQixXQUFXLDhmQUNYLFNBQVMsNkVBQ1QsZ0JBQWdCOzs0RkFNUCwrQkFBK0I7a0JBZjNDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLE9BQU87d0JBQ1Asa0JBQWtCO3dCQUNsQixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsZ0JBQWdCO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFQ29sdW1uU3RhdHVzLCBJQ29sdW1uU2V0dGluZ3MgfSBmcm9tICcuLi8uLi90eXBlcy9jb2x1bW4tc2V0dGluZ3MudHlwZXMnO1xuaW1wb3J0IHtcbiAgQ2RrRHJhZyxcbiAgQ2RrRHJhZ0Ryb3AsXG4gIENka0RyYWdQbGFjZWhvbGRlcixcbiAgQ2RrRHJvcExpc3QsXG4gIG1vdmVJdGVtSW5BcnJheSxcbiAgdHJhbnNmZXJBcnJheUl0ZW0sXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUdWlIaW50RGlyZWN0aXZlIH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtcbiAgSUNPTl9DSEVWUk9OU19SSUdIVCxcbiAgSUNPTl9FRElUT1JfRE9UUyxcbiAgSUNPTl9FWUUsXG4gIElDT05fRVlFX0NMT1NFRCxcbiAgSUNPTl9MT0NLLFxufSBmcm9tICcuLi8uLi9jb25zdHMvY29sdW1uLXNldHRpbmdzLmNvbnN0cyc7XG5pbXBvcnQgeyBUdWlFeHBhbmQgfSBmcm9tICdAdGFpZ2EtdWkvZXhwZXJpbWVudGFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nT3B0aW1pemVkSW1hZ2UsXG4gICAgQ2RrRHJhZyxcbiAgICBDZGtEcmFnUGxhY2Vob2xkZXIsXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgVHVpRXhwYW5kLFxuICAgIFR1aUhpbnREaXJlY3RpdmUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlLmNvbXBvbmVudC5sZXNzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtblNldHRpbmdzVGVtcGxhdGVDb21wb25lbnQge1xuICBwdWJsaWMgY29sdW1uID0gaW5wdXQucmVxdWlyZWQ8SUNvbHVtblNldHRpbmdzPigpO1xuICBwdWJsaWMgcGFyZW50ID0gaW5wdXQ8SUNvbHVtblNldHRpbmdzPigpO1xuICBwdWJsaWMgZXhwYW5kID0gaW5wdXQodHJ1ZSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25FZGl0b3JEb3RzID0gSUNPTl9FRElUT1JfRE9UUztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25DaGV2cm9uID0gSUNPTl9DSEVWUk9OU19SSUdIVDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25FeWUgPSBJQ09OX0VZRTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25FeWVDbG9zZWQgPSBJQ09OX0VZRV9DTE9TRUQ7XG4gIHByb3RlY3RlZCByZWFkb25seSBpY29uTG9jayA9IElDT05fTE9DSztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRUNvbHVtblN0YXR1cyA9IEVDb2x1bW5TdGF0dXM7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0YXR1cyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29sdW1uKCkuc3RhdHVzKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbkV4cGFuZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB3YW50RXhwYW5kID0gdGhpcy5leHBhbmQoKTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuY29sdW1uKCkuY2hpbGRyZW4gPz8gW107XG4gICAgY29uc3QgaGF2ZUNoaWxkcmVuID0gY2hpbGRyZW4ubGVuZ3RoID4gMDtcblxuICAgIHJldHVybiB3YW50RXhwYW5kICYmIGhhdmVDaGlsZHJlbjtcbiAgfSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBleHBhbmRlZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlTmVzdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVOZXN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRlZC51cGRhdGUoKHZhbHVlKSA9PiAhdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzSGlkZGVuQ29sdW1uKGNvbHVtbjogSUNvbHVtblNldHRpbmdzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvbHVtbi5zdGF0dXMgPT09IEVDb2x1bW5TdGF0dXMuSElEREVOO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZVZpc2liaWxpdHkoY29sdW1uOiBJQ29sdW1uU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBjb25zdCBpc0hpZGRlbiA9IGNvbHVtbi5zdGF0dXMgPT09IEVDb2x1bW5TdGF0dXMuSElEREVOO1xuICAgIGNvbHVtbi5zdGF0dXMgPSBpc0hpZGRlbiA/IEVDb2x1bW5TdGF0dXMuREVGQVVMVCA6IEVDb2x1bW5TdGF0dXMuSElEREVOO1xuXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gY29sdW1uO1xuXG4gICAgLy8g0JXRgdC70Lgg0LXRgdGC0Ywg0LTQvtGH0LXRgNC90LjQtSDRg9C30LvRiyDRgtC+INGD0YHRgtCw0L3QsNCy0LvQuNCy0LDRgtGMINGB0YLQsNGC0YPRgSDRgtC10LrRg9GJ0LXQs9C+INGD0LfQu9CwXG4gICAgaWYgKGNoaWxkcmVuKSB7XG4gICAgICBjb2x1bW4uY2hpbGRyZW4gPSBjaGlsZHJlbi5tYXAoKGNoaWxkQ29sdW1uKSA9PiAoeyAuLi5jaGlsZENvbHVtbiwgc3RhdHVzOiBjb2x1bW4uc3RhdHVzIH0pKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRDb2x1bW4gPSB0aGlzLnBhcmVudCgpO1xuICAgIGNvbnN0IHBhcmVudENoaWxkcmVuID0gcGFyZW50Q29sdW1uPy5jaGlsZHJlbjtcblxuICAgIGlmIChwYXJlbnRDb2x1bW4gJiYgcGFyZW50Q2hpbGRyZW4gJiYgcGFyZW50Q2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgYWxsQ2hpbGRyZW5IaWRkZW4gPSBwYXJlbnRDaGlsZHJlbi5ldmVyeShcbiAgICAgICAgKGNoaWxkQ29sdW1uKSA9PiBjaGlsZENvbHVtbi5zdGF0dXMgPT09IEVDb2x1bW5TdGF0dXMuSElEREVOXG4gICAgICApO1xuXG4gICAgICBwYXJlbnRDb2x1bW4uc3RhdHVzID0gYWxsQ2hpbGRyZW5IaWRkZW4gPyBFQ29sdW1uU3RhdHVzLkhJRERFTiA6IEVDb2x1bW5TdGF0dXMuREVGQVVMVDtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZHJvcEludG9DaGlsZHJlbihldmVudDogQ2RrRHJhZ0Ryb3A8SUNvbHVtblNldHRpbmdzW10+KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudENoaWxkcmVuID0gdGhpcy5jb2x1bW4oKS5jaGlsZHJlbjtcblxuICAgIGlmICghY3VycmVudENoaWxkcmVuKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ9Cf0L7Qv9GL0YLQutCwINC/0LXRgNC10LzQtdGB0YLQuNGC0Ywg0LIg0YHRgtC+0LvQsdC10YYg0LHQtdC3INC00L7Rh9C10YDQvdC10LPQviDQvNCw0YHRgdC40LLQsDonLCB0aGlzLmNvbHVtbigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQucHJldmlvdXNDb250YWluZXIgPT09IGV2ZW50LmNvbnRhaW5lcikge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KGN1cnJlbnRDaGlsZHJlbiwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJhbnNmZXJBcnJheUl0ZW0oXG4gICAgICAgIGV2ZW50LnByZXZpb3VzQ29udGFpbmVyLmRhdGEsXG4gICAgICAgIGN1cnJlbnRDaGlsZHJlbixcbiAgICAgICAgZXZlbnQucHJldmlvdXNJbmRleCxcbiAgICAgICAgZXZlbnQuY3VycmVudEluZGV4XG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiQGxldCBjb2wgPSBjb2x1bW4oKTtcbkBsZXQgaXNIaWRkZW4gPSBpc0hpZGRlbkNvbHVtbihjb2wpO1xuQGxldCBjdXJyZW50RXllSWNvbiA9IGlzSGlkZGVuID8gaWNvbkV5ZUNsb3NlZCA6IGljb25FeWU7XG5AbGV0IGNoaWxkcmVuQ29sdW1ucyA9IGNvbC5jaGlsZHJlbiA/PyBbXTtcblxuPGRpdlxuICBjbGFzcz1cImNvbHVtbi1pdGVtXCJcbiAgW2NsYXNzLmhpZGRlbl09XCJpc0hpZGRlblwiXG4gIGNka0RyYWdcbiAgW2Nka0RyYWdEYXRhXT1cImNvbFwiXG4gIChjZGtEcmFnU3RhcnRlZCk9XCJjb2xsYXBzZU5lc3RlZCgpXCJcbj5cbiAgPGltZyBbbmdTcmNdPVwiaWNvbkVkaXRvckRvdHNcIiBbd2lkdGhdPVwiMTZcIiBbaGVpZ2h0XT1cIjMyXCIgYWx0PVwiXCIgLz5cbiAgQGlmIChjYW5FeHBhbmQoKSkge1xuICAgIDxpbWdcbiAgICAgIGNsYXNzPVwiZXhwYW5kZWRcIlxuICAgICAgW25nU3JjXT1cImljb25DaGV2cm9uXCJcbiAgICAgIFt3aWR0aF09XCIxNlwiXG4gICAgICBbaGVpZ2h0XT1cIjE2XCJcbiAgICAgIFthdHRyLmV4cGFuZGVkXT1cImV4cGFuZGVkKClcIlxuICAgICAgYWx0PVwiXCJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVOZXN0ZWQoKVwiXG4gICAgLz5cbiAgfVxuICA8c3BhbiBjbGFzcz1cImNvbHVtbi1pdGVtX19uYW1lXCI+e3sgY29sLm5hbWUgfX08L3NwYW4+XG4gIEBpZiAoc3RhdHVzKCkgPT09IEVDb2x1bW5TdGF0dXMuU1RJQ0tZKSB7XG4gICAgPGltZ1xuICAgICAgY2xhc3M9XCJwb2ludGVyXCJcbiAgICAgIFtuZ1NyY109XCJpY29uTG9ja1wiXG4gICAgICBbd2lkdGhdPVwiMTZcIlxuICAgICAgW2hlaWdodF09XCIxNlwiXG4gICAgICB0dWlIaW50PVwi0J3QtdC70YzQt9GPINGB0LrRgNGL0YLRjCDQt9Cw0LrRgNC10L/Qu9C10L3QvdGD0Y4g0LrQvtC70L7QvdC60YNcIlxuICAgIC8+XG4gIH0gQGVsc2Uge1xuICAgIDxpbWdcbiAgICAgIGNsYXNzPVwiZXllLWljb25cIlxuICAgICAgW25nU3JjXT1cImN1cnJlbnRFeWVJY29uXCJcbiAgICAgIFt3aWR0aF09XCIxNlwiXG4gICAgICBbaGVpZ2h0XT1cIjE2XCJcbiAgICAgIHR1aUhpbnQ9XCLQn9C+0LrQsNC30LDRgtGML9Ch0LrRgNGL0YLRjCDQutC+0LvQvtC90LrRg1wiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlVmlzaWJpbGl0eShjb2wpXCJcbiAgICAvPlxuICB9XG5cbiAgPG5nLXRlbXBsYXRlIGNka0RyYWdQbGFjZWhvbGRlcj5cbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXBsYWNlaG9sZGVyXCI+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuQGlmIChjYW5FeHBhbmQoKSkge1xuICA8dHVpLWV4cGFuZFxuICAgIGNsYXNzPVwibmVzdGVkLWNvbHVtbnNcIlxuICAgIGNka0Ryb3BMaXN0XG4gICAgW2V4cGFuZGVkXT1cImV4cGFuZGVkKClcIlxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiY2hpbGRyZW5Db2x1bW5zXCJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BJbnRvQ2hpbGRyZW4oJGV2ZW50KVwiXG4gID5cbiAgICBAZm9yIChjaGlsZENvbCBvZiBjaGlsZHJlbkNvbHVtbnM7IHRyYWNrIGNoaWxkQ29sLmlkKSB7XG4gICAgICA8c3Byb2MtY29sdW1uLXNldHRpbmdzLXRlbXBsYXRlXG4gICAgICAgIFtjb2x1bW5dPVwiY2hpbGRDb2xcIlxuICAgICAgICBbcGFyZW50XT1cImNvbFwiXG4gICAgICA+PC9zcHJvYy1jb2x1bW4tc2V0dGluZ3MtdGVtcGxhdGU+XG4gICAgfVxuICA8L3R1aS1leHBhbmQ+XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Icons
|
|
2
|
+
export const ICON_SETTINGS = '/assets/ngx-register-base/icons/settings.svg';
|
|
3
|
+
export const ICON_ERASER = '/assets/ngx-register-base/icons/eraser.svg';
|
|
4
|
+
export const ICON_CANCEL_CLOSE = '/assets/ngx-register-base/icons/cancel-close.svg';
|
|
5
|
+
export const ICON_EDITOR_DOTS = '/assets/ngx-register-base/icons/16-editor-dots.svg';
|
|
6
|
+
export const ICON_CHEVRONS_RIGHT = '/assets/ngx-register-base/icons/chevrons/chevrons-right.svg';
|
|
7
|
+
export const ICON_EYE = '/assets/ngx-register-base/icons/eye.svg';
|
|
8
|
+
export const ICON_EYE_CLOSED = '/assets/ngx-register-base/icons/eye-closed.svg';
|
|
9
|
+
export const ICON_LOCK = '/assets/ngx-register-base/icons/lock.svg';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXNldHRpbmdzLmNvbnN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9jb2x1bW4tc2V0dGluZ3MvY29uc3RzL2NvbHVtbi1zZXR0aW5ncy5jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsUUFBUTtBQUNSLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyw4Q0FBOEMsQ0FBQztBQUM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsNENBQTRDLENBQUM7QUFDeEUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsa0RBQWtELENBQUM7QUFDcEYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsb0RBQW9ELENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsNkRBQTZELENBQUM7QUFDakcsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLHlDQUF5QyxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxnREFBZ0QsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsMENBQTBDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJY29uc1xuZXhwb3J0IGNvbnN0IElDT05fU0VUVElOR1MgPSAnL2Fzc2V0cy9uZ3gtcmVnaXN0ZXItYmFzZS9pY29ucy9zZXR0aW5ncy5zdmcnO1xuZXhwb3J0IGNvbnN0IElDT05fRVJBU0VSID0gJy9hc3NldHMvbmd4LXJlZ2lzdGVyLWJhc2UvaWNvbnMvZXJhc2VyLnN2Zyc7XG5leHBvcnQgY29uc3QgSUNPTl9DQU5DRUxfQ0xPU0UgPSAnL2Fzc2V0cy9uZ3gtcmVnaXN0ZXItYmFzZS9pY29ucy9jYW5jZWwtY2xvc2Uuc3ZnJztcbmV4cG9ydCBjb25zdCBJQ09OX0VESVRPUl9ET1RTID0gJy9hc3NldHMvbmd4LXJlZ2lzdGVyLWJhc2UvaWNvbnMvMTYtZWRpdG9yLWRvdHMuc3ZnJztcbmV4cG9ydCBjb25zdCBJQ09OX0NIRVZST05TX1JJR0hUID0gJy9hc3NldHMvbmd4LXJlZ2lzdGVyLWJhc2UvaWNvbnMvY2hldnJvbnMvY2hldnJvbnMtcmlnaHQuc3ZnJztcbmV4cG9ydCBjb25zdCBJQ09OX0VZRSA9ICcvYXNzZXRzL25neC1yZWdpc3Rlci1iYXNlL2ljb25zL2V5ZS5zdmcnO1xuZXhwb3J0IGNvbnN0IElDT05fRVlFX0NMT1NFRCA9ICcvYXNzZXRzL25neC1yZWdpc3Rlci1iYXNlL2ljb25zL2V5ZS1jbG9zZWQuc3ZnJztcbmV4cG9ydCBjb25zdCBJQ09OX0xPQ0sgPSAnL2Fzc2V0cy9uZ3gtcmVnaXN0ZXItYmFzZS9pY29ucy9sb2NrLnN2Zyc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './types/column-settings.types';
|
|
2
|
+
export { ColumnSettingsComponent } from './column-settings.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvY29sdW1uLXNldHRpbmdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3R5cGVzL2NvbHVtbi1zZXR0aW5ncy50eXBlcyc7XG5leHBvcnQgeyBDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -10,10 +10,10 @@ export class FilterButtonComponent {
|
|
|
10
10
|
this.filterToggle = output();
|
|
11
11
|
}
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: FilterButtonComponent, isStandalone: true, selector: "sproc-filter-button", inputs: { filterApplied: { classPropertyName: "filterApplied", publicName: "filterApplied", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filterToggle: "filterToggle" }, ngImport: i0, template: "<button\n tuiButton\n size=\"m\"\n appearance=\"
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: FilterButtonComponent, isStandalone: true, selector: "sproc-filter-button", inputs: { filterApplied: { classPropertyName: "filterApplied", publicName: "filterApplied", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filterToggle: "filterToggle" }, ngImport: i0, template: "<button\n tuiButton\n size=\"m\"\n appearance=\"outline-grayscale\"\n tuiHint\n tuiHintDirection=\"bottom\"\n [class.--indicator]=\"filterApplied()\"\n [disabled]=\"disabled()\"\n (click)=\"filterToggle.emit()\"\n>\n <img ngSrc=\"assets/ngx-register-base/icons/filter.svg\" alt=\"\" height=\"16\" width=\"16\" />\n\n <tui-hint\n *tuiHint\n class=\"filter-button__tooltip\"\n [class.filter-button__tooltip--showed]=\"filterApplied()\"\n >\n <span>\u041A \u0440\u0435\u0435\u0441\u0442\u0440\u0443 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u044B \u0444\u0438\u043B\u044C\u0442\u0440\u044B</span>\n </tui-hint>\n</button>\n", styles: [":host button{width:var(--top-bar-button-width);height:var(--top-bar-button-height);border-radius:2px;padding:10px;position:relative}:host button:disabled{filter:grayscale(100%)!important;cursor:not-allowed}:host button.--indicator:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:var(--brand-danger);position:absolute;top:10px;right:6px}.filter-button__tooltip{background-color:var(--brand-danger-light)!important;padding:16px;border:1px solid var(--brand-danger);border-left-width:4px;display:none}.filter-button__tooltip span{font:var(--input-text-12px);color:var(--main-black)}.filter-button__tooltip--showed{display:unset}\n"], dependencies: [{ kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: i1.TuiHintComponent, selector: "tui-hint" }, { kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"] }, { kind: "directive", type: i1.TuiHintUnstyled, selector: "ng-template[tuiHint]" }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterButtonComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
|
-
args: [{ selector: 'sproc-filter-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TuiButton, TuiHint, NgOptimizedImage], template: "<button\n tuiButton\n size=\"m\"\n appearance=\"
|
|
17
|
+
args: [{ selector: 'sproc-filter-button', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [TuiButton, TuiHint, NgOptimizedImage], template: "<button\n tuiButton\n size=\"m\"\n appearance=\"outline-grayscale\"\n tuiHint\n tuiHintDirection=\"bottom\"\n [class.--indicator]=\"filterApplied()\"\n [disabled]=\"disabled()\"\n (click)=\"filterToggle.emit()\"\n>\n <img ngSrc=\"assets/ngx-register-base/icons/filter.svg\" alt=\"\" height=\"16\" width=\"16\" />\n\n <tui-hint\n *tuiHint\n class=\"filter-button__tooltip\"\n [class.filter-button__tooltip--showed]=\"filterApplied()\"\n >\n <span>\u041A \u0440\u0435\u0435\u0441\u0442\u0440\u0443 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u044B \u0444\u0438\u043B\u044C\u0442\u0440\u044B</span>\n </tui-hint>\n</button>\n", styles: [":host button{width:var(--top-bar-button-width);height:var(--top-bar-button-height);border-radius:2px;padding:10px;position:relative}:host button:disabled{filter:grayscale(100%)!important;cursor:not-allowed}:host button.--indicator:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:var(--brand-danger);position:absolute;top:10px;right:6px}.filter-button__tooltip{background-color:var(--brand-danger-light)!important;padding:16px;border:1px solid var(--brand-danger);border-left-width:4px;display:none}.filter-button__tooltip span{font:var(--input-text-12px);color:var(--main-black)}.filter-button__tooltip--showed{display:unset}\n"] }]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyLWJ1dHRvbi9maWx0ZXItYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXItYnV0dG9uL2ZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVVuRCxNQUFNLE9BQU8scUJBQXFCO0lBUmxDO1FBU1Msa0JBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7UUFDMUMsYUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV4QixpQkFBWSxHQUFHLE1BQU0sRUFBUSxDQUFDO0tBQ3RDOytHQUxZLHFCQUFxQjttR0FBckIscUJBQXFCLHNaQ1psQyw2b0JBb0JBLHN0QkRWWSxTQUFTLHVjQUFXLGdCQUFnQjs7NEZBRW5DLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxxQkFBcUIsY0FHbkIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFR1aUJ1dHRvbiwgVHVpSGludCB9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7IE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHJvYy1maWx0ZXItYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQubGVzcycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVHVpQnV0dG9uLCBUdWlIaW50LCBOZ09wdGltaXplZEltYWdlXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyQnV0dG9uQ29tcG9uZW50IHtcbiAgcHVibGljIGZpbHRlckFwcGxpZWQgPSBpbnB1dC5yZXF1aXJlZDxib29sZWFuPigpO1xuICBwdWJsaWMgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSk7XG5cbiAgcHVibGljIGZpbHRlclRvZ2dsZSA9IG91dHB1dDx2b2lkPigpO1xufVxuIiwiPGJ1dHRvblxuICB0dWlCdXR0b25cbiAgc2l6ZT1cIm1cIlxuICBhcHBlYXJhbmNlPVwib3V0bGluZS1ncmF5c2NhbGVcIlxuICB0dWlIaW50XG4gIHR1aUhpbnREaXJlY3Rpb249XCJib3R0b21cIlxuICBbY2xhc3MuLS1pbmRpY2F0b3JdPVwiZmlsdGVyQXBwbGllZCgpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAoY2xpY2spPVwiZmlsdGVyVG9nZ2xlLmVtaXQoKVwiXG4+XG4gIDxpbWcgbmdTcmM9XCJhc3NldHMvbmd4LXJlZ2lzdGVyLWJhc2UvaWNvbnMvZmlsdGVyLnN2Z1wiIGFsdD1cIlwiIGhlaWdodD1cIjE2XCIgd2lkdGg9XCIxNlwiIC8+XG5cbiAgPHR1aS1oaW50XG4gICAgKnR1aUhpbnRcbiAgICBjbGFzcz1cImZpbHRlci1idXR0b25fX3Rvb2x0aXBcIlxuICAgIFtjbGFzcy5maWx0ZXItYnV0dG9uX190b29sdGlwLS1zaG93ZWRdPVwiZmlsdGVyQXBwbGllZCgpXCJcbiAgPlxuICAgIDxzcGFuPtCaINGA0LXQtdGB0YLRgNGDINC/0YDQuNC80LXQvdC10L3RiyDRhNC40LvRjNGC0YDRizwvc3Bhbj5cbiAgPC90dWktaGludD5cbjwvYnV0dG9uPlxuIl19
|