barsa-tiles 2.0.45 → 2.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/action-item/action-item.component.mjs +1 -1
- package/esm2022/lib/app-finder/app-finder.component.mjs +1 -1
- package/esm2022/lib/app-finder-app-list/app-finder-app-list.component.mjs +1 -1
- package/esm2022/lib/barsa-pin-app/barsa-pin-app.component.mjs +1 -1
- package/esm2022/lib/barsa-shellbar/barsa-shellbar.component.mjs +1 -1
- package/esm2022/lib/barsa-tile-group-page/barsa-tile-group-page.component.mjs +28 -12
- package/esm2022/lib/change-app-tile/change-app-tile.component.mjs +1 -1
- package/esm2022/lib/create-app-group/create-app-group.component.mjs +1 -1
- package/esm2022/lib/feed-tile/feed-tile.component.mjs +3 -3
- package/esm2022/lib/footer-edit-tile/footer-edit-tile.component.mjs +1 -1
- package/esm2022/lib/form-tile/form-tile.component.mjs +3 -3
- package/esm2022/lib/logo-tile/logo-tile.component.mjs +3 -3
- package/esm2022/lib/micro-tile-chart-area/micro-tile-chart-area.component.mjs +1 -1
- package/esm2022/lib/micro-tile-chart-bar/micro-tile-chart-bar.component.mjs +1 -1
- package/esm2022/lib/micro-tile-chart-bullet/micro-tile-chart-bullet.component.mjs +1 -1
- package/esm2022/lib/micro-tile-chart-circular/micro-tile-chart-circular.component.mjs +1 -1
- package/esm2022/lib/micro-tile-chart-comparison/micro-tile-chart-comparison.component.mjs +1 -1
- package/esm2022/lib/micro-tile-chart-line/micro-tile-chart-line.component.mjs +1 -1
- package/esm2022/lib/micro-tile-chart-stackbar/micro-tile-chart-stackbar.component.mjs +1 -1
- package/esm2022/lib/news-tile/news-tile.component.mjs +3 -3
- package/esm2022/lib/notification-group/notification-group.component.mjs +1 -1
- package/esm2022/lib/numeric-tile/numeric-tile.component.mjs +3 -3
- package/esm2022/lib/pin-tile/pin-tile.component.mjs +1 -1
- package/esm2022/lib/profile-tile/profile-tile.component.mjs +3 -3
- package/esm2022/lib/shellbar/shellbar.component.mjs +1 -1
- package/esm2022/lib/simple-tile/simple-tile.component.mjs +3 -3
- package/esm2022/lib/tile/tile.component.mjs +10 -4
- package/esm2022/lib/tile-renderer.directive.mjs +5 -2
- package/esm2022/lib/tiles-viewer/tiles-viewer.component.mjs +1 -1
- package/esm2022/lib/tiles-viewer-container/tiles-viewer-container.component.mjs +5 -2
- package/esm2022/lib/tiles-viewer-group/tiles-viewer-group.component.mjs +3 -3
- package/fesm2022/barsa-tiles.mjs +75 -52
- package/fesm2022/barsa-tiles.mjs.map +1 -1
- package/lib/barsa-tile-group-page/barsa-tile-group-page.component.d.ts +17 -4
- package/lib/tile/tile.component.d.ts +4 -2
- package/lib/tile-renderer.directive.d.ts +2 -1
- package/lib/tiles-viewer-container/tiles-viewer-container.component.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { BarsaApi, PreventDefaulEvent, TilePropsComponent } from 'barsa-novin-ray-core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostListener, inject, Input } from '@angular/core';
|
|
2
|
+
import { BarsaApi, PreventDefaulEvent, TilePropsComponent, LocalStorageService } from 'barsa-novin-ray-core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@fundamental-ngx/core/button";
|
|
@@ -12,6 +12,7 @@ import * as i8 from "barsa-novin-ray-core";
|
|
|
12
12
|
export class TileComponent extends TilePropsComponent {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
+
this._localStorage = inject(LocalStorageService);
|
|
15
16
|
this.runningCommand = false;
|
|
16
17
|
}
|
|
17
18
|
onClick(ev) {
|
|
@@ -19,6 +20,9 @@ export class TileComponent extends TilePropsComponent {
|
|
|
19
20
|
return false;
|
|
20
21
|
}
|
|
21
22
|
PreventDefaulEvent(ev);
|
|
23
|
+
if (this.setToStorage) {
|
|
24
|
+
this._localStorage.setItem('ActiveTile', this.title);
|
|
25
|
+
}
|
|
22
26
|
const command = this.dynamicCommand;
|
|
23
27
|
const e = { command, DynamicSetting: null };
|
|
24
28
|
this.runningCommand = true;
|
|
@@ -36,7 +40,7 @@ export class TileComponent extends TilePropsComponent {
|
|
|
36
40
|
super.ngOnInit();
|
|
37
41
|
}
|
|
38
42
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TileComponent, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", disableClick: "disableClick", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", edit: "edit", backColor: "backColor", dynamicCommand: "dynamicCommand", hideHeader: "hideHeader" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0, template: "<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\" tileStyle [backColor]=\"backColor\">\n @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n } @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n } @if(!hideHeader){\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n }\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n<ng-template #defaultFooter>\n @if (footer) {\n <bt-footer-tile [settings]=\"footer\"></bt-footer-tile>\n }\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n@if (runningCommand) {\n<bsu-mask></bsu-mask>\n}\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i3.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i4.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i4.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i4.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i4.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i4.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i4.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.FooterTileComponent, selector: "bt-footer-tile", inputs: ["settings"] }, { kind: "directive", type: i7.TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TileComponent, selector: "bt-tile", inputs: { type: "type", footerTemplate: "footerTemplate", footer: "footer", disableClick: "disableClick", title: "title", icon: "icon", subtitle: "subtitle", isDouble: "isDouble", edit: "edit", backColor: "backColor", dynamicCommand: "dynamicCommand", hideHeader: "hideHeader", setToStorage: "setToStorage" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0, template: "<fd-tile [type]=\"type\" [double]=\"isDouble\" [action]=\"edit\" tileStyle [backColor]=\"backColor\">\n @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-close fdType=\"transparent\" (click)=\"hideClick.emit()\"></button>\n } @if (edit && !data.Locked) {\n <button fd-button fd-tile-action-indicator fdType=\"transparent\" [fdMenuTrigger]=\"menu\"></button>\n } @if(!hideHeader){\n <div fd-tile-header>\n <h1 fd-tile-title>\n {{ title | bbbTranslate }}\n </h1>\n <h2 fd-tile-subtitle>\n {{ subtitle | bbbTranslate }}\n </h2>\n </div>\n }\n <ng-content></ng-content>\n <ng-container [ngTemplateOutlet]=\"footerTemplate ? footerTemplate : defaultFooter\"></ng-container>\n</fd-tile>\n<ng-template #defaultFooter>\n @if (footer) {\n <bt-footer-tile [settings]=\"footer\"></bt-footer-tile>\n }\n</ng-template>\n<fd-menu #menu>\n <li fd-menu-item>\n <a (click)=\"menu.close(); renameClick.emit()\" fd-menu-interactive>\n <span fd-menu-title>{{ 'Rename' | bbbTranslate }}</span>\n </a>\n </li>\n</fd-menu>\n@if (runningCommand) {\n<bsu-mask></bsu-mask>\n}\n", styles: [":host,fd-tile{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "focusAutoCapture", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu", "parentSubmenu", "hasSeparator"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "component", type: i3.MenuInteractiveComponent, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "directive", type: i3.MenuTriggerDirective, selector: "[fdMenuTrigger]", inputs: ["fdMenuTrigger"] }, { kind: "component", type: i4.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "directive", type: i4.TileHeaderDirective, selector: "[fdTileHeader], [fd-tile-header]", inputs: ["twoColumn"] }, { kind: "directive", type: i4.TileTitleDirective, selector: "[fdTileTitle], [fd-tile-title]" }, { kind: "directive", type: i4.TileSubtitleDirective, selector: "[fdTileTitle], [fd-tile-subtitle]" }, { kind: "directive", type: i4.TileActionCloseDirective, selector: "[fdTileActionClose], [fd-tile-action-close]", inputs: ["class"] }, { kind: "directive", type: i4.TileActionIndicatorDirective, selector: "[fdTileActionIndicator], [fd-tile-action-indicator]", inputs: ["class"] }, { kind: "component", type: i5.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i6.FooterTileComponent, selector: "bt-footer-tile", inputs: ["settings"] }, { kind: "directive", type: i7.TileStyleDirective, selector: "[tileStyle]", inputs: ["backColor"] }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40
44
|
}
|
|
41
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileComponent, decorators: [{
|
|
42
46
|
type: Component,
|
|
@@ -65,8 +69,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
65
69
|
type: Input
|
|
66
70
|
}], hideHeader: [{
|
|
67
71
|
type: Input
|
|
72
|
+
}], setToStorage: [{
|
|
73
|
+
type: Input
|
|
68
74
|
}], onClick: [{
|
|
69
75
|
type: HostListener,
|
|
70
76
|
args: ['click', ['$event']]
|
|
71
77
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGUvdGlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGUvdGlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7OztBQVM3RyxNQUFNLE9BQU8sYUFBYyxTQUFRLGtCQUFrQjtJQU5yRDs7UUFvQkksa0JBQWEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM1QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztLQTBCMUI7SUF4QkcsT0FBTyxDQUFDLEVBQUU7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2hGLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFCLFFBQVEsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBeENRLGFBQWE7a0dBQWIsYUFBYSxpYkNWMUIsbXFDQWlDQTs7MkZEdkJhLGFBQWE7a0JBTnpCLFNBQVM7K0JBQ0ksU0FBUyxtQkFHRix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFJTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFyc2FBcGksIFByZXZlbnREZWZhdWxFdmVudCwgVGlsZVByb3BzQ29tcG9uZW50LCBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgQXBwVGlsZUZvb3RlciB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtdGlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlQ29tcG9uZW50IGV4dGVuZHMgVGlsZVByb3BzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSB0eXBlOiAnZmVlZCcgfCAnbGF1bmNoJyB8ICdrcGknO1xuICAgIEBJbnB1dCgpIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIGZvb3RlcjogQXBwVGlsZUZvb3RlcjtcbiAgICBASW5wdXQoKSBkaXNhYmxlQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpY29uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgICBASW5wdXQoKSBpc0RvdWJsZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBlZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGJhY2tDb2xvcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGR5bmFtaWNDb21tYW5kOiBhbnk7XG4gICAgQElucHV0KCkgaGlkZUhlYWRlcjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXRUb1N0b3JhZ2U6IGJvb2xlYW47XG4gICAgX2xvY2FsU3RvcmFnZSA9IGluamVjdChMb2NhbFN0b3JhZ2VTZXJ2aWNlKTtcbiAgICBydW5uaW5nQ29tbWFuZCA9IGZhbHNlO1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmVkaXQgfHwgdGhpcy5kaXNhYmxlQ2xpY2sgfHwgdGhpcy5ydW5uaW5nQ29tbWFuZCB8fCAhdGhpcy5keW5hbWljQ29tbWFuZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFByZXZlbnREZWZhdWxFdmVudChldik7XG4gICAgICAgIGlmICh0aGlzLnNldFRvU3RvcmFnZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ0FjdGl2ZVRpbGUnLCB0aGlzLnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb21tYW5kID0gdGhpcy5keW5hbWljQ29tbWFuZDtcbiAgICAgICAgY29uc3QgZSA9IHsgY29tbWFuZCwgRHluYW1pY1NldHRpbmc6IG51bGwgfTtcbiAgICAgICAgdGhpcy5ydW5uaW5nQ29tbWFuZCA9IHRydWU7XG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIEJhcnNhQXBpLkNvbW1vbi5DdXN0b21Db2RlTWFuYWdlci5SdW5EeW5hbWljQ29tbWFuZChjb21tYW5kLklkLCBlLCAocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJ1bm5pbmdDb21tYW5kID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAocmVzICYmIHR5cGVvZiByZXMuRGV0YWlsICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5FcnJvcihyZXMubWVzc2FnZSB8fCByZXMuVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG59XG4iLCI8ZmQtdGlsZSBbdHlwZV09XCJ0eXBlXCIgW2RvdWJsZV09XCJpc0RvdWJsZVwiIFthY3Rpb25dPVwiZWRpdFwiIHRpbGVTdHlsZSBbYmFja0NvbG9yXT1cImJhY2tDb2xvclwiPlxuICAgIEBpZiAoZWRpdCAmJiAhZGF0YS5Mb2NrZWQpIHtcbiAgICA8YnV0dG9uIGZkLWJ1dHRvbiBmZC10aWxlLWFjdGlvbi1jbG9zZSBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiIChjbGljayk9XCJoaWRlQ2xpY2suZW1pdCgpXCI+PC9idXR0b24+XG4gICAgfSBAaWYgKGVkaXQgJiYgIWRhdGEuTG9ja2VkKSB7XG4gICAgPGJ1dHRvbiBmZC1idXR0b24gZmQtdGlsZS1hY3Rpb24taW5kaWNhdG9yIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgW2ZkTWVudVRyaWdnZXJdPVwibWVudVwiPjwvYnV0dG9uPlxuICAgIH0gQGlmKCFoaWRlSGVhZGVyKXtcbiAgICA8ZGl2IGZkLXRpbGUtaGVhZGVyPlxuICAgICAgICA8aDEgZmQtdGlsZS10aXRsZT5cbiAgICAgICAgICAgIHt7IHRpdGxlIHwgYmJiVHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxoMiBmZC10aWxlLXN1YnRpdGxlPlxuICAgICAgICAgICAge3sgc3VidGl0bGUgfCBiYmJUcmFuc2xhdGUgfX1cbiAgICAgICAgPC9oMj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGUgPyBmb290ZXJUZW1wbGF0ZSA6IGRlZmF1bHRGb290ZXJcIj48L25nLWNvbnRhaW5lcj5cbjwvZmQtdGlsZT5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEZvb3Rlcj5cbiAgICBAaWYgKGZvb3Rlcikge1xuICAgIDxidC1mb290ZXItdGlsZSBbc2V0dGluZ3NdPVwiZm9vdGVyXCI+PC9idC1mb290ZXItdGlsZT5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuPGZkLW1lbnUgI21lbnU+XG4gICAgPGxpIGZkLW1lbnUtaXRlbT5cbiAgICAgICAgPGEgKGNsaWNrKT1cIm1lbnUuY2xvc2UoKTsgcmVuYW1lQ2xpY2suZW1pdCgpXCIgZmQtbWVudS1pbnRlcmFjdGl2ZT5cbiAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+e3sgJ1JlbmFtZScgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuPC9mZC1tZW51PlxuQGlmIChydW5uaW5nQ29tbWFuZCkge1xuPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG59XG4iXX0=
|
|
@@ -27,6 +27,7 @@ export class TileRendererDirective extends BaseDirective {
|
|
|
27
27
|
const instance = componentRef.instance;
|
|
28
28
|
instance.data = this.data;
|
|
29
29
|
instance.edit = this.edit;
|
|
30
|
+
instance.setToStorage = this.setToStorage;
|
|
30
31
|
instance.hideClick?.pipe(takeUntil(this._onDestroy$)).subscribe(() => {
|
|
31
32
|
this.hideClick.emit();
|
|
32
33
|
});
|
|
@@ -49,7 +50,7 @@ export class TileRendererDirective extends BaseDirective {
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileRendererDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.PortalService }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
52
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: TileRendererDirective, selector: "[tileRenderer]", inputs: { component: "component", data: "data", edit: "edit" }, outputs: { hideClick: "hideClick", renameClick: "renameClick" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: TileRendererDirective, selector: "[tileRenderer]", inputs: { component: "component", data: "data", edit: "edit", setToStorage: "setToStorage" }, outputs: { hideClick: "hideClick", renameClick: "renameClick" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
53
54
|
}
|
|
54
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TileRendererDirective, decorators: [{
|
|
55
56
|
type: Directive,
|
|
@@ -62,9 +63,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
62
63
|
type: Input
|
|
63
64
|
}], edit: [{
|
|
64
65
|
type: Input
|
|
66
|
+
}], setToStorage: [{
|
|
67
|
+
type: Input
|
|
65
68
|
}], hideClick: [{
|
|
66
69
|
type: Output
|
|
67
70
|
}], renameClick: [{
|
|
68
71
|
type: Output
|
|
69
72
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1yZW5kZXJlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGUtcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBaUIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsYUFBYTtJQWFwRCxZQUNZLElBQXVCLEVBQ3ZCLGNBQTZCLEVBQzdCLElBQXNCLEVBQ3RCLFNBQW1CLEVBQ2pCLEdBQWU7UUFFekIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBTkgsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFDdkIsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsU0FBSSxHQUFKLElBQUksQ0FBa0I7UUFDdEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBUm5CLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVUzQyxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xCLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDbEUsSUFBSSxDQUFDLGNBQWM7YUFDZCxZQUFZLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDcEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakMsU0FBUyxDQUFDLENBQUMsWUFBOEQsRUFBRSxFQUFFO1lBQzFFLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDdkMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMxQixRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDMUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7WUFDN0IsNkJBQTZCO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7OEdBekRRLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzdCO2lNQUVZLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSwgUG9ydGFsU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VUaWxlQ29tcG9uZW50LCBCYXNlVGlsZVNldHRpbmcgfSBmcm9tICcuL21vZGVscyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RpbGVSZW5kZXJlcl0nXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVSZW5kZXJlckRpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBjb21wb25lbnQ6IHtcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XG4gICAgICAgIE1vZHVsZUZpbGVOYW1lOiBzdHJpbmc7XG4gICAgICAgIE5hbWU6IHN0cmluZztcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcbiAgICB9O1xuICAgIEBJbnB1dCgpIGRhdGE6IEJhc2VUaWxlU2V0dGluZztcbiAgICBASW5wdXQoKSBlZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHNldFRvU3RvcmFnZTogYm9vbGVhbjtcbiAgICBAT3V0cHV0KCkgaGlkZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSByZW5hbWVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBwcml2YXRlIF90aWxlUmVmOiBDb21wb25lbnRSZWY8QmFzZVRpbGVDb21wb25lbnQ8QmFzZVRpbGVTZXR0aW5nPj47XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3ZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKF9lbCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICghdGhpcy5jb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IE1vZHVsZSwgTW9kdWxlRmlsZU5hbWUsIE5hbWUsIFNlbGVjdG9yIH0gPSB0aGlzLmNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZVxuICAgICAgICAgICAgLmdldENvbXBvbmVudChNb2R1bGUsIE1vZHVsZUZpbGVOYW1lLCBOYW1lLCBTZWxlY3RvciwgdGhpcy5faW5qZWN0b3IpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxCYXNlVGlsZUNvbXBvbmVudDxCYXNlVGlsZVNldHRpbmc+PikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZWRpdCA9IHRoaXMuZWRpdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZXRUb1N0b3JhZ2UgPSB0aGlzLnNldFRvU3RvcmFnZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhpZGVDbGljay5lbWl0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucmVuYW1lQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZW5hbWVDbGljay5lbWl0KCkpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Zjci5pbnNlcnQoY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWxlUmVmID0gY29tcG9uZW50UmVmO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGVkaXQgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmIChlZGl0ICYmICFlZGl0LmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWxlUmVmLmluc3RhbmNlLnNldEVkaXRIb21lKGVkaXQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgaWYgKHRoaXMuX3RpbGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -106,7 +106,7 @@ export class TilesViewerComponent extends BaseComponent {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TilesViewerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SaveScrollPositionService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", defaultTab: "defaultTab", stackContent: "stackContent", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "contentPageRef", first: true, predicate: ["contentPage"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\r\n size=\"large\"\r\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\r\n [autoResponsive]=\"true\"\r\n [class.stack-mode]=\"stackContent\"\r\n>\r\n @if (edit) {\r\n <fd-dynamic-page-header [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n @if (edit) {\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n }\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n }\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"stackContent\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\r\n [defaultTab]=\"defaultTab\"\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\r\n appTileGroup.navigatorVisible) {\r\n <fd-tab\r\n [id]=\"appTileGroup.Id\"\r\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"false\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n } }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<ng-template\r\n #renderGroup\r\n let-appTileGroup\r\n let-stackContent=\"stackContent\"\r\n let-edit=\"edit\"\r\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\r\n>\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-template>\r\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page article{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "component", type: i6.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: i6.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i6.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i6.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i6.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i7.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i8.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "id", "required", "checked", "semantic", "ariaLabel", "ariaLabelledBy"], outputs: ["checkedChange"] }, { kind: "component", type: i9.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i9.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i11.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i12.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TilesViewerComponent, selector: "bt-tiles-viewer", inputs: { appTileGroups: "appTileGroups", loading: "loading", edit: "edit", rtl: "rtl", defaultTab: "defaultTab", stackContent: "stackContent", deviceSize: "deviceSize", selectedAppGroupId: "selectedAppGroupId", DynamicComponents: "DynamicComponents" }, outputs: { stackContentChange: "stackContentChange", closeEditHome: "closeEditHome", save: "save", listDropped: "listDropped", tabChanged: "tabChanged", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", tilesDropped: "tilesDropped" }, host: { properties: { "class.page-content": "this.pageContentClass", "attr.rtl": "this._rtl" } }, viewQueries: [{ propertyName: "tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "contentPageRef", first: true, predicate: ["contentPage"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\r\n size=\"large\"\r\n [ariaLabel]=\"'HomeEdit' | bbbTranslate\"\r\n [autoResponsive]=\"true\"\r\n [class.stack-mode]=\"stackContent\"\r\n>\r\n @if (edit) {\r\n <fd-dynamic-page-header [title]=\"'HomeEdit' | bbbTranslate\">\r\n <fd-dynamic-page-global-actions>\r\n @if (edit) {\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <label fd-form-label fd-toolbar-item>Stacked Content </label>\r\n <fd-switch\r\n fd-toolbar-item\r\n [checked]=\"stackContent\"\r\n (checkedChange)=\"onStackContentChanged($event)\"\r\n ></fd-switch>\r\n </fd-toolbar>\r\n }\r\n </fd-dynamic-page-global-actions>\r\n <fd-dynamic-page-layout-actions>\r\n <fd-toolbar fdType=\"transparent\" [clearBorder]=\"true\">\r\n <button fd-button fdType=\"transparent\" aria-label=\"Close\" title=\"Close\" (click)=\"onCloseEditHome()\">\r\n <i class=\"sap-icon--decline\"></i>\r\n </button>\r\n </fd-toolbar>\r\n </fd-dynamic-page-layout-actions>\r\n </fd-dynamic-page-header>\r\n }\r\n <fd-tab-list\r\n class=\"tile-tabs\"\r\n [size]=\"deviceSize\"\r\n [collapseOverflow]=\"true\"\r\n [stackContent]=\"stackContent\"\r\n [expandOverflowText]=\"'More' | bbbTranslate\"\r\n cdkDropList\r\n cdkDropListOrientation=\"vertical\"\r\n (cdkDropListDropped)=\"onDropGroup(appTileGroups, $event)\"\r\n (selectedTabChange)=\"onSelectedTabChange($event, appTileGroups)\"\r\n [defaultTab]=\"defaultTab\"\r\n >\r\n @for (appTileGroup of appTileGroups; track _trackById(i, appTileGroup); let i = $index) { @if (edit ||\r\n appTileGroup.navigatorVisible) {\r\n <fd-tab\r\n [id]=\"appTileGroup.Id\"\r\n [label]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [title]=\"appTileGroup.navigatorTitle | bbbTranslate\"\r\n [ngClass]=\"'fd-tabs--' + deviceSize\"\r\n >\r\n <fd-dynamic-page-content [id]=\"appTileGroup.Id\">\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"false\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n </fd-dynamic-page-content>\r\n </fd-tab>\r\n } }\r\n </fd-tab-list>\r\n\r\n <fd-dynamic-page-footer>\r\n @if (edit) {\r\n <div fd-bar barDesign=\"footer\">\r\n <div fd-bar-right>\r\n <fd-button-bar\r\n [label]=\"'SaveAndClose' | bbbTranslate\"\r\n fdType=\"emphasized\"\r\n (click)=\"onExitEditHome(appTileGroups)\"\r\n ></fd-button-bar>\r\n </div>\r\n </div>\r\n }\r\n </fd-dynamic-page-footer>\r\n</fd-dynamic-page>\r\n\r\n<ng-template #loadingTpl>\r\n <bsu-mask></bsu-mask>\r\n</ng-template>\r\n\r\n<ng-template\r\n #renderGroup\r\n let-appTileGroup\r\n let-stackContent=\"stackContent\"\r\n let-edit=\"edit\"\r\n let-isAppTileSubGroup=\"isAppTileSubGroup\"\r\n>\r\n <bt-tiles-viewer-group\r\n [appTileGroup]=\"appTileGroup\"\r\n [edit]=\"edit\"\r\n [rtl]=\"rtl\"\r\n [deviceSize]=\"deviceSize\"\r\n [stackContent]=\"stackContent\"\r\n [isAppTileSubGroup]=\"isAppTileSubGroup\"\r\n (tilesDropped)=\"onDrop($event)\"\r\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\r\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\r\n (resetGroup)=\"resetGroup.emit($event)\"\r\n (deleteGroup)=\"deleteGroup.emit($event)\"\r\n (toggleGroup)=\"toggleGroup.emit($event)\"\r\n ></bt-tiles-viewer-group>\r\n</ng-template>\r\n", styles: [":host{display:block}:host ::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}:host ::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}:host ::ng-deep .fd-panel__content{border-bottom:none;padding:1px}:host ::ng-deep fd-tab-list[noSpy] .fd-tabs__content{overflow-y:initial}:host ::ng-deep fd-dynamic-page article{height:calc(100vh - 44px)!important}:host ::ng-deep .footer-spacer{height:0}.fd-tabs__panel:not(.is-expanded){display:none}fd-dynamic-page.stack-mode fd-dynamic-page-content{overflow-y:hidden}fd-dynamic-page-content{padding:0!important}@media (max-width: 599px){bnrc-dynamic-component{margin-right:0!important;margin-left:0!important}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: i4.BarComponent, selector: "[fd-bar]", inputs: ["class", "barDesign", "inPage", "inHomePage", "size"] }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.DynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "ariaLabel", "ariaRoledescription", "background", "autoResponsive", "size", "offset", "expandContent", "positionRelative"] }, { kind: "component", type: i6.DynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap", "headingLevel", "titleId"] }, { kind: "component", type: i6.DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: i6.DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: i6.DynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }, { kind: "component", type: i6.DynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: i7.FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "inlineHelpLabel", "id"] }, { kind: "component", type: i8.SwitchComponent, selector: "fd-switch", inputs: ["activeText", "inactiveText", "id", "required", "checked", "semantic", "ariaLabel", "ariaLabelledBy"], outputs: ["checkedChange"] }, { kind: "component", type: i9.TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "component", type: i9.TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: i10.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i10.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i11.MaskComponent, selector: "bsu-mask", inputs: ["size", "top"] }, { kind: "component", type: i12.TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "pipe", type: i1.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
110
110
|
}
|
|
111
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TilesViewerComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
3
3
|
import { takeUntil, map, distinctUntilChanged, withLatestFrom } from 'rxjs/operators';
|
|
4
4
|
import { BaseComponent } from 'barsa-novin-ray-core';
|
|
5
5
|
import { TilesViewerService } from '../tiles-viewer.service';
|
|
6
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "barsa-novin-ray-core";
|
|
8
9
|
import * as i2 from "../tiles.service";
|
|
@@ -21,6 +22,8 @@ export class TilesViewerContainerComponent extends BaseComponent {
|
|
|
21
22
|
this.initialStackContentValue = false;
|
|
22
23
|
this.firstSelected = false;
|
|
23
24
|
this.stackContent = false;
|
|
25
|
+
this._activatedRoute = inject(ActivatedRoute);
|
|
26
|
+
this._router = inject(Router);
|
|
24
27
|
this.stackContent$ = this._portalService.userPortalSettings$.pipe(takeUntil(this._onDestroy$), map((settings) => settings['UserPortalSettings']), map((settings) => settings?.TilesStackContent), distinctUntilChanged());
|
|
25
28
|
this.stackContent$.subscribe((stackContent) => {
|
|
26
29
|
this.initialStackContentValue = this.userStackContent = stackContent;
|
|
@@ -161,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
161
164
|
type: Component,
|
|
162
165
|
args: [{ selector: 'bt-tiles-viewer-container', providers: [TilesViewerService], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (appTileGroups$ | async; as appTileGroups) { @if (appTileGroups) {\n<bt-tiles-viewer\n [class.edit]=\"(edit$ | async)!!\"\n [appTileGroups]=\"appTileGroups\"\n [loading]=\"(viewLoading$ | async)!!\"\n [edit]=\"(edit$ | async)!!\"\n [rtl]=\"(rtl$ | async)!!\"\n [stackContent]=\"(stackContent$ | async)!!\"\n [deviceSize]=\"(deviceSize$ | async)!!\"\n [defaultTab]=\"selectedAppGroupId\"\n (stackContentChange)=\"onStackContentChanged($event)\"\n (closeEditHome)=\"onCloseEditHome()\"\n (save)=\"onExitEditHome($event)\"\n (listDropped)=\"onDropGroup($event)\"\n (tabChanged)=\"onSelectedTabChange($event)\"\n (toggleGroup)=\"onToggleShowHide($event)\"\n (resetGroup)=\"onReset($event)\"\n (deleteGroup)=\"onDelete($event)\"\n (tilesDropped)=\"onDrop($event)\"\n (hideAppTileClick)=\"onHideAppTile($event)\"\n (renameAppTileClick)=\"onRenameAppTile($event)\"\n></bt-tiles-viewer>\n} @else {\n<bsu-no-data></bsu-no-data>\n} } @else {\n<bsu-mask></bsu-mask>\n}\n\n<ng-template #loading>\n <bsu-mask></bsu-mask>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
|
|
163
166
|
}], ctorParameters: () => [{ type: i1.PortalService }, { type: i2.TilesService }, { type: i3.TilesViewerService }] });
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHdEYsT0FBTyxFQUFFLGFBQWEsRUFBNkQsTUFBTSxzQkFBc0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFTN0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGFBQWE7SUFjNUQsWUFDYyxjQUE2QixFQUM3QixhQUEyQixFQUMzQixtQkFBdUM7UUFFakQsS0FBSyxFQUFFLENBQUM7UUFKRSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBWnJELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6Qiw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFHakMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFHdEIsaUJB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dUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXksIHRyYW5zZmVyQXJyYXlJdGVtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsLCBtYXAsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgTWV0YW9iamVjdERhdGFNb2RlbCwgUG9ydGFsU2VydmljZSwgQWJicmV2YXRpb25EZXZpY2VTaXplIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVGlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vdGlsZXMuc2VydmljZSc7XG5pbXBvcnQgeyBUaWxlc1ZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi90aWxlcy12aWV3ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBhcHBUaWxlR3JvdXBzJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xuICAgIHZpZXdMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIGVkaXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGNoYW5nZWRPcmRlciA9IGZhbHNlO1xuICAgIHVzZXJTdGFja0NvbnRlbnQgPSBmYWxzZTtcbiAgICBpbml0aWFsU3RhY2tDb250ZW50VmFsdWUgPSBmYWxzZTtcbiAgICB1c2VyUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgc3RhY2tDb250ZW50JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaXJzdFNlbGVjdGVkID0gZmFsc2U7XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzZWxlY3RlZEFwcEdyb3VwSWQ6IHN0cmluZztcbiAgICBzdGFja0NvbnRlbnQgPSBmYWxzZTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzU2VydmljZTogVGlsZXNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3RpbGVzVmlld2VyU2VydmljZTogVGlsZXNWaWV3ZXJTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc3RhY2tDb250ZW50JCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UudXNlclBvcnRhbFNldHRpbmdzJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgbWFwKChzZXR0aW5nczogUmVjb3JkPHN0cmluZywgTWV0YW9iamVjdERhdGFNb2RlbD4pID0+IHNldHRpbmdzWydVc2VyUG9ydGFsU2V0dGluZ3MnXSksXG4gICAgICAgICAgICBtYXAoKHNldHRpbmdzOiBNZXRhb2JqZWN0RGF0YU1vZGVsKSA9PiBzZXR0aW5ncz8uVGlsZXNTdGFja0NvbnRlbnQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnN0YWNrQ29udGVudCQuc3Vic2NyaWJlKChzdGFja0NvbnRlbnQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbFN0YWNrQ29udGVudFZhbHVlID0gdGhpcy51c2VyU3RhY2tDb250ZW50ID0gc3RhY2tDb250ZW50O1xuICAgICAgICAgICAgaWYgKHN0YWNrQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2tDb250ZW50ID0gc3RhY2tDb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy52aWV3TG9hZGluZyQgPSB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2Uudmlld0xvYWRpbmckO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQXBwR3JvdXBJZCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zZWxlY3RlZEFwcEdyb3VwSWQ7XG4gICAgICAgIHRoaXMucnRsJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UucnRsJDtcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XG4gICAgICAgIHRoaXMuZWRpdCQgPSB0aGlzLl90aWxlc1NlcnZpY2UuZWRpdCQ7XG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3VwcyQgPSB0aGlzLl90aWxlc1NlcnZpY2UuaG9tZUFwcFRpbGVHcm91cHMkO1xuICAgICAgICB0aGlzLmFwcFRpbGVHcm91cHMkLnBpcGUod2l0aExhdGVzdEZyb20odGhpcy5zdGFja0NvbnRlbnQkKSkuc3Vic2NyaWJlKChbdGlsZXMsIHN0YWNrQ29udGVudF0pID0+IHtcbiAgICAgICAgICAgIGlmICh0aWxlcyAmJiBzdGFja0NvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICB0aWxlcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5sb2FkQXBwVGlsZUdyb3VwcyhjKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2V0RWRpdEhvbWUoZmFsc2UpO1xuICAgIH1cbiAgICBvblNlbGVjdGVkVGFiQ2hhbmdlKGU6IHtcbiAgICAgICAgZmlyc3RTZWxlY3RlZDogYm9vbGVhbjtcbiAgICAgICAgc2VsZWN0ZWRUYWJUaXRsZTogc3RyaW5nO1xuICAgICAgICB0YWJQYW5lbHM6IFRhYlBhbmVsQ29tcG9uZW50W107XG4gICAgICAgIGFwcFRpbGVHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZmlyc3RTZWxlY3RlZCwgc2VsZWN0ZWRUYWJUaXRsZSwgYXBwVGlsZUdyb3VwczogYXBwR3JvdXBzLCB0YWJQYW5lbHMgfSA9IGU7XG5cbiAgICAgICAgbGV0IGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHRoaXMuc3RhY2tDb250ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpcnN0U2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RTZWxlY3RlZEFwcEdyb3VwSWQgPSB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2Uuc2VsZWN0ZWRBcHBHcm91cElkO1xuICAgICAgICAgICAgaWYgKGxhc3RTZWxlY3RlZEFwcEdyb3VwSWQpIHtcbiAgICAgICAgICAgICAgICBhcHBUaWxlR3JvdXAgPSBhcHBHcm91cHMuZmluZCgoYykgPT4gYy5JZCA9PT0gbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFwcFRpbGVHcm91cCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0VGFiID0gdGFiUGFuZWxzLmZpbmQoKGMpID0+IGMudGl0bGUgPT09IGFwcFRpbGVHcm91cD8ubmF2aWdhdG9yVGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFRhYiAmJiBzZWxlY3RlZFRhYlRpdGxlICE9PSBsYXN0VGFiLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBUaWxlR3JvdXAgPSBhcHBHcm91cHMuZmluZCgoYykgPT4gYy5JZCA9PT0gbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0VGFiLm9wZW4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhcHBUaWxlR3JvdXApIHtcbiAgICAgICAgICAgIGFwcFRpbGVHcm91cCA9IGFwcEdyb3Vwcy5maW5kKChjKSA9PiBjLm5hdmlnYXRvclRpdGxlID09PSBzZWxlY3RlZFRhYlRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXBwVGlsZUdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2Uuc2V0U2VsZWN0ZWRUYWIoYXBwVGlsZUdyb3VwKTtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5sb2FkQXBwR3JvdXAoYXBwVGlsZUdyb3VwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbkRyb3BHcm91cChlOiB7IGFwcFRpbGVHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTsgZXZlbnQ6IENka0RyYWdEcm9wPE1ldGFvYmplY3REYXRhTW9kZWxbXT4gfSk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGV2ZW50LCBhcHBUaWxlR3JvdXBzOiBhcHBHcm91cHMgfSA9IGU7XG5cbiAgICAgICAgbW92ZUl0ZW1JbkFycmF5KGFwcEdyb3VwcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcblxuICAgICAgICB0aGlzLmNoYW5nZWRPcmRlciA9IHRydWU7XG4gICAgICAgIC8vIHRoaXMuc2F2ZU9yZGVyQXBwVGlsZXMoYWxsQXBwcywgZ3JvdXApO1xuICAgIH1cbiAgICBvbkRyb3AoZTogeyBhcHBUaWxlR3JvdXA7IGV2ZW50OiBDZGtEcmFnRHJvcDx7IGlzVGlsZTogYm9vbGVhbjsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9PiB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgYXBwVGlsZUdyb3VwOiBncm91cCwgZXZlbnQgfSA9IGU7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzQ29udGFpbmVyID0gZXZlbnQucHJldmlvdXNDb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGV2ZW50LmNvbnRhaW5lcjtcbiAgICAgICAgY29uc3QgY29udGFpbmVySXNUaWxlID0gY29udGFpbmVyLmRhdGEuaXNUaWxlO1xuICAgICAgICBjb25zdCBwcmV2aW91c0l0ZW1zID0gcHJldmlvdXNDb250YWluZXIuZGF0YS5pdGVtcztcbiAgICAgICAgY29uc3QgY29udGFpbmVySXRlbXMgPSBjb250YWluZXIuZGF0YS5pdGVtcztcbiAgICAgICAgY29uc3QgeyBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXggfSA9IGV2ZW50O1xuICAgICAgICBpZiAocHJldmlvdXNDb250YWluZXIgPT09IGNvbnRhaW5lcikge1xuICAgICAgICAgICAgbW92ZUl0ZW1JbkFycmF5KHByZXZpb3VzSXRlbXMsIHByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCk7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVySXNUaWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQXBwVGlsZXMoZ3JvdXApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zYXZlT3JkZXJBY3Rpb25MaW5rcyhncm91cCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0cmFuc2ZlckFycmF5SXRlbShwcmV2aW91c0l0ZW1zLCBjb250YWluZXJJdGVtcywgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIGNvbnN0IGFwcFRpbGVJZFRyYW5zZmVyZWRJZCA9IGNvbnRhaW5lckl0ZW1zW2N1cnJlbnRJbmRleF0/LkFwcFRpbGU/LklkID8/IGNvbnRhaW5lckl0ZW1zW2N1cnJlbnRJbmRleF0uSWQ7XG4gICAgICAgICAgICBpZiAoY29udGFpbmVySXNUaWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQWN0aW9uTGlua3MoZ3JvdXApO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFwcFRpbGVzKGdyb3VwLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zYXZlT3JkZXJBcHBUaWxlcyhncm91cCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQWN0aW9uTGlua3MoZ3JvdXAsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgb25TdGFja0NvbnRlbnRDaGFuZ2VkKGNoZWNrZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyU3RhY2tDb250ZW50ID0gY2hlY2tlZDtcbiAgICB9XG5cbiAgICBvbkV4aXRFZGl0SG9tZShhcHBUaWxlR3JvdXBzOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2hhbmdlZE9yZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2Uuc2F2ZUFwcEdyb3VwT3JkZXJzKGFwcFRpbGVHcm91cHMpO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VkT3JkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy51c2VyU3RhY2tDb250ZW50ICE9PSB0aGlzLmluaXRpYWxTdGFja0NvbnRlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLnNhdmVUaWxlc1N0YWNrQ29udGVudCh0aGlzLnVzZXJTdGFja0NvbnRlbnQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX3NldEVkaXRIb21lKGZhbHNlKTtcbiAgICB9XG4gICAgb25DbG9zZUVkaXRIb21lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRFZGl0SG9tZShmYWxzZSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5kZWxldGVBcHBHcm91cChhcHBUaWxlR3JvdXApO1xuICAgIH1cblxuICAgIG9uVG9nZ2xlU2hvd0hpZGUoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS50b2dnbGVBcHBHcm91cFNldHRpbmdWaXNpYmxlKGFwcFRpbGVHcm91cCk7XG4gICAgfVxuXG4gICAgb25SZXNldChhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLnJlc2V0QXBwR3JvdXAoYXBwVGlsZUdyb3VwKTtcbiAgICB9XG4gICAgb25IaWRlQXBwVGlsZShhcHBUaWxlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5oaWRlVGlsZShhcHBUaWxlKTtcbiAgICB9XG4gICAgb25SZW5hbWVBcHBUaWxlKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLm9wZW5SZW5hbWVGb3JtKGFwcFRpbGUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRFZGl0SG9tZSh2YWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLnNldEVkaXRIb21lKHZhbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfc2F2ZU9yZGVyQXBwVGlsZXMoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQ6IHN0cmluZyA9ICcwJyk6IHZvaWQge1xuICAgICAgICBjb25zdCBhcHBUaWxlcyA9IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaWxlcy5tYXAoKGFwcFRpbGUpID0+XG4gICAgICAgICAgICBhcHBUaWxlLkFwcFRpbGUgPyBhcHBUaWxlLkFwcFRpbGUuSWQgOiBhcHBUaWxlLklkXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zYXZlT3JkZXJBcHBUaWxlcyhhcHBUaWxlR3JvdXAsIGFwcFRpbGVzLCBmYWxzZSwgYXBwVGlsZUlkVHJhbnNmZXJlZElkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zYXZlT3JkZXJBY3Rpb25MaW5rcyhhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZDogc3RyaW5nID0gJzAnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGlvbkxpbmtzID0gYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzLm1hcCgoYXBwVGlsZSkgPT5cbiAgICAgICAgICAgIGFwcFRpbGUuQXBwVGlsZSA/IGFwcFRpbGUuQXBwVGlsZS5JZCA6IGFwcFRpbGUuSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLnNhdmVPcmRlckFwcFRpbGVzKGFwcFRpbGVHcm91cCwgYWN0aW9uTGlua3MsIHRydWUsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XG4gICAgfVxufVxuIiwiQGlmIChhcHBUaWxlR3JvdXBzJCB8IGFzeW5jOyBhcyBhcHBUaWxlR3JvdXBzKSB7IEBpZiAoYXBwVGlsZUdyb3Vwcykge1xuPGJ0LXRpbGVzLXZpZXdlclxuICAgIFtjbGFzcy5lZGl0XT1cIihlZGl0JCB8IGFzeW5jKSEhXCJcbiAgICBbYXBwVGlsZUdyb3Vwc109XCJhcHBUaWxlR3JvdXBzXCJcbiAgICBbbG9hZGluZ109XCIodmlld0xvYWRpbmckIHwgYXN5bmMpISFcIlxuICAgIFtlZGl0XT1cIihlZGl0JCB8IGFzeW5jKSEhXCJcbiAgICBbcnRsXT1cIihydGwkIHwgYXN5bmMpISFcIlxuICAgIFtzdGFja0NvbnRlbnRdPVwiKHN0YWNrQ29udGVudCQgfCBhc3luYykhIVwiXG4gICAgW2RldmljZVNpemVdPVwiKGRldmljZVNpemUkIHwgYXN5bmMpISFcIlxuICAgIFtkZWZhdWx0VGFiXT1cInNlbGVjdGVkQXBwR3JvdXBJZFwiXG4gICAgKHN0YWNrQ29udGVudENoYW5nZSk9XCJvblN0YWNrQ29udGVudENoYW5nZWQoJGV2ZW50KVwiXG4gICAgKGNsb3NlRWRpdEhvbWUpPVwib25DbG9zZUVkaXRIb21lKClcIlxuICAgIChzYXZlKT1cIm9uRXhpdEVkaXRIb21lKCRldmVudClcIlxuICAgIChsaXN0RHJvcHBlZCk9XCJvbkRyb3BHcm91cCgkZXZlbnQpXCJcbiAgICAodGFiQ2hhbmdlZCk9XCJvblNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudClcIlxuICAgICh0b2dnbGVHcm91cCk9XCJvblRvZ2dsZVNob3dIaWRlKCRldmVudClcIlxuICAgIChyZXNldEdyb3VwKT1cIm9uUmVzZXQoJGV2ZW50KVwiXG4gICAgKGRlbGV0ZUdyb3VwKT1cIm9uRGVsZXRlKCRldmVudClcIlxuICAgICh0aWxlc0Ryb3BwZWQpPVwib25Ecm9wKCRldmVudClcIlxuICAgIChoaWRlQXBwVGlsZUNsaWNrKT1cIm9uSGlkZUFwcFRpbGUoJGV2ZW50KVwiXG4gICAgKHJlbmFtZUFwcFRpbGVDbGljayk9XCJvblJlbmFtZUFwcFRpbGUoJGV2ZW50KVwiXG4+PC9idC10aWxlcy12aWV3ZXI+XG59IEBlbHNlIHtcbjxic3Utbm8tZGF0YT48L2JzdS1uby1kYXRhPlxufSB9IEBlbHNlIHtcbjxic3UtbWFzaz48L2JzdS1tYXNrPlxufVxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gICAgPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1jb250YWluZXIvdGlsZXMtdmlld2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RGLE9BQU8sRUFBRSxhQUFhLEVBQTZELE1BQU0sc0JBQXNCLENBQUM7QUFFaEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFTekQsTUFBTSxPQUFPLDZCQUE4QixTQUFRLGFBQWE7SUFnQjVELFlBQ2MsY0FBNkIsRUFDN0IsYUFBMkIsRUFDM0IsbUJBQXVDO1FBRWpELEtBQUssRUFBRSxDQUFDO1FBSkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFvQjtRQWRyRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7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SUFDakcsQ0FBQzs4R0EvS1EsNkJBQTZCO2tHQUE3Qiw2QkFBNkIsb0RBSDNCLENBQUMsa0JBQWtCLENBQUMsaURDZm5DLG1rQ0ErQkE7OzJGRGJhLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDSSwyQkFBMkIsYUFHMUIsQ0FBQyxrQkFBa0IsQ0FBQyxtQkFDZCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSwgdHJhbnNmZXJBcnJheUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCwgbWFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUYWJQYW5lbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIE1ldGFvYmplY3REYXRhTW9kZWwsIFBvcnRhbFNlcnZpY2UsIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFRpbGVzU2VydmljZSB9IGZyb20gJy4uL3RpbGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGlsZXNWaWV3ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdGlsZXMtdmlld2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGVzLXZpZXdlci1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtUaWxlc1ZpZXdlclNlcnZpY2VdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRpbGVzVmlld2VyQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBhcHBUaWxlR3JvdXBzJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xuICAgIHZpZXdMb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xuICAgIGVkaXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGNoYW5nZWRPcmRlciA9IGZhbHNlO1xuICAgIHVzZXJTdGFja0NvbnRlbnQgPSBmYWxzZTtcbiAgICBpbml0aWFsU3RhY2tDb250ZW50VmFsdWUgPSBmYWxzZTtcbiAgICB1c2VyUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgc3RhY2tDb250ZW50JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaXJzdFNlbGVjdGVkID0gZmFsc2U7XG4gICAgcnRsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzZWxlY3RlZEFwcEdyb3VwSWQ6IHN0cmluZztcbiAgICBzdGFja0NvbnRlbnQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICBwcm90ZWN0ZWQgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfdGlsZXNTZXJ2aWNlOiBUaWxlc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfdGlsZXNWaWV3ZXJTZXJ2aWNlOiBUaWxlc1ZpZXdlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zdGFja0NvbnRlbnQkID0gdGhpcy5fcG9ydGFsU2VydmljZS51c2VyUG9ydGFsU2V0dGluZ3MkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKHNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsPikgPT4gc2V0dGluZ3NbJ1VzZXJQb3J0YWxTZXR0aW5ncyddKSxcbiAgICAgICAgICAgIG1hcCgoc2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWwpID0+IHNldHRpbmdzPy5UaWxlc1N0YWNrQ29udGVudCksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3RhY2tDb250ZW50JC5zdWJzY3JpYmUoKHN0YWNrQ29udGVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsU3RhY2tDb250ZW50VmFsdWUgPSB0aGlzLnVzZXJTdGFja0NvbnRlbnQgPSBzdGFja0NvbnRlbnQ7XG4gICAgICAgICAgICBpZiAoc3RhY2tDb250ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja0NvbnRlbnQgPSBzdGFja0NvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnZpZXdMb2FkaW5nJCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS52aWV3TG9hZGluZyQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBcHBHcm91cElkID0gdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLnNlbGVjdGVkQXBwR3JvdXBJZDtcbiAgICAgICAgdGhpcy5ydGwkID0gdGhpcy5fcG9ydGFsU2VydmljZS5ydGwkO1xuICAgICAgICB0aGlzLmRldmljZVNpemUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJDtcbiAgICAgICAgdGhpcy5lZGl0JCA9IHRoaXMuX3RpbGVzU2VydmljZS5lZGl0JDtcbiAgICAgICAgdGhpcy5hcHBUaWxlR3JvdXBzJCA9IHRoaXMuX3RpbGVzU2VydmljZS5ob21lQXBwVGlsZUdyb3VwcyQ7XG4gICAgICAgIHRoaXMuYXBwVGlsZUdyb3VwcyQucGlwZSh3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0YWNrQ29udGVudCQpKS5zdWJzY3JpYmUoKFt0aWxlcywgc3RhY2tDb250ZW50XSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRpbGVzICYmIHN0YWNrQ29udGVudCkge1xuICAgICAgICAgICAgICAgIHRpbGVzLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLmxvYWRBcHBUaWxlR3JvdXBzKGMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3RpbGVzU2VydmljZS5zZXRFZGl0SG9tZShmYWxzZSk7XG4gICAgfVxuICAgIG9uU2VsZWN0ZWRUYWJDaGFuZ2UoZToge1xuICAgICAgICBmaXJzdFNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBzZWxlY3RlZFRhYlRpdGxlOiBzdHJpbmc7XG4gICAgICAgIHRhYlBhbmVsczogVGFiUGFuZWxDb21wb25lbnRbXTtcbiAgICAgICAgYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdFNlbGVjdGVkLCBzZWxlY3RlZFRhYlRpdGxlLCBhcHBUaWxlR3JvdXBzOiBhcHBHcm91cHMsIHRhYlBhbmVscyB9ID0gZTtcblxuICAgICAgICBsZXQgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHwgdW5kZWZpbmVkO1xuICAgICAgICBpZiAodGhpcy5zdGFja0NvbnRlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlyc3RTZWxlY3RlZCkge1xuICAgICAgICAgICAgY29uc3QgbGFzdFNlbGVjdGVkQXBwR3JvdXBJZCA9IHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zZWxlY3RlZEFwcEdyb3VwSWQ7XG4gICAgICAgICAgICBpZiAobGFzdFNlbGVjdGVkQXBwR3JvdXBJZCkge1xuICAgICAgICAgICAgICAgIGFwcFRpbGVHcm91cCA9IGFwcEdyb3Vwcy5maW5kKChjKSA9PiBjLklkID09PSBsYXN0U2VsZWN0ZWRBcHBHcm91cElkKTtcbiAgICAgICAgICAgICAgICBpZiAoYXBwVGlsZUdyb3VwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RUYWIgPSB0YWJQYW5lbHMuZmluZCgoYykgPT4gYy50aXRsZSA9PT0gYXBwVGlsZUdyb3VwPy5uYXZpZ2F0b3JUaXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsYXN0VGFiICYmIHNlbGVjdGVkVGFiVGl0bGUgIT09IGxhc3RUYWIudGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcFRpbGVHcm91cCA9IGFwcEdyb3Vwcy5maW5kKChjKSA9PiBjLklkID09PSBsYXN0U2VsZWN0ZWRBcHBHcm91cElkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RUYWIub3Blbih0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWFwcFRpbGVHcm91cCkge1xuICAgICAgICAgICAgYXBwVGlsZUdyb3VwID0gYXBwR3JvdXBzLmZpbmQoKGMpID0+IGMubmF2aWdhdG9yVGl0bGUgPT09IHNlbGVjdGVkVGFiVGl0bGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhcHBUaWxlR3JvdXApIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zZXRTZWxlY3RlZFRhYihhcHBUaWxlR3JvdXApO1xuICAgICAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLmxvYWRBcHBHcm91cChhcHBUaWxlR3JvdXApO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uRHJvcEdyb3VwKGU6IHsgYXBwVGlsZUdyb3VwczogTWV0YW9iamVjdERhdGFNb2RlbFtdOyBldmVudDogQ2RrRHJhZ0Ryb3A8TWV0YW9iamVjdERhdGFNb2RlbFtdPiB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgZXZlbnQsIGFwcFRpbGVHcm91cHM6IGFwcEdyb3VwcyB9ID0gZTtcblxuICAgICAgICBtb3ZlSXRlbUluQXJyYXkoYXBwR3JvdXBzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlZE9yZGVyID0gdHJ1ZTtcbiAgICAgICAgLy8gdGhpcy5zYXZlT3JkZXJBcHBUaWxlcyhhbGxBcHBzLCBncm91cCk7XG4gICAgfVxuICAgIG9uRHJvcChlOiB7IGFwcFRpbGVHcm91cDsgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+IH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBhcHBUaWxlR3JvdXA6IGdyb3VwLCBldmVudCB9ID0gZTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNDb250YWluZXIgPSBldmVudC5wcmV2aW91c0NvbnRhaW5lcjtcbiAgICAgICAgY29uc3QgY29udGFpbmVyID0gZXZlbnQuY29udGFpbmVyO1xuICAgICAgICBjb25zdCBjb250YWluZXJJc1RpbGUgPSBjb250YWluZXIuZGF0YS5pc1RpbGU7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzSXRlbXMgPSBwcmV2aW91c0NvbnRhaW5lci5kYXRhLml0ZW1zO1xuICAgICAgICBjb25zdCBjb250YWluZXJJdGVtcyA9IGNvbnRhaW5lci5kYXRhLml0ZW1zO1xuICAgICAgICBjb25zdCB7IHByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCB9ID0gZXZlbnQ7XG4gICAgICAgIGlmIChwcmV2aW91c0NvbnRhaW5lciA9PT0gY29udGFpbmVyKSB7XG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkocHJldmlvdXNJdGVtcywgcHJldmlvdXNJbmRleCwgY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXJJc1RpbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zYXZlT3JkZXJBcHBUaWxlcyhncm91cCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFjdGlvbkxpbmtzKGdyb3VwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyYW5zZmVyQXJyYXlJdGVtKHByZXZpb3VzSXRlbXMsIGNvbnRhaW5lckl0ZW1zLCBwcmV2aW91c0luZGV4LCBjdXJyZW50SW5kZXgpO1xuICAgICAgICAgICAgY29uc3QgYXBwVGlsZUlkVHJhbnNmZXJlZElkID0gY29udGFpbmVySXRlbXNbY3VycmVudEluZGV4XT8uQXBwVGlsZT8uSWQgPz8gY29udGFpbmVySXRlbXNbY3VycmVudEluZGV4XS5JZDtcbiAgICAgICAgICAgIGlmIChjb250YWluZXJJc1RpbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zYXZlT3JkZXJBY3Rpb25MaW5rcyhncm91cCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2F2ZU9yZGVyQXBwVGlsZXMoZ3JvdXAsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3NhdmVPcmRlckFwcFRpbGVzKGdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zYXZlT3JkZXJBY3Rpb25MaW5rcyhncm91cCwgYXBwVGlsZUlkVHJhbnNmZXJlZElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBvblN0YWNrQ29udGVudENoYW5nZWQoY2hlY2tlZCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJTdGFja0NvbnRlbnQgPSBjaGVja2VkO1xuICAgIH1cblxuICAgIG9uRXhpdEVkaXRIb21lKGFwcFRpbGVHcm91cHM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jaGFuZ2VkT3JkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbGVzVmlld2VyU2VydmljZS5zYXZlQXBwR3JvdXBPcmRlcnMoYXBwVGlsZUdyb3Vwcyk7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZWRPcmRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnVzZXJTdGFja0NvbnRlbnQgIT09IHRoaXMuaW5pdGlhbFN0YWNrQ29udGVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2F2ZVRpbGVzU3RhY2tDb250ZW50KHRoaXMudXNlclN0YWNrQ29udGVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0RWRpdEhvbWUoZmFsc2UpO1xuICAgIH1cbiAgICBvbkNsb3NlRWRpdEhvbWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldEVkaXRIb21lKGZhbHNlKTtcbiAgICB9XG5cbiAgICBvbkRlbGV0ZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLmRlbGV0ZUFwcEdyb3VwKGFwcFRpbGVHcm91cCk7XG4gICAgfVxuXG4gICAgb25Ub2dnbGVTaG93SGlkZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLnRvZ2dsZUFwcEdyb3VwU2V0dGluZ1Zpc2libGUoYXBwVGlsZUdyb3VwKTtcbiAgICB9XG5cbiAgICBvblJlc2V0KGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2UucmVzZXRBcHBHcm91cChhcHBUaWxlR3JvdXApO1xuICAgIH1cbiAgICBvbkhpZGVBcHBUaWxlKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGlsZXNWaWV3ZXJTZXJ2aWNlLmhpZGVUaWxlKGFwcFRpbGUpO1xuICAgIH1cbiAgICBvblJlbmFtZUFwcFRpbGUoYXBwVGlsZTogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWxlc1ZpZXdlclNlcnZpY2Uub3BlblJlbmFtZUZvcm0oYXBwVGlsZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NldEVkaXRIb21lKHZhbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2V0RWRpdEhvbWUodmFsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zYXZlT3JkZXJBcHBUaWxlcyhhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwsIGFwcFRpbGVJZFRyYW5zZmVyZWRJZDogc3RyaW5nID0gJzAnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFwcFRpbGVzID0gYXBwVGlsZUdyb3VwLm5hdmlnYXRvclRpbGVzLm1hcCgoYXBwVGlsZSkgPT5cbiAgICAgICAgICAgIGFwcFRpbGUuQXBwVGlsZSA/IGFwcFRpbGUuQXBwVGlsZS5JZCA6IGFwcFRpbGUuSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fdGlsZXNTZXJ2aWNlLnNhdmVPcmRlckFwcFRpbGVzKGFwcFRpbGVHcm91cCwgYXBwVGlsZXMsIGZhbHNlLCBhcHBUaWxlSWRUcmFuc2ZlcmVkSWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NhdmVPcmRlckFjdGlvbkxpbmtzKGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCwgYXBwVGlsZUlkVHJhbnNmZXJlZElkOiBzdHJpbmcgPSAnMCcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aW9uTGlua3MgPSBhcHBUaWxlR3JvdXAubmF2aWdhdG9yQWN0aW9uTGlua3MubWFwKChhcHBUaWxlKSA9PlxuICAgICAgICAgICAgYXBwVGlsZS5BcHBUaWxlID8gYXBwVGlsZS5BcHBUaWxlLklkIDogYXBwVGlsZS5JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLl90aWxlc1NlcnZpY2Uuc2F2ZU9yZGVyQXBwVGlsZXMoYXBwVGlsZUdyb3VwLCBhY3Rpb25MaW5rcywgdHJ1ZSwgYXBwVGlsZUlkVHJhbnNmZXJlZElkKTtcbiAgICB9XG59XG4iLCJAaWYgKGFwcFRpbGVHcm91cHMkIHwgYXN5bmM7IGFzIGFwcFRpbGVHcm91cHMpIHsgQGlmIChhcHBUaWxlR3JvdXBzKSB7XG48YnQtdGlsZXMtdmlld2VyXG4gICAgW2NsYXNzLmVkaXRdPVwiKGVkaXQkIHwgYXN5bmMpISFcIlxuICAgIFthcHBUaWxlR3JvdXBzXT1cImFwcFRpbGVHcm91cHNcIlxuICAgIFtsb2FkaW5nXT1cIih2aWV3TG9hZGluZyQgfCBhc3luYykhIVwiXG4gICAgW2VkaXRdPVwiKGVkaXQkIHwgYXN5bmMpISFcIlxuICAgIFtydGxdPVwiKHJ0bCQgfCBhc3luYykhIVwiXG4gICAgW3N0YWNrQ29udGVudF09XCIoc3RhY2tDb250ZW50JCB8IGFzeW5jKSEhXCJcbiAgICBbZGV2aWNlU2l6ZV09XCIoZGV2aWNlU2l6ZSQgfCBhc3luYykhIVwiXG4gICAgW2RlZmF1bHRUYWJdPVwic2VsZWN0ZWRBcHBHcm91cElkXCJcbiAgICAoc3RhY2tDb250ZW50Q2hhbmdlKT1cIm9uU3RhY2tDb250ZW50Q2hhbmdlZCgkZXZlbnQpXCJcbiAgICAoY2xvc2VFZGl0SG9tZSk9XCJvbkNsb3NlRWRpdEhvbWUoKVwiXG4gICAgKHNhdmUpPVwib25FeGl0RWRpdEhvbWUoJGV2ZW50KVwiXG4gICAgKGxpc3REcm9wcGVkKT1cIm9uRHJvcEdyb3VwKCRldmVudClcIlxuICAgICh0YWJDaGFuZ2VkKT1cIm9uU2VsZWN0ZWRUYWJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKHRvZ2dsZUdyb3VwKT1cIm9uVG9nZ2xlU2hvd0hpZGUoJGV2ZW50KVwiXG4gICAgKHJlc2V0R3JvdXApPVwib25SZXNldCgkZXZlbnQpXCJcbiAgICAoZGVsZXRlR3JvdXApPVwib25EZWxldGUoJGV2ZW50KVwiXG4gICAgKHRpbGVzRHJvcHBlZCk9XCJvbkRyb3AoJGV2ZW50KVwiXG4gICAgKGhpZGVBcHBUaWxlQ2xpY2spPVwib25IaWRlQXBwVGlsZSgkZXZlbnQpXCJcbiAgICAocmVuYW1lQXBwVGlsZUNsaWNrKT1cIm9uUmVuYW1lQXBwVGlsZSgkZXZlbnQpXCJcbj48L2J0LXRpbGVzLXZpZXdlcj5cbn0gQGVsc2Uge1xuPGJzdS1uby1kYXRhPjwvYnN1LW5vLWRhdGE+XG59IH0gQGVsc2Uge1xuPGJzdS1tYXNrPjwvYnN1LW1hc2s+XG59XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgICA8YnN1LW1hc2s+PC9ic3UtbWFzaz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -56,11 +56,11 @@ export class TilesViewerGroupComponent extends BaseComponent {
|
|
|
56
56
|
this.resetGroup.emit(appTileGroup);
|
|
57
57
|
}
|
|
58
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TilesViewerGroupComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: { appTileGroup: "appTileGroup", stackContent: "stackContent", edit: "edit", rtl: "rtl", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel\n [fixed]=\"true\"\n [attr.editHome]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || !stackContent\"\n [class.empty-tiles-group]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\n>\n @if (edit || stackContent || isAppTileSubGroup) {\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h5>\n </fd-layout-panel-head>\n @if (edit) {\n <fd-layout-panel-actions class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\n } @if (!appTileGroup.Predefined) {\n <button\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n }\n </fd-toolbar>\n </fd-layout-panel-actions>\n }\n </fd-layout-panel-header>\n }\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\n <h5 fd-title></h5>\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\n <div\n [class.edit-home]=\"edit\"\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n } @if (edit) {\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\n <div style=\"margin: 0\">\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n }\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup) {\n<bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n></bt-tiles-viewer-group>\n}\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:1rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper{display:grid;grid-template-columns:154px 154px;gap:1rem}fd-layout-panel-body.small-size .tile-wrapper .isdouble{grid-column-start:1;grid-column-end:3}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i7.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i7.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i7.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i7.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: i10.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i11.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i11.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i12.ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: i13.TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "edit"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i14.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
59
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: { appTileGroup: "appTileGroup", stackContent: "stackContent", edit: "edit", rtl: "rtl", isAppTileSubGroup: "isAppTileSubGroup", deviceSize: "deviceSize" }, outputs: { tilesDropped: "tilesDropped", hideAppTileClick: "hideAppTileClick", renameAppTileClick: "renameAppTileClick", toggleGroup: "toggleGroup", resetGroup: "resetGroup", deleteGroup: "deleteGroup" }, usesInheritance: true, ngImport: i0, template: "<fd-layout-panel\n [fixed]=\"true\"\n [attr.editHome]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || !stackContent\"\n [class.empty-tiles-group]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\n>\n @if (edit || stackContent || isAppTileSubGroup) {\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h5>\n </fd-layout-panel-head>\n @if (edit) {\n <fd-layout-panel-actions class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\n } @if (!appTileGroup.Predefined) {\n <button\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n }\n </fd-toolbar>\n </fd-layout-panel-actions>\n }\n </fd-layout-panel-header>\n }\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\n <h5 fd-title></h5>\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\n <div\n [class.edit-home]=\"edit\"\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [setToStorage]=\"true\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n } @if (edit) {\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\n <div style=\"margin: 0\">\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n }\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup) {\n<bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n></bt-tiles-viewer-group>\n}\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:1rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper{display:grid;grid-template-columns:154px 154px;gap:1rem}fd-layout-panel-body.small-size .tile-wrapper .isdouble{grid-column-start:1;grid-column-end:3}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i4.BusyIndicatorComponent, selector: "fd-busy-indicator", inputs: ["loading", "size", "block", "ariaLabel", "title", "label", "ariaLive"] }, { kind: "component", type: i5.ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i6.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"] }, { kind: "component", type: i7.LayoutPanelComponent, selector: "fd-layout-panel", inputs: ["backgroundImage", "id", "transparent"] }, { kind: "component", type: i7.LayoutPanelHeaderComponent, selector: "fd-layout-panel-header" }, { kind: "component", type: i7.LayoutPanelHeadComponent, selector: "fd-layout-panel-head" }, { kind: "directive", type: i7.LayoutPanelTitleDirective, selector: "[fd-layout-panel-title]" }, { kind: "component", type: i7.LayoutPanelActionsComponent, selector: "fd-layout-panel-actions" }, { kind: "component", type: i7.LayoutPanelBodyComponent, selector: "fd-layout-panel-body", inputs: ["bleed"] }, { kind: "component", type: i8.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.PanelContentDirective, selector: "[fd-panel-content]", inputs: ["height", "minHeight", "maxHeight", "ariaLabel", "ariaLabelledBy", "role", "id"] }, { kind: "component", type: i10.TileComponent, selector: "fd-tile", inputs: ["class", "size", "double", "type", "action", "clickable"], outputs: ["tileClick"] }, { kind: "component", type: i11.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "title", "active", "clearBorder", "forceOverflow", "tabindex", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i11.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i12.ActionsLinkComponent, selector: "bt-actions-link", inputs: ["actionsLink", "edit"] }, { kind: "component", type: TilesViewerGroupComponent, selector: "bt-tiles-viewer-group", inputs: ["appTileGroup", "stackContent", "edit", "rtl", "isAppTileSubGroup", "deviceSize"], outputs: ["tilesDropped", "hideAppTileClick", "renameAppTileClick", "toggleGroup", "resetGroup", "deleteGroup"] }, { kind: "directive", type: i13.TileRendererDirective, selector: "[tileRenderer]", inputs: ["component", "data", "edit", "setToStorage"], outputs: ["hideClick", "renameClick"] }, { kind: "pipe", type: i14.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
60
60
|
}
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TilesViewerGroupComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
|
-
args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel\n [fixed]=\"true\"\n [attr.editHome]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || !stackContent\"\n [class.empty-tiles-group]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\n>\n @if (edit || stackContent || isAppTileSubGroup) {\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h5>\n </fd-layout-panel-head>\n @if (edit) {\n <fd-layout-panel-actions class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\n } @if (!appTileGroup.Predefined) {\n <button\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n }\n </fd-toolbar>\n </fd-layout-panel-actions>\n }\n </fd-layout-panel-header>\n }\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\n <h5 fd-title></h5>\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\n <div\n [class.edit-home]=\"edit\"\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n } @if (edit) {\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\n <div style=\"margin: 0\">\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n }\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup) {\n<bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n></bt-tiles-viewer-group>\n}\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:1rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper{display:grid;grid-template-columns:154px 154px;gap:1rem}fd-layout-panel-body.small-size .tile-wrapper .isdouble{grid-column-start:1;grid-column-end:3}\n"] }]
|
|
63
|
+
args: [{ selector: 'bt-tiles-viewer-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-layout-panel\n [fixed]=\"true\"\n [attr.editHome]=\"edit\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || !stackContent\"\n [class.empty-tiles-group]=\"!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded\"\n>\n @if (edit || stackContent || isAppTileSubGroup) {\n <fd-layout-panel-header>\n <fd-layout-panel-head>\n <h5 fd-layout-panel-title>{{ appTileGroup.navigatorTitle }}</h5>\n </fd-layout-panel-head>\n @if (edit) {\n <fd-layout-panel-actions class=\"group-btns\">\n <fd-toolbar [shouldOverflow]=\"false\" [fdType]=\"'transparent'\" [clearBorder]=\"true\">\n <button\n fd-button\n fd-toolbar-item\n [label]=\"!appTileGroup.navigatorVisible ? ('Show' | bbbTranslate) : ('Hide' | bbbTranslate)\"\n (click)=\"onToggleShowHide(appTileGroup)\"\n ></button>\n @if (appTileGroup.Predefined && appTileGroup.$TileSettingChanged) {\n <button fd-button [label]=\"'Refresh' | bbbTranslate\" (click)=\"onReset(appTileGroup)\"></button>\n } @if (!appTileGroup.Predefined) {\n <button\n fd-button\n [label]=\"'Delete' | bbbTranslate\"\n [fdType]=\"'negative'\"\n (click)=\"onDelete(appTileGroup)\"\n ></button>\n }\n </fd-toolbar>\n </fd-layout-panel-actions>\n }\n </fd-layout-panel-header>\n }\n <fd-layout-panel-body [bleed]=\"!stackContent\" [class.small-size]=\"deviceSize === 's'\">\n <div\n class=\"tile-wrapper\"\n [ngClass]=\"{ rtl: rtl, ltr: !rtl, s: deviceSize === 's' }\"\n fd-panel-content\n #tiles=\"cdkDropList\"\n cdkDropList\n cdkDropListOrientation=\"horizontal\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListConnectedTo]=\"actionLinks\"\n [cdkDropListData]=\"{\n isTile: true,\n items: appTileGroup.navigatorTiles || []\n }\"\n >\n @if (!edit) { @if (!appTileGroup.$TilesLoaded) {\n <fd-busy-indicator [loading]=\"true\"></fd-busy-indicator>\n } @else if (!appTileGroup.navigatorTiles.length && appTileGroup.$TilesLoaded) {\n <h5 fd-title></h5>\n } } @for (appTile of appTileGroup?.navigatorTiles; track appTile.Id; let k = $index) {\n <div\n [class.edit-home]=\"edit\"\n [class.isdouble]=\"appTile.Component?.Settings?.TileSetting?.IsDouble\"\n cdkDrag\n [cdkDragDisabled]=\"!edit || appTileGroup.Locked\"\n >\n <span\n [dynamicCommand]=\"appTile.DynamicCommand\"\n [setToStorage]=\"true\"\n [enableCommand]=\"!edit && appTile.Component\"\n tileRenderer\n [data]=\"appTile\"\n [edit]=\"edit\"\n [component]=\"appTile.Component\"\n (hideClick)=\"onAppTileHideClick(appTile)\"\n (renameClick)=\"onAppTileRenameClick(appTile)\"\n ></span>\n </div>\n } @if (edit) {\n <fd-tile class=\"add-tile\" [routerLink]=\"['/home/appfinder']\">\n <div style=\"margin: 0\">\n <fd-icon glyph=\"add\"></fd-icon>\n </div>\n </fd-tile>\n }\n </div>\n </fd-layout-panel-body>\n</fd-layout-panel>\n\n<bt-actions-link\n [class.actions-link-edit-home]=\"edit\"\n [actionsLink]=\"appTileGroup.navigatorActionLinks\"\n [edit]=\"edit\"\n [style.min-height]=\"edit ? '4rem' : 'auto'\"\n cdkDropList\n #actionLinks=\"cdkDropList\"\n cdkDropListOrientation=\"horizontal\"\n [cdkDropListConnectedTo]=\"tiles\"\n (cdkDropListDropped)=\"onDrop(appTileGroup, $event)\"\n [cdkDropListData]=\"{\n isTile: false,\n items: appTileGroup.navigatorActionLinks || []\n }\"\n>\n</bt-actions-link>\n@for (appTileSubGroup of appTileGroup.$Children; track appTileSubGroup) {\n<bt-tiles-viewer-group\n [appTileGroup]=\"appTileSubGroup\"\n [edit]=\"edit\"\n [rtl]=\"rtl\"\n [stackContent]=\"stackContent\"\n [isAppTileSubGroup]=\"true\"\n [deviceSize]=\"deviceSize\"\n (tilesDropped)=\"tilesDropped.emit($event)\"\n (renameAppTileClick)=\"renameAppTileClick.emit($event)\"\n (hideAppTileClick)=\"hideAppTileClick.emit($event)\"\n (resetGroup)=\"resetGroup.emit($event)\"\n (deleteGroup)=\"deleteGroup.emit($event)\"\n (toggleGroup)=\"toggleGroup.emit($event)\"\n></bt-tiles-viewer-group>\n}\n", styles: [":host{display:block}fd-layout-panel{box-shadow:none}fd-layout-panel.empty-tiles-group:not([edithome=true]){display:none}fd-layout-panel fd-layout-panel-header fd-layout-panel-head h5{font-weight:500}fd-layout-panel fd-layout-panel-body:not(.small-size){margin-top:1rem}fd-layout-panel fd-layout-panel-body.small-size{padding:1rem .5rem}fd-layout-panel[editHome=false]{background:transparent}::ng-deep .fd-panel__header{border:none;padding-left:0;padding-right:0}::ng-deep fd-panel[edithome=false] .fd-panel__header:first-child{display:none}::ng-deep .fd-panel__content{border-bottom:none;padding:1px}.tile-wrapper{column-gap:3px;row-gap:1rem;display:inline-flex;flex-wrap:wrap;align-items:center}.actions-link-edit-home{background-color:var(--sapGroup_ContentBackground, #fff);border-color:var(--sapGroup_ContentBorderColor, #d9d9d9);border-width:var(--sapElement_BorderWidth, .0625rem);border-style:solid}.add-tile{background-color:transparent!important}.add-tile ::ng-deep div{background-color:transparent!important;margin:10px 0}.add-tile div:first-child{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.add-tile fd-icon{font-size:1.5rem;color:#3c4043}fd-layout-panel-body.small-size{display:flex;justify-content:center}fd-layout-panel-body.small-size .tile-wrapper{display:grid;grid-template-columns:154px 154px;gap:1rem}fd-layout-panel-body.small-size .tile-wrapper .isdouble{grid-column-start:1;grid-column-end:3}\n"] }]
|
|
64
64
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { appTileGroup: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}], stackContent: [{
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
86
86
|
}], deleteGroup: [{
|
|
87
87
|
type: Output
|
|
88
88
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLEVBQUUsYUFBYSxFQUE4QyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUWpHLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBbUJ4RCxZQUFzQixHQUFlO1FBQ2pDLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQVgzQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUdyQyxDQUFDO1FBQ0sscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDN0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUVoRSxvQkFBZSxHQUFrQixJQUFJLENBQUM7SUFHdEMsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQ0YsWUFBaUMsRUFDakMsS0FBcUU7UUFFckUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLFlBQWlDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFpQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQWlDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OEdBeERRLHlCQUF5QjtrR0FBekIseUJBQXlCLHFjQ1h0Qyw2c0pBb0hBLHl3SkR6R2EseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTsrRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgc3RhY2tDb250ZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzQXBwVGlsZVN1Ykdyb3VwOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG5cclxuICAgIEBPdXRwdXQoKSB0aWxlc0Ryb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICBhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICAgICAgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+O1xyXG4gICAgfT4oKTtcclxuICAgIEBPdXRwdXQoKSBoaWRlQXBwVGlsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIHJlbmFtZUFwcFRpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSB0b2dnbGVHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSByZXNldEdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIGRlbGV0ZUdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG5cclxuICAgIG1hcmdpblJpZ2h0VGlsZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHQgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICUgMTU0O1xyXG4gICAgICAgICAgICB0aGlzLm1hcmdpblJpZ2h0VGlsZSA9IHQgLyAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkRyb3AoXHJcbiAgICAgICAgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgICAgIGV2ZW50OiBDZGtEcmFnRHJvcDx7IGlzVGlsZTogYm9vbGVhbjsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9PlxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmVkaXQgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlsZXNEcm9wcGVkLmVtaXQoeyBhcHBUaWxlR3JvdXAsIGV2ZW50IH0pO1xyXG4gICAgfVxyXG4gICAgb25BcHBUaWxlSGlkZUNsaWNrKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhpZGVBcHBUaWxlQ2xpY2suZW1pdChhcHBUaWxlKTtcclxuICAgIH1cclxuICAgIG9uQXBwVGlsZVJlbmFtZUNsaWNrKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmFtZUFwcFRpbGVDbGljay5lbWl0KGFwcFRpbGUpO1xyXG4gICAgfVxyXG4gICAgb25EZWxldGUoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVHcm91cC5lbWl0KGFwcFRpbGVHcm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ub2dnbGVTaG93SGlkZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZUdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJlc2V0KGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVzZXRHcm91cC5lbWl0KGFwcFRpbGVHcm91cCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWxheW91dC1wYW5lbFxuICAgIFtmaXhlZF09XCJ0cnVlXCJcbiAgICBbYXR0ci5lZGl0SG9tZV09XCJlZGl0XCJcbiAgICBjZGtEcmFnXG4gICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdCB8fCAhc3RhY2tDb250ZW50XCJcbiAgICBbY2xhc3MuZW1wdHktdGlsZXMtZ3JvdXBdPVwiIWFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaWxlcy5sZW5ndGggJiYgYXBwVGlsZUdyb3VwLiRUaWxlc0xvYWRlZFwiXG4+XG4gICAgQGlmIChlZGl0IHx8IHN0YWNrQ29udGVudCB8fCBpc0FwcFRpbGVTdWJHcm91cCkge1xuICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZGVyPlxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWhlYWQ+XG4gICAgICAgICAgICA8aDUgZmQtbGF5b3V0LXBhbmVsLXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB9fTwvaDU+XG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWhlYWQ+XG4gICAgICAgIEBpZiAoZWRpdCkge1xuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnMgY2xhc3M9XCJncm91cC1idG5zXCI+XG4gICAgICAgICAgICA8ZmQtdG9vbGJhciBbc2hvdWxkT3ZlcmZsb3ddPVwiZmFsc2VcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiIWFwcFRpbGVHcm91cC5uYXZpZ2F0b3JWaXNpYmxlID8gKCdTaG93JyB8IGJiYlRyYW5zbGF0ZSkgOiAoJ0hpZGUnIHwgYmJiVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICBAaWYgKGFwcFRpbGVHcm91cC5QcmVkZWZpbmVkICYmIGFwcFRpbGVHcm91cC4kVGlsZVNldHRpbmdDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2xhYmVsXT1cIidSZWZyZXNoJyB8IGJiYlRyYW5zbGF0ZVwiIChjbGljayk9XCJvblJlc2V0KGFwcFRpbGVHcm91cClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9IEBpZiAoIWFwcFRpbGVHcm91cC5QcmVkZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidEZWxldGUnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInbmVnYXRpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKGFwcFRpbGVHcm91cClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2ZkLXRvb2xiYXI+XG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XG4gICAgICAgIH1cbiAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkZXI+XG4gICAgfVxuICAgIDxmZC1sYXlvdXQtcGFuZWwtYm9keSBbYmxlZWRdPVwiIXN0YWNrQ29udGVudFwiIFtjbGFzcy5zbWFsbC1zaXplXT1cImRldmljZVNpemUgPT09ICdzJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRpbGUtd3JhcHBlclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IHJ0bDogcnRsLCBsdHI6ICFydGwsIHM6IGRldmljZVNpemUgPT09ICdzJyB9XCJcbiAgICAgICAgICAgIGZkLXBhbmVsLWNvbnRlbnRcbiAgICAgICAgICAgICN0aWxlcz1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcChhcHBUaWxlR3JvdXAsICRldmVudClcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiYWN0aW9uTGlua3NcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJ7XG4gICAgICAgICAgICAgICAgaXNUaWxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMgfHwgW11cbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCFlZGl0KSB7IEBpZiAoIWFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWQpIHtcbiAgICAgICAgICAgIDxmZC1idXN5LWluZGljYXRvciBbbG9hZGluZ109XCJ0cnVlXCI+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubGVuZ3RoICYmIGFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWQpIHtcbiAgICAgICAgICAgIDxoNSBmZC10aXRsZT48L2g1PlxuICAgICAgICAgICAgfSB9IEBmb3IgKGFwcFRpbGUgb2YgYXBwVGlsZUdyb3VwPy5uYXZpZ2F0b3JUaWxlczsgdHJhY2sgYXBwVGlsZS5JZDsgbGV0IGsgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbY2xhc3MuZWRpdC1ob21lXT1cImVkaXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pc2RvdWJsZV09XCJhcHBUaWxlLkNvbXBvbmVudD8uU2V0dGluZ3M/LlRpbGVTZXR0aW5nPy5Jc0RvdWJsZVwiXG4gICAgICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXQgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNDb21tYW5kXT1cImFwcFRpbGUuRHluYW1pY0NvbW1hbmRcIlxuICAgICAgICAgICAgICAgICAgICBbZW5hYmxlQ29tbWFuZF09XCIhZWRpdCAmJiBhcHBUaWxlLkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgIHRpbGVSZW5kZXJlclxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJhcHBUaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRdPVwiYXBwVGlsZS5Db21wb25lbnRcIlxuICAgICAgICAgICAgICAgICAgICAoaGlkZUNsaWNrKT1cIm9uQXBwVGlsZUhpZGVDbGljayhhcHBUaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgIChyZW5hbWVDbGljayk9XCJvbkFwcFRpbGVSZW5hbWVDbGljayhhcHBUaWxlKVwiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAaWYgKGVkaXQpIHtcbiAgICAgICAgICAgIDxmZC10aWxlIGNsYXNzPVwiYWRkLXRpbGVcIiBbcm91dGVyTGlua109XCJbJy9ob21lL2FwcGZpbmRlciddXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbjogMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImFkZFwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtdGlsZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cbjwvZmQtbGF5b3V0LXBhbmVsPlxuXG48YnQtYWN0aW9ucy1saW5rXG4gICAgW2NsYXNzLmFjdGlvbnMtbGluay1lZGl0LWhvbWVdPVwiZWRpdFwiXG4gICAgW2FjdGlvbnNMaW5rXT1cImFwcFRpbGVHcm91cC5uYXZpZ2F0b3JBY3Rpb25MaW5rc1wiXG4gICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwiZWRpdCA/ICc0cmVtJyA6ICdhdXRvJ1wiXG4gICAgY2RrRHJvcExpc3RcbiAgICAjYWN0aW9uTGlua3M9XCJjZGtEcm9wTGlzdFwiXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cInRpbGVzXCJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcChhcHBUaWxlR3JvdXAsICRldmVudClcIlxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwie1xuICAgICAgICBpc1RpbGU6IGZhbHNlLFxuICAgICAgICBpdGVtczogYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzIHx8IFtdXG4gICAgfVwiXG4+XG48L2J0LWFjdGlvbnMtbGluaz5cbkBmb3IgKGFwcFRpbGVTdWJHcm91cCBvZiBhcHBUaWxlR3JvdXAuJENoaWxkcmVuOyB0cmFjayBhcHBUaWxlU3ViR3JvdXApIHtcbjxidC10aWxlcy12aWV3ZXItZ3JvdXBcbiAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVTdWJHcm91cFwiXG4gICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgW3J0bF09XCJydGxcIlxuICAgIFtzdGFja0NvbnRlbnRdPVwic3RhY2tDb250ZW50XCJcbiAgICBbaXNBcHBUaWxlU3ViR3JvdXBdPVwidHJ1ZVwiXG4gICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgKHRpbGVzRHJvcHBlZCk9XCJ0aWxlc0Ryb3BwZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAocmVuYW1lQXBwVGlsZUNsaWNrKT1cInJlbmFtZUFwcFRpbGVDbGljay5lbWl0KCRldmVudClcIlxuICAgIChoaWRlQXBwVGlsZUNsaWNrKT1cImhpZGVBcHBUaWxlQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAocmVzZXRHcm91cCk9XCJyZXNldEdyb3VwLmVtaXQoJGV2ZW50KVwiXG4gICAgKGRlbGV0ZUdyb3VwKT1cImRlbGV0ZUdyb3VwLmVtaXQoJGV2ZW50KVwiXG4gICAgKHRvZ2dsZUdyb3VwKT1cInRvZ2dsZUdyb3VwLmVtaXQoJGV2ZW50KVwiXG4+PC9idC10aWxlcy12aWV3ZXItZ3JvdXA+XG59XG4iXX0=
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXRpbGVzL3NyYy9saWIvdGlsZXMtdmlld2VyLWdyb3VwL3RpbGVzLXZpZXdlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS10aWxlcy9zcmMvbGliL3RpbGVzLXZpZXdlci1ncm91cC90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLEVBQUUsYUFBYSxFQUE4QyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBUWpHLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBbUJ4RCxZQUFzQixHQUFlO1FBQ2pDLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQVgzQixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUdyQyxDQUFDO1FBQ0sscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDM0QsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDN0QsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDckQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUVoRSxvQkFBZSxHQUFrQixJQUFJLENBQUM7SUFHdEMsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztZQUMxQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQ0YsWUFBaUMsRUFDakMsS0FBcUU7UUFFckUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsT0FBNEI7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsT0FBNEI7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsUUFBUSxDQUFDLFlBQWlDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxZQUFpQztRQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsT0FBTyxDQUFDLFlBQWlDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OEdBeERRLHlCQUF5QjtrR0FBekIseUJBQXlCLHFjQ1h0QywwdkpBcUhBLDB4SkQxR2EseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTTsrRUFHdEMsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50LCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnQtdGlsZXMtdmlld2VyLWdyb3VwJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aWxlcy12aWV3ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGlsZXMtdmlld2VyLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlsZXNWaWV3ZXJHcm91cENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG4gICAgQElucHV0KCkgc3RhY2tDb250ZW50OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZWRpdDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIHJ0bDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGlzQXBwVGlsZVN1Ykdyb3VwOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZGV2aWNlU2l6ZTogQWJicmV2YXRpb25EZXZpY2VTaXplO1xyXG5cclxuICAgIEBPdXRwdXQoKSB0aWxlc0Ryb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgICAgICBhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICAgICAgZXZlbnQ6IENka0RyYWdEcm9wPHsgaXNUaWxlOiBib29sZWFuOyBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdIH0+O1xyXG4gICAgfT4oKTtcclxuICAgIEBPdXRwdXQoKSBoaWRlQXBwVGlsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIHJlbmFtZUFwcFRpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSB0b2dnbGVHcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSByZXNldEdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG4gICAgQE91dHB1dCgpIGRlbGV0ZUdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xyXG5cclxuICAgIG1hcmdpblJpZ2h0VGlsZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZGV2aWNlU2l6ZSA9PT0gJ3MnKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHQgPSBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICUgMTU0O1xyXG4gICAgICAgICAgICB0aGlzLm1hcmdpblJpZ2h0VGlsZSA9IHQgLyAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkRyb3AoXHJcbiAgICAgICAgYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsLFxyXG4gICAgICAgIGV2ZW50OiBDZGtEcmFnRHJvcDx7IGlzVGlsZTogYm9vbGVhbjsgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB9PlxyXG4gICAgKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmVkaXQgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMudGlsZXNEcm9wcGVkLmVtaXQoeyBhcHBUaWxlR3JvdXAsIGV2ZW50IH0pO1xyXG4gICAgfVxyXG4gICAgb25BcHBUaWxlSGlkZUNsaWNrKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhpZGVBcHBUaWxlQ2xpY2suZW1pdChhcHBUaWxlKTtcclxuICAgIH1cclxuICAgIG9uQXBwVGlsZVJlbmFtZUNsaWNrKGFwcFRpbGU6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnJlbmFtZUFwcFRpbGVDbGljay5lbWl0KGFwcFRpbGUpO1xyXG4gICAgfVxyXG4gICAgb25EZWxldGUoYXBwVGlsZUdyb3VwOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVHcm91cC5lbWl0KGFwcFRpbGVHcm91cCk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Ub2dnbGVTaG93SGlkZShhcHBUaWxlR3JvdXA6IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRvZ2dsZUdyb3VwLmVtaXQoYXBwVGlsZUdyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJlc2V0KGFwcFRpbGVHcm91cDogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucmVzZXRHcm91cC5lbWl0KGFwcFRpbGVHcm91cCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGZkLWxheW91dC1wYW5lbFxuICAgIFtmaXhlZF09XCJ0cnVlXCJcbiAgICBbYXR0ci5lZGl0SG9tZV09XCJlZGl0XCJcbiAgICBjZGtEcmFnXG4gICAgW2Nka0RyYWdEaXNhYmxlZF09XCIhZWRpdCB8fCAhc3RhY2tDb250ZW50XCJcbiAgICBbY2xhc3MuZW1wdHktdGlsZXMtZ3JvdXBdPVwiIWFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaWxlcy5sZW5ndGggJiYgYXBwVGlsZUdyb3VwLiRUaWxlc0xvYWRlZFwiXG4+XG4gICAgQGlmIChlZGl0IHx8IHN0YWNrQ29udGVudCB8fCBpc0FwcFRpbGVTdWJHcm91cCkge1xuICAgIDxmZC1sYXlvdXQtcGFuZWwtaGVhZGVyPlxuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWhlYWQ+XG4gICAgICAgICAgICA8aDUgZmQtbGF5b3V0LXBhbmVsLXRpdGxlPnt7IGFwcFRpbGVHcm91cC5uYXZpZ2F0b3JUaXRsZSB9fTwvaDU+XG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWhlYWQ+XG4gICAgICAgIEBpZiAoZWRpdCkge1xuICAgICAgICA8ZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnMgY2xhc3M9XCJncm91cC1idG5zXCI+XG4gICAgICAgICAgICA8ZmQtdG9vbGJhciBbc2hvdWxkT3ZlcmZsb3ddPVwiZmFsc2VcIiBbZmRUeXBlXT1cIid0cmFuc3BhcmVudCdcIiBbY2xlYXJCb3JkZXJdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiIWFwcFRpbGVHcm91cC5uYXZpZ2F0b3JWaXNpYmxlID8gKCdTaG93JyB8IGJiYlRyYW5zbGF0ZSkgOiAoJ0hpZGUnIHwgYmJiVHJhbnNsYXRlKVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvZ2dsZVNob3dIaWRlKGFwcFRpbGVHcm91cClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICBAaWYgKGFwcFRpbGVHcm91cC5QcmVkZWZpbmVkICYmIGFwcFRpbGVHcm91cC4kVGlsZVNldHRpbmdDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1idXR0b24gW2xhYmVsXT1cIidSZWZyZXNoJyB8IGJiYlRyYW5zbGF0ZVwiIChjbGljayk9XCJvblJlc2V0KGFwcFRpbGVHcm91cClcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9IEBpZiAoIWFwcFRpbGVHcm91cC5QcmVkZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidEZWxldGUnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZkVHlwZV09XCInbmVnYXRpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlKGFwcFRpbGVHcm91cClcIlxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2ZkLXRvb2xiYXI+XG4gICAgICAgIDwvZmQtbGF5b3V0LXBhbmVsLWFjdGlvbnM+XG4gICAgICAgIH1cbiAgICA8L2ZkLWxheW91dC1wYW5lbC1oZWFkZXI+XG4gICAgfVxuICAgIDxmZC1sYXlvdXQtcGFuZWwtYm9keSBbYmxlZWRdPVwiIXN0YWNrQ29udGVudFwiIFtjbGFzcy5zbWFsbC1zaXplXT1cImRldmljZVNpemUgPT09ICdzJ1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cInRpbGUtd3JhcHBlclwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7IHJ0bDogcnRsLCBsdHI6ICFydGwsIHM6IGRldmljZVNpemUgPT09ICdzJyB9XCJcbiAgICAgICAgICAgIGZkLXBhbmVsLWNvbnRlbnRcbiAgICAgICAgICAgICN0aWxlcz1cImNka0Ryb3BMaXN0XCJcbiAgICAgICAgICAgIGNka0Ryb3BMaXN0XG4gICAgICAgICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcChhcHBUaWxlR3JvdXAsICRldmVudClcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0Q29ubmVjdGVkVG9dPVwiYWN0aW9uTGlua3NcIlxuICAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJ7XG4gICAgICAgICAgICAgICAgaXNUaWxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMgfHwgW11cbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKCFlZGl0KSB7IEBpZiAoIWFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWQpIHtcbiAgICAgICAgICAgIDxmZC1idXN5LWluZGljYXRvciBbbG9hZGluZ109XCJ0cnVlXCI+PC9mZC1idXN5LWluZGljYXRvcj5cbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFhcHBUaWxlR3JvdXAubmF2aWdhdG9yVGlsZXMubGVuZ3RoICYmIGFwcFRpbGVHcm91cC4kVGlsZXNMb2FkZWQpIHtcbiAgICAgICAgICAgIDxoNSBmZC10aXRsZT48L2g1PlxuICAgICAgICAgICAgfSB9IEBmb3IgKGFwcFRpbGUgb2YgYXBwVGlsZUdyb3VwPy5uYXZpZ2F0b3JUaWxlczsgdHJhY2sgYXBwVGlsZS5JZDsgbGV0IGsgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbY2xhc3MuZWRpdC1ob21lXT1cImVkaXRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pc2RvdWJsZV09XCJhcHBUaWxlLkNvbXBvbmVudD8uU2V0dGluZ3M/LlRpbGVTZXR0aW5nPy5Jc0RvdWJsZVwiXG4gICAgICAgICAgICAgICAgY2RrRHJhZ1xuICAgICAgICAgICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiIWVkaXQgfHwgYXBwVGlsZUdyb3VwLkxvY2tlZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgW2R5bmFtaWNDb21tYW5kXT1cImFwcFRpbGUuRHluYW1pY0NvbW1hbmRcIlxuICAgICAgICAgICAgICAgICAgICBbc2V0VG9TdG9yYWdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZW5hYmxlQ29tbWFuZF09XCIhZWRpdCAmJiBhcHBUaWxlLkNvbXBvbmVudFwiXG4gICAgICAgICAgICAgICAgICAgIHRpbGVSZW5kZXJlclxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJhcHBUaWxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgIFtjb21wb25lbnRdPVwiYXBwVGlsZS5Db21wb25lbnRcIlxuICAgICAgICAgICAgICAgICAgICAoaGlkZUNsaWNrKT1cIm9uQXBwVGlsZUhpZGVDbGljayhhcHBUaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgIChyZW5hbWVDbGljayk9XCJvbkFwcFRpbGVSZW5hbWVDbGljayhhcHBUaWxlKVwiXG4gICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfSBAaWYgKGVkaXQpIHtcbiAgICAgICAgICAgIDxmZC10aWxlIGNsYXNzPVwiYWRkLXRpbGVcIiBbcm91dGVyTGlua109XCJbJy9ob21lL2FwcGZpbmRlciddXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbjogMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtaWNvbiBnbHlwaD1cImFkZFwiPjwvZmQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZmQtdGlsZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9mZC1sYXlvdXQtcGFuZWwtYm9keT5cbjwvZmQtbGF5b3V0LXBhbmVsPlxuXG48YnQtYWN0aW9ucy1saW5rXG4gICAgW2NsYXNzLmFjdGlvbnMtbGluay1lZGl0LWhvbWVdPVwiZWRpdFwiXG4gICAgW2FjdGlvbnNMaW5rXT1cImFwcFRpbGVHcm91cC5uYXZpZ2F0b3JBY3Rpb25MaW5rc1wiXG4gICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgW3N0eWxlLm1pbi1oZWlnaHRdPVwiZWRpdCA/ICc0cmVtJyA6ICdhdXRvJ1wiXG4gICAgY2RrRHJvcExpc3RcbiAgICAjYWN0aW9uTGlua3M9XCJjZGtEcm9wTGlzdFwiXG4gICAgY2RrRHJvcExpc3RPcmllbnRhdGlvbj1cImhvcml6b250YWxcIlxuICAgIFtjZGtEcm9wTGlzdENvbm5lY3RlZFRvXT1cInRpbGVzXCJcbiAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uRHJvcChhcHBUaWxlR3JvdXAsICRldmVudClcIlxuICAgIFtjZGtEcm9wTGlzdERhdGFdPVwie1xuICAgICAgICBpc1RpbGU6IGZhbHNlLFxuICAgICAgICBpdGVtczogYXBwVGlsZUdyb3VwLm5hdmlnYXRvckFjdGlvbkxpbmtzIHx8IFtdXG4gICAgfVwiXG4+XG48L2J0LWFjdGlvbnMtbGluaz5cbkBmb3IgKGFwcFRpbGVTdWJHcm91cCBvZiBhcHBUaWxlR3JvdXAuJENoaWxkcmVuOyB0cmFjayBhcHBUaWxlU3ViR3JvdXApIHtcbjxidC10aWxlcy12aWV3ZXItZ3JvdXBcbiAgICBbYXBwVGlsZUdyb3VwXT1cImFwcFRpbGVTdWJHcm91cFwiXG4gICAgW2VkaXRdPVwiZWRpdFwiXG4gICAgW3J0bF09XCJydGxcIlxuICAgIFtzdGFja0NvbnRlbnRdPVwic3RhY2tDb250ZW50XCJcbiAgICBbaXNBcHBUaWxlU3ViR3JvdXBdPVwidHJ1ZVwiXG4gICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgKHRpbGVzRHJvcHBlZCk9XCJ0aWxlc0Ryb3BwZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAocmVuYW1lQXBwVGlsZUNsaWNrKT1cInJlbmFtZUFwcFRpbGVDbGljay5lbWl0KCRldmVudClcIlxuICAgIChoaWRlQXBwVGlsZUNsaWNrKT1cImhpZGVBcHBUaWxlQ2xpY2suZW1pdCgkZXZlbnQpXCJcbiAgICAocmVzZXRHcm91cCk9XCJyZXNldEdyb3VwLmVtaXQoJGV2ZW50KVwiXG4gICAgKGRlbGV0ZUdyb3VwKT1cImRlbGV0ZUdyb3VwLmVtaXQoJGV2ZW50KVwiXG4gICAgKHRvZ2dsZUdyb3VwKT1cInRvZ2dsZUdyb3VwLmVtaXQoJGV2ZW50KVwiXG4+PC9idC10aWxlcy12aWV3ZXItZ3JvdXA+XG59XG4iXX0=
|