@c8y/ngx-components 1018.503.26 → 1018.503.37
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/device-grid/device-grid.component.d.ts +7 -2
- package/esm2020/child-devices/child-devices.component.mjs +1 -1
- package/esm2020/core/bootstrap/bootstrap.component.mjs +3 -3
- package/esm2020/core/dynamic-forms/json-schema/c8y-json-schema.service.mjs +8 -2
- package/esm2020/device-grid/device-grid-extension.service.mjs +13 -8
- package/esm2020/device-grid/device-grid.component.mjs +30 -15
- package/esm2020/device-list/device-list.component.mjs +1 -1
- package/esm2020/operations/device-selector/device-selector.component.mjs +1 -1
- package/esm2020/replace-device-wizard/replace-device-wizard.component.mjs +2 -2
- package/esm2020/sub-assets/add-group/add-group.component.mjs +4 -3
- package/esm2020/sub-assets/asset-properties-item.component.mjs +7 -3
- package/esm2020/sub-assets/asset-properties.component.mjs +25 -10
- package/esm2020/sub-assets/assign-devices/assign-devices.component.mjs +4 -3
- package/esm2020/sub-assets/location/asset-location.component.mjs +5 -3
- package/fesm2015/c8y-ngx-components-child-devices.mjs +1 -1
- package/fesm2015/c8y-ngx-components-child-devices.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-device-grid.mjs +41 -21
- package/fesm2015/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-device-list.mjs +1 -1
- package/fesm2015/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-operations-device-selector.mjs +1 -1
- package/fesm2015/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-replace-device-wizard.mjs +1 -1
- package/fesm2015/c8y-ngx-components-replace-device-wizard.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components-sub-assets.mjs +39 -18
- package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +6 -3
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-child-devices.mjs +1 -1
- package/fesm2020/c8y-ngx-components-child-devices.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-device-grid.mjs +41 -21
- package/fesm2020/c8y-ngx-components-device-grid.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-device-list.mjs +1 -1
- package/fesm2020/c8y-ngx-components-device-list.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-operations-device-selector.mjs +1 -1
- package/fesm2020/c8y-ngx-components-operations-device-selector.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-replace-device-wizard.mjs +1 -1
- package/fesm2020/c8y-ngx-components-replace-device-wizard.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-sub-assets.mjs +38 -17
- package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +9 -3
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/sub-assets/add-group/add-group.component.d.ts +2 -1
- package/sub-assets/asset-properties.component.d.ts +6 -0
- package/sub-assets/assign-devices/assign-devices.component.d.ts +2 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { ActionControl, BulkActionControl, Column, DataGridComponent, DataSourceModifier, FilteringActionType, FilteringModifier, HeaderActionControl, LoadMoreMode, Pagination, ProductExperienceEvent, ProductExperienceEventSource, ServerSideDataCallback, ServerSideDataResult } from '@c8y/ngx-components';
|
|
2
|
+
import { ActionControl, BuiltInActionType, BulkActionControl, Column, DataGridComponent, DataSourceModifier, FilteringActionType, FilteringModifier, HeaderActionControl, LoadMoreMode, Pagination, ProductExperienceEvent, ProductExperienceEventSource, ServerSideDataCallback, ServerSideDataResult } from '@c8y/ngx-components';
|
|
3
3
|
import { DeviceGridExtensionService } from './device-grid-extension.service';
|
|
4
4
|
import { DataCallback, FilterConfig } from './device-grid.model';
|
|
5
5
|
import { DeviceGridService } from './device-grid.service';
|
|
@@ -36,6 +36,11 @@ export declare class DeviceGridComponent implements OnInit, OnDestroy, ProductEx
|
|
|
36
36
|
infiniteScroll: LoadMoreMode;
|
|
37
37
|
/** Sets load more mode. */
|
|
38
38
|
set _infiniteScroll(infiniteScroll: LoadMoreMode);
|
|
39
|
+
/**
|
|
40
|
+
* Represents the input property for hiding specific built-in action types.
|
|
41
|
+
* The `actionsToHide` input allows specifying an array of `BuiltInActionType` values or the string 'ALL' to hide all action controls
|
|
42
|
+
*/
|
|
43
|
+
builtInActionsToHide: BuiltInActionType[] | 'ALL';
|
|
39
44
|
/** Sets action controls (actions available for individual items). If not given, it defaults to standard actions. */
|
|
40
45
|
set _actionControls(value: ActionControl[]);
|
|
41
46
|
/** Determines whether items can be selected by clicking a checkbox in the first column. */
|
|
@@ -90,5 +95,5 @@ export declare class DeviceGridComponent implements OnInit, OnDestroy, ProductEx
|
|
|
90
95
|
};
|
|
91
96
|
}): void;
|
|
92
97
|
static ɵfac: i0.ɵɵFactoryDeclaration<DeviceGridComponent, never>;
|
|
93
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DeviceGridComponent, "c8y-device-grid", never, { "dataCallback": "dataCallback"; "refresh": "refresh"; "title": "title"; "loadMoreItemsLabel": "loadMoreItemsLabel"; "loadingItemsLabel": "loadingItemsLabel"; "legacyConfigKey": "legacyConfigKey"; "legacyFilterKey": "legacyFilterKey"; "columns": "columns"; "_pagination": "pagination"; "_infiniteScroll": "infiniteScroll"; "_actionControls": "actionControls"; "selectable": "selectable"; "singleSelection": "singleSelection"; "baseQuery": "baseQuery"; "_bulkActionControls": "bulkActionControls"; "_headerActionControls": "headerActionControls"; "childDeviceGrid": "childDeviceGrid"; "parentDeviceId": "parentDeviceId"; "withChildren": "withChildren"; "showSearch": "showSearch"; "activeClassName": "activeClassName"; }, { "onColumnsChange": "onColumnsChange"; "onFilterChange": "onFilterChange"; "onDeviceQueryStringChange": "onDeviceQueryStringChange"; "itemsSelect": "itemsSelect"; }, never, never, false, never>;
|
|
98
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DeviceGridComponent, "c8y-device-grid", never, { "dataCallback": "dataCallback"; "refresh": "refresh"; "title": "title"; "loadMoreItemsLabel": "loadMoreItemsLabel"; "loadingItemsLabel": "loadingItemsLabel"; "legacyConfigKey": "legacyConfigKey"; "legacyFilterKey": "legacyFilterKey"; "columns": "columns"; "_pagination": "pagination"; "_infiniteScroll": "infiniteScroll"; "builtInActionsToHide": "builtInActionsToHide"; "_actionControls": "actionControls"; "selectable": "selectable"; "singleSelection": "singleSelection"; "baseQuery": "baseQuery"; "_bulkActionControls": "bulkActionControls"; "_headerActionControls": "headerActionControls"; "childDeviceGrid": "childDeviceGrid"; "parentDeviceId": "parentDeviceId"; "withChildren": "withChildren"; "showSearch": "showSearch"; "activeClassName": "activeClassName"; }, { "onColumnsChange": "onColumnsChange"; "onFilterChange": "onFilterChange"; "onDeviceQueryStringChange": "onDeviceQueryStringChange"; "itemsSelect": "itemsSelect"; }, never, never, false, never>;
|
|
94
99
|
}
|
|
@@ -20,7 +20,7 @@ export class ChildDevicesComponent {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
ChildDevicesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ChildDevicesComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.DeviceGridService }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
ChildDevicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ChildDevicesComponent, selector: "c8y-child-devices", providers: [ManagedObjectRealtimeService], ngImport: i0, template: "<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "directive", type: i3.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i2.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] });
|
|
23
|
+
ChildDevicesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ChildDevicesComponent, selector: "c8y-child-devices", providers: [ManagedObjectRealtimeService], ngImport: i0, template: "<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "directive", type: i3.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i2.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "builtInActionsToHide", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] });
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ChildDevicesComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ selector: 'c8y-child-devices', providers: [ManagedObjectRealtimeService], template: "<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [title]=\"'Child devices' | translate\"\n [childDeviceGrid]=\"true\"\n [columns]=\"columns\"\n [parentDeviceId]=\"id\"\n c8yProductExperience\n [actionName]=\"'childDevices'\"\n ></c8y-device-grid>\n</div>\n" }]
|
|
@@ -141,9 +141,9 @@ export class BootstrapComponent {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
BootstrapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BootstrapComponent, deps: [{ token: i1.TabsService }, { token: i2.AppStateService }, { token: i3.NavigatorService }, { token: i4.ActionBarService }, { token: i5.HeaderService }, { token: i6.OptionsService }, { token: i7.PluginsResolveService }, { token: i8.SetupService }, { token: i9.LoginService }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
-
BootstrapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BootstrapComponent, selector: "c8y-bootstrap", ngImport: i0, template: "<c8y-login *ngIf=\"showLogin$ | async\"></c8y-login>\n\n<div class=\"init-load\" *ngIf=\"showLoadingIndicator$ | async\">\n <div class=\"spinner-snake\"></div>\n <div class=\"mainlogo-placeholder mainlogo\"></div>\n</div>\n\n<div\n *ngIf=\"showMainView$ | async\"\n [class.head-open]=\"headerService.headerOpen\"\n>\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-drawer-outlet\n role=\"region\"\n position=\"left\"\n [open]=\"headerService.navigatorOpen$ | async\"\n [tabindex]=\"(headerService.navigatorOpen$ | async) ? '0' : '-1'\"\n ></c8y-drawer-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n role=\"navigation\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n role=\"group\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden\n }\"\n >\n <main id=\"main-content\" class=\"container-fluid\" tabindex=\"-1\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"showSetup$ | async\">\n <c8y-header-bar [simple]=\"true\"></c8y-header-bar>\n <div class=\"mcontainer\" role=\"main\">\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n", dependencies: [{ kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.HeaderBarComponent, selector: "c8y-header-bar", inputs: ["simple"] }, { kind: "component", type: i12.LoginComponent, selector: "c8y-login", inputs: ["name"] }, { kind: "directive", type: i13.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i14.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen"] }, { kind: "component", type: i15.ActionBarComponent, selector: "c8y-action-bar", inputs: ["navigatorOpen", "hasTabs", "isTabsHorizontal", "items$"] }, { kind: "component", type: i16.AlertOutletComponent, selector: "c8y-alert-outlet" }, { kind: "component", type: i17.SetupComponent, selector: "c8y-setup" }, { kind: "component", type: i18.DrawerOutletComponent, selector: "c8y-drawer-outlet", inputs: ["position", "open"] }, { kind: "component", type: i19.CookieBannerComponent, selector: "c8y-cookie-banner" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }] });
|
|
144
|
+
BootstrapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: BootstrapComponent, selector: "c8y-bootstrap", ngImport: i0, template: "<c8y-login *ngIf=\"showLogin$ | async\"></c8y-login>\n\n<div class=\"init-load\" *ngIf=\"showLoadingIndicator$ | async\">\n <div class=\"spinner-snake\"></div>\n <div class=\"mainlogo-placeholder mainlogo\"></div>\n</div>\n\n<div\n *ngIf=\"showMainView$ | async\"\n [class.head-open]=\"headerService.headerOpen\"\n>\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-drawer-outlet\n role=\"region\"\n position=\"left\"\n data-cy=\"bootstrap.template--c8y-drawer-outlet\"\n [open]=\"headerService.navigatorOpen$ | async\"\n [tabindex]=\"(headerService.navigatorOpen$ | async) ? '0' : '-1'\"\n ></c8y-drawer-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n role=\"navigation\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n role=\"group\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden\n }\"\n >\n <main id=\"main-content\" class=\"container-fluid\" tabindex=\"-1\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"showSetup$ | async\">\n <c8y-header-bar [simple]=\"true\"></c8y-header-bar>\n <div class=\"mcontainer\" role=\"main\">\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n", dependencies: [{ kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i11.HeaderBarComponent, selector: "c8y-header-bar", inputs: ["simple"] }, { kind: "component", type: i12.LoginComponent, selector: "c8y-login", inputs: ["name"] }, { kind: "directive", type: i13.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i14.TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: ["tabs", "orientation", "navigatorOpen"] }, { kind: "component", type: i15.ActionBarComponent, selector: "c8y-action-bar", inputs: ["navigatorOpen", "hasTabs", "isTabsHorizontal", "items$"] }, { kind: "component", type: i16.AlertOutletComponent, selector: "c8y-alert-outlet" }, { kind: "component", type: i17.SetupComponent, selector: "c8y-setup" }, { kind: "component", type: i18.DrawerOutletComponent, selector: "c8y-drawer-outlet", inputs: ["position", "open"] }, { kind: "component", type: i19.CookieBannerComponent, selector: "c8y-cookie-banner" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }] });
|
|
145
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: BootstrapComponent, decorators: [{
|
|
146
146
|
type: Component,
|
|
147
|
-
args: [{ selector: 'c8y-bootstrap', template: "<c8y-login *ngIf=\"showLogin$ | async\"></c8y-login>\n\n<div class=\"init-load\" *ngIf=\"showLoadingIndicator$ | async\">\n <div class=\"spinner-snake\"></div>\n <div class=\"mainlogo-placeholder mainlogo\"></div>\n</div>\n\n<div\n *ngIf=\"showMainView$ | async\"\n [class.head-open]=\"headerService.headerOpen\"\n>\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-drawer-outlet\n role=\"region\"\n position=\"left\"\n [open]=\"headerService.navigatorOpen$ | async\"\n [tabindex]=\"(headerService.navigatorOpen$ | async) ? '0' : '-1'\"\n ></c8y-drawer-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n role=\"navigation\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n role=\"group\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden\n }\"\n >\n <main id=\"main-content\" class=\"container-fluid\" tabindex=\"-1\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"showSetup$ | async\">\n <c8y-header-bar [simple]=\"true\"></c8y-header-bar>\n <div class=\"mcontainer\" role=\"main\">\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n" }]
|
|
147
|
+
args: [{ selector: 'c8y-bootstrap', template: "<c8y-login *ngIf=\"showLogin$ | async\"></c8y-login>\n\n<div class=\"init-load\" *ngIf=\"showLoadingIndicator$ | async\">\n <div class=\"spinner-snake\"></div>\n <div class=\"mainlogo-placeholder mainlogo\"></div>\n</div>\n\n<div\n *ngIf=\"showMainView$ | async\"\n [class.head-open]=\"headerService.headerOpen\"\n>\n <c8y-header-bar #header></c8y-header-bar>\n <c8y-drawer-outlet\n role=\"region\"\n position=\"left\"\n data-cy=\"bootstrap.template--c8y-drawer-outlet\"\n [open]=\"headerService.navigatorOpen$ | async\"\n [tabindex]=\"(headerService.navigatorOpen$ | async) ? '0' : '-1'\"\n ></c8y-drawer-outlet>\n\n <div class=\"alerts\">\n <c8y-alert-outlet></c8y-alert-outlet>\n </div>\n <c8y-tabs-outlet\n #tabsComponent\n [tabs]=\"tabs.items$ | async\"\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [orientation]=\"tabs.orientation$ | async\"\n role=\"navigation\"\n ></c8y-tabs-outlet>\n <c8y-action-bar\n #actionBarComponent\n [navigatorOpen]=\"headerService.navigatorOpen$ | async\"\n [hasTabs]=\"tabsComponent.hasTabs\"\n [isTabsHorizontal]=\"tabsComponent?.isHorizontal\"\n [items$]=\"actionBar.items$\"\n role=\"group\"\n ></c8y-action-bar>\n\n <div\n class=\"mcontainer\"\n [ngClass]=\"{\n open: headerService.navigatorOpen$ | async,\n 'no-apps-margin': noAppsMargin$ | async,\n 'horizontal-tabs': tabsComponent.isHorizontal,\n 'vertical-tabs': !tabsComponent.isHorizontal,\n 'has-tabs': tabsComponent.hasTabs,\n 'has-action-bar': !actionBarComponent?.hidden\n }\"\n >\n <main id=\"main-content\" class=\"container-fluid\" tabindex=\"-1\">\n <router-outlet></router-outlet>\n <ng-content select=\"#c8y-legacy-view\"></ng-content>\n <!-- legacy ng-view, will not be migrated atm -->\n </main>\n </div>\n</div>\n\n<div *ngIf=\"showSetup$ | async\">\n <c8y-header-bar [simple]=\"true\"></c8y-header-bar>\n <div class=\"mcontainer\" role=\"main\">\n <div class=\"container-fluid\">\n <c8y-setup></c8y-setup>\n </div>\n </div>\n</div>\n\n<c8y-cookie-banner></c8y-cookie-banner>\n" }]
|
|
148
148
|
}], ctorParameters: function () { return [{ type: i1.TabsService }, { type: i2.AppStateService }, { type: i3.NavigatorService }, { type: i4.ActionBarService }, { type: i5.HeaderService }, { type: i6.OptionsService }, { type: i7.PluginsResolveService }, { type: i8.SetupService }, { type: i9.LoginService }]; } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU10RCxNQUFNLE9BQU8sa0JBQWtCO0lBWTdCLFlBQ1MsSUFBaUIsRUFDakIsRUFBbUIsRUFDbkIs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SyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDbkMsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBVSxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0I7YUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsTUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDNUMsQ0FBQzs7K0dBN0lVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFEQ3BCL0IsMGlFQW1FQTsyRkQvQ2Esa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb24tYmFyL2FjdGlvbi1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdG9yL25hdmlnYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbnNSZXNvbHZlU2VydmljZSB9IGZyb20gJy4uL3BsdWdpbnMvcGx1Z2lucy1yZXNvbHZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGx1Z2luc0NvbmZpZyB9IGZyb20gJy4uL3BsdWdpbnMvcGx1Z2lucy5tb2RlbCc7XG5pbXBvcnQgeyBTZXR1cFNlcnZpY2UgfSBmcm9tICcuLi9zZXR1cC9zZXR1cC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNTZXJ2aWNlIH0gZnJvbSAnLi4vdGFicy90YWJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJvb3RzdHJhcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ib290c3RyYXAudGVtcGxhdGUuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBuYXZpZ2F0b3JPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbm9BcHBzTWFyZ2luJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdGFic09yaWVudGF0aW9uOiBzdHJpbmc7XG4gIHNob3dQb3dlcmVkQnkgPSB0cnVlO1xuICBzaG93TG9naW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzaG93TG9hZGluZ0luZGljYXRvciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNob3dNYWluVmlldyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNob3dTZXR1cCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYnM6IFRhYnNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1aTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBuYXZpZ2F0b3I6IE5hdmlnYXRvclNlcnZpY2UsXG4gICAgcHVibGljIGFjdGlvbkJhcjogQWN0aW9uQmFyU2VydmljZSxcbiAgICBwdWJsaWMgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGx1Z2luc1Jlc29sdmU6IFBsdWdpbnNSZXNvbHZlU2VydmljZSxcbiAgICBwdWJsaWMgc2V0dXBTZXJ2aWNlOiBTZXR1cFNlcnZpY2UsXG4gICAgcHVibGljIGxvZ2luU2VydmljZTogTG9naW5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubm9BcHBzTWFyZ2luJCA9IHRoaXMuaGVhZGVyU2VydmljZS5tYXAoKHsgbmF2IH0pID0+ICFuYXYub3BlbiAmJiBuYXYuaGlkZGVuT25TdGFydHVwKTtcbiAgICB0aGlzLnRhYnNPcmllbnRhdGlvbiA9IHRoaXMub3B0aW9ucy50YWJzSG9yaXpvbnRhbCA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCc7XG4gICAgdGhpcy51aVxuICAgICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpb25CYXIucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gICAgdGhpcy5zaG93UG93ZXJlZEJ5ID0gIXRoaXMub3B0aW9ucy5nZXQoJ2hpZGVQb3dlcmVkJyk7XG4gICAgY29uc3Qgbm9Mb2dpbiQgPSBvZih0aGlzLm9wdGlvbnMuZ2V0PGJvb2xlYW4+KCdub0xvZ2luJywgZmFsc2UpKTtcbiAgICB0aGlzLnNob3dMb2dpbiQgPSBjb21iaW5lTGF0ZXN0KFtub0xvZ2luJCwgdGhpcy51aS5jdXJyZW50VXNlcl0pLnBpcGUoXG4gICAgICBtYXAoKFtub0xvZ2luLCBjdXJyZW50VXNlcl0pID0+ICFub0xvZ2luICYmICFjdXJyZW50VXNlcilcbiAgICApO1xuICAgIHRoaXMuc2hvd0xvYWRpbmdJbmRpY2F0b3IkID0gY29tYmluZUxhdGVzdChbXG4gICAgICBub0xvZ2luJCxcbiAgICAgIHRoaXMudWkuY3VycmVudFVzZXIsXG4gICAgICB0aGlzLmxvZ2luU2VydmljZS5hdXRvbWF0aWNMb2dpbkluUHJvZ3Jlc3MkLFxuICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5hbGxQbHVnaW5zTG9hZGVkJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbbm9Mb2dpbiwgY3VycmVudFVzZXIsIGF1dG9tYXRpY0xvZ2luSW5Qcm9ncmVzcywgYWxsUGx1Z2luc0xvYWRlZF0pID0+XG4gICAgICAgICAgKCFub0xvZ2luICYmIGF1dG9tYXRpY0xvZ2luSW5Qcm9ncmVzcykgfHwgKGN1cnJlbnRVc2VyICYmICFhbGxQbHVnaW5zTG9hZGVkKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aCh0cnVlKVxuICAgICk7XG4gICAgdGhpcy5zaG93TWFpblZpZXckID0gbm9Mb2dpbiQucGlwZShcbiAgICAgIHN3aXRjaE1hcChub0xvZ2luID0+IHtcbiAgICAgICAgaWYgKG5vTG9naW4pIHtcbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIHRoaXMudWkuY3VycmVudFVzZXIsXG4gICAgICAgICAgdGhpcy5zZXR1cFNlcnZpY2UuaXNTZXR1cE5lZWRlZCQsXG4gICAgICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5hbGxQbHVnaW5zTG9hZGVkJFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW2N1cnJlbnRVc2VyLCBpc1NldHVwTmVlZGVkLCBhbGxQbHVnaW5zTG9hZGVkXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRVc2VyICYmICFpc1NldHVwTmVlZGVkICYmIGFsbFBsdWdpbnNMb2FkZWQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNob3dTZXR1cCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnVpLmN1cnJlbnRVc2VyLCB0aGlzLnNldHVwU2VydmljZS5pc1NldHVwTmVlZGVkJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjdXJyZW50VXNlciwgaXNTZXR1cE5lZWRlZF0pID0+IGN1cnJlbnRVc2VyICYmIGlzU2V0dXBOZWVkZWQpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Mb2FkUmVtb3RlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZW1vdGVzKGNvbmZpZzogUGx1Z2luc0NvbmZpZyk6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyB7XG4gICAgbGV0IHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucztcbiAgICBpZiAoISFjb25maWc/LnJlbW90ZXMpIHtcbiAgICAgIC8vIE1lcmdlIHBsdWdpbnMgY29uZmlnIHJlbW90ZXMgYW5kIHJlbW90ZXMgcGFzc2VkIGluIHRoZSBVUkwuXG4gICAgICAvLyBSZW1vdGVzIGluIHRoZSBVUkwgYXJlIHVzZWQgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MuXG4gICAgICByZW1vdGVzID0gdGhpcy5wbHVnaW5zUmVzb2x2ZS5tZXJnZU1GUmVtb3RlcyhbXG4gICAgICAgIGNvbmZpZy5yZW1vdGVzLFxuICAgICAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLmxvYWRVcmxSZW1vdGVzKClcbiAgICAgIF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdGVzID0gdGhpcy5vcHRpb25zPy5yZW1vdGVzO1xuICAgIH1cblxuICAgIC8vIEJsb2NrIHRoZSBwb3NzaWJpbGl0eSBvZiBsb2FkaW5nIHBsdWdpbnMgbXVsdGlwbGUgdGltZXMuXG4gICAgT2JqZWN0LmtleXMocmVtb3RlcyB8fCB7fSkuZm9yRWFjaChjb250ZXh0UGF0aCA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkZWRSZW1vdGVzQ29udGV4dFBhdGhDYWNoZS5nZXQoY29udGV4dFBhdGgpKSB7XG4gICAgICAgIGRlbGV0ZSByZW1vdGVzW2NvbnRleHRQYXRoXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXNFbXB0eShyZW1vdGVzKSA/IHVuZGVmaW5lZCA6IHJlbW90ZXM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRSZW1vdGVzKHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucykge1xuICAgIGlmICghcmVtb3Rlcykge1xuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVtb3RlTW9kdWxlcyA9IGF3YWl0IHRoaXMucGx1Z2luc1Jlc29sdmUubG9hZFJlbW90ZXMocmVtb3Rlcyk7XG5cbiAgICAvLyBDYWNoZSBsb2FkZWQgcmVtb3Rlcy5cbiAgICBPYmplY3Qua2V5cyhyZW1vdGVzKS5mb3JFYWNoKGNvbnRleHRQYXRoID0+XG4gICAgICB0aGlzLmxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlLnNldChjb250ZXh0UGF0aCwgdHJ1ZSlcbiAgICApO1xuXG4gICAgaWYgKHJlbW90ZU1vZHVsZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLnJlc29sdmVSZW1vdGVQbHVnaW5zKHJlbW90ZU1vZHVsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbiBjYXNlIGxvYWRpbmcgYWxsIG1vZHVsZXMgdmlhIHBsdWdpbnNSZXNvbHZlLmxvYWRSZW1vdGVzIGZhaWxlZFxuICAgICAgLy8gKGUuZy4gYWxsIHBsdWdpbnMgdGhhdCB3ZXJlIGluc3RhbGxlZCBoYXZlIGJlZW4gZGVsZXRlZCBmcm9tIHRoZSB0ZW5hbnQpXG4gICAgICAvLyB3ZSBzdGlsbCBuZWVkIHRvIG1hcmsgbG9hZGluZyB0aGUgcGx1Z2lucyBhcyBzdWNjZXNzZnVsLlxuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvTG9hZFJlbW90ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5nZXQoJ25vUGx1Z2lucycsIGZhbHNlKSkge1xuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmdldDxib29sZWFuPignbm9Mb2dpbicsIGZhbHNlKSkge1xuICAgICAgdGhpcy5sb2FkUmVtb3Rlcyh0aGlzLmdldFJlbW90ZXMobnVsbCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudWkuY3VycmVudEFwcGxpY2F0aW9uQ29uZmlnXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IFBsdWdpbnNDb25maWcpID0+IHRoaXMubG9hZFJlbW90ZXModGhpcy5nZXRSZW1vdGVzKGNvbmZpZykpKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk6IHZvaWQge1xuICAgIC8vIGVuc3VyZSB3ZSBjYWxsIG1hcmtQbHVnaW5zQXNMb2FkZWQgb24gdGhlIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlXG4gICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5tYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gIH1cbn1cbiIsIjxjOHktbG9naW4gKm5nSWY9XCJzaG93TG9naW4kIHwgYXN5bmNcIj48L2M4eS1sb2dpbj5cblxuPGRpdiBjbGFzcz1cImluaXQtbG9hZFwiICpuZ0lmPVwic2hvd0xvYWRpbmdJbmRpY2F0b3IkIHwgYXN5bmNcIj5cbiAgPGRpdiBjbGFzcz1cInNwaW5uZXItc25ha2VcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1haW5sb2dvLXBsYWNlaG9sZGVyIG1haW5sb2dvXCI+PC9kaXY+XG48L2Rpdj5cblxuPGRpdlxuICAqbmdJZj1cInNob3dNYWluVmlldyQgfCBhc3luY1wiXG4gIFtjbGFzcy5oZWFkLW9wZW5dPVwiaGVhZGVyU2VydmljZS5oZWFkZXJPcGVuXCJcbj5cbiAgPGM4eS1oZWFkZXItYmFyICNoZWFkZXI+PC9jOHktaGVhZGVyLWJhcj5cbiAgPGM4eS1kcmF3ZXItb3V0bGV0XG4gICAgcm9sZT1cInJlZ2lvblwiXG4gICAgcG9zaXRpb249XCJsZWZ0XCJcbiAgICBbb3Blbl09XCJoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmNcIlxuICAgIFt0YWJpbmRleF09XCIoaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jKSA/ICcwJyA6ICctMSdcIlxuICA+PC9jOHktZHJhd2VyLW91dGxldD5cblxuICA8ZGl2IGNsYXNzPVwiYWxlcnRzXCI+XG4gICAgPGM4eS1hbGVydC1vdXRsZXQ+PC9jOHktYWxlcnQtb3V0bGV0PlxuICA8L2Rpdj5cbiAgPGM4eS10YWJzLW91dGxldFxuICAgICN0YWJzQ29tcG9uZW50XG4gICAgW3RhYnNdPVwidGFicy5pdGVtcyQgfCBhc3luY1wiXG4gICAgW25hdmlnYXRvck9wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICBbb3JpZW50YXRpb25dPVwidGFicy5vcmllbnRhdGlvbiQgfCBhc3luY1wiXG4gICAgcm9sZT1cIm5hdmlnYXRpb25cIlxuICA+PC9jOHktdGFicy1vdXRsZXQ+XG4gIDxjOHktYWN0aW9uLWJhclxuICAgICNhY3Rpb25CYXJDb21wb25lbnRcbiAgICBbbmF2aWdhdG9yT3Blbl09XCJoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmNcIlxuICAgIFtoYXNUYWJzXT1cInRhYnNDb21wb25lbnQuaGFzVGFic1wiXG4gICAgW2lzVGFic0hvcml6b250YWxdPVwidGFic0NvbXBvbmVudD8uaXNIb3Jpem9udGFsXCJcbiAgICBbaXRlbXMkXT1cImFjdGlvbkJhci5pdGVtcyRcIlxuICAgIHJvbGU9XCJncm91cFwiXG4gID48L2M4eS1hY3Rpb24tYmFyPlxuXG4gIDxkaXZcbiAgICBjbGFzcz1cIm1jb250YWluZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIG9wZW46IGhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luYyxcbiAgICAgICduby1hcHBzLW1hcmdpbic6IG5vQXBwc01hcmdpbiQgfCBhc3luYyxcbiAgICAgICdob3Jpem9udGFsLXRhYnMnOiB0YWJzQ29tcG9uZW50LmlzSG9yaXpvbnRhbCxcbiAgICAgICd2ZXJ0aWNhbC10YWJzJzogIXRhYnNDb21wb25lbnQuaXNIb3Jpem9udGFsLFxuICAgICAgJ2hhcy10YWJzJzogdGFic0NvbXBvbmVudC5oYXNUYWJzLFxuICAgICAgJ2hhcy1hY3Rpb24tYmFyJzogIWFjdGlvbkJhckNvbXBvbmVudD8uaGlkZGVuXG4gICAgfVwiXG4gID5cbiAgICA8bWFpbiBpZD1cIm1haW4tY29udGVudFwiIGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiI2M4eS1sZWdhY3ktdmlld1wiPjwvbmctY29udGVudD5cbiAgICAgIDwhLS0gbGVnYWN5IG5nLXZpZXcsIHdpbGwgbm90IGJlIG1pZ3JhdGVkIGF0bSAtLT5cbiAgICA8L21haW4+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJzaG93U2V0dXAkIHwgYXN5bmNcIj5cbiAgPGM4eS1oZWFkZXItYmFyIFtzaW1wbGVdPVwidHJ1ZVwiPjwvYzh5LWhlYWRlci1iYXI+XG4gIDxkaXYgY2xhc3M9XCJtY29udGFpbmVyXCIgcm9sZT1cIm1haW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZsdWlkXCI+XG4gICAgICA8Yzh5LXNldHVwPjwvYzh5LXNldHVwPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48Yzh5LWNvb2tpZS1iYW5uZXI+PC9jOHktY29va2llLWJhbm5lcj5cbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9ib290c3RyYXAudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQWMsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU10RCxNQUFNLE9BQU8sa0JBQWtCO0lBWTdCLFlBQ1MsSUFBaUIsRUFDakIsRUFBbUIsRUFDbkIs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SyxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDbkMsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBVSxTQUFTLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0I7YUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsTUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8sMkJBQTJCO1FBQ2pDLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDNUMsQ0FBQzs7K0dBN0lVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFEQ3BCL0IsaW1FQW9FQTsyRkRoRGEsa0JBQWtCO2tCQUo5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnMgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbkJhclNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb24tYmFyL2FjdGlvbi1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdG9yL25hdmlnYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFBsdWdpbnNSZXNvbHZlU2VydmljZSB9IGZyb20gJy4uL3BsdWdpbnMvcGx1Z2lucy1yZXNvbHZlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGx1Z2luc0NvbmZpZyB9IGZyb20gJy4uL3BsdWdpbnMvcGx1Z2lucy5tb2RlbCc7XG5pbXBvcnQgeyBTZXR1cFNlcnZpY2UgfSBmcm9tICcuLi9zZXR1cC9zZXR1cC5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYnNTZXJ2aWNlIH0gZnJvbSAnLi4vdGFicy90YWJzLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJvb3RzdHJhcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ib290c3RyYXAudGVtcGxhdGUuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQm9vdHN0cmFwQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBuYXZpZ2F0b3JPcGVuJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbm9BcHBzTWFyZ2luJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgdGFic09yaWVudGF0aW9uOiBzdHJpbmc7XG4gIHNob3dQb3dlcmVkQnkgPSB0cnVlO1xuICBzaG93TG9naW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBzaG93TG9hZGluZ0luZGljYXRvciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNob3dNYWluVmlldyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHNob3dTZXR1cCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICBwcml2YXRlIGxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhYnM6IFRhYnNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1aTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBuYXZpZ2F0b3I6IE5hdmlnYXRvclNlcnZpY2UsXG4gICAgcHVibGljIGFjdGlvbkJhcjogQWN0aW9uQmFyU2VydmljZSxcbiAgICBwdWJsaWMgaGVhZGVyU2VydmljZTogSGVhZGVyU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGx1Z2luc1Jlc29sdmU6IFBsdWdpbnNSZXNvbHZlU2VydmljZSxcbiAgICBwdWJsaWMgc2V0dXBTZXJ2aWNlOiBTZXR1cFNlcnZpY2UsXG4gICAgcHVibGljIGxvZ2luU2VydmljZTogTG9naW5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubm9BcHBzTWFyZ2luJCA9IHRoaXMuaGVhZGVyU2VydmljZS5tYXAoKHsgbmF2IH0pID0+ICFuYXYub3BlbiAmJiBuYXYuaGlkZGVuT25TdGFydHVwKTtcbiAgICB0aGlzLnRhYnNPcmllbnRhdGlvbiA9IHRoaXMub3B0aW9ucy50YWJzSG9yaXpvbnRhbCA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCc7XG4gICAgdGhpcy51aVxuICAgICAgLm1hcCgoeyBsYW5nIH0pID0+IGxhbmcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hY3Rpb25CYXIucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gICAgdGhpcy5zaG93UG93ZXJlZEJ5ID0gIXRoaXMub3B0aW9ucy5nZXQoJ2hpZGVQb3dlcmVkJyk7XG4gICAgY29uc3Qgbm9Mb2dpbiQgPSBvZih0aGlzLm9wdGlvbnMuZ2V0PGJvb2xlYW4+KCdub0xvZ2luJywgZmFsc2UpKTtcbiAgICB0aGlzLnNob3dMb2dpbiQgPSBjb21iaW5lTGF0ZXN0KFtub0xvZ2luJCwgdGhpcy51aS5jdXJyZW50VXNlcl0pLnBpcGUoXG4gICAgICBtYXAoKFtub0xvZ2luLCBjdXJyZW50VXNlcl0pID0+ICFub0xvZ2luICYmICFjdXJyZW50VXNlcilcbiAgICApO1xuICAgIHRoaXMuc2hvd0xvYWRpbmdJbmRpY2F0b3IkID0gY29tYmluZUxhdGVzdChbXG4gICAgICBub0xvZ2luJCxcbiAgICAgIHRoaXMudWkuY3VycmVudFVzZXIsXG4gICAgICB0aGlzLmxvZ2luU2VydmljZS5hdXRvbWF0aWNMb2dpbkluUHJvZ3Jlc3MkLFxuICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5hbGxQbHVnaW5zTG9hZGVkJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoXG4gICAgICAgIChbbm9Mb2dpbiwgY3VycmVudFVzZXIsIGF1dG9tYXRpY0xvZ2luSW5Qcm9ncmVzcywgYWxsUGx1Z2luc0xvYWRlZF0pID0+XG4gICAgICAgICAgKCFub0xvZ2luICYmIGF1dG9tYXRpY0xvZ2luSW5Qcm9ncmVzcykgfHwgKGN1cnJlbnRVc2VyICYmICFhbGxQbHVnaW5zTG9hZGVkKVxuICAgICAgKSxcbiAgICAgIHN0YXJ0V2l0aCh0cnVlKVxuICAgICk7XG4gICAgdGhpcy5zaG93TWFpblZpZXckID0gbm9Mb2dpbiQucGlwZShcbiAgICAgIHN3aXRjaE1hcChub0xvZ2luID0+IHtcbiAgICAgICAgaWYgKG5vTG9naW4pIHtcbiAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIHRoaXMudWkuY3VycmVudFVzZXIsXG4gICAgICAgICAgdGhpcy5zZXR1cFNlcnZpY2UuaXNTZXR1cE5lZWRlZCQsXG4gICAgICAgICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5hbGxQbHVnaW5zTG9hZGVkJFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW2N1cnJlbnRVc2VyLCBpc1NldHVwTmVlZGVkLCBhbGxQbHVnaW5zTG9hZGVkXSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRVc2VyICYmICFpc1NldHVwTmVlZGVkICYmIGFsbFBsdWdpbnNMb2FkZWQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnNob3dTZXR1cCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnVpLmN1cnJlbnRVc2VyLCB0aGlzLnNldHVwU2VydmljZS5pc1NldHVwTmVlZGVkJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjdXJyZW50VXNlciwgaXNTZXR1cE5lZWRlZF0pID0+IGN1cnJlbnRVc2VyICYmIGlzU2V0dXBOZWVkZWQpXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaWJlVG9Mb2FkUmVtb3RlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZW1vdGVzKGNvbmZpZzogUGx1Z2luc0NvbmZpZyk6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucyB7XG4gICAgbGV0IHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucztcbiAgICBpZiAoISFjb25maWc/LnJlbW90ZXMpIHtcbiAgICAgIC8vIE1lcmdlIHBsdWdpbnMgY29uZmlnIHJlbW90ZXMgYW5kIHJlbW90ZXMgcGFzc2VkIGluIHRoZSBVUkwuXG4gICAgICAvLyBSZW1vdGVzIGluIHRoZSBVUkwgYXJlIHVzZWQgaW4gdGhlIGRldmVsb3BtZW50IHByb2Nlc3MuXG4gICAgICByZW1vdGVzID0gdGhpcy5wbHVnaW5zUmVzb2x2ZS5tZXJnZU1GUmVtb3RlcyhbXG4gICAgICAgIGNvbmZpZy5yZW1vdGVzLFxuICAgICAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLmxvYWRVcmxSZW1vdGVzKClcbiAgICAgIF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZW1vdGVzID0gdGhpcy5vcHRpb25zPy5yZW1vdGVzO1xuICAgIH1cblxuICAgIC8vIEJsb2NrIHRoZSBwb3NzaWJpbGl0eSBvZiBsb2FkaW5nIHBsdWdpbnMgbXVsdGlwbGUgdGltZXMuXG4gICAgT2JqZWN0LmtleXMocmVtb3RlcyB8fCB7fSkuZm9yRWFjaChjb250ZXh0UGF0aCA9PiB7XG4gICAgICBpZiAodGhpcy5sb2FkZWRSZW1vdGVzQ29udGV4dFBhdGhDYWNoZS5nZXQoY29udGV4dFBhdGgpKSB7XG4gICAgICAgIGRlbGV0ZSByZW1vdGVzW2NvbnRleHRQYXRoXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gaXNFbXB0eShyZW1vdGVzKSA/IHVuZGVmaW5lZCA6IHJlbW90ZXM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRSZW1vdGVzKHJlbW90ZXM6IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucykge1xuICAgIGlmICghcmVtb3Rlcykge1xuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVtb3RlTW9kdWxlcyA9IGF3YWl0IHRoaXMucGx1Z2luc1Jlc29sdmUubG9hZFJlbW90ZXMocmVtb3Rlcyk7XG5cbiAgICAvLyBDYWNoZSBsb2FkZWQgcmVtb3Rlcy5cbiAgICBPYmplY3Qua2V5cyhyZW1vdGVzKS5mb3JFYWNoKGNvbnRleHRQYXRoID0+XG4gICAgICB0aGlzLmxvYWRlZFJlbW90ZXNDb250ZXh0UGF0aENhY2hlLnNldChjb250ZXh0UGF0aCwgdHJ1ZSlcbiAgICApO1xuXG4gICAgaWYgKHJlbW90ZU1vZHVsZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnBsdWdpbnNSZXNvbHZlLnJlc29sdmVSZW1vdGVQbHVnaW5zKHJlbW90ZU1vZHVsZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbiBjYXNlIGxvYWRpbmcgYWxsIG1vZHVsZXMgdmlhIHBsdWdpbnNSZXNvbHZlLmxvYWRSZW1vdGVzIGZhaWxlZFxuICAgICAgLy8gKGUuZy4gYWxsIHBsdWdpbnMgdGhhdCB3ZXJlIGluc3RhbGxlZCBoYXZlIGJlZW4gZGVsZXRlZCBmcm9tIHRoZSB0ZW5hbnQpXG4gICAgICAvLyB3ZSBzdGlsbCBuZWVkIHRvIG1hcmsgbG9hZGluZyB0aGUgcGx1Z2lucyBhcyBzdWNjZXNzZnVsLlxuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvTG9hZFJlbW90ZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5nZXQoJ25vUGx1Z2lucycsIGZhbHNlKSkge1xuICAgICAgdGhpcy5lbnN1cmVXZU1hcmtQbHVnaW5zQXNMb2FkZWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmdldDxib29sZWFuPignbm9Mb2dpbicsIGZhbHNlKSkge1xuICAgICAgdGhpcy5sb2FkUmVtb3Rlcyh0aGlzLmdldFJlbW90ZXMobnVsbCkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudWkuY3VycmVudEFwcGxpY2F0aW9uQ29uZmlnXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChjb25maWc6IFBsdWdpbnNDb25maWcpID0+IHRoaXMubG9hZFJlbW90ZXModGhpcy5nZXRSZW1vdGVzKGNvbmZpZykpKTtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlV2VNYXJrUGx1Z2luc0FzTG9hZGVkKCk6IHZvaWQge1xuICAgIC8vIGVuc3VyZSB3ZSBjYWxsIG1hcmtQbHVnaW5zQXNMb2FkZWQgb24gdGhlIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlXG4gICAgdGhpcy5wbHVnaW5zUmVzb2x2ZS5tYXJrUGx1Z2luc0FzTG9hZGVkKCk7XG4gIH1cbn1cbiIsIjxjOHktbG9naW4gKm5nSWY9XCJzaG93TG9naW4kIHwgYXN5bmNcIj48L2M4eS1sb2dpbj5cblxuPGRpdiBjbGFzcz1cImluaXQtbG9hZFwiICpuZ0lmPVwic2hvd0xvYWRpbmdJbmRpY2F0b3IkIHwgYXN5bmNcIj5cbiAgPGRpdiBjbGFzcz1cInNwaW5uZXItc25ha2VcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1haW5sb2dvLXBsYWNlaG9sZGVyIG1haW5sb2dvXCI+PC9kaXY+XG48L2Rpdj5cblxuPGRpdlxuICAqbmdJZj1cInNob3dNYWluVmlldyQgfCBhc3luY1wiXG4gIFtjbGFzcy5oZWFkLW9wZW5dPVwiaGVhZGVyU2VydmljZS5oZWFkZXJPcGVuXCJcbj5cbiAgPGM4eS1oZWFkZXItYmFyICNoZWFkZXI+PC9jOHktaGVhZGVyLWJhcj5cbiAgPGM4eS1kcmF3ZXItb3V0bGV0XG4gICAgcm9sZT1cInJlZ2lvblwiXG4gICAgcG9zaXRpb249XCJsZWZ0XCJcbiAgICBkYXRhLWN5PVwiYm9vdHN0cmFwLnRlbXBsYXRlLS1jOHktZHJhd2VyLW91dGxldFwiXG4gICAgW29wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICBbdGFiaW5kZXhdPVwiKGhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luYykgPyAnMCcgOiAnLTEnXCJcbiAgPjwvYzh5LWRyYXdlci1vdXRsZXQ+XG5cbiAgPGRpdiBjbGFzcz1cImFsZXJ0c1wiPlxuICAgIDxjOHktYWxlcnQtb3V0bGV0PjwvYzh5LWFsZXJ0LW91dGxldD5cbiAgPC9kaXY+XG4gIDxjOHktdGFicy1vdXRsZXRcbiAgICAjdGFic0NvbXBvbmVudFxuICAgIFt0YWJzXT1cInRhYnMuaXRlbXMkIHwgYXN5bmNcIlxuICAgIFtuYXZpZ2F0b3JPcGVuXT1cImhlYWRlclNlcnZpY2UubmF2aWdhdG9yT3BlbiQgfCBhc3luY1wiXG4gICAgW29yaWVudGF0aW9uXT1cInRhYnMub3JpZW50YXRpb24kIHwgYXN5bmNcIlxuICAgIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgPjwvYzh5LXRhYnMtb3V0bGV0PlxuICA8Yzh5LWFjdGlvbi1iYXJcbiAgICAjYWN0aW9uQmFyQ29tcG9uZW50XG4gICAgW25hdmlnYXRvck9wZW5dPVwiaGVhZGVyU2VydmljZS5uYXZpZ2F0b3JPcGVuJCB8IGFzeW5jXCJcbiAgICBbaGFzVGFic109XCJ0YWJzQ29tcG9uZW50Lmhhc1RhYnNcIlxuICAgIFtpc1RhYnNIb3Jpem9udGFsXT1cInRhYnNDb21wb25lbnQ/LmlzSG9yaXpvbnRhbFwiXG4gICAgW2l0ZW1zJF09XCJhY3Rpb25CYXIuaXRlbXMkXCJcbiAgICByb2xlPVwiZ3JvdXBcIlxuICA+PC9jOHktYWN0aW9uLWJhcj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICBvcGVuOiBoZWFkZXJTZXJ2aWNlLm5hdmlnYXRvck9wZW4kIHwgYXN5bmMsXG4gICAgICAnbm8tYXBwcy1tYXJnaW4nOiBub0FwcHNNYXJnaW4kIHwgYXN5bmMsXG4gICAgICAnaG9yaXpvbnRhbC10YWJzJzogdGFic0NvbXBvbmVudC5pc0hvcml6b250YWwsXG4gICAgICAndmVydGljYWwtdGFicyc6ICF0YWJzQ29tcG9uZW50LmlzSG9yaXpvbnRhbCxcbiAgICAgICdoYXMtdGFicyc6IHRhYnNDb21wb25lbnQuaGFzVGFicyxcbiAgICAgICdoYXMtYWN0aW9uLWJhcic6ICFhY3Rpb25CYXJDb21wb25lbnQ/LmhpZGRlblxuICAgIH1cIlxuICA+XG4gICAgPG1haW4gaWQ9XCJtYWluLWNvbnRlbnRcIiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIiNjOHktbGVnYWN5LXZpZXdcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8IS0tIGxlZ2FjeSBuZy12aWV3LCB3aWxsIG5vdCBiZSBtaWdyYXRlZCBhdG0gLS0+XG4gICAgPC9tYWluPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwic2hvd1NldHVwJCB8IGFzeW5jXCI+XG4gIDxjOHktaGVhZGVyLWJhciBbc2ltcGxlXT1cInRydWVcIj48L2M4eS1oZWFkZXItYmFyPlxuICA8ZGl2IGNsYXNzPVwibWNvbnRhaW5lclwiIHJvbGU9XCJtYWluXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1mbHVpZFwiPlxuICAgICAgPGM4eS1zZXR1cD48L2M4eS1zZXR1cD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGM4eS1jb29raWUtYmFubmVyPjwvYzh5LWNvb2tpZS1iYW5uZXI+XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { FormlyJsonschema } from '@ngx-formly/core/json-schema';
|
|
3
|
-
import { omit } from 'lodash-es';
|
|
3
|
+
import { omit, has, get } from 'lodash-es';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class C8yJSONSchema extends FormlyJsonschema {
|
|
6
6
|
toFieldConfig(schema, options) {
|
|
@@ -11,6 +11,12 @@ export class C8yJSONSchema extends FormlyJsonschema {
|
|
|
11
11
|
return {
|
|
12
12
|
map(mappedField, mapSource) {
|
|
13
13
|
let result = mappedField;
|
|
14
|
+
if (has(mapSource, 'order')) {
|
|
15
|
+
result = {
|
|
16
|
+
...result,
|
|
17
|
+
order: get(mapSource, 'order')
|
|
18
|
+
};
|
|
19
|
+
}
|
|
14
20
|
if (mapSource.type === 'number') {
|
|
15
21
|
// TODO: remove validators and parser overrides when ngx-formly issue is fixed https://github.com/ngx-formly/ngx-formly/issues/3757
|
|
16
22
|
// validator override is needed so empty value can be saved if field is not required
|
|
@@ -127,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
127
133
|
providedIn: 'root'
|
|
128
134
|
}]
|
|
129
135
|
}] });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LWpzb24tc2NoZW1hLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2R5bmFtaWMtZm9ybXMvanNvbi1zY2hlbWEvYzh5LWpzb24tc2NoZW1hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUtqQyxNQUFNLE9BQU8sYUFBYyxTQUFRLGdCQUFnQjtJQUNqRCxhQUFhLENBQUMsTUFBbUIsRUFBRSxPQUFhO1FBQzlDLE1BQU0sTUFBTSxHQUFzQixLQUFLLENBQUMsYUFBYSxDQUNuRCxNQUFNLEVBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FDckMsQ0FBQztRQUNGLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxVQUFVLENBQ2hCLEdBQWtGO1FBRWxGLE9BQU87WUFDTCxHQUFHLENBQ0QsV0FBOEIsRUFDOUIsU0FHQztnQkFFRCxJQUFJLE1BQU0sR0FBc0IsV0FBVyxDQUFDO2dCQUU1QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUMvQixtSUFBbUk7b0JBQ25JLG9GQUFvRjtvQkFDcEYsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO3dCQUNoRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUU7NEJBQ2pCLE9BQU8sSUFBSSxDQUFDO3lCQUNiO3dCQUNELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO29CQUNuQyxDQUFDLENBQUM7b0JBQ0YsMkZBQTJGO29CQUMzRixN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LHNCQUFzQixFQUFHLFNBQWlCLENBQUMsT0FBTzt5QkFDbkQ7cUJBQ0YsQ0FBQztpQkFDSDtnQkFFRCxnRUFBZ0U7Z0JBQ2hFLElBQUksU0FBUyxDQUFDLGVBQWUsRUFBRTtvQkFDN0IsTUFBTSxHQUFHO3dCQUNQLEdBQUcsTUFBTTt3QkFDVCxLQUFLLEVBQUU7NEJBQ0wsR0FBRyxTQUFTLENBQUMsZUFBZTs0QkFDNUIsR0FBRyxNQUFNLENBQUMsS0FBSzt5QkFDaEI7cUJBQ0YsQ0FBQztpQkFDSDtnQkFFRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQy9DLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7MEdBeklVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZywgRm9ybWx5VGVtcGxhdGVPcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlKc29uc2NoZW1hIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9qc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBKU09OU2NoZW1hNyB9IGZyb20gJ2pzb24tc2NoZW1hJztcbmltcG9ydCB7IG9taXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDOHlKU09OU2NoZW1hIGV4dGVuZHMgRm9ybWx5SnNvbnNjaGVtYSB7XG4gIHRvRmllbGRDb25maWcoc2NoZW1hOiBKU09OU2NoZW1hNywgb3B0aW9ucz86IGFueSk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWc6IEZvcm1seUZpZWxkQ29uZmlnID0gc3VwZXIudG9GaWVsZENvbmZpZyhcbiAgICAgIHNjaGVtYSxcbiAgICAgIHRoaXMuYzh5T3B0aW9ucygob3B0aW9ucyB8fCB7fSkubWFwKVxuICAgICk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgYzh5T3B0aW9ucyhcbiAgICBtYXA6IChtYXBwZWRGaWVsZDogRm9ybWx5RmllbGRDb25maWcsIG1hcFNvdXJjZTogSlNPTlNjaGVtYTcpID0+IEZvcm1seUZpZWxkQ29uZmlnXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICBtYXAoXG4gICAgICAgIG1hcHBlZEZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyxcbiAgICAgICAgbWFwU291cmNlOiBKU09OU2NoZW1hNyAmIHtcbiAgICAgICAgICBhbGxvd2VkRmlsZVR5cGVzOiBzdHJpbmdbXTtcbiAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IEZvcm1seVRlbXBsYXRlT3B0aW9ucztcbiAgICAgICAgfVxuICAgICAgKSB7XG4gICAgICAgIGxldCByZXN1bHQ6IEZvcm1seUZpZWxkQ29uZmlnID0gbWFwcGVkRmllbGQ7XG5cbiAgICAgICAgaWYgKG1hcFNvdXJjZS50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSB2YWxpZGF0b3JzIGFuZCBwYXJzZXIgb3ZlcnJpZGVzIHdoZW4gbmd4LWZvcm1seSBpc3N1ZSBpcyBmaXhlZCBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8zNzU3XG4gICAgICAgICAgLy8gdmFsaWRhdG9yIG92ZXJyaWRlIGlzIG5lZWRlZCBzbyBlbXB0eSB2YWx1ZSBjYW4gYmUgc2F2ZWQgaWYgZmllbGQgaXMgbm90IHJlcXVpcmVkXG4gICAgICAgICAgcmVzdWx0LnZhbGlkYXRvcnMudHlwZS5leHByZXNzaW9uID0gKHsgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbiAgICAgICAgICB9O1xuICAgICAgICAgIC8vIHBhcnNlcnMgb3ZlcnJpZGUgaXMgbmVlZGVkIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdHlwZSBlLmcuICcyZTMnIGNoYXJhY3RlciBieSBjaGFyYWN0ZXJcbiAgICAgICAgICByZXN1bHQucGFyc2VycyA9IFt2YWwgPT4gdmFsXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBgY29uc3RgIHR5cGUgaXMgcmVwcmVzZW50ZWQgYXMgaGlkZGVuIGlucHV0ICovXG4gICAgICAgIGlmIChtYXBTb3VyY2UuY29uc3QpIHtcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IG1hcFNvdXJjZS5jb25zdCxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAuLi5yZXN1bHQucHJvcHMsXG4gICAgICAgICAgICAgIHR5cGU6ICdoaWRkZW4nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBgd3JpdGVPbmx5YCBmaWVsZCByZXByZXNlbnRlZCBhcyBwYXNzd29yZCBpbnB1dCAqL1xuICAgICAgICBpZiAobWFwU291cmNlLndyaXRlT25seSkge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihyZXN1bHQucHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLnJlc3VsdC5wcm9wcz8uYXR0cmlidXRlcywgdHlwZTogJ3Bhc3N3b3JkJywgYXV0b2NvbXBsZXRlOiAnb2ZmJyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBgZXhhbXBsZXNgIHZhbHVlcyB1c2VkIGFzIHBsYWNlaG9sZGVyICovXG4gICAgICAgIGlmIChtYXBTb3VyY2UuZXhhbXBsZXMpIHtcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAuLi4ocmVzdWx0LnByb3BzIHx8IHt9KSxcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IChtYXBTb3VyY2UuZXhhbXBsZXMgYXMgc3RyaW5nW10pLmpvaW4oJywgJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIGBlbnVtYCBmaWVsZCByZXByZXNlbnRlZCBhcyByYWRpbyBidXR0b24gZ3JvdXAgKi9cbiAgICAgICAgaWYgKG1hcFNvdXJjZS5lbnVtKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgdHlwZTogJ3JhZGlvJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvKiogZmllbGRzIHdpdGggYGNvbnRlbnRNZWRpYVR5cGVgIG9yIGBjb250ZW50RW5jb2RpbmdgIGFyZSByZXByZXNlbnRlZCBhcyBmaWxlIGlucHV0cyAqL1xuICAgICAgICBpZiAobWFwU291cmNlLmNvbnRlbnRNZWRpYVR5cGUgfHwgbWFwU291cmNlLmNvbnRlbnRFbmNvZGluZykge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihyZXN1bHQucHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBhY2NlcHQ6IG1hcFNvdXJjZS5jb250ZW50TWVkaWFUeXBlLFxuICAgICAgICAgICAgICBtYXhBbGxvd2VkRmlsZXM6IDEsXG4gICAgICAgICAgICAgIGNvbnRlbnRFbmNvZGluZzogbWFwU291cmNlLmNvbnRlbnRFbmNvZGluZ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBsaW5lIHdoZW4gYmFzZTY0IGVuY29kaW5nIGlzIGRvbmUgYnkgZmlsZS50eXBlLmNvbXBvbmVudFxuICAgICAgICAgIC8vIGFuZCBjb250cm9sJ3MgdmFsdWUgd291bGQgcGFzcyAnc3RyaW5nJyB0eXBlIHZhbGlkYXRvci5cbiAgICAgICAgICBpZiAobWFwU291cmNlLmNvbnRlbnRFbmNvZGluZyA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgIHJlc3VsdC52YWxpZGF0b3JzID0gb21pdChyZXN1bHQudmFsaWRhdG9ycywgWyd0eXBlJ10pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBmaWxlIGV4dGVuc2lvbiB2YWxpZGF0aW9uIGZvciBmaWVsZHMgd2l0aCBgYWxsb3dlZEZpbGVUeXBlc2AgKi9cbiAgICAgICAgaWYgKChtYXBTb3VyY2UgYXMgYW55KS5hbGxvd2VkRmlsZVR5cGVzKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgdHlwZTogJ2ZpbGUnLFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgLi4uKHJlc3VsdC5wcm9wcyB8fCB7fSksXG4gICAgICAgICAgICAgIC4uLihtYXBTb3VyY2UuYWxsb3dlZEZpbGVUeXBlcyAmJiB7XG4gICAgICAgICAgICAgICAgYWNjZXB0OiBtYXBTb3VyY2UuYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsJylcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIC8qKiBtYXggc2l6ZSBmaWxlIHZhbGlkYXRpb25gICovXG4gICAgICAgIGlmICgobWFwU291cmNlIGFzIGFueSkubWF4U2l6ZSkge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihyZXN1bHQucHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBtYXhGaWxlU2l6ZUluTWVnYUJ5dGVzOiAobWFwU291cmNlIGFzIGFueSkubWF4U2l6ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvdmlkZXMgYSB3YXkgdG8gdXNlIHRlbXBsYXRlT3B0aW9ucyBpbiBKU09OU2NoZW1hIGZvcm1zICovXG4gICAgICAgIGlmIChtYXBTb3VyY2UudGVtcGxhdGVPcHRpb25zKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgLi4ubWFwU291cmNlLnRlbXBsYXRlT3B0aW9ucyxcbiAgICAgICAgICAgICAgLi4ucmVzdWx0LnByb3BzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXAgPyBtYXAocmVzdWx0LCBtYXBTb3VyY2UpIDogcmVzdWx0O1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYzh5LWpzb24tc2NoZW1hLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL2R5bmFtaWMtZm9ybXMvanNvbi1zY2hlbWEvYzh5LWpzb24tc2NoZW1hLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBUzNDLE1BQU0sT0FBTyxhQUFjLFNBQVEsZ0JBQWdCO0lBQ2pELGFBQWEsQ0FBQyxNQUFtQixFQUFFLE9BQWE7UUFDOUMsTUFBTSxNQUFNLEdBQXNCLEtBQUssQ0FBQyxhQUFhLENBQ25ELE1BQU0sRUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUNyQyxDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFVBQVUsQ0FDaEIsR0FBd0Y7UUFFeEYsT0FBTztZQUNMLEdBQUcsQ0FDRCxXQUFvQyxFQUNwQyxTQUdDO2dCQUVELElBQUksTUFBTSxHQUE0QixXQUFXLENBQUM7Z0JBRWxELElBQUksR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDM0IsTUFBTSxHQUFHO3dCQUNQLEdBQUcsTUFBTTt3QkFDVCxLQUFLLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUM7cUJBQy9CLENBQUM7aUJBQ0g7Z0JBRUQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDL0IsbUlBQW1JO29CQUNuSSxvRkFBb0Y7b0JBQ3BGLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxD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LGdDQUFnQztnQkFDaEMsSUFBSyxTQUFpQixDQUFDLE9BQU8sRUFBRTtvQkFDOUIsTUFBTSxHQUFHO3dCQUNQLEdBQUcsTUFBTTt3QkFDVCxJQUFJLEVBQUUsTUFBTTt3QkFDWixLQUFLLEVBQUU7NEJBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDOzRCQUN2QixzQkFBc0IsRUFBRyxTQUFpQixDQUFDLE9BQU87eUJBQ25EO3FCQUNGLENBQUM7aUJBQ0g7Z0JBRUQsZ0VBQWdFO2dCQUNoRSxJQUFJLFNBQVMsQ0FBQyxlQUFlLEVBQUU7b0JBQzdCLE1BQU0sR0FBRzt3QkFDUCxHQUFHLE1BQU07d0JBQ1QsS0FBSyxFQUFFOzRCQUNMLEdBQUcsU0FBUyxDQUFDLGVBQWU7NEJBQzVCLEdBQUcsTUFBTSxDQUFDLEtBQUs7eUJBQ2hCO3FCQUNGLENBQUM7aUJBQ0g7Z0JBRUQsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7OzBHQWhKVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seVRlbXBsYXRlT3B0aW9ucyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5SnNvbnNjaGVtYSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgSlNPTlNjaGVtYTcgfSBmcm9tICdqc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBvbWl0LCBoYXMsIGdldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmludGVyZmFjZSBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgb3JkZXI/OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEM4eUpTT05TY2hlbWEgZXh0ZW5kcyBGb3JtbHlKc29uc2NoZW1hIHtcbiAgdG9GaWVsZENvbmZpZyhzY2hlbWE6IEpTT05TY2hlbWE3LCBvcHRpb25zPzogYW55KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZzogRm9ybWx5RmllbGRDb25maWcgPSBzdXBlci50b0ZpZWxkQ29uZmlnKFxuICAgICAgc2NoZW1hLFxuICAgICAgdGhpcy5jOHlPcHRpb25zKChvcHRpb25zIHx8IHt9KS5tYXApXG4gICAgKTtcbiAgICByZXR1cm4gY29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBjOHlPcHRpb25zKFxuICAgIG1hcDogKG1hcHBlZEZpZWxkOiBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZywgbWFwU291cmNlOiBKU09OU2NoZW1hNykgPT4gRm9ybWx5RmllbGRDb25maWdcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1hcChcbiAgICAgICAgbWFwcGVkRmllbGQ6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnLFxuICAgICAgICBtYXBTb3VyY2U6IEpTT05TY2hlbWE3ICYge1xuICAgICAgICAgIGFsbG93ZWRGaWxlVHlwZXM6IHN0cmluZ1tdO1xuICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczogRm9ybWx5VGVtcGxhdGVPcHRpb25zO1xuICAgICAgICB9XG4gICAgICApIHtcbiAgICAgICAgbGV0IHJlc3VsdDogQ3VzdG9tRm9ybWx5RmllbGRDb25maWcgPSBtYXBwZWRGaWVsZDtcblxuICAgICAgICBpZiAoaGFzKG1hcFNvdXJjZSwgJ29yZGVyJykpIHtcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBvcmRlcjogZ2V0KG1hcFNvdXJjZSwgJ29yZGVyJylcbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1hcFNvdXJjZS50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSB2YWxpZGF0b3JzIGFuZCBwYXJzZXIgb3ZlcnJpZGVzIHdoZW4gbmd4LWZvcm1seSBpc3N1ZSBpcyBmaXhlZCBodHRwczovL2dpdGh1Yi5jb20vbmd4LWZvcm1seS9uZ3gtZm9ybWx5L2lzc3Vlcy8zNzU3XG4gICAgICAgICAgLy8gdmFsaWRhdG9yIG92ZXJyaWRlIGlzIG5lZWRlZCBzbyBlbXB0eSB2YWx1ZSBjYW4gYmUgc2F2ZWQgaWYgZmllbGQgaXMgbm90IHJlcXVpcmVkXG4gICAgICAgICAgcmVzdWx0LnZhbGlkYXRvcnMudHlwZS5leHByZXNzaW9uID0gKHsgdmFsdWUgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJztcbiAgICAgICAgICB9O1xuICAgICAgICAgIC8vIHBhcnNlcnMgb3ZlcnJpZGUgaXMgbmVlZGVkIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdHlwZSBlLmcuICcyZTMnIGNoYXJhY3RlciBieSBjaGFyYWN0ZXJcbiAgICAgICAgICByZXN1bHQucGFyc2VycyA9IFt2YWwgPT4gdmFsXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBgY29uc3RgIHR5cGUgaXMgcmVwcmVzZW50ZWQgYXMgaGlkZGVuIGlucHV0ICovXG4gICAgICAgIGlmIChtYXBTb3VyY2UuY29uc3QpIHtcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IG1hcFNvdXJjZS5jb25zdCxcbiAgICAgICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAuLi5yZXN1bHQucHJvcHMsXG4gICAgICAgICAgICAgIHR5cGU6ICdoaWRkZW4nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBgd3JpdGVPbmx5YCBmaWVsZCByZXByZXNlbnRlZCBhcyBwYXNzd29yZCBpbnB1dCAqL1xuICAgICAgICBpZiAobWFwU291cmNlLndyaXRlT25seSkge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihyZXN1bHQucHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiB7IC4uLnJlc3VsdC5wcm9wcz8uYXR0cmlidXRlcywgdHlwZTogJ3Bhc3N3b3JkJywgYXV0b2NvbXBsZXRlOiAnb2ZmJyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBgZXhhbXBsZXNgIHZhbHVlcyB1c2VkIGFzIHBsYWNlaG9sZGVyICovXG4gICAgICAgIGlmIChtYXBTb3VyY2UuZXhhbXBsZXMpIHtcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAuLi4ocmVzdWx0LnByb3BzIHx8IHt9KSxcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IChtYXBTb3VyY2UuZXhhbXBsZXMgYXMgc3RyaW5nW10pLmpvaW4oJywgJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIGBlbnVtYCBmaWVsZCByZXByZXNlbnRlZCBhcyByYWRpbyBidXR0b24gZ3JvdXAgKi9cbiAgICAgICAgaWYgKG1hcFNvdXJjZS5lbnVtKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgdHlwZTogJ3JhZGlvJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvKiogZmllbGRzIHdpdGggYGNvbnRlbnRNZWRpYVR5cGVgIG9yIGBjb250ZW50RW5jb2RpbmdgIGFyZSByZXByZXNlbnRlZCBhcyBmaWxlIGlucHV0cyAqL1xuICAgICAgICBpZiAobWFwU291cmNlLmNvbnRlbnRNZWRpYVR5cGUgfHwgbWFwU291cmNlLmNvbnRlbnRFbmNvZGluZykge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihyZXN1bHQucHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBhY2NlcHQ6IG1hcFNvdXJjZS5jb250ZW50TWVkaWFUeXBlLFxuICAgICAgICAgICAgICBtYXhBbGxvd2VkRmlsZXM6IDEsXG4gICAgICAgICAgICAgIGNvbnRlbnRFbmNvZGluZzogbWFwU291cmNlLmNvbnRlbnRFbmNvZGluZ1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBsaW5lIHdoZW4gYmFzZTY0IGVuY29kaW5nIGlzIGRvbmUgYnkgZmlsZS50eXBlLmNvbXBvbmVudFxuICAgICAgICAgIC8vIGFuZCBjb250cm9sJ3MgdmFsdWUgd291bGQgcGFzcyAnc3RyaW5nJyB0eXBlIHZhbGlkYXRvci5cbiAgICAgICAgICBpZiAobWFwU291cmNlLmNvbnRlbnRFbmNvZGluZyA9PT0gJ2Jhc2U2NCcpIHtcbiAgICAgICAgICAgIHJlc3VsdC52YWxpZGF0b3JzID0gb21pdChyZXN1bHQudmFsaWRhdG9ycywgWyd0eXBlJ10pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBmaWxlIGV4dGVuc2lvbiB2YWxpZGF0aW9uIGZvciBmaWVsZHMgd2l0aCBgYWxsb3dlZEZpbGVUeXBlc2AgKi9cbiAgICAgICAgaWYgKChtYXBTb3VyY2UgYXMgYW55KS5hbGxvd2VkRmlsZVR5cGVzKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgdHlwZTogJ2ZpbGUnLFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgLi4uKHJlc3VsdC5wcm9wcyB8fCB7fSksXG4gICAgICAgICAgICAgIC4uLihtYXBTb3VyY2UuYWxsb3dlZEZpbGVUeXBlcyAmJiB7XG4gICAgICAgICAgICAgICAgYWNjZXB0OiBtYXBTb3VyY2UuYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsJylcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIC8qKiBtYXggc2l6ZSBmaWxlIHZhbGlkYXRpb25gICovXG4gICAgICAgIGlmICgobWFwU291cmNlIGFzIGFueSkubWF4U2l6ZSkge1xuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgIC4uLihyZXN1bHQucHJvcHMgfHwge30pLFxuICAgICAgICAgICAgICBtYXhGaWxlU2l6ZUluTWVnYUJ5dGVzOiAobWFwU291cmNlIGFzIGFueSkubWF4U2l6ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvdmlkZXMgYSB3YXkgdG8gdXNlIHRlbXBsYXRlT3B0aW9ucyBpbiBKU09OU2NoZW1hIGZvcm1zICovXG4gICAgICAgIGlmIChtYXBTb3VyY2UudGVtcGxhdGVPcHRpb25zKSB7XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgLi4ubWFwU291cmNlLnRlbXBsYXRlT3B0aW9ucyxcbiAgICAgICAgICAgICAgLi4ucmVzdWx0LnByb3BzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXAgPyBtYXAocmVzdWx0LCBtYXBTb3VyY2UpIDogcmVzdWx0O1xuICAgICAgfVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -49,14 +49,19 @@ export class DeviceGridExtensionService extends ExtensionPointWithoutStateForPlu
|
|
|
49
49
|
}
|
|
50
50
|
setupItemsObservable() {
|
|
51
51
|
return fromTriggerOnce(this.router, this.refresh$, [
|
|
52
|
-
() =>
|
|
53
|
-
{
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
52
|
+
() => {
|
|
53
|
+
const actions = flatten(this.injectors.map(injector => injector.get(HOOK_DEVICE_GRID_ACTION, [], { self: true })));
|
|
54
|
+
const hasDeleteAction = actions.some(action => action.type === "DELETE" /* BuiltInActionType.Delete */);
|
|
55
|
+
if (!hasDeleteAction) {
|
|
56
|
+
actions.push({
|
|
57
|
+
type: "DELETE" /* BuiltInActionType.Delete */,
|
|
58
|
+
deviceMatches: (_mo) => true,
|
|
59
|
+
onAction: (mo) => this.deviceGridService.delete(mo),
|
|
60
|
+
refreshAfterActionDone: true
|
|
61
|
+
});
|
|
58
62
|
}
|
|
59
|
-
|
|
63
|
+
return actions;
|
|
64
|
+
},
|
|
60
65
|
() => this.factories
|
|
61
66
|
]).pipe(shareReplay(1));
|
|
62
67
|
}
|
|
@@ -69,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
69
74
|
providedIn: 'root'
|
|
70
75
|
}]
|
|
71
76
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PluginsResolveService }, { type: i2.Router }, { type: i3.DeviceGridService }]; } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWdyaWQtZXh0ZW5zaW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kZXZpY2UtZ3JpZC9kZXZpY2UtZ3JpZC1leHRlbnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFFTCxvQ0FBb0MsRUFDcEMsZUFBZSxFQUVmLFdBQVcsRUFDWCxxQkFBcUIsRUFHdEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUF5QjFEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCxzQkFBc0IsQ0FDdkIsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsTUFBa0QsRUFDbEQsT0FBOEI7SUFFOUIsT0FBTyxXQUFXLENBQTRCLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxRixDQUFDO0FBRUQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsb0NBQTBEO0lBQ3hHLFlBQ0UsWUFBc0IsRUFDdEIsT0FBOEIsRUFDdEIsTUFBYyxFQUNkLGlCQUFvQztRQUU1QyxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSHJCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLGVBQWUsQ0FBdUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3ZFLEdBQUcsRUFBRTtnQkFDSCxNQUFNLE9BQU8sR0FBMkIsT0FBTyxDQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDMUYsQ0FBQztnQkFFRixNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksNENBQTZCLENBQUMsQ0FBQztnQkFFekYsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDWCxJQUFJLHlDQUEwQjt3QkFDOUIsYUFBYSxFQUFFLENBQUMsR0FBbUIsRUFBRSxFQUFFLENBQUMsSUFBSTt3QkFDNUMsUUFBUSxFQUFFLENBQUMsRUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7d0JBQ25FLHNCQUFzQixFQUFFLElBQUk7cUJBQzdCLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDO1lBQ0QsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVM7U0FDckIsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOzt1SEFqQ1UsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGekIsTUFBTTsyRkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBFeHRlbnNpb25GYWN0b3J5LFxuICBFeHRlbnNpb25Qb2ludFdpdGhvdXRTdGF0ZUZvclBsdWdpbnMsXG4gIGZyb21UcmlnZ2VyT25jZSxcbiAgR2VuZXJpY0hvb2tUeXBlLFxuICBob29rR2VuZXJpYyxcbiAgUGx1Z2luc1Jlc29sdmVTZXJ2aWNlLFxuICBIb29rT3B0aW9ucyxcbiAgQnVpbHRJbkFjdGlvblR5cGVcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGV2aWNlR3JpZEFjdGlvbkhvb2sgfSBmcm9tICcuL2RldmljZS1ncmlkLm1vZGVsJztcbmltcG9ydCB7IERldmljZUdyaWRTZXJ2aWNlIH0gZnJvbSAnLi9kZXZpY2UtZ3JpZC5zZXJ2aWNlJztcblxuLyoqXG4gKiBBbiBleHRlbnNpb24gSE9PSyBjYW4gdXNlIGVpdGhlciBhIHB1cmUgdmFsdWU6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgeyBwcm92aWRlOiBIT09LX1gsIHVzZVZhbHVlOiB7IC4uLmhvb2tWYWx1ZSB9LCBtdWx0aTogdHJ1ZSB9XG4gKiBgYGBcbiAqXG4gKiBPciBhbiBhcnJheSB0byBkaXJlY3RseSByZWdpc3RlciBtdWx0aXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqICB7IHByb3ZpZGU6IEhPT0tfWCwgdXNlVmFsdWU6IFt7IC4uLmhvb2tWYWx1ZXMgfV0sIG11bHRpOiB0cnVlIH1cbiAqIGBgYFxuICpcbiAqIE9yIGFuIEV4dGVuc2lvbkZhY3Rvcnkgd2hpY2ggYWxsb3dzIHRvIGRlZmluZSBhIGdldCgpIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uXG4gKiBnZXRzIGNhbGxlZCBvbiBlYWNoIG5hdmlnYXRpb24gd2l0aCB0aGUgY3VycmVudCByb3V0ZSBhbmQgY2FuIHJldHVybiB2YWx1ZXNcbiAqIGFzeW5jIChvYnNlcnZhYmxlIG9yIHByb21pc2UpLlxuICogYGBgdHlwZXNjcmlwdFxuICogIHsgcHJvdmlkZTogSE9PS19YLCB1c2VGYWN0b3J5OiB7IGdldDogKHJvdXRlKSA9PiBkb1NvbWV0aGluZ0FzeW5jKHJvdXRlKSB9LCBtdWx0aTogdHJ1ZSB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IHR5cGUgRGV2aWNlR3JpZEFjdGlvbkV4dGVuc2lvbiA9XG4gIHwgRGV2aWNlR3JpZEFjdGlvbkhvb2tcbiAgfCBEZXZpY2VHcmlkQWN0aW9uSG9va1tdXG4gIHwgRXh0ZW5zaW9uRmFjdG9yeTxEZXZpY2VHcmlkQWN0aW9uSG9vaz47XG5cbi8qKlxuICogQSBob29rIHRvIHVzZSBmb3IgTXVsdGkgUHJvdmlkZXIgZXh0ZW5zaW9uLlxuICogQGRlcHJlY2F0ZWQgQ29uc2lkZXIgdXNpbmcgdGhlIGBob29rRGV2aWNlR3JpZEFjdGlvbmAgZnVuY3Rpb24gaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGNvbnN0IEhPT0tfREVWSUNFX0dSSURfQUNUSU9OID0gbmV3IEluamVjdGlvblRva2VuPERldmljZUdyaWRBY3Rpb25FeHRlbnNpb24+KFxuICAnRGV2aWNlR3JpZEFjdGlvbkhvb2snXG4pO1xuXG4vKipcbiAqIFlvdSBjYW4gZWl0aGVyIHByb3ZpZGUgYSBzaW5nbGUgYERldmljZUdyaWRBY3Rpb25FeHRlbnNpb25gIGFzIHBhcmFtZXRlcjpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqICBob29rRGV2aWNlR3JpZEFjdGlvbiguLi4pXG4gKiBgYGBcbiAqXG4gKiBPciBhbiBhcnJheSB0byBkaXJlY3RseSByZWdpc3RlciBtdWx0aXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqICBob29rRGV2aWNlR3JpZEFjdGlvbihbLi4uXSlcbiAqIGBgYFxuICpcbiAqIE9yIHlvdSBwcm92aWRlIGFuIFNlcnZpY2UgdGhhdCBpbXBsZW1lbnRzIGBFeHRlbnNpb25GYWN0b3J5PERldmljZUdyaWRBY3Rpb25FeHRlbnNpb24+YFxuICogYGBgdHlwZXNjcmlwdFxuICogIGV4cG9ydCBjbGFzcyBNeURldmljZUdyaWRBY3Rpb25GYWN0b3J5IGltcGxlbWVudHMgRXh0ZW5zaW9uRmFjdG9yeTxEZXZpY2VHcmlkQWN0aW9uRXh0ZW5zaW9uPiB7Li4ufVxuICogIC4uLlxuICogIGhvb2tEZXZpY2VHcmlkQWN0aW9uKE15RGV2aWNlR3JpZEFjdGlvbkZhY3RvcnkpXG4gKiBgYGBcbiAqIEEgdHlwZWQgYWx0ZXJuYXRpdmUgdG8gYEhPT0tfREVWSUNFX0dSSURfQUNUSU9OX0RFTEVURWAuXG4gKiBAcGFyYW0gYWN0aW9uIFRoZSBgRGV2aWNlR3JpZERlbGV0ZUV4dGVuc2lvbmAncyBvciBgRXh0ZW5zaW9uRmFjdG9yeWAgdG8gYmUgcHJvdmlkZWQuXG4gKiBAcmV0dXJucyBBbiBgUHJvdmlkZXJgIHRvIGJlIHByb3ZpZGVkIGluIHlvdXIgbW9kdWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaG9va0RldmljZUdyaWRBY3Rpb24oXG4gIGFjdGlvbjogR2VuZXJpY0hvb2tUeXBlPERldmljZUdyaWRBY3Rpb25FeHRlbnNpb24+LFxuICBvcHRpb25zPzogUGFydGlhbDxIb29rT3B0aW9ucz5cbikge1xuICByZXR1cm4gaG9va0dlbmVyaWM8RGV2aWNlR3JpZEFjdGlvbkV4dGVuc2lvbj4oYWN0aW9uLCBIT09LX0RFVklDRV9HUklEX0FDVElPTiwgb3B0aW9ucyk7XG59XG5cbi8qKlxuICogQSBzZXJ2aWNlIHdoaWNoIGRlZmluZXMgZGV2aWNlIGdyaWQgYWN0aW9uIG9wdGlvbnMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZUdyaWRFeHRlbnNpb25TZXJ2aWNlIGV4dGVuZHMgRXh0ZW5zaW9uUG9pbnRXaXRob3V0U3RhdGVGb3JQbHVnaW5zPERldmljZUdyaWRBY3Rpb25Ib29rPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJvb3RJbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcGx1Z2luczogUGx1Z2luc1Jlc29sdmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBkZXZpY2VHcmlkU2VydmljZTogRGV2aWNlR3JpZFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIocm9vdEluamVjdG9yLCBwbHVnaW5zKTtcbiAgICB0aGlzLml0ZW1zJCA9IHRoaXMuc2V0dXBJdGVtc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXR1cEl0ZW1zT2JzZXJ2YWJsZSgpOiBPYnNlcnZhYmxlPERldmljZUdyaWRBY3Rpb25Ib29rW10+IHtcbiAgICByZXR1cm4gZnJvbVRyaWdnZXJPbmNlPERldmljZUdyaWRBY3Rpb25Ib29rPih0aGlzLnJvdXRlciwgdGhpcy5yZWZyZXNoJCwgW1xuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBEZXZpY2VHcmlkQWN0aW9uSG9va1tdID0gZmxhdHRlbihcbiAgICAgICAgICB0aGlzLmluamVjdG9ycy5tYXAoaW5qZWN0b3IgPT4gaW5qZWN0b3IuZ2V0KEhPT0tfREVWSUNFX0dSSURfQUNUSU9OLCBbXSwgeyBzZWxmOiB0cnVlIH0pKVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGhhc0RlbGV0ZUFjdGlvbiA9IGFjdGlvbnMuc29tZShhY3Rpb24gPT4gYWN0aW9uLnR5cGUgPT09IEJ1aWx0SW5BY3Rpb25UeXBlLkRlbGV0ZSk7XG5cbiAgICAgICAgaWYgKCFoYXNEZWxldGVBY3Rpb24pIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgdHlwZTogQnVpbHRJbkFjdGlvblR5cGUuRGVsZXRlLFxuICAgICAgICAgICAgZGV2aWNlTWF0Y2hlczogKF9tbzogSU1hbmFnZWRPYmplY3QpID0+IHRydWUsXG4gICAgICAgICAgICBvbkFjdGlvbjogKG1vOiBJTWFuYWdlZE9iamVjdCkgPT4gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5kZWxldGUobW8pLFxuICAgICAgICAgICAgcmVmcmVzaEFmdGVyQWN0aW9uRG9uZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjdGlvbnM7XG4gICAgICB9LFxuICAgICAgKCkgPT4gdGhpcy5mYWN0b3JpZXNcbiAgICBdKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgfVxufVxuIl19
|
|
@@ -64,6 +64,11 @@ export class DeviceGridComponent {
|
|
|
64
64
|
this.loadingItemsLabel = gettext('Loading devices…');
|
|
65
65
|
/** The list of columns to be displayed in the grid. If not given, it defaults to standard columns. */
|
|
66
66
|
this.columns = this.deviceGridService.getDefaultColumns();
|
|
67
|
+
/**
|
|
68
|
+
* Represents the input property for hiding specific built-in action types.
|
|
69
|
+
* The `actionsToHide` input allows specifying an array of `BuiltInActionType` values or the string 'ALL' to hide all action controls
|
|
70
|
+
*/
|
|
71
|
+
this.builtInActionsToHide = [];
|
|
67
72
|
/** Determines whether items can be selected by clicking a checkbox in the first column. */
|
|
68
73
|
this.selectable = false;
|
|
69
74
|
/** Restricts selection to a single row only. Selection column displays radio button instead of checkboxes */
|
|
@@ -143,29 +148,37 @@ export class DeviceGridComponent {
|
|
|
143
148
|
return serverSideDataResult;
|
|
144
149
|
}
|
|
145
150
|
setActionControls() {
|
|
151
|
+
if (this.builtInActionsToHide === 'ALL') {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
146
154
|
const asArrayOfGroupedActionHooks = (hooks) => Object.values(groupBy(hooks, 'type'));
|
|
147
155
|
this.dgExtensionService.items$
|
|
148
156
|
.pipe(map(asArrayOfGroupedActionHooks), switchMap(from), map((hooks) => {
|
|
149
157
|
const { type, icon, text, showOnHover } = hooks[0];
|
|
158
|
+
const actionsToHide = this.builtInActionsToHide;
|
|
159
|
+
const shouldPushToActionControls = actionsToHide.length === 0 || !actionsToHide.includes(type);
|
|
150
160
|
const matchingHooks = (device) => hooks.filter(hook => hook.deviceMatches(device));
|
|
151
161
|
const hasMatchingHooks = (device) => !!matchingHooks(device).length;
|
|
152
162
|
const useInventoryDelete = (device) => !hasMatchingHooks(device) && type === "DELETE" /* BuiltInActionType.Delete */;
|
|
153
163
|
const resolveAction = (device) => useInventoryDelete(device)
|
|
154
164
|
? this.deviceGridService.delete(device)
|
|
155
165
|
: matchingHooks(device)[0].onAction(device);
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
if (shouldPushToActionControls) {
|
|
167
|
+
this.actionControls.push({
|
|
168
|
+
type,
|
|
169
|
+
icon,
|
|
170
|
+
text,
|
|
171
|
+
showOnHover,
|
|
172
|
+
showIf: (device) => type === "DELETE" /* BuiltInActionType.Delete */ || hasMatchingHooks(device),
|
|
173
|
+
callback: (device) => toObservable(resolveAction(device))
|
|
174
|
+
.pipe(catchError(_err => EMPTY), takeUntil(this.destroyed$))
|
|
175
|
+
.subscribe(_success => {
|
|
176
|
+
if (useInventoryDelete(device) ||
|
|
177
|
+
matchingHooks(device)[0].refreshAfterActionDone)
|
|
178
|
+
this.refresh.emit();
|
|
179
|
+
})
|
|
180
|
+
});
|
|
181
|
+
}
|
|
169
182
|
}), takeUntil(this.destroyed$))
|
|
170
183
|
.subscribe();
|
|
171
184
|
}
|
|
@@ -180,7 +193,7 @@ export class DeviceGridComponent {
|
|
|
180
193
|
}
|
|
181
194
|
}
|
|
182
195
|
DeviceGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceGridComponent, deps: [{ token: i1.DeviceGridService }, { token: i2.DeviceGridExtensionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
183
|
-
DeviceGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DeviceGridComponent, selector: "c8y-device-grid", inputs: { dataCallback: "dataCallback", refresh: "refresh", title: "title", loadMoreItemsLabel: "loadMoreItemsLabel", loadingItemsLabel: "loadingItemsLabel", legacyConfigKey: "legacyConfigKey", legacyFilterKey: "legacyFilterKey", columns: "columns", _pagination: ["pagination", "_pagination"], _infiniteScroll: ["infiniteScroll", "_infiniteScroll"], _actionControls: ["actionControls", "_actionControls"], selectable: "selectable", singleSelection: "singleSelection", baseQuery: "baseQuery", _bulkActionControls: ["bulkActionControls", "_bulkActionControls"], _headerActionControls: ["headerActionControls", "_headerActionControls"], childDeviceGrid: "childDeviceGrid", parentDeviceId: "parentDeviceId", withChildren: "withChildren", showSearch: "showSearch", activeClassName: "activeClassName" }, outputs: { onColumnsChange: "onColumnsChange", onFilterChange: "onFilterChange", onDeviceQueryStringChange: "onDeviceQueryStringChange", itemsSelect: "itemsSelect" }, providers: [
|
|
196
|
+
DeviceGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DeviceGridComponent, selector: "c8y-device-grid", inputs: { dataCallback: "dataCallback", refresh: "refresh", title: "title", loadMoreItemsLabel: "loadMoreItemsLabel", loadingItemsLabel: "loadingItemsLabel", legacyConfigKey: "legacyConfigKey", legacyFilterKey: "legacyFilterKey", columns: "columns", _pagination: ["pagination", "_pagination"], _infiniteScroll: ["infiniteScroll", "_infiniteScroll"], builtInActionsToHide: "builtInActionsToHide", _actionControls: ["actionControls", "_actionControls"], selectable: "selectable", singleSelection: "singleSelection", baseQuery: "baseQuery", _bulkActionControls: ["bulkActionControls", "_bulkActionControls"], _headerActionControls: ["headerActionControls", "_headerActionControls"], childDeviceGrid: "childDeviceGrid", parentDeviceId: "parentDeviceId", withChildren: "withChildren", showSearch: "showSearch", activeClassName: "activeClassName" }, outputs: { onColumnsChange: "onColumnsChange", onFilterChange: "onFilterChange", onDeviceQueryStringChange: "onDeviceQueryStringChange", itemsSelect: "itemsSelect" }, providers: [
|
|
184
197
|
{
|
|
185
198
|
provide: PRODUCT_EXPERIENCE_EVENT_SOURCE,
|
|
186
199
|
useExisting: forwardRef(() => DeviceGridComponent)
|
|
@@ -217,6 +230,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
217
230
|
}], _infiniteScroll: [{
|
|
218
231
|
type: Input,
|
|
219
232
|
args: ['infiniteScroll']
|
|
233
|
+
}], builtInActionsToHide: [{
|
|
234
|
+
type: Input
|
|
220
235
|
}], _actionControls: [{
|
|
221
236
|
type: Input,
|
|
222
237
|
args: ['actionControls']
|
|
@@ -254,4 +269,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
254
269
|
type: ViewChild,
|
|
255
270
|
args: [DataGridComponent, { static: true }]
|
|
256
271
|
}] } });
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2aWNlLWdyaWQvZGV2aWNlLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZGV2aWNlLWdyaWQvZGV2aWNlLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCxZQUFZLEVBSVosaUJBQWlCLEVBRWpCLG1CQUFtQixFQUVuQixPQUFPLEVBTVAsK0JBQStCLEVBSS9CLFlBQVksRUFDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBWTFELE1BQU0sT0FBTyxtQkFBbUI7SUF5QjlCLDJIQUEySDtJQUMzSCxJQUF5QixXQUFXLENBQUMsS0FBaUI7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBNkIsZUFBZSxDQUFDLGNBQTRCO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksY0FBYyxFQUFFO1lBQ2xCLElB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QWxDLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFXUCxRQUFRO3NCQURQLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIGFsZXJ0T25FcnJvcixcbiAgQnVpbHRJbkFjdGlvblR5cGUsXG4gIEJ1bGtBY3Rpb25Db250cm9sLFxuICBDb2x1bW4sXG4gIERhdGFHcmlkQ29tcG9uZW50LFxuICBEYXRhU291cmNlTW9kaWZpZXIsXG4gIEZpbHRlcmluZ0FjdGlvblR5cGUsXG4gIEZpbHRlcmluZ01vZGlmaWVyLFxuICBnZXR0ZXh0LFxuICBIZWFkZXJBY3Rpb25Db250cm9sLFxuICBMb2FkTW9yZU1vZGUsXG4gIFBhZ2luYXRpb24sXG4gIFByb2R1Y3RFeHBlcmllbmNlRXZlbnQsXG4gIFByb2R1Y3RFeHBlcmllbmNlRXZlbnRTb3VyY2UsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRV9FVkVOVF9TT1VSQ0UsXG4gIFJvdyxcbiAgU2VydmVyU2lkZURhdGFDYWxsYmFjayxcbiAgU2VydmVyU2lkZURhdGFSZXN1bHQsXG4gIHRvT2JzZXJ2YWJsZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGdyb3VwQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRU1QVFksIGZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEZXZpY2VHcmlkRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLWdyaWQtZXh0ZW5zaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YUNhbGxiYWNrLCBEZXZpY2VHcmlkQWN0aW9uSG9vaywgRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9kZXZpY2UtZ3JpZC5tb2RlbCc7XG5pbXBvcnQgeyBEZXZpY2VHcmlkU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLWdyaWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kZXZpY2UtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZpY2UtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBST0RVQ1RfRVhQRVJJRU5DRV9FVkVOVF9TT1VSQ0UsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEZXZpY2VHcmlkQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFByb2R1Y3RFeHBlcmllbmNlRXZlbnRTb3VyY2Uge1xuICAvKiogT3B0aW9uYWwgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBhbGxvd3MgdG8gbW9kaWZ5IHNlcnZlciBzaWRlIGRhdGEgcmVzdWx0IGJlZm9yZSBpdCdzIHJlbmRlcmVkLiAqL1xuICBASW5wdXQoKSBkYXRhQ2FsbGJhY2s6IERhdGFDYWxsYmFjaztcbiAgLyoqIFRha2VzIGFuIGV2ZW50IGVtaXR0ZXIuIFdoZW4gYW4gZXZlbnQgaXMgZW1pdHRlZCwgdGhlIGdyaWQgd2lsbCBiZSByZWxvYWRlZC4gKi9cbiAgQElucHV0KCkgcmVmcmVzaDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKiogVGhlIHRpdGxlIGZvciB0aGUgZGF0YSBncmlkLCBpdCdzIGRpc3BsYXllZCBpbiB0aGUgZ3JpZCdzIGhlYWRlci4gKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IGdldHRleHQoJ0RldmljZXMnKTtcbiAgLyoqIFRoZSBsYWJlbCBmb3IgbG9hZCBtb3JlIGJ1dHRvbi4gKi9cbiAgQElucHV0KCkgbG9hZE1vcmVJdGVtc0xhYmVsID0gZ2V0dGV4dCgnTG9hZCBtb3JlIGRldmljZXMnKTtcbiAgLyoqIFRoZSBsYWJlbCBmb3IgbG9hZGluZyBpbmRpY2F0b3IuICovXG4gIEBJbnB1dCgpIGxvYWRpbmdJdGVtc0xhYmVsOiBzdHJpbmcgPSBnZXR0ZXh0KCdMb2FkaW5nIGRldmljZXPigKYnKTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqXG4gICAqIEludGVybmFsIHVzZSBvbmx5OiB1c2VkIHRvIGRlZmluZSB1c2VyIHByZWZlcmVuY2VzIGtleSB1bmRlciB3aGljaCAnQWxsIGRldmljZXMnIGNvbHVtbiBjb25maWcgaXMgc3RvcmVkLlxuICAgKi9cbiAgQElucHV0KCkgbGVnYWN5Q29uZmlnS2V5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKlxuICAgKiBJbnRlcm5hbCB1c2Ugb25seTogdXNlZCB0byBkZWZpbmUgdXNlciBwcmVmZXJlbmNlcyBrZXkgdW5kZXIgd2hpY2ggJ0FsbCBkZXZpY2VzJyBmaWx0ZXIvc29ydGluZyBjb25maWcgaXMgc3RvcmVkLlxuICAgKi9cbiAgQElucHV0KCkgbGVnYWN5RmlsdGVyS2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZ3JpZC4gSWYgbm90IGdpdmVuLCBpdCBkZWZhdWx0cyB0byBzdGFuZGFyZCBjb2x1bW5zLiAqL1xuICBASW5wdXQoJ2NvbHVtbnMnKSBjb2x1bW5zOiBDb2x1bW5bXSA9IHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdENvbHVtbnMoKTtcbiAgLyoqIFBhZ2luYXRpb24gc2V0dGluZ3MsIGUuZy4gYWxsb3dzIGZvciBzZXR0aW5nIGN1cnJlbnQgcGFnZSBvciBwYWdlIHNpemUuIElmIG5vdCBnaXZlbiwgZGVmYXVsdHMgdG8gc3RhbmRhcmQgc2V0dGluZ3MuICovXG4gIEBJbnB1dCgncGFnaW5hdGlvbicpIHNldCBfcGFnaW5hdGlvbih2YWx1ZTogUGFnaW5hdGlvbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIGluZmluaXRlU2Nyb2xsOiBMb2FkTW9yZU1vZGU7XG4gIC8qKiBTZXRzIGxvYWQgbW9yZSBtb2RlLiAqL1xuICBASW5wdXQoJ2luZmluaXRlU2Nyb2xsJykgc2V0IF9pbmZpbml0ZVNjcm9sbChpbmZpbml0ZVNjcm9sbDogTG9hZE1vcmVNb2RlKSB7XG4gICAgdGhpcy5pbmZpbml0ZVNjcm9sbCA9IGluZmluaXRlU2Nyb2xsO1xuICAgIGlmIChpbmZpbml0ZVNjcm9sbCkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXRJbmZpbml0ZVNjcm9sbFBhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cbiAgLyoqIFNldHMgYWN0aW9uIGNvbnRyb2xzIChhY3Rpb25zIGF2YWlsYWJsZSBmb3IgaW5kaXZpZHVhbCBpdGVtcykuIElmIG5vdCBnaXZlbiwgaXQgZGVmYXVsdHMgdG8gc3RhbmRhcmQgYWN0aW9ucy4gKi9cbiAgQElucHV0KCdhY3Rpb25Db250cm9scycpIHNldCBfYWN0aW9uQ29udHJvbHModmFsdWU6IEFjdGlvbkNvbnRyb2xbXSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5hY3Rpb25Db250cm9scyA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFjdGlvbkNvbnRyb2xzID0gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXREZWZhdWx0QWN0aW9uQ29udHJvbHMoKTtcbiAgICB9XG4gIH1cbiAgLyoqIERldGVybWluZXMgd2hldGhlciBpdGVtcyBjYW4gYmUgc2VsZWN0ZWQgYnkgY2xpY2tpbmcgYSBjaGVja2JveCBpbiB0aGUgZmlyc3QgY29sdW1uLiAqL1xuICBASW5wdXQoKSBzZWxlY3RhYmxlID0gZmFsc2U7XG4gIC8qKiBSZXN0cmljdHMgc2VsZWN0aW9uIHRvIGEgc2luZ2xlIHJvdyBvbmx5LiBTZWxlY3Rpb24gY29sdW1uIGRpc3BsYXlzIHJhZGlvIGJ1dHRvbiBpbnN0ZWFkIG9mIGNoZWNrYm94ZXMgKi9cbiAgQElucHV0KCkgc2luZ2xlU2VsZWN0aW9uID0gZmFsc2U7XG4gIC8qKiBTZXRzIHRoZSBiYXNlIHF1ZXJ5IHdoaWNoIGlzIGFwcGVuZGVkIHRvIHRoZSByZXF1ZXN0IGZvciBkYXRhLiAqL1xuICBASW5wdXQoKSBiYXNlUXVlcnk6IG9iamVjdCA9IHt9O1xuICAvKiogU2V0cyBidWxrIGFjdGlvbiBjb250cm9scyAoYWN0aW9ucyBhdmFpbGFibGUgZm9yIGl0ZW1zIHNlbGVjdGVkIGJ5IHVzZXIpLiBJZiBub3QgZ2l2ZW4sIGl0IGRlZmF1bHRzIHRvIHN0YW5kYXJkIGJ1bGsgYWN0aW9ucy4gKi9cbiAgQElucHV0KCdidWxrQWN0aW9uQ29udHJvbHMnKSBzZXQgX2J1bGtBY3Rpb25Db250cm9scyh2YWx1ZTogQnVsa0FjdGlvbkNvbnRyb2xbXSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5idWxrQWN0aW9uQ29udHJvbHMgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idWxrQWN0aW9uQ29udHJvbHMgPSB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERlZmF1bHRCdWxrQWN0aW9uQ29udHJvbHMoKTtcbiAgICB9XG4gIH1cbiAgLyoqIFNldHMgaGVhZGVyIGFjdGlvbiBjb250cm9scyAoYWN0aW9ucyBhdmFpbGFibGUgZnJvbSB0aGUgZ3JpZCBoZWFkZXIpLiBJZiBub3QgZ2l2ZW4sIGl0IGRlZmF1bHRzIHRvIGVtcHR5IGxpc3Qgb2YgYWN0aW9ucy4gKi9cbiAgQElucHV0KCdoZWFkZXJBY3Rpb25Db250cm9scycpIHNldCBfaGVhZGVyQWN0aW9uQ29udHJvbHModmFsdWU6IEhlYWRlckFjdGlvbkNvbnRyb2xbXSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5oZWFkZXJBY3Rpb25Db250cm9scyA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlYWRlckFjdGlvbkNvbnRyb2xzID0gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXREZWZhdWx0SGVhZGVyQWN0aW9uQ29udHJvbHMoKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgY2hpbGREZXZpY2VHcmlkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhcmVudERldmljZUlkOiBzdHJpbmc7XG4gIC8qKiBTZXRzIHRoZSB3aXRoQ2hpbGRyZW4gcXVlcnkgd2hpY2ggaXMgYXBwZW5kZWQgdG8gdGhlIHJlcXVlc3QuICovXG4gIEBJbnB1dCgpIHdpdGhDaGlsZHJlbiA9IGZhbHNlO1xuICAvKipcbiAgICogRW5hYmxlcyB0aGUgc2VhcmNoIGZvciBkZXZpY2VzIHdoZXJlIGFueSBkZXZpY2UgcHJvcGVyeSBpcyBtYXRjaGVkIGFnYWlucyB0aGUgc2VhcmNoIHRlcm0uXG4gICAqIEVuYWJsZWQgYnkgZGVmYXVsdC4gVGhpcyBpbnB1dCBkb2VzIG5vdCB0YWtlIGVmZmVjdCBpZiB0aGUgPGNvZGU+Y2hpbGREZXZpY2VHcmlkPC9jb2RlPiBpbnB1dCBpcyBzZXQgdG8gPGNvZGU+dHJ1ZTwvY29kZT5cbiAgICovXG4gIEBJbnB1dCgpIHNob3dTZWFyY2ggPSB0cnVlO1xuICAvKipcbiAgICogU2V0cyB0aGUgY2xhc3MgbmFtZSB1c2VkIGZvciBhY3RpdmUgcm93cyAobGFzdCBjbGlja2VkKS5cbiAgICogU2V0IGVtcHR5IHN0cmluZyB0byBkaXNhYmxlIGFwcGVuZGluZyBhY3RpdmUgY2xhc3MgdG8gZ3JpZCByb3dzLlxuICAgKi9cbiAgQElucHV0KClcbiAgYWN0aXZlQ2xhc3NOYW1lID0gJ2FjdGl2ZSc7XG4gIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIGNvbHVtbnMgY29uZmlndXJhdGlvbiBjaGFuZ2VzLiAqL1xuICBAT3V0cHV0KCkgb25Db2x1bW5zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q29sdW1uW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb2x1bW5bXT4oKTtcbiAgQE91dHB1dCgpIG9uRmlsdGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsdGVyQ29uZmlnW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDb25maWdbXT4oKTtcbiAgQE91dHB1dCgpIG9uRGV2aWNlUXVlcnlTdHJpbmdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIGl0ZW1zIHNlbGVjdGlvbiBjaGFuZ2VzLiBUaGUgYXJyYXkgY29udGFpbnMgaWRzIG9mIHNlbGVjdGVkIGl0ZW1zLiAqL1xuICBAT3V0cHV0KCkgaXRlbXNTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW10gPSBbXTtcbiAgYXBwbGllZEZpbHRlcnM6IEZpbHRlckNvbmZpZ1tdID0gW107XG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb24gPSB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERlZmF1bHRQYWdpbmF0aW9uKCk7XG4gIGJ1bGtBY3Rpb25Db250cm9sczogQnVsa0FjdGlvbkNvbnRyb2xbXSA9IHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdEJ1bGtBY3Rpb25Db250cm9scygpO1xuICBoZWFkZXJBY3Rpb25Db250cm9sczogSGVhZGVyQWN0aW9uQ29udHJvbFtdID1cbiAgICB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERlZmF1bHRIZWFkZXJBY3Rpb25Db250cm9scygpO1xuICBzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrOiBTZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrO1xuXG4gIEBWaWV3Q2hpbGQoRGF0YUdyaWRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGRhdGFHcmlkOiBEYXRhR3JpZENvbXBvbmVudDtcbiAgcHJvZHVjdEV4cGVyaWVuY2VFdmVudDogUHJvZHVjdEV4cGVyaWVuY2VFdmVudDtcblxuICBwcml2YXRlIGRlc3Ryb3llZCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkZXZpY2VHcmlkU2VydmljZTogRGV2aWNlR3JpZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBkZ0V4dGVuc2lvblNlcnZpY2U6IERldmljZUdyaWRFeHRlbnNpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VydmVyU2lkZURhdGFDYWxsYmFjayA9IHRoaXMub25EYXRhU291cmNlTW9kaWZpZXIuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0QWN0aW9uQ29udHJvbHMoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICB0cmFja0J5TmFtZShfaW5kZXgsIGNvbHVtbjogQ29sdW1uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29sdW1uLm5hbWU7XG4gIH1cblxuICBhc3luYyBvbkRhdGFTb3VyY2VNb2RpZmllcihcbiAgICBkYXRhU291cmNlTW9kaWZpZXI6IERhdGFTb3VyY2VNb2RpZmllclxuICApOiBQcm9taXNlPFNlcnZlclNpZGVEYXRhUmVzdWx0PiB7XG4gICAgbGV0IHNlcnZlclNpZGVEYXRhUmVzdWx0OiBTZXJ2ZXJTaWRlRGF0YVJlc3VsdDtcbiAgICBsZXQgZmlsdGVyZWRTaXplOiBudW1iZXI7XG4gICAgbGV0IHNpemU6IG51bWJlcjtcbiAgICBpZiAodGhpcy5jaGlsZERldmljZUdyaWQpIHtcbiAgICAgIGNvbnN0IHsgcmVzLCBkYXRhLCBwYWdpbmcgfSA9IGF3YWl0IGFsZXJ0T25FcnJvcihcbiAgICAgICAgdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXRDaGlsZERldmljZURhdGEoXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgICAgdGhpcy5iYXNlUXVlcnksXG4gICAgICAgICAgdGhpcy53aXRoQ2hpbGRyZW4sXG4gICAgICAgICAgdGhpcy5wYXJlbnREZXZpY2VJZFxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBmaWx0ZXJlZFNpemUgPSBhd2FpdCBhbGVydE9uRXJyb3IoXG4gICAgICAgIHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0Q291bnRDaGlsZERldmljZXMoXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgICAgdGhpcy5iYXNlUXVlcnksXG4gICAgICAgICAgdGhpcy5wYXJlbnREZXZpY2VJZFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgc2l6ZSA9IGF3YWl0IGFsZXJ0T25FcnJvcihcbiAgICAgICAgdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXRUb3RhbENoaWxkRGV2aWNlcyh0aGlzLmJhc2VRdWVyeSwgdGhpcy5wYXJlbnREZXZpY2VJZClcbiAgICAgICk7XG5cbiAgICAgIHNlcnZlclNpZGVEYXRhUmVzdWx0ID0ge1xuICAgICAgICByZXMsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIHBhZ2luZyxcbiAgICAgICAgZmlsdGVyZWRTaXplLFxuICAgICAgICBzaXplXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHJlcywgZGF0YSwgcGFnaW5nIH0gPSBhd2FpdCBhbGVydE9uRXJyb3IoXG4gICAgICAgIHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGF0YShcbiAgICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuY29sdW1ucyxcbiAgICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIucGFnaW5hdGlvbixcbiAgICAgICAgICB0aGlzLmJhc2VRdWVyeSxcbiAgICAgICAgICB0aGlzLndpdGhDaGlsZHJlbixcbiAgICAgICAgICBkYXRhU291cmNlTW9kaWZpZXIuc2VhcmNoVGV4dFxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBmaWx0ZXJlZFNpemUgPSBhd2FpdCBhbGVydE9uRXJyb3IoXG4gICAgICAgIHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0Q291bnQoXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgICAgdGhpcy5iYXNlUXVlcnksXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnNlYXJjaFRleHRcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHNpemUgPSBhd2FpdCBhbGVydE9uRXJyb3IodGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXRUb3RhbCh0aGlzLmJhc2VRdWVyeSkpO1xuXG4gICAgICBzZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IHtcbiAgICAgICAgcmVzLFxuICAgICAgICBkYXRhLFxuICAgICAgICBwYWdpbmcsXG4gICAgICAgIGZpbHRlcmVkU2l6ZSxcbiAgICAgICAgc2l6ZVxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ29sdW1uc0NoYW5nZS5lbWl0KGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zKTtcbiAgICB0aGlzLm9uRGV2aWNlUXVlcnlTdHJpbmdDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGV2aWNlUXVlcnlTdHJpbmcoZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsIHRoaXMuYmFzZVF1ZXJ5KVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5kYXRhQ2FsbGJhY2spIHtcbiAgICAgIHNlcnZlclNpZGVEYXRhUmVzdWx0ID0gdGhpcy5kYXRhQ2FsbGJhY2soc2VydmVyU2lkZURhdGFSZXN1bHQpO1xuICAgIH1cblxuICAgIHJldHVybiBzZXJ2ZXJTaWRlRGF0YVJlc3VsdDtcbiAgfVxuXG4gIHNldEFjdGlvbkNvbnRyb2xzKCkge1xuICAgIGNvbnN0IGFzQXJyYXlPZkdyb3VwZWRBY3Rpb25Ib29rcyA9IChob29rczogRGV2aWNlR3JpZEFjdGlvbkhvb2tbXSkgPT5cbiAgICAgIE9iamVjdC52YWx1ZXMoZ3JvdXBCeShob29rcywgJ3R5cGUnKSkgYXMgRGV2aWNlR3JpZEFjdGlvbkhvb2tbXTtcblxuICAgIHRoaXMuZGdFeHRlbnNpb25TZXJ2aWNlLml0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChhc0FycmF5T2ZHcm91cGVkQWN0aW9uSG9va3MpLFxuICAgICAgICBzd2l0Y2hNYXAoZnJvbSksXG4gICAgICAgIG1hcCgoaG9va3M6IERldmljZUdyaWRBY3Rpb25Ib29rW10pID0+IHtcbiAgICAgICAgICBjb25zdCB7IHR5cGUsIGljb24sIHRleHQsIHNob3dPbkhvdmVyIH0gPSBob29rc1swXTtcbiAgICAgICAgICBjb25zdCBtYXRjaGluZ0hvb2tzID0gKGRldmljZTogUm93KSA9PlxuICAgICAgICAgICAgaG9va3MuZmlsdGVyKGhvb2sgPT4gaG9vay5kZXZpY2VNYXRjaGVzKGRldmljZSBhcyBJTWFuYWdlZE9iamVjdCkpO1xuXG4gICAgICAgICAgY29uc3QgaGFzTWF0Y2hpbmdIb29rcyA9IChkZXZpY2U6IFJvdykgPT4gISFtYXRjaGluZ0hvb2tzKGRldmljZSkubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IHVzZUludmVudG9yeURlbGV0ZSA9IChkZXZpY2U6IFJvdykgPT5cbiAgICAgICAgICAgICFoYXNNYXRjaGluZ0hvb2tzKGRldmljZSkgJiYgdHlwZSA9PT0gQnVpbHRJbkFjdGlvblR5cGUuRGVsZXRlO1xuXG4gICAgICAgICAgY29uc3QgcmVzb2x2ZUFjdGlvbiA9IChkZXZpY2U6IFJvdykgPT5cbiAgICAgICAgICAgIHVzZUludmVudG9yeURlbGV0ZShkZXZpY2UpXG4gICAgICAgICAgICAgID8gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5kZWxldGUoZGV2aWNlIGFzIElNYW5hZ2VkT2JqZWN0KVxuICAgICAgICAgICAgICA6IG1hdGNoaW5nSG9va3MoZGV2aWNlKVswXS5vbkFjdGlvbihkZXZpY2UgYXMgSU1hbmFnZWRPYmplY3QpO1xuXG4gICAgICAgICAgdGhpcy5hY3Rpb25Db250cm9scy5wdXNoKHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBpY29uLFxuICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgIHNob3dPbkhvdmVyLFxuICAgICAgICAgICAgc2hvd0lmOiAoZGV2aWNlOiBSb3cpID0+IHR5cGUgPT09IEJ1aWx0SW5BY3Rpb25UeXBlLkRlbGV0ZSB8fCBoYXNNYXRjaGluZ0hvb2tzKGRldmljZSksXG4gICAgICAgICAgICBjYWxsYmFjazogKGRldmljZTogUm93KSA9PlxuICAgICAgICAgICAgICB0b09ic2VydmFibGUocmVzb2x2ZUFjdGlvbihkZXZpY2UpKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihfZXJyID0+IEVNUFRZKSxcbiAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoX3N1Y2Nlc3MgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHVzZUludmVudG9yeURlbGV0ZShkZXZpY2UpIHx8IG1hdGNoaW5nSG9va3MoZGV2aWNlKVswXS5yZWZyZXNoQWZ0ZXJBY3Rpb25Eb25lKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2guZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgdXBkYXRlRmlsdGVyaW5nKFxuICAgIGNvbHVtbk5hbWVzOiBzdHJpbmdbXSxcbiAgICBhY3Rpb246IHtcbiAgICAgIHR5cGU6IEZpbHRlcmluZ0FjdGlvblR5cGU7XG4gICAgICBwYXlsb2FkPzogeyBmaWx0ZXJpbmdNb2RpZmllcjogRmlsdGVyaW5nTW9kaWZpZXIgfTtcbiAgICB9XG4gICkge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gYWN0aW9uO1xuICAgIGlmICh0eXBlID09PSBGaWx0ZXJpbmdBY3Rpb25UeXBlLlJlc2V0RmlsdGVyKSB7XG4gICAgICB0aGlzLmRhdGFHcmlkLmNsZWFyRmlsdGVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGFHcmlkLnVwZGF0ZUZpbHRlcmluZyhjb2x1bW5OYW1lcywgYWN0aW9uKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktZGF0YS1ncmlkXG4gIFt0aXRsZV09XCJ0aXRsZVwiXG4gIFtsb2FkTW9yZUl0ZW1zTGFiZWxdPVwibG9hZE1vcmVJdGVtc0xhYmVsXCJcbiAgW2xvYWRpbmdJdGVtc0xhYmVsXT1cImxvYWRpbmdJdGVtc0xhYmVsXCJcbiAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXG4gIFtwYWdpbmF0aW9uXT1cInBhZ2luYXRpb25cIlxuICBbaW5maW5pdGVTY3JvbGxdPVwiaW5maW5pdGVTY3JvbGxcIlxuICBbYWN0aW9uQ29udHJvbHNdPVwiYWN0aW9uQ29udHJvbHNcIlxuICBbc2VsZWN0YWJsZV09XCJzZWxlY3RhYmxlXCJcbiAgW3NpbmdsZVNlbGVjdGlvbl09XCJzaW5nbGVTZWxlY3Rpb25cIlxuICBbYnVsa0FjdGlvbkNvbnRyb2xzXT1cImJ1bGtBY3Rpb25Db250cm9sc1wiXG4gIFtzZXJ2ZXJTaWRlRGF0YUNhbGxiYWNrXT1cInNlcnZlclNpZGVEYXRhQ2FsbGJhY2tcIlxuICAoaXRlbXNTZWxlY3QpPVwiaXRlbXNTZWxlY3QuZW1pdCgkZXZlbnQpXCJcbiAgW3JlZnJlc2hdPVwicmVmcmVzaFwiXG4gIFtzaG93U2VhcmNoXT1cInNob3dTZWFyY2ggJiYgIWNoaWxkRGV2aWNlR3JpZFwiXG4gIFtoZWFkZXJBY3Rpb25Db250cm9sc109XCJoZWFkZXJBY3Rpb25Db250cm9sc1wiXG4gIFthY3RpdmVDbGFzc05hbWVdPVwiYWN0aXZlQ2xhc3NOYW1lXCJcbiAgYzh5UHJvZHVjdEV4cGVyaWVuY2VcbiAgaW5oZXJpdFxuPlxuICA8Yzh5LXVpLWVtcHR5LXN0YXRlXG4gICAgW2ljb25dPVwiJ3NlYXJjaCdcIlxuICAgIFt0aXRsZV09XCInTm8gbWF0Y2hpbmcgZGV2aWNlcy4nIHwgdHJhbnNsYXRlXCJcbiAgICBbc3VidGl0bGVdPVwiJ1JlZmluZSB5b3VyIHNlYXJjaCB0ZXJtcycgfCB0cmFuc2xhdGVcIlxuICAgIFtob3Jpem9udGFsXT1cInRydWVcIlxuICA+PC9jOHktdWktZW1wdHktc3RhdGU+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrQnk6IHRyYWNrQnlOYW1lXCI+XG4gICAgPGM4eS1jb2x1bW4gW25hbWVdPVwiY29sdW1uLm5hbWVcIj48L2M4eS1jb2x1bW4+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jOHktZGF0YS1ncmlkPlxuIl19
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWdyaWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2aWNlLWdyaWQvZGV2aWNlLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZGV2aWNlLWdyaWQvZGV2aWNlLWdyaWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFFTCxZQUFZLEVBSVosaUJBQWlCLEVBRWpCLG1CQUFtQixFQUVuQixPQUFPLEVBTVAsK0JBQStCLEVBSS9CLFlBQVksRUFDYixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBWTFELE1BQU0sT0FBTyxtQkFBbUI7SUF5QjlCLDJIQUEySDtJQUMzSCxJQUF5QixXQUFXLENBQUMsS0FBaUI7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBNkIsZUFBZSxDQUFDLGNBQTRCO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksY0FBYyxFQUFFO1lBQ2xCLElB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ZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUUyQixtQkFBbUI7c0JBQW5ELEtBQUs7dUJBQUMsb0JBQW9CO2dCQVFRLHFCQUFxQjtzQkFBdkQsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBT3BCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBTU4sZUFBZTtzQkFEZCxLQUFLO2dCQUdJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyx5QkFBeUI7c0JBQWxDLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFXUCxRQUFRO3NCQURQLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIGFsZXJ0T25FcnJvcixcbiAgQnVpbHRJbkFjdGlvblR5cGUsXG4gIEJ1bGtBY3Rpb25Db250cm9sLFxuICBDb2x1bW4sXG4gIERhdGFHcmlkQ29tcG9uZW50LFxuICBEYXRhU291cmNlTW9kaWZpZXIsXG4gIEZpbHRlcmluZ0FjdGlvblR5cGUsXG4gIEZpbHRlcmluZ01vZGlmaWVyLFxuICBnZXR0ZXh0LFxuICBIZWFkZXJBY3Rpb25Db250cm9sLFxuICBMb2FkTW9yZU1vZGUsXG4gIFBhZ2luYXRpb24sXG4gIFByb2R1Y3RFeHBlcmllbmNlRXZlbnQsXG4gIFByb2R1Y3RFeHBlcmllbmNlRXZlbnRTb3VyY2UsXG4gIFBST0RVQ1RfRVhQRVJJRU5DRV9FVkVOVF9TT1VSQ0UsXG4gIFJvdyxcbiAgU2VydmVyU2lkZURhdGFDYWxsYmFjayxcbiAgU2VydmVyU2lkZURhdGFSZXN1bHQsXG4gIHRvT2JzZXJ2YWJsZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IGdyb3VwQnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgRU1QVFksIGZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEZXZpY2VHcmlkRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLWdyaWQtZXh0ZW5zaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0YUNhbGxiYWNrLCBEZXZpY2VHcmlkQWN0aW9uSG9vaywgRmlsdGVyQ29uZmlnIH0gZnJvbSAnLi9kZXZpY2UtZ3JpZC5tb2RlbCc7XG5pbXBvcnQgeyBEZXZpY2VHcmlkU2VydmljZSB9IGZyb20gJy4vZGV2aWNlLWdyaWQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kZXZpY2UtZ3JpZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXZpY2UtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBST0RVQ1RfRVhQRVJJRU5DRV9FVkVOVF9TT1VSQ0UsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEZXZpY2VHcmlkQ29tcG9uZW50KVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEZXZpY2VHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIFByb2R1Y3RFeHBlcmllbmNlRXZlbnRTb3VyY2Uge1xuICAvKiogT3B0aW9uYWwgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBhbGxvd3MgdG8gbW9kaWZ5IHNlcnZlciBzaWRlIGRhdGEgcmVzdWx0IGJlZm9yZSBpdCdzIHJlbmRlcmVkLiAqL1xuICBASW5wdXQoKSBkYXRhQ2FsbGJhY2s6IERhdGFDYWxsYmFjaztcbiAgLyoqIFRha2VzIGFuIGV2ZW50IGVtaXR0ZXIuIFdoZW4gYW4gZXZlbnQgaXMgZW1pdHRlZCwgdGhlIGdyaWQgd2lsbCBiZSByZWxvYWRlZC4gKi9cbiAgQElucHV0KCkgcmVmcmVzaDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKiogVGhlIHRpdGxlIGZvciB0aGUgZGF0YSBncmlkLCBpdCdzIGRpc3BsYXllZCBpbiB0aGUgZ3JpZCdzIGhlYWRlci4gKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IGdldHRleHQoJ0RldmljZXMnKTtcbiAgLyoqIFRoZSBsYWJlbCBmb3IgbG9hZCBtb3JlIGJ1dHRvbi4gKi9cbiAgQElucHV0KCkgbG9hZE1vcmVJdGVtc0xhYmVsID0gZ2V0dGV4dCgnTG9hZCBtb3JlIGRldmljZXMnKTtcbiAgLyoqIFRoZSBsYWJlbCBmb3IgbG9hZGluZyBpbmRpY2F0b3IuICovXG4gIEBJbnB1dCgpIGxvYWRpbmdJdGVtc0xhYmVsOiBzdHJpbmcgPSBnZXR0ZXh0KCdMb2FkaW5nIGRldmljZXPigKYnKTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqXG4gICAqIEludGVybmFsIHVzZSBvbmx5OiB1c2VkIHRvIGRlZmluZSB1c2VyIHByZWZlcmVuY2VzIGtleSB1bmRlciB3aGljaCAnQWxsIGRldmljZXMnIGNvbHVtbiBjb25maWcgaXMgc3RvcmVkLlxuICAgKi9cbiAgQElucHV0KCkgbGVnYWN5Q29uZmlnS2V5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKlxuICAgKiBJbnRlcm5hbCB1c2Ugb25seTogdXNlZCB0byBkZWZpbmUgdXNlciBwcmVmZXJlbmNlcyBrZXkgdW5kZXIgd2hpY2ggJ0FsbCBkZXZpY2VzJyBmaWx0ZXIvc29ydGluZyBjb25maWcgaXMgc3RvcmVkLlxuICAgKi9cbiAgQElucHV0KCkgbGVnYWN5RmlsdGVyS2V5OiBzdHJpbmc7XG4gIC8qKiBUaGUgbGlzdCBvZiBjb2x1bW5zIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZ3JpZC4gSWYgbm90IGdpdmVuLCBpdCBkZWZhdWx0cyB0byBzdGFuZGFyZCBjb2x1bW5zLiAqL1xuICBASW5wdXQoJ2NvbHVtbnMnKSBjb2x1bW5zOiBDb2x1bW5bXSA9IHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdENvbHVtbnMoKTtcbiAgLyoqIFBhZ2luYXRpb24gc2V0dGluZ3MsIGUuZy4gYWxsb3dzIGZvciBzZXR0aW5nIGN1cnJlbnQgcGFnZSBvciBwYWdlIHNpemUuIElmIG5vdCBnaXZlbiwgZGVmYXVsdHMgdG8gc3RhbmRhcmQgc2V0dGluZ3MuICovXG4gIEBJbnB1dCgncGFnaW5hdGlvbicpIHNldCBfcGFnaW5hdGlvbih2YWx1ZTogUGFnaW5hdGlvbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIGluZmluaXRlU2Nyb2xsOiBMb2FkTW9yZU1vZGU7XG4gIC8qKiBTZXRzIGxvYWQgbW9yZSBtb2RlLiAqL1xuICBASW5wdXQoJ2luZmluaXRlU2Nyb2xsJykgc2V0IF9pbmZpbml0ZVNjcm9sbChpbmZpbml0ZVNjcm9sbDogTG9hZE1vcmVNb2RlKSB7XG4gICAgdGhpcy5pbmZpbml0ZVNjcm9sbCA9IGluZmluaXRlU2Nyb2xsO1xuICAgIGlmIChpbmZpbml0ZVNjcm9sbCkge1xuICAgICAgdGhpcy5wYWdpbmF0aW9uID0gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXRJbmZpbml0ZVNjcm9sbFBhZ2luYXRpb24oKTtcbiAgICB9XG4gIH1cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGlucHV0IHByb3BlcnR5IGZvciBoaWRpbmcgc3BlY2lmaWMgYnVpbHQtaW4gYWN0aW9uIHR5cGVzLlxuICAgKiBUaGUgYGFjdGlvbnNUb0hpZGVgIGlucHV0IGFsbG93cyBzcGVjaWZ5aW5nIGFuIGFycmF5IG9mIGBCdWlsdEluQWN0aW9uVHlwZWAgdmFsdWVzIG9yIHRoZSBzdHJpbmcgJ0FMTCcgdG8gaGlkZSBhbGwgYWN0aW9uIGNvbnRyb2xzXG4gICAqL1xuICBASW5wdXQoKSBidWlsdEluQWN0aW9uc1RvSGlkZTogQnVpbHRJbkFjdGlvblR5cGVbXSB8ICdBTEwnID0gW107XG4gIC8qKiBTZXRzIGFjdGlvbiBjb250cm9scyAoYWN0aW9ucyBhdmFpbGFibGUgZm9yIGluZGl2aWR1YWwgaXRlbXMpLiBJZiBub3QgZ2l2ZW4sIGl0IGRlZmF1bHRzIHRvIHN0YW5kYXJkIGFjdGlvbnMuICovXG4gIEBJbnB1dCgnYWN0aW9uQ29udHJvbHMnKSBzZXQgX2FjdGlvbkNvbnRyb2xzKHZhbHVlOiBBY3Rpb25Db250cm9sW10pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuYWN0aW9uQ29udHJvbHMgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hY3Rpb25Db250cm9scyA9IHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdEFjdGlvbkNvbnRyb2xzKCk7XG4gICAgfVxuICB9XG4gIC8qKiBEZXRlcm1pbmVzIHdoZXRoZXIgaXRlbXMgY2FuIGJlIHNlbGVjdGVkIGJ5IGNsaWNraW5nIGEgY2hlY2tib3ggaW4gdGhlIGZpcnN0IGNvbHVtbi4gKi9cbiAgQElucHV0KCkgc2VsZWN0YWJsZSA9IGZhbHNlO1xuICAvKiogUmVzdHJpY3RzIHNlbGVjdGlvbiB0byBhIHNpbmdsZSByb3cgb25seS4gU2VsZWN0aW9uIGNvbHVtbiBkaXNwbGF5cyByYWRpbyBidXR0b24gaW5zdGVhZCBvZiBjaGVja2JveGVzICovXG4gIEBJbnB1dCgpIHNpbmdsZVNlbGVjdGlvbiA9IGZhbHNlO1xuICAvKiogU2V0cyB0aGUgYmFzZSBxdWVyeSB3aGljaCBpcyBhcHBlbmRlZCB0byB0aGUgcmVxdWVzdCBmb3IgZGF0YS4gKi9cbiAgQElucHV0KCkgYmFzZVF1ZXJ5OiBvYmplY3QgPSB7fTtcbiAgLyoqIFNldHMgYnVsayBhY3Rpb24gY29udHJvbHMgKGFjdGlvbnMgYXZhaWxhYmxlIGZvciBpdGVtcyBzZWxlY3RlZCBieSB1c2VyKS4gSWYgbm90IGdpdmVuLCBpdCBkZWZhdWx0cyB0byBzdGFuZGFyZCBidWxrIGFjdGlvbnMuICovXG4gIEBJbnB1dCgnYnVsa0FjdGlvbkNvbnRyb2xzJykgc2V0IF9idWxrQWN0aW9uQ29udHJvbHModmFsdWU6IEJ1bGtBY3Rpb25Db250cm9sW10pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuYnVsa0FjdGlvbkNvbnRyb2xzID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYnVsa0FjdGlvbkNvbnRyb2xzID0gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXREZWZhdWx0QnVsa0FjdGlvbkNvbnRyb2xzKCk7XG4gICAgfVxuICB9XG4gIC8qKiBTZXRzIGhlYWRlciBhY3Rpb24gY29udHJvbHMgKGFjdGlvbnMgYXZhaWxhYmxlIGZyb20gdGhlIGdyaWQgaGVhZGVyKS4gSWYgbm90IGdpdmVuLCBpdCBkZWZhdWx0cyB0byBlbXB0eSBsaXN0IG9mIGFjdGlvbnMuICovXG4gIEBJbnB1dCgnaGVhZGVyQWN0aW9uQ29udHJvbHMnKSBzZXQgX2hlYWRlckFjdGlvbkNvbnRyb2xzKHZhbHVlOiBIZWFkZXJBY3Rpb25Db250cm9sW10pIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuaGVhZGVyQWN0aW9uQ29udHJvbHMgPSB2YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oZWFkZXJBY3Rpb25Db250cm9scyA9IHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0RGVmYXVsdEhlYWRlckFjdGlvbkNvbnRyb2xzKCk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIGNoaWxkRGV2aWNlR3JpZCA9IGZhbHNlO1xuICBASW5wdXQoKSBwYXJlbnREZXZpY2VJZDogc3RyaW5nO1xuICAvKiogU2V0cyB0aGUgd2l0aENoaWxkcmVuIHF1ZXJ5IHdoaWNoIGlzIGFwcGVuZGVkIHRvIHRoZSByZXF1ZXN0LiAqL1xuICBASW5wdXQoKSB3aXRoQ2hpbGRyZW4gPSBmYWxzZTtcbiAgLyoqXG4gICAqIEVuYWJsZXMgdGhlIHNlYXJjaCBmb3IgZGV2aWNlcyB3aGVyZSBhbnkgZGV2aWNlIHByb3BlcnkgaXMgbWF0Y2hlZCBhZ2FpbnMgdGhlIHNlYXJjaCB0ZXJtLlxuICAgKiBFbmFibGVkIGJ5IGRlZmF1bHQuIFRoaXMgaW5wdXQgZG9lcyBub3QgdGFrZSBlZmZlY3QgaWYgdGhlIDxjb2RlPmNoaWxkRGV2aWNlR3JpZDwvY29kZT4gaW5wdXQgaXMgc2V0IHRvIDxjb2RlPnRydWU8L2NvZGU+XG4gICAqL1xuICBASW5wdXQoKSBzaG93U2VhcmNoID0gdHJ1ZTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGNsYXNzIG5hbWUgdXNlZCBmb3IgYWN0aXZlIHJvd3MgKGxhc3QgY2xpY2tlZCkuXG4gICAqIFNldCBlbXB0eSBzdHJpbmcgdG8gZGlzYWJsZSBhcHBlbmRpbmcgYWN0aXZlIGNsYXNzIHRvIGdyaWQgcm93cy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGFjdGl2ZUNsYXNzTmFtZSA9ICdhY3RpdmUnO1xuICAvKiogRW1pdHMgYW4gZXZlbnQgd2hlbiBjb2x1bW5zIGNvbmZpZ3VyYXRpb24gY2hhbmdlcy4gKi9cbiAgQE91dHB1dCgpIG9uQ29sdW1uc0NoYW5nZTogRXZlbnRFbWl0dGVyPENvbHVtbltdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29sdW1uW10+KCk7XG4gIEBPdXRwdXQoKSBvbkZpbHRlckNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbHRlckNvbmZpZ1tdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyQ29uZmlnW10+KCk7XG4gIEBPdXRwdXQoKSBvbkRldmljZVF1ZXJ5U3RyaW5nQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAvKiogRW1pdHMgYW4gZXZlbnQgd2hlbiBpdGVtcyBzZWxlY3Rpb24gY2hhbmdlcy4gVGhlIGFycmF5IGNvbnRhaW5zIGlkcyBvZiBzZWxlY3RlZCBpdGVtcy4gKi9cbiAgQE91dHB1dCgpIGl0ZW1zU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBhY3Rpb25Db250cm9sczogQWN0aW9uQ29udHJvbFtdID0gW107XG4gIGFwcGxpZWRGaWx0ZXJzOiBGaWx0ZXJDb25maWdbXSA9IFtdO1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uID0gdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXREZWZhdWx0UGFnaW5hdGlvbigpO1xuICBidWxrQWN0aW9uQ29udHJvbHM6IEJ1bGtBY3Rpb25Db250cm9sW10gPSB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERlZmF1bHRCdWxrQWN0aW9uQ29udHJvbHMoKTtcbiAgaGVhZGVyQWN0aW9uQ29udHJvbHM6IEhlYWRlckFjdGlvbkNvbnRyb2xbXSA9XG4gICAgdGhpcy5kZXZpY2VHcmlkU2VydmljZS5nZXREZWZhdWx0SGVhZGVyQWN0aW9uQ29udHJvbHMoKTtcbiAgc2VydmVyU2lkZURhdGFDYWxsYmFjazogU2VydmVyU2lkZURhdGFDYWxsYmFjaztcblxuICBAVmlld0NoaWxkKERhdGFHcmlkQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBkYXRhR3JpZDogRGF0YUdyaWRDb21wb25lbnQ7XG4gIHByb2R1Y3RFeHBlcmllbmNlRXZlbnQ6IFByb2R1Y3RFeHBlcmllbmNlRXZlbnQ7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGV2aWNlR3JpZFNlcnZpY2U6IERldmljZUdyaWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGdFeHRlbnNpb25TZXJ2aWNlOiBEZXZpY2VHcmlkRXh0ZW5zaW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLnNlcnZlclNpZGVEYXRhQ2FsbGJhY2sgPSB0aGlzLm9uRGF0YVNvdXJjZU1vZGlmaWVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldEFjdGlvbkNvbnRyb2xzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgdHJhY2tCeU5hbWUoX2luZGV4LCBjb2x1bW46IENvbHVtbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5uYW1lO1xuICB9XG5cbiAgYXN5bmMgb25EYXRhU291cmNlTW9kaWZpZXIoXG4gICAgZGF0YVNvdXJjZU1vZGlmaWVyOiBEYXRhU291cmNlTW9kaWZpZXJcbiAgKTogUHJvbWlzZTxTZXJ2ZXJTaWRlRGF0YVJlc3VsdD4ge1xuICAgIGxldCBzZXJ2ZXJTaWRlRGF0YVJlc3VsdDogU2VydmVyU2lkZURhdGFSZXN1bHQ7XG4gICAgbGV0IGZpbHRlcmVkU2l6ZTogbnVtYmVyO1xuICAgIGxldCBzaXplOiBudW1iZXI7XG4gICAgaWYgKHRoaXMuY2hpbGREZXZpY2VHcmlkKSB7XG4gICAgICBjb25zdCB7IHJlcywgZGF0YSwgcGFnaW5nIH0gPSBhd2FpdCBhbGVydE9uRXJyb3IoXG4gICAgICAgIHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0Q2hpbGREZXZpY2VEYXRhKFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zLFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLFxuICAgICAgICAgIHRoaXMuYmFzZVF1ZXJ5LFxuICAgICAgICAgIHRoaXMud2l0aENoaWxkcmVuLFxuICAgICAgICAgIHRoaXMucGFyZW50RGV2aWNlSWRcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgZmlsdGVyZWRTaXplID0gYXdhaXQgYWxlcnRPbkVycm9yKFxuICAgICAgICB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldENvdW50Q2hpbGREZXZpY2VzKFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zLFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLFxuICAgICAgICAgIHRoaXMuYmFzZVF1ZXJ5LFxuICAgICAgICAgIHRoaXMucGFyZW50RGV2aWNlSWRcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHNpemUgPSBhd2FpdCBhbGVydE9uRXJyb3IoXG4gICAgICAgIHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0VG90YWxDaGlsZERldmljZXModGhpcy5iYXNlUXVlcnksIHRoaXMucGFyZW50RGV2aWNlSWQpXG4gICAgICApO1xuXG4gICAgICBzZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IHtcbiAgICAgICAgcmVzLFxuICAgICAgICBkYXRhLFxuICAgICAgICBwYWdpbmcsXG4gICAgICAgIGZpbHRlcmVkU2l6ZSxcbiAgICAgICAgc2l6ZVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyByZXMsIGRhdGEsIHBhZ2luZyB9ID0gYXdhaXQgYWxlcnRPbkVycm9yKFxuICAgICAgICB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERhdGEoXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLmNvbHVtbnMsXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnBhZ2luYXRpb24sXG4gICAgICAgICAgdGhpcy5iYXNlUXVlcnksXG4gICAgICAgICAgdGhpcy53aXRoQ2hpbGRyZW4sXG4gICAgICAgICAgZGF0YVNvdXJjZU1vZGlmaWVyLnNlYXJjaFRleHRcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgZmlsdGVyZWRTaXplID0gYXdhaXQgYWxlcnRPbkVycm9yKFxuICAgICAgICB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldENvdW50KFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zLFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5wYWdpbmF0aW9uLFxuICAgICAgICAgIHRoaXMuYmFzZVF1ZXJ5LFxuICAgICAgICAgIGRhdGFTb3VyY2VNb2RpZmllci5zZWFyY2hUZXh0XG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICBzaXplID0gYXdhaXQgYWxlcnRPbkVycm9yKHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZ2V0VG90YWwodGhpcy5iYXNlUXVlcnkpKTtcblxuICAgICAgc2VydmVyU2lkZURhdGFSZXN1bHQgPSB7XG4gICAgICAgIHJlcyxcbiAgICAgICAgZGF0YSxcbiAgICAgICAgcGFnaW5nLFxuICAgICAgICBmaWx0ZXJlZFNpemUsXG4gICAgICAgIHNpemVcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5vbkNvbHVtbnNDaGFuZ2UuZW1pdChkYXRhU291cmNlTW9kaWZpZXIuY29sdW1ucyk7XG4gICAgdGhpcy5vbkRldmljZVF1ZXJ5U3RyaW5nQ2hhbmdlLmVtaXQoXG4gICAgICB0aGlzLmRldmljZUdyaWRTZXJ2aWNlLmdldERldmljZVF1ZXJ5U3RyaW5nKGRhdGFTb3VyY2VNb2RpZmllci5jb2x1bW5zLCB0aGlzLmJhc2VRdWVyeSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuZGF0YUNhbGxiYWNrKSB7XG4gICAgICBzZXJ2ZXJTaWRlRGF0YVJlc3VsdCA9IHRoaXMuZGF0YUNhbGxiYWNrKHNlcnZlclNpZGVEYXRhUmVzdWx0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VydmVyU2lkZURhdGFSZXN1bHQ7XG4gIH1cblxuICBzZXRBY3Rpb25Db250cm9scygpIHtcbiAgICBpZiAodGhpcy5idWlsdEluQWN0aW9uc1RvSGlkZSA9PT0gJ0FMTCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgYXNBcnJheU9mR3JvdXBlZEFjdGlvbkhvb2tzID0gKGhvb2tzOiBEZXZpY2VHcmlkQWN0aW9uSG9va1tdKSA9PlxuICAgICAgT2JqZWN0LnZhbHVlcyhncm91cEJ5KGhvb2tzLCAndHlwZScpKSBhcyBEZXZpY2VHcmlkQWN0aW9uSG9va1tdO1xuXG4gICAgdGhpcy5kZ0V4dGVuc2lvblNlcnZpY2UuaXRlbXMkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGFzQXJyYXlPZkdyb3VwZWRBY3Rpb25Ib29rcyksXG4gICAgICAgIHN3aXRjaE1hcChmcm9tKSxcbiAgICAgICAgbWFwKChob29rczogRGV2aWNlR3JpZEFjdGlvbkhvb2tbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgdHlwZSwgaWNvbiwgdGV4dCwgc2hvd09uSG92ZXIgfSA9IGhvb2tzWzBdO1xuICAgICAgICAgIGNvbnN0IGFjdGlvbnNUb0hpZGUgPSB0aGlzLmJ1aWx0SW5BY3Rpb25zVG9IaWRlIGFzIHR5cGVvZiB0eXBlO1xuICAgICAgICAgIGNvbnN0IHNob3VsZFB1c2hUb0FjdGlvbkNvbnRyb2xzID1cbiAgICAgICAgICAgIGFjdGlvbnNUb0hpZGUubGVuZ3RoID09PSAwIHx8ICFhY3Rpb25zVG9IaWRlLmluY2x1ZGVzKHR5cGUpO1xuXG4gICAgICAgICAgY29uc3QgbWF0Y2hpbmdIb29rcyA9IChkZXZpY2U6IFJvdykgPT5cbiAgICAgICAgICAgIGhvb2tzLmZpbHRlcihob29rID0+IGhvb2suZGV2aWNlTWF0Y2hlcyhkZXZpY2UgYXMgSU1hbmFnZWRPYmplY3QpKTtcblxuICAgICAgICAgIGNvbnN0IGhhc01hdGNoaW5nSG9va3MgPSAoZGV2aWNlOiBSb3cpID0+ICEhbWF0Y2hpbmdIb29rcyhkZXZpY2UpLmxlbmd0aDtcbiAgICAgICAgICBjb25zdCB1c2VJbnZlbnRvcnlEZWxldGUgPSAoZGV2aWNlOiBSb3cpID0+XG4gICAgICAgICAgICAhaGFzTWF0Y2hpbmdIb29rcyhkZXZpY2UpICYmIHR5cGUgPT09IEJ1aWx0SW5BY3Rpb25UeXBlLkRlbGV0ZTtcblxuICAgICAgICAgIGNvbnN0IHJlc29sdmVBY3Rpb24gPSAoZGV2aWNlOiBSb3cpID0+XG4gICAgICAgICAgICB1c2VJbnZlbnRvcnlEZWxldGUoZGV2aWNlKVxuICAgICAgICAgICAgICA/IHRoaXMuZGV2aWNlR3JpZFNlcnZpY2UuZGVsZXRlKGRldmljZSBhcyBJTWFuYWdlZE9iamVjdClcbiAgICAgICAgICAgICAgOiBtYXRjaGluZ0hvb2tzKGRldmljZSlbMF0ub25BY3Rpb24oZGV2aWNlIGFzIElNYW5hZ2VkT2JqZWN0KTtcblxuICAgICAgICAgIGlmIChzaG91bGRQdXNoVG9BY3Rpb25Db250cm9scykge1xuICAgICAgICAgICAgdGhpcy5hY3Rpb25Db250cm9scy5wdXNoKHtcbiAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgaWNvbixcbiAgICAgICAgICAgICAgdGV4dCxcbiAgICAgICAgICAgICAgc2hvd09uSG92ZXIsXG4gICAgICAgICAgICAgIHNob3dJZjogKGRldmljZTogUm93KSA9PlxuICAgICAgICAgICAgICAgIHR5cGUgPT09IEJ1aWx0SW5BY3Rpb25UeXBlLkRlbGV0ZSB8fCBoYXNNYXRjaGluZ0hvb2tzKGRldmljZSksXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiAoZGV2aWNlOiBSb3cpID0+XG4gICAgICAgICAgICAgICAgdG9PYnNlcnZhYmxlKHJlc29sdmVBY3Rpb24oZGV2aWNlKSlcbiAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKF9lcnIgPT4gRU1QVFkpLFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShfc3VjY2VzcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICB1c2VJbnZlbnRvcnlEZWxldGUoZGV2aWNlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgIG1hdGNoaW5nSG9va3MoZGV2aWNlKVswXS5yZWZyZXNoQWZ0ZXJBY3Rpb25Eb25lXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2guZW1pdCgpO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJpbmcoXG4gICAgY29sdW1uTmFtZXM6IHN0cmluZ1tdLFxuICAgIGFjdGlvbjoge1xuICAgICAgdHlwZTogRmlsdGVyaW5nQWN0aW9uVHlwZTtcbiAgICAgIHBheWxvYWQ/OiB7IGZpbHRlcmluZ01vZGlmaWVyOiBGaWx0ZXJpbmdNb2RpZmllciB9O1xuICAgIH1cbiAgKSB7XG4gICAgY29uc3QgeyB0eXBlIH0gPSBhY3Rpb247XG4gICAgaWYgKHR5cGUgPT09IEZpbHRlcmluZ0FjdGlvblR5cGUuUmVzZXRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuZGF0YUdyaWQuY2xlYXJGaWx0ZXJzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF0YUdyaWQudXBkYXRlRmlsdGVyaW5nKGNvbHVtbk5hbWVzLCBhY3Rpb24pO1xuICAgIH1cbiAgfVxufVxuIiwiPGM4eS1kYXRhLWdyaWRcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2xvYWRNb3JlSXRlbXNMYWJlbF09XCJsb2FkTW9yZUl0ZW1zTGFiZWxcIlxuICBbbG9hZGluZ0l0ZW1zTGFiZWxdPVwibG9hZGluZ0l0ZW1zTGFiZWxcIlxuICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgW3BhZ2luYXRpb25dPVwicGFnaW5hdGlvblwiXG4gIFtpbmZpbml0ZVNjcm9sbF09XCJpbmZpbml0ZVNjcm9sbFwiXG4gIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25Db250cm9sc1wiXG4gIFtzZWxlY3RhYmxlXT1cInNlbGVjdGFibGVcIlxuICBbc2luZ2xlU2VsZWN0aW9uXT1cInNpbmdsZVNlbGVjdGlvblwiXG4gIFtidWxrQWN0aW9uQ29udHJvbHNdPVwiYnVsa0FjdGlvbkNvbnRyb2xzXCJcbiAgW3NlcnZlclNpZGVEYXRhQ2FsbGJhY2tdPVwic2VydmVyU2lkZURhdGFDYWxsYmFja1wiXG4gIChpdGVtc1NlbGVjdCk9XCJpdGVtc1NlbGVjdC5lbWl0KCRldmVudClcIlxuICBbcmVmcmVzaF09XCJyZWZyZXNoXCJcbiAgW3Nob3dTZWFyY2hdPVwic2hvd1NlYXJjaCAmJiAhY2hpbGREZXZpY2VHcmlkXCJcbiAgW2hlYWRlckFjdGlvbkNvbnRyb2xzXT1cImhlYWRlckFjdGlvbkNvbnRyb2xzXCJcbiAgW2FjdGl2ZUNsYXNzTmFtZV09XCJhY3RpdmVDbGFzc05hbWVcIlxuICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICBpbmhlcml0XG4+XG4gIDxjOHktdWktZW1wdHktc3RhdGVcbiAgICBbaWNvbl09XCInc2VhcmNoJ1wiXG4gICAgW3RpdGxlXT1cIidObyBtYXRjaGluZyBkZXZpY2VzLicgfCB0cmFuc2xhdGVcIlxuICAgIFtzdWJ0aXRsZV09XCInUmVmaW5lIHlvdXIgc2VhcmNoIHRlcm1zJyB8IHRyYW5zbGF0ZVwiXG4gICAgW2hvcml6b250YWxdPVwidHJ1ZVwiXG4gID48L2M4eS11aS1lbXB0eS1zdGF0ZT5cblxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeU5hbWVcIj5cbiAgICA8Yzh5LWNvbHVtbiBbbmFtZV09XCJjb2x1bW4ubmFtZVwiPjwvYzh5LWNvbHVtbj5cbiAgPC9uZy1jb250YWluZXI+XG48L2M4eS1kYXRhLWdyaWQ+XG4iXX0=
|
|
@@ -67,7 +67,7 @@ DeviceListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
67
67
|
provide: DATA_GRID_CONFIGURATION_CONTEXT_PROVIDER,
|
|
68
68
|
useExisting: DeviceListComponent
|
|
69
69
|
}
|
|
70
|
-
], ngImport: i0, template: "<c8y-title>\n {{ 'All devices' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'exchange'\"\n [label]=\"'Devices' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-device-management'\"\n [label]=\"'All devices' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add smart group' | translate }}\"\n (click)=\"createSmartGroup()\"\n >\n <i c8yIcon=\"c8y-group-smart\"></i>\n {{ 'Add smart group' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/device-management/#viewing-devices\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [columns]=\"columns$ | async\"\n [infiniteScroll]=\"(count$ | async) === undefined ? 'auto' : undefined\"\n (onDeviceQueryStringChange)=\"deviceQueryStringOutput = $event\"\n [actionControls]=\"actionControls\"\n c8yProductExperience\n [actionName]=\"'allDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "component", type: i5.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i5.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i5.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "directive", type: i5.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: i5.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i5.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i5.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: i1.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
|
|
70
|
+
], ngImport: i0, template: "<c8y-title>\n {{ 'All devices' | translate }}\n</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'exchange'\"\n [label]=\"'Devices' | translate\"\n ></c8y-breadcrumb-item>\n <c8y-breadcrumb-item\n [icon]=\"'c8y-device-management'\"\n [label]=\"'All devices' | translate\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<c8y-action-bar-item [placement]=\"'right'\">\n <button\n class=\"btn btn-link\"\n title=\"{{ 'Add smart group' | translate }}\"\n (click)=\"createSmartGroup()\"\n >\n <i c8yIcon=\"c8y-group-smart\"></i>\n {{ 'Add smart group' | translate }}\n </button>\n</c8y-action-bar-item>\n\n<c8y-help src=\"/users-guide/device-management/#viewing-devices\"></c8y-help>\n\n<div class=\"content-fullpage border-top border-bottom\">\n <c8y-device-grid\n [columns]=\"columns$ | async\"\n [infiniteScroll]=\"(count$ | async) === undefined ? 'auto' : undefined\"\n (onDeviceQueryStringChange)=\"deviceQueryStringOutput = $event\"\n [actionControls]=\"actionControls\"\n c8yProductExperience\n [actionName]=\"'allDevices'\"\n ></c8y-device-grid>\n</div>\n", dependencies: [{ kind: "component", type: i5.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i5.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i5.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "directive", type: i5.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "component", type: i5.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "directive", type: i5.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i5.HelpComponent, selector: "c8y-help", inputs: ["src", "isCollapsed", "priority", "icon"] }, { kind: "component", type: i1.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "builtInActionsToHide", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] });
|
|
71
71
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceListComponent, decorators: [{
|
|
72
72
|
type: Component,
|
|
73
73
|
args: [{ selector: 'c8y-device-list', providers: [
|
|
@@ -65,7 +65,7 @@ DeviceSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
65
65
|
provide: DATA_GRID_CONFIGURATION_CONTEXT,
|
|
66
66
|
useValue: DeviceSelectorComponent.GRID_CONFIG_CONTEXT
|
|
67
67
|
}
|
|
68
|
-
], viewQueries: [{ propertyName: "deviceGrid", first: true, predicate: DeviceGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-device-grid\n [title]=\"'Target devices' | translate\"\n [columns]=\"columns\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"false\"\n (onDeviceQueryStringChange)=\"onDeviceQueryStringChange.emit($event)\"\n c8yProductExperience\n [actionName]=\"'bulkOperations'\"\n></c8y-device-grid>\n", dependencies: [{ kind: "directive", type: i1.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i2.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] });
|
|
68
|
+
], viewQueries: [{ propertyName: "deviceGrid", first: true, predicate: DeviceGridComponent, descendants: true, static: true }], ngImport: i0, template: "<c8y-device-grid\n [title]=\"'Target devices' | translate\"\n [columns]=\"columns\"\n [infiniteScroll]=\"'auto'\"\n [showSearch]=\"false\"\n (onDeviceQueryStringChange)=\"onDeviceQueryStringChange.emit($event)\"\n c8yProductExperience\n [actionName]=\"'bulkOperations'\"\n></c8y-device-grid>\n", dependencies: [{ kind: "directive", type: i1.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit", "suppressDataOverriding"] }, { kind: "component", type: i2.DeviceGridComponent, selector: "c8y-device-grid", inputs: ["dataCallback", "refresh", "title", "loadMoreItemsLabel", "loadingItemsLabel", "legacyConfigKey", "legacyFilterKey", "columns", "pagination", "infiniteScroll", "builtInActionsToHide", "actionControls", "selectable", "singleSelection", "baseQuery", "bulkActionControls", "headerActionControls", "childDeviceGrid", "parentDeviceId", "withChildren", "showSearch", "activeClassName"], outputs: ["onColumnsChange", "onFilterChange", "onDeviceQueryStringChange", "itemsSelect"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] });
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DeviceSelectorComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
71
71
|
args: [{ selector: 'c8y-device-selector', providers: [
|