@skyux/data-manager 9.0.0-alpha.8 → 9.0.0-beta.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/documentation.json +456 -751
- package/esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-providers.mjs +9 -0
- package/esm2022/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.mjs +41 -28
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-left-item.component.mjs +4 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-primary-item.component.mjs +4 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-right-item.component.mjs +3 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-section.component.mjs +4 -3
- package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.mjs +46 -28
- package/esm2022/lib/modules/data-manager/data-manager.component.mjs +28 -26
- package/esm2022/lib/modules/data-manager/data-manager.module.mjs +14 -80
- package/esm2022/lib/modules/data-manager/data-view.component.mjs +11 -14
- package/esm2022/lib/modules/shared/sky-data-manager-resources.module.mjs +4 -2
- package/fesm2022/skyux-data-manager.mjs +230 -261
- package/fesm2022/skyux-data-manager.mjs.map +1 -1
- package/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker-providers.d.ts +2 -0
- package/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.d.ts +4 -5
- package/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-left-item.component.d.ts +1 -1
- package/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-primary-item.component.d.ts +1 -1
- package/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-right-item.component.d.ts +1 -1
- package/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar-section.component.d.ts +1 -1
- package/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.d.ts +2 -6
- package/lib/modules/data-manager/data-manager.component.d.ts +2 -4
- package/lib/modules/data-manager/data-manager.module.d.ts +4 -15
- package/lib/modules/data-manager/data-view.component.d.ts +2 -4
- package/package.json +9 -9
package/esm2022/lib/modules/data-manager/data-manager-toolbar/data-manager-toolbar.component.mjs
CHANGED
@@ -1,20 +1,29 @@
|
|
1
|
-
import {
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
3
|
+
import { FormsModule } from '@angular/forms';
|
4
|
+
import { SkyCheckboxModule, SkyRadioModule, } from '@skyux/forms';
|
5
|
+
import { SkyIconModule } from '@skyux/indicators';
|
6
|
+
import { SkyToolbarModule } from '@skyux/layout';
|
7
|
+
import { SkyFilterModule, SkySortModule } from '@skyux/lists';
|
8
|
+
import { SkySearchModule } from '@skyux/lookup';
|
9
|
+
import { SkyModalService, } from '@skyux/modals';
|
2
10
|
import { Subject } from 'rxjs';
|
3
11
|
import { takeUntil } from 'rxjs/operators';
|
12
|
+
import { SkyDataManagerResourcesModule } from '../../shared/sky-data-manager-resources.module';
|
4
13
|
import { SkyDataManagerColumnPickerContext } from '../data-manager-column-picker/data-manager-column-picker-context';
|
14
|
+
import { SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS } from '../data-manager-column-picker/data-manager-column-picker-providers';
|
15
|
+
import { SkyDataManagerColumnPickerService } from '../data-manager-column-picker/data-manager-column-picker.service';
|
5
16
|
import { SkyDataManagerFilterModalContext } from '../data-manager-filter-context';
|
17
|
+
import { SkyDataManagerService } from '../data-manager.service';
|
6
18
|
import * as i0 from "@angular/core";
|
7
|
-
import * as i1 from "
|
8
|
-
import * as i2 from "@
|
9
|
-
import * as i3 from "
|
10
|
-
import * as i4 from "@
|
11
|
-
import * as i5 from "@
|
12
|
-
import * as i6 from "@skyux/
|
13
|
-
import * as i7 from "@skyux/
|
14
|
-
import * as i8 from "@skyux/
|
15
|
-
import * as i9 from "@skyux/lookup";
|
16
|
-
import * as i10 from "@skyux/layout";
|
17
|
-
import * as i11 from "@skyux/i18n";
|
19
|
+
import * as i1 from "@angular/common";
|
20
|
+
import * as i2 from "@angular/forms";
|
21
|
+
import * as i3 from "@skyux/forms";
|
22
|
+
import * as i4 from "@skyux/i18n";
|
23
|
+
import * as i5 from "@skyux/indicators";
|
24
|
+
import * as i6 from "@skyux/lists";
|
25
|
+
import * as i7 from "@skyux/lookup";
|
26
|
+
import * as i8 from "@skyux/layout";
|
18
27
|
/**
|
19
28
|
* Renders a `sky-toolbar` with the contents specified by the active view's `SkyDataViewConfig`
|
20
29
|
* and the `SkyDataManagerToolbarLeftItemsComponent`, `SkyDataManagerToolbarRightItemsComponent`,
|
@@ -52,22 +61,16 @@ export class SkyDataManagerToolbarComponent {
|
|
52
61
|
this.#changeDetector.markForCheck();
|
53
62
|
}
|
54
63
|
#ngUnsubscribe = new Subject();
|
55
|
-
#changeDetector;
|
56
|
-
#dataManagerService;
|
57
|
-
#modalService;
|
58
|
-
#columnPickerService;
|
59
64
|
// the source to provide for data state changes
|
60
65
|
#_source = 'toolbar';
|
61
66
|
#_activeView;
|
62
67
|
#_dataManagerConfig;
|
63
68
|
#_dataState;
|
64
69
|
#_views = [];
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
this.#columnPickerService = columnPickerService;
|
70
|
-
}
|
70
|
+
#changeDetector = inject(ChangeDetectorRef);
|
71
|
+
#columnPickerService = inject(SkyDataManagerColumnPickerService);
|
72
|
+
#dataManagerService = inject(SkyDataManagerService);
|
73
|
+
#modalService = inject(SkyModalService);
|
71
74
|
ngOnInit() {
|
72
75
|
this.#dataManagerService
|
73
76
|
.getActiveViewIdUpdates()
|
@@ -154,7 +157,11 @@ export class SkyDataManagerToolbarComponent {
|
|
154
157
|
}
|
155
158
|
const options = {
|
156
159
|
providers: [
|
157
|
-
|
160
|
+
SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS,
|
161
|
+
{
|
162
|
+
provide: SkyDataManagerColumnPickerContext,
|
163
|
+
useValue: context,
|
164
|
+
},
|
158
165
|
],
|
159
166
|
};
|
160
167
|
const modalInstance = this.#modalService.open(this.#columnPickerService.getComponentType(), options);
|
@@ -188,11 +195,22 @@ export class SkyDataManagerToolbarComponent {
|
|
188
195
|
this.#dataManagerService.updateDataState(this.dataState, this.#_source);
|
189
196
|
}
|
190
197
|
}
|
191
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerToolbarComponent, deps: [
|
192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDataManagerToolbarComponent, selector: "sky-data-manager-toolbar", ngImport: i0, template: "<div class=\"sky-data-manager-toolbar\">\n <sky-toolbar>\n <sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-primary-item\"></ng-content>\n\n <sky-toolbar-item *ngIf=\"activeView?.filterButtonEnabled\">\n <sky-filter-button\n [showButtonText]=\"activeView?.showFilterButtonText\"\n (filterButtonClick)=\"filterButtonClicked()\"\n >\n </sky-filter-button>\n </sky-toolbar-item>\n\n <sky-toolbar-item *ngIf=\"activeView?.sortEnabled\">\n <sky-sort [showButtonText]=\"activeView?.showSortButtonText\">\n <sky-sort-item\n *ngFor=\"let item of dataManagerConfig?.sortOptions\"\n [active]=\"!!(dataState?.activeSortOption?.id === item.id)\"\n (itemSelect)=\"sortSelected(item)\"\n >\n {{ item.label }}\n </sky-sort-item>\n </sky-sort>\n </sky-toolbar-item>\n\n <sky-toolbar-item *ngIf=\"activeView?.columnPickerEnabled\">\n <button\n class=\"sky-btn sky-btn-default sky-col-picker-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n [attr.title]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n (click)=\"openColumnPicker()\"\n >\n <sky-icon icon=\"columns\"></sky-icon>\n <span class=\"sky-column-selector-action-btn-text\">\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\n </span>\n </button>\n </sky-toolbar-item>\n\n <ng-content select=\"sky-data-manager-toolbar-left-item\"></ng-content>\n\n <sky-toolbar-item *ngIf=\"activeView?.searchEnabled\">\n <sky-search\n [expandMode]=\"activeView?.searchExpandMode\"\n [placeholderText]=\"activeView?.searchPlaceholderText\"\n [searchText]=\"dataState?.searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-data-manager-toolbar-right-item\"></ng-content>\n <sky-radio-group\n *ngIf=\"activeView && views && views.length > 1\"\n [ariaLabel]=\"'data view switcher'\"\n [(ngModel)]=\"activeView.id\"\n class=\"sky-switch-icon-group\"\n >\n <sky-radio\n *ngFor=\"let view of views\"\n [attr.aria-label]=\"view.name\"\n [icon]=\"view.icon\"\n [value]=\"view.id\"\n [label]=\"view.name\"\n (change)=\"onViewChange(view.id)\"\n >\n </sky-radio>\n </sky-radio-group>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-section\"></ng-content>\n </sky-toolbar>\n\n <sky-toolbar\n *ngIf=\"activeView?.multiselectToolbarEnabled\"\n class=\"sky-data-manager-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [checked]=\"onlyShowSelected\"\n (change)=\"onOnlyShowSelected($event)\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_data_manager_show_selected_option_title' | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n</div>\n", styles: [":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\n"], dependencies: [{ kind: "directive", type:
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
199
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDataManagerToolbarComponent, isStandalone: true, selector: "sky-data-manager-toolbar", ngImport: i0, template: "<div class=\"sky-data-manager-toolbar\">\n <sky-toolbar>\n <sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-primary-item\"></ng-content>\n\n <sky-toolbar-item *ngIf=\"activeView?.filterButtonEnabled\">\n <sky-filter-button\n [showButtonText]=\"activeView?.showFilterButtonText\"\n (filterButtonClick)=\"filterButtonClicked()\"\n >\n </sky-filter-button>\n </sky-toolbar-item>\n\n <sky-toolbar-item *ngIf=\"activeView?.sortEnabled\">\n <sky-sort [showButtonText]=\"activeView?.showSortButtonText\">\n <sky-sort-item\n *ngFor=\"let item of dataManagerConfig?.sortOptions\"\n [active]=\"!!(dataState?.activeSortOption?.id === item.id)\"\n (itemSelect)=\"sortSelected(item)\"\n >\n {{ item.label }}\n </sky-sort-item>\n </sky-sort>\n </sky-toolbar-item>\n\n <sky-toolbar-item *ngIf=\"activeView?.columnPickerEnabled\">\n <button\n class=\"sky-btn sky-btn-default sky-col-picker-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n [attr.title]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n (click)=\"openColumnPicker()\"\n >\n <sky-icon icon=\"columns\"></sky-icon>\n <span class=\"sky-column-selector-action-btn-text\">\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\n </span>\n </button>\n </sky-toolbar-item>\n\n <ng-content select=\"sky-data-manager-toolbar-left-item\"></ng-content>\n\n <sky-toolbar-item *ngIf=\"activeView?.searchEnabled\">\n <sky-search\n [expandMode]=\"activeView?.searchExpandMode\"\n [placeholderText]=\"activeView?.searchPlaceholderText\"\n [searchText]=\"dataState?.searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-data-manager-toolbar-right-item\"></ng-content>\n <sky-radio-group\n *ngIf=\"activeView && views && views.length > 1\"\n [ariaLabel]=\"'data view switcher'\"\n [(ngModel)]=\"activeView.id\"\n class=\"sky-switch-icon-group\"\n >\n <sky-radio\n *ngFor=\"let view of views\"\n [attr.aria-label]=\"view.name\"\n [icon]=\"view.icon\"\n [value]=\"view.id\"\n [label]=\"view.name\"\n (change)=\"onViewChange(view.id)\"\n >\n </sky-radio>\n </sky-radio-group>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-section\"></ng-content>\n </sky-toolbar>\n\n <sky-toolbar\n *ngIf=\"activeView?.multiselectToolbarEnabled\"\n class=\"sky-data-manager-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [checked]=\"onlyShowSelected\"\n (change)=\"onOnlyShowSelected($event)\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_data_manager_show_selected_option_title' | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n</div>\n", styles: [":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SkyCheckboxModule }, { kind: "component", type: i3.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i3.λ4, selector: "sky-checkbox-label" }, { kind: "ngmodule", type: SkyDataManagerResourcesModule }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i5.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyFilterModule }, { kind: "component", type: i6.λ1, selector: "sky-filter-button", inputs: ["filterButtonId", "ariaControls", "ariaExpanded", "active", "disabled", "showButtonText"], outputs: ["filterButtonClick"] }, { kind: "ngmodule", type: SkyRadioModule }, { kind: "component", type: i3.λ13, selector: "sky-radio", inputs: ["checked", "disabled", "id", "label", "labelledBy", "name", "tabindex", "value", "icon", "radioType"], outputs: ["change", "checkedChange", "disabledChange"] }, { kind: "component", type: i3.λ11, selector: "sky-radio-group", inputs: ["ariaLabelledBy", "ariaLabel", "disabled", "name", "required", "value", "tabIndex"] }, { kind: "ngmodule", type: SkySearchModule }, { kind: "component", type: i7.SkySearchComponent, selector: "sky-search", inputs: ["ariaLabel", "ariaLabelledBy", "searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "ngmodule", type: SkySortModule }, { kind: "component", type: i6.λ14, selector: "sky-sort", inputs: ["showButtonText"] }, { kind: "component", type: i6.λ13, selector: "sky-sort-item", inputs: ["active"], outputs: ["itemSelect"] }, { kind: "ngmodule", type: SkyToolbarModule }, { kind: "component", type: i8.λ37, selector: "sky-toolbar" }, { kind: "component", type: i8.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i8.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i8.λ40, selector: "sky-toolbar-view-actions" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
193
200
|
}
|
194
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerToolbarComponent, decorators: [{
|
195
202
|
type: Component,
|
196
|
-
args: [{ selector: 'sky-data-manager-toolbar', changeDetection: ChangeDetectionStrategy.OnPush,
|
197
|
-
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUVySCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVFsRjs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QyxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxLQUFvQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxpQkFBaUIsQ0FBQyxLQUF1QztRQUNsRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUyxDQUFDLEtBQXNDO1FBQ3pELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsS0FBMEI7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBSUQsY0FBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDckMsZUFBZSxDQUFvQjtJQUNuQyxtQkFBbUIsQ0FBd0I7SUFDM0MsYUFBYSxDQUFrQjtJQUMvQixvQkFBb0IsQ0FBb0M7SUFFeEQsK0NBQStDO0lBQy9DLFFBQVEsR0FBRyxTQUFTLENBQUM7SUFDckIsWUFBWSxDQUFnQztJQUM1QyxtQkFBbUIsQ0FBbUM7SUFDdEQsV0FBVyxDQUFrQztJQUM3QyxPQUFPLEdBQXdCLEVBQUUsQ0FBQztJQUVsQyxZQUNFLGNBQWlDLEVBQ2pDLGtCQUF5QyxFQUN6QyxZQUE2QixFQUM3QixtQkFBc0Q7UUFFdEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7UUFDdEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztJQUNsRCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsc0JBQXNCLEVBQUU7YUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDMUIsMEJBQTBCO1lBQzFCLElBQUksWUFBWSxFQUFFO2dCQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsbUJBQW1CLEVBQUU7YUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQ3BELElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNuQixDQUFDO2FBQ0g7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLG1CQUFtQjthQUNyQixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3BDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1lBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7WUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsMkJBQTJCLEVBQUU7YUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFVBQW9DO1FBQ3RELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQztZQUM3QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFjO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVk7UUFDL0IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLGdDQUFnQyxFQUFFLENBQUM7UUFDdkQsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQztRQUV4RSxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO1FBRWhELE1BQU0sT0FBTyxHQUFtQztZQUM5QyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUNqRTtZQUNELElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQztRQUVGLElBQUksV0FBVyxFQUFFO1lBQ2YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXBFLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBeUIsRUFBRSxFQUFFO2dCQUMzRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FDZCxDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDdEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLElBQUksU0FBUyxFQUFFO2dCQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksaUNBQWlDLENBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUM3QixTQUFTLENBQUMsa0JBQWtCLENBQzdCLENBQUM7Z0JBRUYsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixFQUFFO29CQUM1QyxPQUFPLENBQUMsd0JBQXdCO3dCQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDO2lCQUM1QztnQkFFRCxNQUFNLE9BQU8sR0FBbUM7b0JBQzlDLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFO3FCQUNsRTtpQkFDRixDQUFDO2dCQUVGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUMzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLEVBQUUsRUFDNUMsT0FBTyxDQUNSLENBQUM7Z0JBRUYsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUF5QixFQUFFLEVBQUU7b0JBQzNELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7d0JBQzVCLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ3hDLENBQUMsR0FBcUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDbEQsQ0FBQzt3QkFFRixTQUFTLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7d0JBQ2xELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFOzRCQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFDbEIsU0FBUyxDQUNWLENBQUM7eUJBQ0g7cUJBQ0Y7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO0lBQ0gsQ0FBQztJQUVNLFNBQVM7UUFDZCwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGdCQUFnQixFQUFFO1lBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFTSxRQUFRO1FBQ2IsMEJBQTBCO1FBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUF3QjtRQUNoRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQzs4R0EvTlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsZ0VDdEMzQyxza0lBcUhBOzsyRkQvRWEsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNFLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bza3l1eC9mb3Jtcyc7XG5pbXBvcnQge1xuICBTa3lNb2RhbENsb3NlQXJncyxcbiAgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxuICBTa3lNb2RhbFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyL2RhdGEtbWFuYWdlci1jb2x1bW4tcGlja2VyLWNvbnRleHQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1maWx0ZXItY29udGV4dCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1vcHRpb24nO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXNvcnQtb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcbmltcG9ydCB7IFNreURhdGFWaWV3Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtdmlldy1jb25maWcnO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBgc2t5LXRvb2xiYXJgIHdpdGggdGhlIGNvbnRlbnRzIHNwZWNpZmllZCBieSB0aGUgYWN0aXZlIHZpZXcncyBgU2t5RGF0YVZpZXdDb25maWdgXG4gKiBhbmQgdGhlIGBTa3lEYXRhTWFuYWdlclRvb2xiYXJMZWZ0SXRlbXNDb21wb25lbnRgLCBgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtc0NvbXBvbmVudGAsXG4gKiBhbmQgYFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnRgIHdyYXBwZXJzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBwdWJsaWMgZ2V0IGFjdGl2ZVZpZXcoKTogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfYWN0aXZlVmlldztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWN0aXZlVmlldyh2YWx1ZTogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfYWN0aXZlVmlldyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhTWFuYWdlckNvbmZpZygpOiBTa3lEYXRhTWFuYWdlckNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kYXRhTWFuYWdlckNvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YU1hbmFnZXJDb25maWcodmFsdWU6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGFNYW5hZ2VyQ29uZmlnID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFTdGF0ZSgpOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGFTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGF0YVN0YXRlKHZhbHVlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2RhdGFTdGF0ZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh2YWx1ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCB2aWV3cygpOiBTa3lEYXRhVmlld0NvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZpZXdzO1xuICB9XG5cbiAgcHVibGljIHNldCB2aWV3cyh2YWx1ZTogU2t5RGF0YVZpZXdDb25maWdbXSkge1xuICAgIHRoaXMuI192aWV3cyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9ubHlTaG93U2VsZWN0ZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0YU1hbmFnZXJTZXJ2aWNlOiBTa3lEYXRhTWFuYWdlclNlcnZpY2U7XG4gICNtb2RhbFNlcnZpY2U6IFNreU1vZGFsU2VydmljZTtcbiAgI2NvbHVtblBpY2tlclNlcnZpY2U6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZTtcblxuICAvLyB0aGUgc291cmNlIHRvIHByb3ZpZGUgZm9yIGRhdGEgc3RhdGUgY2hhbmdlc1xuICAjX3NvdXJjZSA9ICd0b29sYmFyJztcbiAgI19hY3RpdmVWaWV3OiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgI19kYXRhTWFuYWdlckNvbmZpZzogU2t5RGF0YU1hbmFnZXJDb25maWcgfCB1bmRlZmluZWQ7XG4gICNfZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlIHwgdW5kZWZpbmVkO1xuICAjX3ZpZXdzOiBTa3lEYXRhVmlld0NvbmZpZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGRhdGFNYW5hZ2VyU2VydmljZTogU2t5RGF0YU1hbmFnZXJTZXJ2aWNlLFxuICAgIG1vZGFsU2VydmljZTogU2t5TW9kYWxTZXJ2aWNlLFxuICAgIGNvbHVtblBpY2tlclNlcnZpY2U6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZSA9IGRhdGFNYW5hZ2VyU2VydmljZTtcbiAgICB0aGlzLiNtb2RhbFNlcnZpY2UgPSBtb2RhbFNlcnZpY2U7XG4gICAgdGhpcy4jY29sdW1uUGlja2VyU2VydmljZSA9IGNvbHVtblBpY2tlclNlcnZpY2U7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0QWN0aXZlVmlld0lkVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhY3RpdmVWaWV3SWQpID0+IHtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGFjdGl2ZVZpZXdJZCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlVmlldyA9IHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS5nZXRWaWV3QnlJZChhY3RpdmVWaWV3SWQpO1xuICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZVxuICAgICAgLmdldERhdGFWaWV3c1VwZGF0ZXMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgodmlld3MpID0+IHtcbiAgICAgICAgdGhpcy52aWV3cyA9IHZpZXdzO1xuICAgICAgICBpZiAodGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLmdldFZpZXdCeUlkKFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3LmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiNfc291cmNlKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMuI19kYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgIHRoaXMub25seVNob3dTZWxlY3RlZCA9IGRhdGFTdGF0ZS5vbmx5U2hvd1NlbGVjdGVkO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YU1hbmFnZXJDb25maWdVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnID0gY29uZmlnO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNvcnRTZWxlY3RlZChzb3J0T3B0aW9uOiBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUpIHtcbiAgICAgIHRoaXMuZGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh0aGlzLmRhdGFTdGF0ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uVmlld0NoYW5nZSh2aWV3SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVBY3RpdmVWaWV3SWQodmlld0lkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hBcHBsaWVkKHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUuc2VhcmNoVGV4dCA9IHRleHQ7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZXh0ID0gbmV3IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0KCk7XG4gICAgY29uc3QgZmlsdGVyTW9kYWwgPVxuICAgICAgdGhpcy5kYXRhTWFuYWdlckNvbmZpZyAmJiB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnLmZpbHRlck1vZGFsQ29tcG9uZW50O1xuXG4gICAgY29udGV4dC5maWx0ZXJEYXRhID0gdGhpcy5kYXRhU3RhdGU/LmZpbHRlckRhdGE7XG5cbiAgICBjb25zdCBvcHRpb25zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB7XG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCwgdXNlVmFsdWU6IGNvbnRleHQgfSxcbiAgICAgIF0sXG4gICAgICBzaXplOiAnbGFyZ2UnLFxuICAgIH07XG5cbiAgICBpZiAoZmlsdGVyTW9kYWwpIHtcbiAgICAgIGNvbnN0IG1vZGFsSW5zdGFuY2UgPSB0aGlzLiNtb2RhbFNlcnZpY2Uub3BlbihmaWx0ZXJNb2RhbCwgb3B0aW9ucyk7XG5cbiAgICAgIG1vZGFsSW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgocmVzdWx0OiBTa3lNb2RhbENsb3NlQXJncykgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgcmVzdWx0LnJlYXNvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgdGhpcy5kYXRhU3RhdGUuZmlsdGVyRGF0YSA9IHJlc3VsdC5kYXRhO1xuICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUoXG4gICAgICAgICAgICB0aGlzLmRhdGFTdGF0ZSxcbiAgICAgICAgICAgIHRoaXMuI19zb3VyY2VcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbkNvbHVtblBpY2tlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgdGhpcy5hY3RpdmVWaWV3ICYmIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zKSB7XG4gICAgICBjb25zdCB2aWV3U3RhdGUgPSB0aGlzLmRhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKHRoaXMuYWN0aXZlVmlldy5pZCk7XG4gICAgICBpZiAodmlld1N0YXRlKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJDb250ZXh0KFxuICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5PcHRpb25zLFxuICAgICAgICAgIHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHNcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVWaWV3LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneSkge1xuICAgICAgICAgIGNvbnRleHQuY29sdW1uUGlja2VyU29ydFN0cmF0ZWd5ID1cbiAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5jb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3k7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiBTa3lNb2RhbENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgPSB7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7IHByb3ZpZGU6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCwgdXNlVmFsdWU6IGNvbnRleHQgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IG1vZGFsSW5zdGFuY2UgPSB0aGlzLiNtb2RhbFNlcnZpY2Uub3BlbihcbiAgICAgICAgICB0aGlzLiNjb2x1bW5QaWNrZXJTZXJ2aWNlLmdldENvbXBvbmVudFR5cGUoKSxcbiAgICAgICAgICBvcHRpb25zXG4gICAgICAgICk7XG5cbiAgICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5yZWFzb24gPT09ICdzYXZlJykge1xuICAgICAgICAgICAgY29uc3QgZGlzcGxheWVkQ29sdW1uSWRzID0gcmVzdWx0LmRhdGEubWFwKFxuICAgICAgICAgICAgICAoY29sOiBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbikgPT4gY29sLmlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVN0YXRlICYmIHRoaXMuYWN0aXZlVmlldykge1xuICAgICAgICAgICAgICB0aGlzLmRhdGFTdGF0ZSA9IHRoaXMuZGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWQsXG4gICAgICAgICAgICAgICAgdmlld1N0YXRlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWN0aXZlVmlldz8ub25TZWxlY3RBbGxDbGljaykge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3Lm9uU2VsZWN0QWxsQ2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBbGwoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3Py5vbkNsZWFyQWxsQ2xpY2spIHtcbiAgICAgIHRoaXMuYWN0aXZlVmlldy5vbkNsZWFyQWxsQ2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25Pbmx5U2hvd1NlbGVjdGVkKGV2ZW50OiBTa3lDaGVja2JveENoYW5nZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUub25seVNob3dTZWxlY3RlZCA9ICEhZXZlbnQuY2hlY2tlZDtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUodGhpcy5kYXRhU3RhdGUsIHRoaXMuI19zb3VyY2UpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhclwiPlxuICA8c2t5LXRvb2xiYXI+XG4gICAgPHNreS10b29sYmFyLXNlY3Rpb24+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItcHJpbWFyeS1pdGVtXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdJZj1cImFjdGl2ZVZpZXc/LmZpbHRlckJ1dHRvbkVuYWJsZWRcIj5cbiAgICAgICAgPHNreS1maWx0ZXItYnV0dG9uXG4gICAgICAgICAgW3Nob3dCdXR0b25UZXh0XT1cImFjdGl2ZVZpZXc/LnNob3dGaWx0ZXJCdXR0b25UZXh0XCJcbiAgICAgICAgICAoZmlsdGVyQnV0dG9uQ2xpY2spPVwiZmlsdGVyQnV0dG9uQ2xpY2tlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1maWx0ZXItYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuXG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdJZj1cImFjdGl2ZVZpZXc/LnNvcnRFbmFibGVkXCI+XG4gICAgICAgIDxza3ktc29ydCBbc2hvd0J1dHRvblRleHRdPVwiYWN0aXZlVmlldz8uc2hvd1NvcnRCdXR0b25UZXh0XCI+XG4gICAgICAgICAgPHNreS1zb3J0LWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGFNYW5hZ2VyQ29uZmlnPy5zb3J0T3B0aW9uc1wiXG4gICAgICAgICAgICBbYWN0aXZlXT1cIiEhKGRhdGFTdGF0ZT8uYWN0aXZlU29ydE9wdGlvbj8uaWQgPT09IGl0ZW0uaWQpXCJcbiAgICAgICAgICAgIChpdGVtU2VsZWN0KT1cInNvcnRTZWxlY3RlZChpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgICAgICAgIDwvc2t5LXNvcnQtaXRlbT5cbiAgICAgICAgPC9za3ktc29ydD5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cblxuICAgICAgPHNreS10b29sYmFyLWl0ZW0gKm5nSWY9XCJhY3RpdmVWaWV3Py5jb2x1bW5QaWNrZXJFbmFibGVkXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1jb2wtcGlja2VyLWJ0blwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgXCJcbiAgICAgICAgICBbYXR0ci50aXRsZV09XCJcbiAgICAgICAgICAgICdza3l1eF9kYXRhX21hbmFnZXJfY29sdW1uc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgXCJcbiAgICAgICAgICAoY2xpY2spPVwib3BlbkNvbHVtblBpY2tlcigpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxza3ktaWNvbiBpY29uPVwiY29sdW1uc1wiPjwvc2t5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJza3ktY29sdW1uLXNlbGVjdG9yLWFjdGlvbi1idG4tdGV4dFwiPlxuICAgICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItbGVmdC1pdGVtXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdJZj1cImFjdGl2ZVZpZXc/LnNlYXJjaEVuYWJsZWRcIj5cbiAgICAgICAgPHNreS1zZWFyY2hcbiAgICAgICAgICBbZXhwYW5kTW9kZV09XCJhY3RpdmVWaWV3Py5zZWFyY2hFeHBhbmRNb2RlXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJUZXh0XT1cImFjdGl2ZVZpZXc/LnNlYXJjaFBsYWNlaG9sZGVyVGV4dFwiXG4gICAgICAgICAgW3NlYXJjaFRleHRdPVwiZGF0YVN0YXRlPy5zZWFyY2hUZXh0XCJcbiAgICAgICAgICAoc2VhcmNoQXBwbHkpPVwic2VhcmNoQXBwbGllZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3NreS1zZWFyY2g+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG5cbiAgICAgIDxza3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1yaWdodC1pdGVtXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8c2t5LXJhZGlvLWdyb3VwXG4gICAgICAgICAgKm5nSWY9XCJhY3RpdmVWaWV3ICYmIHZpZXdzICYmIHZpZXdzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgIFthcmlhTGFiZWxdPVwiJ2RhdGEgdmlldyBzd2l0Y2hlcidcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiYWN0aXZlVmlldy5pZFwiXG4gICAgICAgICAgY2xhc3M9XCJza3ktc3dpdGNoLWljb24tZ3JvdXBcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1yYWRpb1xuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHZpZXcgb2Ygdmlld3NcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ2aWV3Lm5hbWVcIlxuICAgICAgICAgICAgW2ljb25dPVwidmlldy5pY29uXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ2aWV3LmlkXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJ2aWV3Lm5hbWVcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvblZpZXdDaGFuZ2Uodmlldy5pZClcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3NreS1yYWRpbz5cbiAgICAgICAgPC9za3ktcmFkaW8tZ3JvdXA+XG4gICAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICA8L3NreS10b29sYmFyLXNlY3Rpb24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXNlY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gIDwvc2t5LXRvb2xiYXI+XG5cbiAgPHNreS10b29sYmFyXG4gICAgKm5nSWY9XCJhY3RpdmVWaWV3Py5tdWx0aXNlbGVjdFRvb2xiYXJFbmFibGVkXCJcbiAgICBjbGFzcz1cInNreS1kYXRhLW1hbmFnZXItbXVsdGlzZWxlY3QtdG9vbGJhclwiXG4gID5cbiAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktZGF0YS1tYW5hZ2VyLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0QWxsKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ3NreXV4X2RhdGFfbWFuYWdlcl9zZWxlY3RfYWxsX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWRhdGEtbWFuYWdlci1jbGVhci1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJBbGwoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NsZWFyX2FsbF9idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPHNreS1jaGVja2JveFxuICAgICAgICAgIFtjaGVja2VkXT1cIm9ubHlTaG93U2VsZWN0ZWRcIlxuICAgICAgICAgIChjaGFuZ2UpPVwib25Pbmx5U2hvd1NlbGVjdGVkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1jaGVja2JveC1sYWJlbD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICdza3l1eF9kYXRhX21hbmFnZXJfc2hvd19zZWxlY3RlZF9vcHRpb25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIDwvc2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICA8L3NreS1jaGVja2JveD5cbiAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgPC9za3ktdG9vbGJhcj5cbjwvZGl2PlxuIl19
|
203
|
+
args: [{ standalone: true, selector: 'sky-data-manager-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
204
|
+
CommonModule,
|
205
|
+
FormsModule,
|
206
|
+
SkyCheckboxModule,
|
207
|
+
SkyDataManagerResourcesModule,
|
208
|
+
SkyIconModule,
|
209
|
+
SkyFilterModule,
|
210
|
+
SkyRadioModule,
|
211
|
+
SkySearchModule,
|
212
|
+
SkySortModule,
|
213
|
+
SkyToolbarModule,
|
214
|
+
], template: "<div class=\"sky-data-manager-toolbar\">\n <sky-toolbar>\n <sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-primary-item\"></ng-content>\n\n <sky-toolbar-item *ngIf=\"activeView?.filterButtonEnabled\">\n <sky-filter-button\n [showButtonText]=\"activeView?.showFilterButtonText\"\n (filterButtonClick)=\"filterButtonClicked()\"\n >\n </sky-filter-button>\n </sky-toolbar-item>\n\n <sky-toolbar-item *ngIf=\"activeView?.sortEnabled\">\n <sky-sort [showButtonText]=\"activeView?.showSortButtonText\">\n <sky-sort-item\n *ngFor=\"let item of dataManagerConfig?.sortOptions\"\n [active]=\"!!(dataState?.activeSortOption?.id === item.id)\"\n (itemSelect)=\"sortSelected(item)\"\n >\n {{ item.label }}\n </sky-sort-item>\n </sky-sort>\n </sky-toolbar-item>\n\n <sky-toolbar-item *ngIf=\"activeView?.columnPickerEnabled\">\n <button\n class=\"sky-btn sky-btn-default sky-col-picker-btn\"\n type=\"button\"\n [attr.aria-label]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n [attr.title]=\"\n 'skyux_data_manager_columns_button_title' | skyLibResources\n \"\n (click)=\"openColumnPicker()\"\n >\n <sky-icon icon=\"columns\"></sky-icon>\n <span class=\"sky-column-selector-action-btn-text\">\n {{ 'skyux_data_manager_columns_button_title' | skyLibResources }}\n </span>\n </button>\n </sky-toolbar-item>\n\n <ng-content select=\"sky-data-manager-toolbar-left-item\"></ng-content>\n\n <sky-toolbar-item *ngIf=\"activeView?.searchEnabled\">\n <sky-search\n [expandMode]=\"activeView?.searchExpandMode\"\n [placeholderText]=\"activeView?.searchPlaceholderText\"\n [searchText]=\"dataState?.searchText\"\n (searchApply)=\"searchApplied($event)\"\n >\n </sky-search>\n </sky-toolbar-item>\n\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-data-manager-toolbar-right-item\"></ng-content>\n <sky-radio-group\n *ngIf=\"activeView && views && views.length > 1\"\n [ariaLabel]=\"'data view switcher'\"\n [(ngModel)]=\"activeView.id\"\n class=\"sky-switch-icon-group\"\n >\n <sky-radio\n *ngFor=\"let view of views\"\n [attr.aria-label]=\"view.name\"\n [icon]=\"view.icon\"\n [value]=\"view.id\"\n [label]=\"view.name\"\n (change)=\"onViewChange(view.id)\"\n >\n </sky-radio>\n </sky-radio-group>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n <ng-content select=\"sky-data-manager-toolbar-section\"></ng-content>\n </sky-toolbar>\n\n <sky-toolbar\n *ngIf=\"activeView?.multiselectToolbarEnabled\"\n class=\"sky-data-manager-multiselect-toolbar\"\n >\n <sky-toolbar-section>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-select-all-btn\"\n type=\"button\"\n (click)=\"selectAll()\"\n >\n {{ 'skyux_data_manager_select_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <button\n class=\"sky-btn sky-btn-link sky-data-manager-clear-all-btn\"\n type=\"button\"\n (click)=\"clearAll()\"\n >\n {{ 'skyux_data_manager_clear_all_button_title' | skyLibResources }}\n </button>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <sky-checkbox\n [checked]=\"onlyShowSelected\"\n (change)=\"onOnlyShowSelected($event)\"\n >\n <sky-checkbox-label>\n {{\n 'skyux_data_manager_show_selected_option_title' | skyLibResources\n }}\n </sky-checkbox-label>\n </sky-checkbox>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n</div>\n", styles: [":host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:none}@media (min-width: 768px){:host .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}}:host-context(.sky-responsive-container-sm) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-md) .sky-col-picker-btn .sky-column-selector-action-btn-text,:host-context(.sky-responsive-container-lg) .sky-col-picker-btn .sky-column-selector-action-btn-text{display:inline}\n"] }]
|
215
|
+
}] });
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci10b29sYmFyL2RhdGEtbWFuYWdlci10b29sYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixjQUFjLEdBQ2YsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFHTCxlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFN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UUFBUSxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDOzhHQXhOVSw4QkFBOEI7a0dBQTlCLDhCQUE4QixvRkNoRTNDLHNrSUFxSEEsKzhCRGpFSSxZQUFZLCtQQUNaLFdBQVcsOFZBQ1gsaUJBQWlCLHNYQUNqQiw2QkFBNkIsdUdBQzdCLGFBQWEsdUpBQ2IsZUFBZSxxT0FDZixjQUFjLGthQUNkLGVBQWUsdVJBQ2YsYUFBYSxrT0FDYixnQkFBZ0I7OzJGQUdQLDhCQUE4QjtrQkFuQjFDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQiw2QkFBNkI7d0JBQzdCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgU2t5Q2hlY2tib3hDaGFuZ2UsXG4gIFNreUNoZWNrYm94TW9kdWxlLFxuICBTa3lSYWRpb01vZHVsZSxcbn0gZnJvbSAnQHNreXV4L2Zvcm1zJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5pbXBvcnQgeyBTa3lGaWx0ZXJNb2R1bGUsIFNreVNvcnRNb2R1bGUgfSBmcm9tICdAc2t5dXgvbGlzdHMnO1xuaW1wb3J0IHsgU2t5U2VhcmNoTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xvb2t1cCc7XG5pbXBvcnQge1xuICBTa3lNb2RhbENsb3NlQXJncyxcbiAgU2t5TW9kYWxDb25maWd1cmF0aW9uSW50ZXJmYWNlLFxuICBTa3lNb2RhbFNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyUmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3NreS1kYXRhLW1hbmFnZXItcmVzb3VyY2VzLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckNvbnRleHQgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1jb250ZXh0JztcbmltcG9ydCB7IFNLWV9EQVRBX01BTkFHRVJfQ09MVU1OX1BJQ0tFUl9QUk9WSURFUlMgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb2x1bW5QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckZpbHRlck1vZGFsQ29udGV4dCB9IGZyb20gJy4uL2RhdGEtbWFuYWdlci1maWx0ZXItY29udGV4dCc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9kYXRhLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlck9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9kYXRhLW1hbmFnZXItY29sdW1uLXBpY2tlci1vcHRpb24nO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLWNvbmZpZyc7XG5pbXBvcnQgeyBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXNvcnQtb3B0aW9uJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU3RhdGUgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1tYW5hZ2VyLXN0YXRlJztcbmltcG9ydCB7IFNreURhdGFWaWV3Q29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2RhdGEtdmlldy1jb25maWcnO1xuXG4vKipcbiAqIFJlbmRlcnMgYSBgc2t5LXRvb2xiYXJgIHdpdGggdGhlIGNvbnRlbnRzIHNwZWNpZmllZCBieSB0aGUgYWN0aXZlIHZpZXcncyBgU2t5RGF0YVZpZXdDb25maWdgXG4gKiBhbmQgdGhlIGBTa3lEYXRhTWFuYWdlclRvb2xiYXJMZWZ0SXRlbXNDb21wb25lbnRgLCBgU2t5RGF0YU1hbmFnZXJUb29sYmFyUmlnaHRJdGVtc0NvbXBvbmVudGAsXG4gKiBhbmQgYFNreURhdGFNYW5hZ2VyVG9vbGJhclNlY3Rpb25Db21wb25lbnRgIHdyYXBwZXJzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBTa3lDaGVja2JveE1vZHVsZSxcbiAgICBTa3lEYXRhTWFuYWdlclJlc291cmNlc01vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreUZpbHRlck1vZHVsZSxcbiAgICBTa3lSYWRpb01vZHVsZSxcbiAgICBTa3lTZWFyY2hNb2R1bGUsXG4gICAgU2t5U29ydE1vZHVsZSxcbiAgICBTa3lUb29sYmFyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlclRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHB1YmxpYyBnZXQgYWN0aXZlVmlldygpOiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19hY3RpdmVWaWV3O1xuICB9XG5cbiAgcHVibGljIHNldCBhY3RpdmVWaWV3KHZhbHVlOiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19hY3RpdmVWaWV3ID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGFNYW5hZ2VyQ29uZmlnKCk6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2RhdGFNYW5hZ2VyQ29uZmlnO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhTWFuYWdlckNvbmZpZyh2YWx1ZTogU2t5RGF0YU1hbmFnZXJDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGF0YU1hbmFnZXJDb25maWcgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YVN0YXRlKCk6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfZGF0YVN0YXRlO1xuICB9XG5cbiAgcHVibGljIHNldCBkYXRhU3RhdGUodmFsdWU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGF0YVN0YXRlID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHZhbHVlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpZXdzKCk6IFNreURhdGFWaWV3Q29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLiNfdmlld3M7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZpZXdzKHZhbHVlOiBTa3lEYXRhVmlld0NvbmZpZ1tdKSB7XG4gICAgdGhpcy4jX3ZpZXdzID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgb25seVNob3dTZWxlY3RlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLy8gdGhlIHNvdXJjZSB0byBwcm92aWRlIGZvciBkYXRhIHN0YXRlIGNoYW5nZXNcbiAgI19zb3VyY2UgPSAndG9vbGJhcic7XG4gICNfYWN0aXZlVmlldzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNfZGF0YU1hbmFnZXJDb25maWc6IFNreURhdGFNYW5hZ2VyQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjX2RhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZDtcbiAgI192aWV3czogU2t5RGF0YVZpZXdDb25maWdbXSA9IFtdO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNjb2x1bW5QaWNrZXJTZXJ2aWNlID0gaW5qZWN0KFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI21vZGFsU2VydmljZSA9IGluamVjdChTa3lNb2RhbFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXRBY3RpdmVWaWV3SWRVcGRhdGVzKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGFjdGl2ZVZpZXdJZCkgPT4ge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoYWN0aXZlVmlld0lkKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVWaWV3ID0gdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLmdldFZpZXdCeUlkKGFjdGl2ZVZpZXdJZCk7XG4gICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVZpZXdzVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2aWV3cykgPT4ge1xuICAgICAgICB0aGlzLnZpZXdzID0gdmlld3M7XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcgPSB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UuZ2V0Vmlld0J5SWQoXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVZpZXcuaWRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhU3RhdGVVcGRhdGVzKHRoaXMuI19zb3VyY2UpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhU3RhdGUpID0+IHtcbiAgICAgICAgdGhpcy4jX2RhdGFTdGF0ZSA9IGRhdGFTdGF0ZTtcbiAgICAgICAgdGhpcy5vbmx5U2hvd1NlbGVjdGVkID0gZGF0YVN0YXRlLm9ubHlTaG93U2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2VcbiAgICAgIC5nZXREYXRhTWFuYWdlckNvbmZpZ1VwZGF0ZXMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY29uZmlnKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YU1hbmFnZXJDb25maWcgPSBjb25maWc7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc29ydFNlbGVjdGVkKHNvcnRPcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSkge1xuICAgICAgdGhpcy5kYXRhU3RhdGUuYWN0aXZlU29ydE9wdGlvbiA9IHNvcnRPcHRpb247XG4gICAgICB0aGlzLiNkYXRhTWFuYWdlclNlcnZpY2UudXBkYXRlRGF0YVN0YXRlKHRoaXMuZGF0YVN0YXRlLCB0aGlzLiNfc291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25WaWV3Q2hhbmdlKHZpZXdJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZUFjdGl2ZVZpZXdJZCh2aWV3SWQpO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEFwcGxpZWQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlKSB7XG4gICAgICB0aGlzLmRhdGFTdGF0ZS5zZWFyY2hUZXh0ID0gdGV4dDtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS51cGRhdGVEYXRhU3RhdGUodGhpcy5kYXRhU3RhdGUsIHRoaXMuI19zb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJCdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgU2t5RGF0YU1hbmFnZXJGaWx0ZXJNb2RhbENvbnRleHQoKTtcbiAgICBjb25zdCBmaWx0ZXJNb2RhbCA9XG4gICAgICB0aGlzLmRhdGFNYW5hZ2VyQ29uZmlnICYmIHRoaXMuZGF0YU1hbmFnZXJDb25maWcuZmlsdGVyTW9kYWxDb21wb25lbnQ7XG5cbiAgICBjb250ZXh0LmZpbHRlckRhdGEgPSB0aGlzLmRhdGFTdGF0ZT8uZmlsdGVyRGF0YTtcblxuICAgIGNvbnN0IG9wdGlvbnM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHtcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFNreURhdGFNYW5hZ2VyRmlsdGVyTW9kYWxDb250ZXh0LCB1c2VWYWx1ZTogY29udGV4dCB9LFxuICAgICAgXSxcbiAgICAgIHNpemU6ICdsYXJnZScsXG4gICAgfTtcblxuICAgIGlmIChmaWx0ZXJNb2RhbCkge1xuICAgICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU2VydmljZS5vcGVuKGZpbHRlck1vZGFsLCBvcHRpb25zKTtcblxuICAgICAgbW9kYWxJbnN0YW5jZS5jbG9zZWQuc3Vic2NyaWJlKChyZXN1bHQ6IFNreU1vZGFsQ2xvc2VBcmdzKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFTdGF0ZSAmJiByZXN1bHQucmVhc29uID09PSAnc2F2ZScpIHtcbiAgICAgICAgICB0aGlzLmRhdGFTdGF0ZS5maWx0ZXJEYXRhID0gcmVzdWx0LmRhdGE7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuZGF0YVN0YXRlLFxuICAgICAgICAgICAgdGhpcy4jX3NvdXJjZVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuQ29sdW1uUGlja2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGFTdGF0ZSAmJiB0aGlzLmFjdGl2ZVZpZXcgJiYgdGhpcy5hY3RpdmVWaWV3LmNvbHVtbk9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHZpZXdTdGF0ZSA9IHRoaXMuZGF0YVN0YXRlLmdldFZpZXdTdGF0ZUJ5SWQodGhpcy5hY3RpdmVWaWV3LmlkKTtcbiAgICAgIGlmICh2aWV3U3RhdGUpIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBTa3lEYXRhTWFuYWdlckNvbHVtblBpY2tlckNvbnRleHQoXG4gICAgICAgICAgdGhpcy5hY3RpdmVWaWV3LmNvbHVtbk9wdGlvbnMsXG4gICAgICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkc1xuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVZpZXcuY29sdW1uUGlja2VyU29ydFN0cmF0ZWd5KSB7XG4gICAgICAgICAgY29udGV4dC5jb2x1bW5QaWNrZXJTb3J0U3RyYXRlZ3kgPVxuICAgICAgICAgICAgdGhpcy5hY3RpdmVWaWV3LmNvbHVtblBpY2tlclNvcnRTdHJhdGVneTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IFNreU1vZGFsQ29uZmlndXJhdGlvbkludGVyZmFjZSA9IHtcbiAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIFNLWV9EQVRBX01BTkFHRVJfQ09MVU1OX1BJQ0tFUl9QUk9WSURFUlMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3ZpZGU6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyQ29udGV4dCxcbiAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbnRleHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbW9kYWxJbnN0YW5jZSA9IHRoaXMuI21vZGFsU2VydmljZS5vcGVuKFxuICAgICAgICAgIHRoaXMuI2NvbHVtblBpY2tlclNlcnZpY2UuZ2V0Q29tcG9uZW50VHlwZSgpLFxuICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgKTtcblxuICAgICAgICBtb2RhbEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKHJlc3VsdDogU2t5TW9kYWxDbG9zZUFyZ3MpID0+IHtcbiAgICAgICAgICBpZiAocmVzdWx0LnJlYXNvbiA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ZWRDb2x1bW5JZHMgPSByZXN1bHQuZGF0YS5tYXAoXG4gICAgICAgICAgICAgIChjb2w6IFNreURhdGFNYW5hZ2VyQ29sdW1uUGlja2VyT3B0aW9uKSA9PiBjb2wuaWRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMgPSBkaXNwbGF5ZWRDb2x1bW5JZHM7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhU3RhdGUgJiYgdGhpcy5hY3RpdmVWaWV3KSB7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVN0YXRlID0gdGhpcy5kYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KFxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlVmlldy5pZCxcbiAgICAgICAgICAgICAgICB2aWV3U3RhdGVcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5hY3RpdmVWaWV3Py5vblNlbGVjdEFsbENsaWNrKSB7XG4gICAgICB0aGlzLmFjdGl2ZVZpZXcub25TZWxlY3RBbGxDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFjdGl2ZVZpZXc/Lm9uQ2xlYXJBbGxDbGljaykge1xuICAgICAgdGhpcy5hY3RpdmVWaWV3Lm9uQ2xlYXJBbGxDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk9ubHlTaG93U2VsZWN0ZWQoZXZlbnQ6IFNreUNoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YVN0YXRlKSB7XG4gICAgICB0aGlzLmRhdGFTdGF0ZS5vbmx5U2hvd1NlbGVjdGVkID0gISFldmVudC5jaGVja2VkO1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlLnVwZGF0ZURhdGFTdGF0ZSh0aGlzLmRhdGFTdGF0ZSwgdGhpcy4jX3NvdXJjZSk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci10b29sYmFyXCI+XG4gIDxza3ktdG9vbGJhcj5cbiAgICA8c2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0lmPVwiYWN0aXZlVmlldz8uZmlsdGVyQnV0dG9uRW5hYmxlZFwiPlxuICAgICAgICA8c2t5LWZpbHRlci1idXR0b25cbiAgICAgICAgICBbc2hvd0J1dHRvblRleHRdPVwiYWN0aXZlVmlldz8uc2hvd0ZpbHRlckJ1dHRvblRleHRcIlxuICAgICAgICAgIChmaWx0ZXJCdXR0b25DbGljayk9XCJmaWx0ZXJCdXR0b25DbGlja2VkKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LWZpbHRlci1idXR0b24+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0lmPVwiYWN0aXZlVmlldz8uc29ydEVuYWJsZWRcIj5cbiAgICAgICAgPHNreS1zb3J0IFtzaG93QnV0dG9uVGV4dF09XCJhY3RpdmVWaWV3Py5zaG93U29ydEJ1dHRvblRleHRcIj5cbiAgICAgICAgICA8c2t5LXNvcnQtaXRlbVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGF0YU1hbmFnZXJDb25maWc/LnNvcnRPcHRpb25zXCJcbiAgICAgICAgICAgIFthY3RpdmVdPVwiISEoZGF0YVN0YXRlPy5hY3RpdmVTb3J0T3B0aW9uPy5pZCA9PT0gaXRlbS5pZClcIlxuICAgICAgICAgICAgKGl0ZW1TZWxlY3QpPVwic29ydFNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgICAgPC9za3ktc29ydC1pdGVtPlxuICAgICAgICA8L3NreS1zb3J0PlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuXG4gICAgICA8c2t5LXRvb2xiYXItaXRlbSAqbmdJZj1cImFjdGl2ZVZpZXc/LmNvbHVtblBpY2tlckVuYWJsZWRcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWRlZmF1bHQgc2t5LWNvbC1waWNrZXItYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICBcIlxuICAgICAgICAgIFthdHRyLnRpdGxlXT1cIlxuICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9jb2x1bW5zX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICBcIlxuICAgICAgICAgIChjbGljayk9XCJvcGVuQ29sdW1uUGlja2VyKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNreS1pY29uIGljb249XCJjb2x1bW5zXCI+PC9za3ktaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNreS1jb2x1bW4tc2VsZWN0b3ItYWN0aW9uLWJ0bi10ZXh0XCI+XG4gICAgICAgICAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX2NvbHVtbnNfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1kYXRhLW1hbmFnZXItdG9vbGJhci1sZWZ0LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtICpuZ0lmPVwiYWN0aXZlVmlldz8uc2VhcmNoRW5hYmxlZFwiPlxuICAgICAgICA8c2t5LXNlYXJjaFxuICAgICAgICAgIFtleHBhbmRNb2RlXT1cImFjdGl2ZVZpZXc/LnNlYXJjaEV4cGFuZE1vZGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlclRleHRdPVwiYWN0aXZlVmlldz8uc2VhcmNoUGxhY2Vob2xkZXJUZXh0XCJcbiAgICAgICAgICBbc2VhcmNoVGV4dF09XCJkYXRhU3RhdGU/LnNlYXJjaFRleHRcIlxuICAgICAgICAgIChzZWFyY2hBcHBseSk9XCJzZWFyY2hBcHBsaWVkKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvc2t5LXNlYXJjaD5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cblxuICAgICAgPHNreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRhdGEtbWFuYWdlci10b29sYmFyLXJpZ2h0LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxza3ktcmFkaW8tZ3JvdXBcbiAgICAgICAgICAqbmdJZj1cImFjdGl2ZVZpZXcgJiYgdmlld3MgJiYgdmlld3MubGVuZ3RoID4gMVwiXG4gICAgICAgICAgW2FyaWFMYWJlbF09XCInZGF0YSB2aWV3IHN3aXRjaGVyJ1wiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJhY3RpdmVWaWV3LmlkXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1zd2l0Y2gtaWNvbi1ncm91cFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LXJhZGlvXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdmlldyBvZiB2aWV3c1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInZpZXcubmFtZVwiXG4gICAgICAgICAgICBbaWNvbl09XCJ2aWV3Lmljb25cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInZpZXcuaWRcIlxuICAgICAgICAgICAgW2xhYmVsXT1cInZpZXcubmFtZVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uVmlld0NoYW5nZSh2aWV3LmlkKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvc2t5LXJhZGlvPlxuICAgICAgICA8L3NreS1yYWRpby1ncm91cD5cbiAgICAgIDwvc2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgIDwvc2t5LXRvb2xiYXItc2VjdGlvbj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvblwiPjwvbmctY29udGVudD5cbiAgPC9za3ktdG9vbGJhcj5cblxuICA8c2t5LXRvb2xiYXJcbiAgICAqbmdJZj1cImFjdGl2ZVZpZXc/Lm11bHRpc2VsZWN0VG9vbGJhckVuYWJsZWRcIlxuICAgIGNsYXNzPVwic2t5LWRhdGEtbWFuYWdlci1tdWx0aXNlbGVjdC10b29sYmFyXCJcbiAgPlxuICAgIDxza3ktdG9vbGJhci1zZWN0aW9uPlxuICAgICAgPHNreS10b29sYmFyLWl0ZW0+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1saW5rIHNreS1kYXRhLW1hbmFnZXItc2VsZWN0LWFsbC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGwoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnc2t5dXhfZGF0YV9tYW5hZ2VyX3NlbGVjdF9hbGxfYnV0dG9uX3RpdGxlJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvc2t5LXRvb2xiYXItaXRlbT5cbiAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktZGF0YS1tYW5hZ2VyLWNsZWFyLWFsbC1idG5cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhckFsbCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdza3l1eF9kYXRhX21hbmFnZXJfY2xlYXJfYWxsX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgICA8c2t5LWNoZWNrYm94XG4gICAgICAgICAgW2NoZWNrZWRdPVwib25seVNob3dTZWxlY3RlZFwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbk9ubHlTaG93U2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c2t5LWNoZWNrYm94LWxhYmVsPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgJ3NreXV4X2RhdGFfbWFuYWdlcl9zaG93X3NlbGVjdGVkX29wdGlvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9za3ktY2hlY2tib3gtbGFiZWw+XG4gICAgICAgIDwvc2t5LWNoZWNrYm94PlxuICAgICAgPC9za3ktdG9vbGJhci12aWV3LWFjdGlvbnM+XG4gICAgPC9za3ktdG9vbGJhci1zZWN0aW9uPlxuICA8L3NreS10b29sYmFyPlxuPC9kaXY+XG4iXX0=
|
@@ -1,17 +1,32 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, } from '@angular/core';
|
3
|
+
import { SkyViewkeeperModule } from '@skyux/core';
|
4
|
+
import { SkyBackToTopMessageType, SkyBackToTopModule, } from '@skyux/layout';
|
3
5
|
import { Subject } from 'rxjs';
|
4
6
|
import { takeUntil } from 'rxjs/operators';
|
7
|
+
import { SkyDataManagerService } from './data-manager.service';
|
5
8
|
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "
|
7
|
-
import * as i2 from "@
|
8
|
-
import * as i3 from "@skyux/
|
9
|
-
import * as i4 from "@skyux/core";
|
9
|
+
import * as i1 from "@angular/common";
|
10
|
+
import * as i2 from "@skyux/layout";
|
11
|
+
import * as i3 from "@skyux/core";
|
10
12
|
const VIEWKEEPER_CLASSES_DEFAULT = ['.sky-data-manager-toolbar'];
|
11
13
|
/**
|
12
14
|
* The top-level data manager component. Provide `SkyDataManagerService` at this level.
|
13
15
|
*/
|
14
16
|
export class SkyDataManagerComponent {
|
17
|
+
constructor() {
|
18
|
+
this.backToTopController = new Subject();
|
19
|
+
this.backToTopOptions = {
|
20
|
+
buttonHidden: true,
|
21
|
+
};
|
22
|
+
this.#allViewkeeperClasses = {};
|
23
|
+
this.#ngUnsubscribe = new Subject();
|
24
|
+
this.#sourceId = 'dataManagerComponent';
|
25
|
+
this.#_isInitialized = false;
|
26
|
+
this.#_currentViewkeeperClasses = VIEWKEEPER_CLASSES_DEFAULT;
|
27
|
+
this.#changeDetection = inject(ChangeDetectorRef);
|
28
|
+
this.#dataManagerService = inject(SkyDataManagerService);
|
29
|
+
}
|
15
30
|
get currentViewkeeperClasses() {
|
16
31
|
return this.#_currentViewkeeperClasses;
|
17
32
|
}
|
@@ -33,23 +48,10 @@ export class SkyDataManagerComponent {
|
|
33
48
|
#allViewkeeperClasses;
|
34
49
|
#ngUnsubscribe;
|
35
50
|
#sourceId;
|
36
|
-
#changeDetection;
|
37
|
-
#dataManagerService;
|
38
51
|
#_isInitialized;
|
39
52
|
#_currentViewkeeperClasses;
|
40
|
-
|
41
|
-
|
42
|
-
this.backToTopOptions = {
|
43
|
-
buttonHidden: true,
|
44
|
-
};
|
45
|
-
this.#allViewkeeperClasses = {};
|
46
|
-
this.#ngUnsubscribe = new Subject();
|
47
|
-
this.#sourceId = 'dataManagerComponent';
|
48
|
-
this.#_isInitialized = false;
|
49
|
-
this.#_currentViewkeeperClasses = VIEWKEEPER_CLASSES_DEFAULT;
|
50
|
-
this.#changeDetection = changeDetection;
|
51
|
-
this.#dataManagerService = dataManagerService;
|
52
|
-
}
|
53
|
+
#changeDetection;
|
54
|
+
#dataManagerService;
|
53
55
|
ngOnInit() {
|
54
56
|
this.#dataManagerService
|
55
57
|
.getDataStateUpdates(this.#sourceId)
|
@@ -79,11 +81,11 @@ export class SkyDataManagerComponent {
|
|
79
81
|
this.#ngUnsubscribe.next();
|
80
82
|
this.#ngUnsubscribe.complete();
|
81
83
|
}
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerComponent, deps: [
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDataManagerComponent, selector: "sky-data-manager", ngImport: i0, template: "<div\n *ngIf=\"isInitialized\"\n class=\"sky-data-manager\"\n [skyBackToTop]=\"backToTopOptions\"\n [skyBackToTopMessageStream]=\"backToTopController\"\n [skyViewkeeper]=\"currentViewkeeperClasses\"\n #dataManager\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type:
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: SkyDataManagerComponent, isStandalone: true, selector: "sky-data-manager", ngImport: i0, template: "<div\n *ngIf=\"isInitialized\"\n class=\"sky-data-manager\"\n [skyBackToTop]=\"backToTopOptions\"\n [skyBackToTopMessageStream]=\"backToTopController\"\n [skyViewkeeper]=\"currentViewkeeperClasses\"\n #dataManager\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SkyBackToTopModule }, { kind: "directive", type: i2.λ7, selector: "[skyBackToTop]", inputs: ["skyBackToTop", "skyBackToTopMessageStream"] }, { kind: "ngmodule", type: SkyViewkeeperModule }, { kind: "directive", type: i3.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
84
86
|
}
|
85
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerComponent, decorators: [{
|
86
88
|
type: Component,
|
87
|
-
args: [{ selector: 'sky-data-manager', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"isInitialized\"\n class=\"sky-data-manager\"\n [skyBackToTop]=\"backToTopOptions\"\n [skyBackToTopMessageStream]=\"backToTopController\"\n [skyViewkeeper]=\"currentViewkeeperClasses\"\n #dataManager\n>\n <ng-content></ng-content>\n</div>\n" }]
|
88
|
-
}]
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
89
|
+
args: [{ standalone: true, selector: 'sky-data-manager', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule, SkyBackToTopModule, SkyViewkeeperModule], template: "<div\n *ngIf=\"isInitialized\"\n class=\"sky-data-manager\"\n [skyBackToTop]=\"backToTopOptions\"\n [skyBackToTopMessageStream]=\"backToTopController\"\n [skyViewkeeper]=\"currentViewkeeperClasses\"\n #dataManager\n>\n <ng-content></ng-content>\n</div>\n" }]
|
90
|
+
}] });
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGEtbWFuYWdlci9zcmMvbGliL21vZHVsZXMvZGF0YS1tYW5hZ2VyL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUdULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEQsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixrQkFBa0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBRS9ELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBRWpFOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQTZCUyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztRQUV6RCxxQkFBZ0IsR0FBRztZQUN4QixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDO1FBR0YsMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztRQUNyRCxtQkFBYyxHQUFHLElBQUksT0FB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bkMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Vmlld2tlZXBlck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7XG4gIFNreUJhY2tUb1RvcE1lc3NhZ2UsXG4gIFNreUJhY2tUb1RvcE1lc3NhZ2VUeXBlLFxuICBTa3lCYWNrVG9Ub3BNb2R1bGUsXG59IGZyb20gJ0Bza3l1eC9sYXlvdXQnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5jb25zdCBWSUVXS0VFUEVSX0NMQVNTRVNfREVGQVVMVCA9IFsnLnNreS1kYXRhLW1hbmFnZXItdG9vbGJhciddO1xuXG4vKipcbiAqIFRoZSB0b3AtbGV2ZWwgZGF0YSBtYW5hZ2VyIGNvbXBvbmVudC4gUHJvdmlkZSBgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlYCBhdCB0aGlzIGxldmVsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktZGF0YS1tYW5hZ2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTa3lCYWNrVG9Ub3BNb2R1bGUsIFNreVZpZXdrZWVwZXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXRhTWFuYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgcHVibGljIGdldCBjdXJyZW50Vmlld2tlZXBlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLiNfY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzO1xuICB9XG5cbiAgcHVibGljIHNldCBjdXJyZW50Vmlld2tlZXBlckNsYXNzZXModmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2N1cnJlbnRWaWV3a2VlcGVyQ2xhc3NlcyA9IFtcbiAgICAgIC4uLlZJRVdLRUVQRVJfQ0xBU1NFU19ERUZBVUxULFxuICAgICAgLi4uKHZhbHVlIHx8IFtdKSxcbiAgICBdO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzSW5pdGlhbGl6ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzSW5pdGlhbGl6ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNfaXNJbml0aWFsaXplZCA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBiYWNrVG9Ub3BDb250cm9sbGVyID0gbmV3IFN1YmplY3Q8U2t5QmFja1RvVG9wTWVzc2FnZT4oKTtcblxuICBwdWJsaWMgYmFja1RvVG9wT3B0aW9ucyA9IHtcbiAgICBidXR0b25IaWRkZW46IHRydWUsXG4gIH07XG5cbiAgI2FjdGl2ZVZpZXdJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjYWxsVmlld2tlZXBlckNsYXNzZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHt9O1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNzb3VyY2VJZCA9ICdkYXRhTWFuYWdlckNvbXBvbmVudCc7XG5cbiAgI19pc0luaXRpYWxpemVkID0gZmFsc2U7XG4gICNfY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzID0gVklFV0tFRVBFUl9DTEFTU0VTX0RFRkFVTFQ7XG5cbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdGlvbiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNkYXRhTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoU2t5RGF0YU1hbmFnZXJTZXJ2aWNlKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiNzb3VyY2VJZClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gKHRoaXMuaXNJbml0aWFsaXplZCA9IHRydWUpKTtcblxuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU2VydmljZS52aWV3a2VlcGVyQ2xhc3Nlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2xhc3NlcykgPT4ge1xuICAgICAgICB0aGlzLiNhbGxWaWV3a2VlcGVyQ2xhc3NlcyA9IGNsYXNzZXM7XG4gICAgICAgIHRoaXMuY3VycmVudFZpZXdrZWVwZXJDbGFzc2VzID0gdGhpcy4jYWN0aXZlVmlld0lkXG4gICAgICAgICAgPyBjbGFzc2VzW3RoaXMuI2FjdGl2ZVZpZXdJZF1cbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jZGF0YU1hbmFnZXJTZXJ2aWNlXG4gICAgICAuZ2V0QWN0aXZlVmlld0lkVXBkYXRlcygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhY3RpdmVWaWV3SWQpID0+IHtcbiAgICAgICAgdGhpcy4jYWN0aXZlVmlld0lkID0gYWN0aXZlVmlld0lkO1xuICAgICAgICB0aGlzLmJhY2tUb1RvcENvbnRyb2xsZXIubmV4dCh7XG4gICAgICAgICAgdHlwZTogU2t5QmFja1RvVG9wTWVzc2FnZVR5cGUuQmFja1RvVG9wLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jdXJyZW50Vmlld2tlZXBlckNsYXNzZXMgPVxuICAgICAgICAgIHRoaXMuI2FsbFZpZXdrZWVwZXJDbGFzc2VzW3RoaXMuI2FjdGl2ZVZpZXdJZF07XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJpc0luaXRpYWxpemVkXCJcbiAgY2xhc3M9XCJza3ktZGF0YS1tYW5hZ2VyXCJcbiAgW3NreUJhY2tUb1RvcF09XCJiYWNrVG9Ub3BPcHRpb25zXCJcbiAgW3NreUJhY2tUb1RvcE1lc3NhZ2VTdHJlYW1dPVwiYmFja1RvVG9wQ29udHJvbGxlclwiXG4gIFtza3lWaWV3a2VlcGVyXT1cImN1cnJlbnRWaWV3a2VlcGVyQ2xhc3Nlc1wiXG4gICNkYXRhTWFuYWdlclxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
@@ -1,17 +1,5 @@
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
2
1
|
import { NgModule } from '@angular/core';
|
3
|
-
import {
|
4
|
-
import { SkyViewkeeperModule } from '@skyux/core';
|
5
|
-
import { SkyCheckboxModule, SkyRadioModule } from '@skyux/forms';
|
6
|
-
import { SkyIconModule, SkyStatusIndicatorModule } from '@skyux/indicators';
|
7
|
-
import { SkyBackToTopModule, SkyToolbarModule } from '@skyux/layout';
|
8
|
-
import { SkyFilterModule, SkyRepeaterModule, SkySortModule, } from '@skyux/lists';
|
9
|
-
import { SkySearchModule } from '@skyux/lookup';
|
10
|
-
import { SkyModalModule } from '@skyux/modals';
|
11
|
-
import { SkyDataManagerResourcesModule } from '../shared/sky-data-manager-resources.module';
|
12
|
-
import { SkyDataManagerColumnPickerImplService } from './data-manager-column-picker/data-manager-column-picker-impl.service';
|
13
|
-
import { SkyDataManagerColumnPickerComponent } from './data-manager-column-picker/data-manager-column-picker.component';
|
14
|
-
import { SkyDataManagerColumnPickerService } from './data-manager-column-picker/data-manager-column-picker.service';
|
2
|
+
import { SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS } from './data-manager-column-picker/data-manager-column-picker-providers';
|
15
3
|
import { SkyDataManagerToolbarLeftItemComponent } from './data-manager-toolbar/data-manager-toolbar-left-item.component';
|
16
4
|
import { SkyDataManagerToolbarPrimaryItemComponent } from './data-manager-toolbar/data-manager-toolbar-primary-item.component';
|
17
5
|
import { SkyDataManagerToolbarRightItemComponent } from './data-manager-toolbar/data-manager-toolbar-right-item.component';
|
@@ -22,102 +10,48 @@ import { SkyDataViewComponent } from './data-view.component';
|
|
22
10
|
import * as i0 from "@angular/core";
|
23
11
|
export class SkyDataManagerModule {
|
24
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
25
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerModule,
|
26
|
-
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerModule, imports: [SkyDataManagerComponent,
|
14
|
+
SkyDataManagerToolbarComponent,
|
27
15
|
SkyDataManagerToolbarLeftItemComponent,
|
28
16
|
SkyDataManagerToolbarPrimaryItemComponent,
|
29
17
|
SkyDataManagerToolbarRightItemComponent,
|
30
18
|
SkyDataManagerToolbarSectionComponent,
|
19
|
+
SkyDataViewComponent], exports: [SkyDataManagerComponent,
|
31
20
|
SkyDataManagerToolbarComponent,
|
32
|
-
SkyDataViewComponent], imports: [CommonModule,
|
33
|
-
FormsModule,
|
34
|
-
SkyBackToTopModule,
|
35
|
-
SkyCheckboxModule,
|
36
|
-
SkyDataManagerResourcesModule,
|
37
|
-
SkyFilterModule,
|
38
|
-
SkyIconModule,
|
39
|
-
SkyModalModule,
|
40
|
-
SkyRadioModule,
|
41
|
-
SkyRepeaterModule,
|
42
|
-
SkySearchModule,
|
43
|
-
SkyStatusIndicatorModule,
|
44
|
-
SkySortModule,
|
45
|
-
SkyToolbarModule,
|
46
|
-
SkyViewkeeperModule], exports: [SkyDataManagerColumnPickerComponent,
|
47
|
-
SkyDataManagerComponent,
|
48
21
|
SkyDataManagerToolbarLeftItemComponent,
|
49
22
|
SkyDataManagerToolbarPrimaryItemComponent,
|
50
23
|
SkyDataManagerToolbarRightItemComponent,
|
51
24
|
SkyDataManagerToolbarSectionComponent,
|
25
|
+
SkyDataViewComponent] }); }
|
26
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerModule, providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS], imports: [SkyDataManagerComponent,
|
52
27
|
SkyDataManagerToolbarComponent,
|
28
|
+
SkyDataManagerToolbarLeftItemComponent,
|
29
|
+
SkyDataManagerToolbarPrimaryItemComponent,
|
30
|
+
SkyDataManagerToolbarSectionComponent,
|
53
31
|
SkyDataViewComponent] }); }
|
54
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerModule, providers: [
|
55
|
-
{
|
56
|
-
provide: SkyDataManagerColumnPickerService,
|
57
|
-
useClass: SkyDataManagerColumnPickerImplService,
|
58
|
-
},
|
59
|
-
], imports: [CommonModule,
|
60
|
-
FormsModule,
|
61
|
-
SkyBackToTopModule,
|
62
|
-
SkyCheckboxModule,
|
63
|
-
SkyDataManagerResourcesModule,
|
64
|
-
SkyFilterModule,
|
65
|
-
SkyIconModule,
|
66
|
-
SkyModalModule,
|
67
|
-
SkyRadioModule,
|
68
|
-
SkyRepeaterModule,
|
69
|
-
SkySearchModule,
|
70
|
-
SkyStatusIndicatorModule,
|
71
|
-
SkySortModule,
|
72
|
-
SkyToolbarModule,
|
73
|
-
SkyViewkeeperModule] }); }
|
74
32
|
}
|
75
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: SkyDataManagerModule, decorators: [{
|
76
34
|
type: NgModule,
|
77
35
|
args: [{
|
78
|
-
|
79
|
-
SkyDataManagerColumnPickerComponent,
|
36
|
+
imports: [
|
80
37
|
SkyDataManagerComponent,
|
38
|
+
SkyDataManagerToolbarComponent,
|
81
39
|
SkyDataManagerToolbarLeftItemComponent,
|
82
40
|
SkyDataManagerToolbarPrimaryItemComponent,
|
83
41
|
SkyDataManagerToolbarRightItemComponent,
|
84
42
|
SkyDataManagerToolbarSectionComponent,
|
85
|
-
SkyDataManagerToolbarComponent,
|
86
43
|
SkyDataViewComponent,
|
87
44
|
],
|
88
|
-
imports: [
|
89
|
-
CommonModule,
|
90
|
-
FormsModule,
|
91
|
-
SkyBackToTopModule,
|
92
|
-
SkyCheckboxModule,
|
93
|
-
SkyDataManagerResourcesModule,
|
94
|
-
SkyFilterModule,
|
95
|
-
SkyIconModule,
|
96
|
-
SkyModalModule,
|
97
|
-
SkyRadioModule,
|
98
|
-
SkyRepeaterModule,
|
99
|
-
SkySearchModule,
|
100
|
-
SkyStatusIndicatorModule,
|
101
|
-
SkySortModule,
|
102
|
-
SkyToolbarModule,
|
103
|
-
SkyViewkeeperModule,
|
104
|
-
],
|
105
45
|
exports: [
|
106
|
-
SkyDataManagerColumnPickerComponent,
|
107
46
|
SkyDataManagerComponent,
|
47
|
+
SkyDataManagerToolbarComponent,
|
108
48
|
SkyDataManagerToolbarLeftItemComponent,
|
109
49
|
SkyDataManagerToolbarPrimaryItemComponent,
|
110
50
|
SkyDataManagerToolbarRightItemComponent,
|
111
51
|
SkyDataManagerToolbarSectionComponent,
|
112
|
-
SkyDataManagerToolbarComponent,
|
113
52
|
SkyDataViewComponent,
|
114
53
|
],
|
115
|
-
providers: [
|
116
|
-
{
|
117
|
-
provide: SkyDataManagerColumnPickerService,
|
118
|
-
useClass: SkyDataManagerColumnPickerImplService,
|
119
|
-
},
|
120
|
-
],
|
54
|
+
providers: [SKY_DATA_MANAGER_COLUMN_PICKER_PROVIDERS],
|
121
55
|
}]
|
122
56
|
}] });
|
123
|
-
//# sourceMappingURL=data:application/json;base64,
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYW5hZ2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRhLW1hbmFnZXIvc3JjL2xpYi9tb2R1bGVzL2RhdGEtbWFuYWdlci9kYXRhLW1hbmFnZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDN0gsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekgsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDL0gsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDM0gsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdEgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBdUI3RCxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQW5CN0IsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5QixzQ0FBc0M7WUFDdEMseUNBQXlDO1lBQ3pDLHVDQUF1QztZQUN2QyxxQ0FBcUM7WUFDckMsb0JBQW9CLGFBR3BCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsc0NBQXNDO1lBQ3RDLHlDQUF5QztZQUN6Qyx1Q0FBdUM7WUFDdkMscUNBQXFDO1lBQ3JDLG9CQUFvQjsrR0FJWCxvQkFBb0IsYUFGcEIsQ0FBQyx3Q0FBd0MsQ0FBQyxZQWpCbkQsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5QixzQ0FBc0M7WUFDdEMseUNBQXlDO1lBRXpDLHFDQUFxQztZQUNyQyxvQkFBb0I7OzJGQWFYLG9CQUFvQjtrQkFyQmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QixzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2QyxxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsOEJBQThCO3dCQUM5QixzQ0FBc0M7d0JBQ3RDLHlDQUF5Qzt3QkFDekMsdUNBQXVDO3dCQUN2QyxxQ0FBcUM7d0JBQ3JDLG9CQUFvQjtxQkFDckI7b0JBQ0QsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7aUJBQ3REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU0tZX0RBVEFfTUFOQUdFUl9DT0xVTU5fUElDS0VSX1BST1ZJREVSUyB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXIvZGF0YS1tYW5hZ2VyLWNvbHVtbi1waWNrZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1sZWZ0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci1wcmltYXJ5LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItcmlnaHQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZGF0YS1tYW5hZ2VyLXRvb2xiYXIvZGF0YS1tYW5hZ2VyLXRvb2xiYXItc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRhLW1hbmFnZXItdG9vbGJhci9kYXRhLW1hbmFnZXItdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtbWFuYWdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0YVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2RhdGEtdmlldy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2t5RGF0YU1hbmFnZXJDb21wb25lbnQsXG4gICAgU2t5RGF0YU1hbmFnZXJUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhckxlZnRJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclByaW1hcnlJdGVtQ29tcG9uZW50LFxuICAgIFNreURhdGFNYW5hZ2VyVG9vbGJhclJpZ2h0SXRlbUNvbXBvbmVudCxcbiAgICBTa3lEYXRhTWFuYWdlclRvb2xiYXJTZWN0aW9uQ29tcG9uZW50LFxuICAgIFNreURhdGFWaWV3Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtTS1lfREFUQV9NQU5BR0VSX0NPTFVNTl9QSUNLRVJfUFJPVklERVJTXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF0YU1hbmFnZXJNb2R1bGUge31cbiJdfQ==
|