@bizdoc/core 1.14.0-next.10 → 1.14.0-next.11
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/esm2020/lib/core/controls/combination-picker-body.mjs +2 -2
- package/esm2020/lib/core/slots/slots.component.mjs +11 -8
- package/esm2020/lib/home/home.desktop.component.mjs +7 -13
- package/fesm2015/bizdoc-core.mjs +43 -44
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +17 -20
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/core/slots/slots.component.d.ts +1 -1
- package/lib/home/home.desktop.component.d.ts +3 -3
- package/package.json +1 -1
@@ -40,10 +40,10 @@ export class HomeComponent extends HomeBase {
|
|
40
40
|
this.sysAdmin = this._session.isSystem;
|
41
41
|
this._submenuMode = localStorage.getItem('submenuMode') || 'full';
|
42
42
|
this.forms = this._session.profile.forms.filter(f => f.creatable);
|
43
|
+
this._collapseToggle = false;
|
43
44
|
this._submenu = localStorage.getItem('submenu');
|
44
45
|
this._collapsed = this._isOrDefault('collapsed', true);
|
45
46
|
this._pinned = this._isOrDefault('pinned', true);
|
46
|
-
this._collapseToggle = false;
|
47
47
|
_router.events.pipe(filter(e => e instanceof NavigationStart && e.pane.path && e.pane.mode === 'pane')).
|
48
48
|
subscribe((e) => this._path = e.pane.path.split('/')[0]);
|
49
49
|
}
|
@@ -192,28 +192,22 @@ export class HomeComponent extends HomeBase {
|
|
192
192
|
event.preventDefault();
|
193
193
|
}
|
194
194
|
else if (event.ctrlKey && event.which === 190) {
|
195
|
-
if (this.submenu) {
|
195
|
+
if (this.submenu && !this._collapseToggle) {
|
196
196
|
this.submenuMode = this.submenuMode === 'shrink' ? 'full' : 'shrink';
|
197
197
|
this._collapseToggle = true;
|
198
198
|
}
|
199
|
-
else if (!this.collapsed)
|
200
|
-
this.collapsed = true;
|
201
199
|
else {
|
202
|
-
|
203
|
-
|
204
|
-
this.submenuMode = null;
|
205
|
-
}
|
206
|
-
else
|
207
|
-
this.collapsed = false;
|
200
|
+
this.collapsed = !this.collapsed;
|
201
|
+
this._collapseToggle = false;
|
208
202
|
}
|
209
203
|
}
|
210
204
|
}
|
211
205
|
}
|
212
206
|
HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HomeComponent, deps: [{ token: i1.PanesRouter }, { token: i2.MailboxService }, { token: i0.Injector }, { token: i3.SessionService }, { token: i4.Popup }, { token: i5.HubService }, { token: i6.TranslateService }, { token: i7.PromptService }, { token: i8.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
213
|
-
HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\" [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"end\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes></bizdoc-panes>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"], components: [{ type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i13.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { type: i14.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: i15.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { type: i16.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: i17.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: i18.SlotsComponent, selector: "bizdoc-panes" }], directives: [{ type: i19.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i20.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i11.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i22.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: i23.MatIconAnimate, selector: "[matAnimate]" }, { type: i20.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i20.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": i24.TranslatePipe }, animations: [submenuAnimation] });
|
207
|
+
HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"[bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"[attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\" \r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes-outlet></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"], components: [{ type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i11.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i13.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { type: i14.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: i15.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { type: i16.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: i17.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: i18.SlotsComponent, selector: "bizdoc-panes-outlet" }], directives: [{ type: i19.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i20.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i11.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i22.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: i23.MatIconAnimate, selector: "[matAnimate]" }, { type: i20.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i20.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": i24.TranslatePipe }, animations: [submenuAnimation] });
|
214
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HomeComponent, decorators: [{
|
215
209
|
type: Component,
|
216
|
-
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"
|
210
|
+
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"[bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"[attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\" \r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes-outlet></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"] }]
|
217
211
|
}], ctorParameters: function () { return [{ type: i1.PanesRouter }, { type: i2.MailboxService }, { type: i0.Injector }, { type: i3.SessionService }, { type: i4.Popup }, { type: i5.HubService }, { type: i6.TranslateService }, { type: i7.PromptService }, { type: i8.MatSnackBar }, { type: undefined, decorators: [{
|
218
212
|
type: Inject,
|
219
213
|
args: [BIZDOC_CONFIG]
|
@@ -224,4 +218,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
224
218
|
type: HostListener,
|
225
219
|
args: ['document:keydown', ['$event']]
|
226
220
|
}] } });
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUs3RSx3QkFBd0I7QUFReEIsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBb0R6QyxZQUNVLE9BQW9CLEVBQ3BCLFFBQXdCLEVBQ2hDLFFBQWtCLEVBQ2xCLE9BQXVCLEVBQ3ZCLEtBQVksRUFDWixTQUFxQixFQUNyQixTQUEyQixFQUNuQixHQUFrQixFQUMxQixRQUFxQixFQUNFLE1BQW9CO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQVZoRSxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFB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LFNBQVM7K0JBQ0UsYUFBYSxRQUdqQixFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxjQUN6QixDQUFDLGdCQUFnQixDQUFDOzswQkFnRTNCLE1BQU07MkJBQUMsYUFBYTs0Q0FYa0IsTUFBTTtzQkFBOUMsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQTJHdkMsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEluamVjdCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRTaWRlbmF2IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IHN1Ym1lbnVBbmltYXRpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBGb3JtLCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvcHVwIH0gZnJvbSAnLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEhvbWVCYXNlIH0gZnJvbSAnLi9ob21lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblBhbmVCYXNlLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcblxyXG4vKiogZGVza3RvcCBob21lIGNvbXAgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtaG9tZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDogeyBjbGFzczogJ21hdC1hcHAtYmFja2dyb3VuZCcgfSxcclxuICBhbmltYXRpb25zOiBbc3VibWVudUFuaW1hdGlvbl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhvbWVDb21wb25lbnQgZXh0ZW5kcyBIb21lQmFzZSB7XHJcbiAgcmVhZG9ubHkgc3lzQWRtaW4gPSB0aGlzLl9zZXNzaW9uLmlzU3lzdGVtO1xyXG4gIHByaXZhdGUgX3N1Ym1lbnVNb2RlOiAnZnVsbCcgfCAnc2hyaW5rJyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51TW9kZScpIGFzIGFueSB8fCAnZnVsbCc7XHJcbiAgcmVhZG9ubHkgZm9ybXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmlsdGVyKGYgPT4gZi5jcmVhdGFibGUpO1xyXG4gIGNyZWF0aW5nOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgc3VibWVudU1vZGUoKTogJ2Z1bGwnIHwgJ3Nocmluaycge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnVNb2RlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHN1Ym1lbnVNb2RlKHZhbHVlOiAnZnVsbCcgfCAnc2hyaW5rJykge1xyXG4gICAgdGhpcy5fc3VibWVudU1vZGUgPSB2YWx1ZTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdWJtZW51TW9kZScsIHZhbHVlKVxyXG4gIH1cclxuICBwcml2YXRlIF9zdWJtZW51OiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3VibWVudScpO1xyXG4gIHByaXZhdGUgX3BhdGg6IHN0cmluZztcclxuICBnZXQgYWN0aXZlTWVudSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtZW51IHx8IHRoaXMuX3BhdGg7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgc3VibWVudSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc3VibWVudSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zdWJtZW51ID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUpIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdWJtZW51JywgdmFsdWUpO1xyXG4gICAgZWxzZSBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnc3VibWVudScpO1xyXG4gIH1cclxuICBwcml2YXRlIF9pcyhuYW1lLCB2YWw/OiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsID09PSB1bmRlZmluZWQpXHJcbiAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKSA9PT0gJzEnO1xyXG4gICAgZWxzZVxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShuYW1lLCB2YWwgPyAnMScgOiAnMCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9pc09yRGVmYXVsdChuYW1lLCAkZGVmYXVsdCkge1xyXG4gICAgY29uc3QgdmFsID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSk7XHJcbiAgICByZXR1cm4gdmFsID8gdmFsID09PSAnMScgOiAkZGVmYXVsdDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29sbGFwc2VkID0gdGhpcy5faXNPckRlZmF1bHQoJ2NvbGxhcHNlZCcsIHRydWUpO1xyXG4gIHB1YmxpYyBnZXQgY29sbGFwc2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlZDtcclxuICB9XHJcbiAgcHVibGljIHNldCBjb2xsYXBzZWQodmFsdWUpIHtcclxuICAgIHRoaXMuX2NvbGxhcHNlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5faXMoJ2NvbGxhcHNlZCcsIHRoaXMuY29sbGFwc2VkKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcGlubmVkID0gdGhpcy5faXNPckRlZmF1bHQoJ3Bpbm5lZCcsIHRydWUpO1xyXG4gIHB1YmxpYyBnZXQgcGlubmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Bpbm5lZDtcclxuICB9XHJcbiAgcHVibGljIHNldCBwaW5uZWQodmFsdWUpIHtcclxuICAgIHRoaXMuX3Bpbm5lZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5faXMoJ3Bpbm5lZCcsIHZhbHVlKVxyXG4gIH1cclxuICBAVmlld0NoaWxkKE1hdFNpZGVuYXYsIHsgc3RhdGljOiB0cnVlIH0pIGRyYXdlcjogTWF0U2lkZW5hdjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcG9wdXA6IFBvcHVwLFxyXG4gICAgbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnKSB7XHJcbiAgICBzdXBlcihwb3B1cCwgc2Vzc2lvbiwgbWVzc2FnaW5nLCB0cmFuc2xhdGUsIHNuYWNrQmFyLCBpbmplY3RvciwgY29uZmlnKTtcclxuICAgIF9yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiBlLnBhbmUucGF0aCAmJiBlLnBhbmUubW9kZSA9PT0gJ3BhbmUnKSkuXHJcbiAgICAgIHN1YnNjcmliZSgoZTogTmF2aWdhdGlvblBhbmVCYXNlKSA9PlxyXG4gICAgICAgIHRoaXMuX3BhdGggPSBlLnBhbmUucGF0aC5zcGxpdCgnLycpWzBdXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIG5hdihwYXRoKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW3BhdGhdKTtcclxuICAgIHRoaXMuc3VibWVudSA9IG51bGw7XHJcbiAgICB0aGlzLmNvbGxhcHNlc3VibWVudSgpO1xyXG4gIH1cclxuICBvbk5ld01lc3NhZ2UobW9kZWw6IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBtb2RlbC5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IG1vZGVsIH0sXHJcbiAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBjbG9zZXN1Ym1lbnUoKSB7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gIH1cclxuICBvcGVubmV3KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID4gMSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLmNsb3Nlc3VibWVudSgpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5vcGVuc3VibWVudSgnbmV3Jyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHRoaXMuX2NyZWF0ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jcmVhdGUoKSB7XHJcbiAgICB0aGlzLmNyZWF0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX21haWxib3guY3JlYXRlKHRoaXMuZm9ybXNbMF0ubmFtZSkuXHJcbiAgICAgIHN1YnNjcmliZShyID0+IHtcclxuICAgICAgICB0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgci5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyLFxyXG4gICAgICAgICAgICBzdGF0ZTogeyBpdGVtOiByIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVFcnIoZSk7XHJcbiAgICAgICAgdGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZUVycihyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UgfCBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IpIHtcclxuICAgIGlmIChyZXNwb25zZS5jb25zdHJ1Y3Rvci5uYW1lID09PSAnUG9zaXRpb25FcnJvcicpXHJcbiAgICAgIHN3aXRjaCAoKHJlc3BvbnNlIGFzIEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcikuY29kZSkge1xyXG4gICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdVc2VyRGVuaWVkR2VvRXJyJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0dlb0VycicpO1xyXG4gICAgICB9XHJcbiAgICBlbHNlIHN3aXRjaCAoKHJlc3BvbnNlIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5zdGF0dXMpIHtcclxuICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDQwNjpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvclN0cmluZygocmVzcG9uc2UgYXMgSHR0cEVycm9yUmVzcG9uc2UpLmVycm9yKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MjY6IC8vIGxpY2Vuc2VcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcignTGljZW5zZUVycicpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuc3VibWVudShtZW51OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLnN1Ym1lbnUgPT09IG1lbnUpXHJcbiAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnZnVsbCcgPyAnc2hyaW5rJyA6ICdmdWxsJztcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnN1Ym1lbnUgPSBtZW51O1xyXG4gICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gJ2Z1bGwnO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb2xsYXBzZXN1Ym1lbnUoKSB7XHJcbiAgICBpZiAoIXRoaXMucGlubmVkICYmIHRoaXMuc3VibWVudSAhPT0gJ25ldycpIHRoaXMuc3VibWVudU1vZGUgPSAnc2hyaW5rJztcclxuICB9XHJcbiAgdG9nZ2xlUGlubmVkKCkge1xyXG4gICAgdGhpcy5waW5uZWQgPSAhdGhpcy5waW5uZWQ7XHJcbiAgICB0aGlzLnN1Ym1lbnVNb2RlID0gdGhpcy5waW5uZWQgPyAnZnVsbCcgOiAnc2hyaW5rJztcclxuICB9XHJcbiAgbWFpbHMoKSB7XHJcbiAgICBzdXBlci5tYWlscygpO1xyXG4gICAgdGhpcy5vcGVuc3VibWVudSgnbWFpbGJveCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gIC8qKlxyXG4gICAqIEFsdCArIG4vTiwgQ3RybCArIC5cclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWx0S2V5ICYmIChldmVudC53aGljaCA9PT0gMTEwIHx8IGV2ZW50LndoaWNoID09PSA3OCkpIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgICAgdGhpcy5fY3JlYXRlKCk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1lbnUgPSAnbmV3JztcclxuICAgICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSAnZnVsbCc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LndoaWNoID09PSAxOTApIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICghdGhpcy5jb2xsYXBzZWQpXHJcbiAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSB0cnVlO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5fY29sbGFwc2VUb2dnbGUpIHtcclxuICAgICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5jb2xsYXBzZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzcy5uYXYtY29sbGFwc2VkXT1cImNvbGxhcHNlZFwiIFtjbGFzcy5uYXYtb3Blbl09XCJzdWJtZW51XCIgY2xhc3M9XCJuYXYtbWVudSByb3dcIj5cclxuICA8IS0tW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZ1wiLS0+XHJcbiAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICduZXcnXCIgY2xhc3M9XCJuZXctY29udGFpbmVyXCIgKm5nSWY9XCJmb3Jtcy5sZW5ndGhcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNsYXNzPVwiY29tcG9zZVwiIFtiaXpkb2NUb29sdGlwXT1cIidDb21wb3NlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5uZXcoKVwiIFtkaXNhYmxlZF09XCJjcmVhdGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb21wb3NlJ3wgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0NvbXBvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignZGFzaGJvYXJkJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdkYXNoYm9hcmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidEYXNoYm9hcmQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmFwcHM8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibWFpbHMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidNYWlsYm94J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ21haWxib3gnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNYWlsYm94JyB8IHRyYW5zbGF0ZVwiIGRhdGEtaGVscD1cImZvbGRlcnNcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5pbmJveENvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cInByb2ZpbGUuaW5ib3hDb3VudCA8IDFcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCI+aW5ib3g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydNYWlsYm94JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTY2hlZHVsZXInIHwgdHJhbnNsYXRlXCIgKm5nSWY9XCJzY2hlZHVsZXJFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdzY2hlZHVsZScpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnc2NoZWR1bGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU2NoZWR1bGVyJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5kYXRlX3JhbmdlPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdTY2hlZHVsZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPSdjaGF0RW5hYmxlZCcgZGF0YS1oZWxwPVwiY2hhdFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdjb250YWN0cycpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY29udGFjdHMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ2hhdCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24gW21hdEJhZGdlXT1cInByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIj5jaGF0PC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7ICdDaGF0JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAqbmdJZj1cImVuYWJsZUFuYWx5c2lzICYmIHByb2ZpbGUuY3ViZXMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2N1YmUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY3ViZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDdWJlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBkYXRhLWhlbHA9XCJjdWJlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQ3ViZScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5lcXVhbGl6ZXI8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snQ3ViZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9XCJwcm9maWxlLnJlcG9ydHMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ3JlcG9ydHMnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAncmVwb3J0cydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidSZXBvcnRzJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBkYXRhLWhlbHA9XCJyZXBvcnRzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVwb3J0cycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5saXN0X2FsdDwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydSZXBvcnRzJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3lzQWRtaW5cIj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm9wZW5zdWJtZW51KCdhZG1pbicpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2FkbWluJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU3lzdGVtJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTeXN0ZW0nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5kZXZpY2VfaHViPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydXb3JrZmxvdycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtbmF2LWxpc3Q+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgIDwhLS08bG90dGllIG5hbWU9XCJsZjMwX2VkaXRvcl9xcjd6Z21jc1wiICpuZ0lmPVwibG9hZGluZ1wiPjwvbG90dGllPi0tPlxyXG4gICAgPCEtLUBhbmltYXRlLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2lnbi1pblwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkYXRhLWhlbHA9XCJzaWduLWluXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2V0dGluZ3MnIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cIm9wdGlvbnMoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBtYXRBbmltYXRlPVwicm90YXRlXCI+c2V0dGluZ3NvbjwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1Bvd2VyJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJzaWdub3V0KCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRXhpdCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmxvZ291dDwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInN1Ym1lbnVcIiBjbGFzcz1cInN1Yi1tZW51XCIgKG1vdXNlbGVhdmUpPVwiY29sbGFwc2VzdWJtZW51KClcIiBbQHN1Ym1lbnVdPVwic3VibWVudU1vZGVcIiAoQHN1Ym1lbnUuZG9uZSk9XCJyZXNpemUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvblwiICpuZ0lmPVwic3VibWVudSAhPT0gJ25ldydcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCI+PG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiIFtiaXpkb2NUb29sdGlwXT1cIihwaW5uZWQ/J0NvbGxhcHNlJzonRXhwYW5kJyl8dHJhbnNsYXRlXCIgW2lubGluZV09XCJ0cnVlXCI+e3twaW5uZWQgPyAna2V5Ym9hcmRfZG91YmxlX2Fycm93X2xlZnQnIDogJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19yaWdodCd9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInN1Ym1lbnVcIj5cclxuICAgICAgPGJpemRvYy1uZXctbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ25ldydcIiAoY2hhbmdlKT1cImNsb3Nlc3VibWVudSgpXCI+PC9iaXpkb2MtbmV3LW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtZm9sZGVycy1tZW51ICpuZ1N3aXRjaENhc2U9XCInbWFpbGJveCdcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1mb2xkZXJzLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtYWRtaW4tbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ2FkbWluJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCI+PC9iaXpkb2MtYWRtaW4tbWVudT5cclxuICAgICAgPGJpemRvYy1yZXBvcnRzLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidyZXBvcnRzJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLXJlcG9ydHMtbWVudT5cclxuICAgICAgPGJpemRvYy1jdWJlLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidjdWJlJ1wiIFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLWN1YmUtbWVudT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGJpemRvYy1wYW5lcz48L2JpemRvYy1wYW5lcz5cclxuIl19
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUs3RSx3QkFBd0I7QUFReEIsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFRO0lBcUR6QyxZQUNVLE9BQW9CLEVBQ3BCLFFBQXdCLEVBQ2hDLFFBQWtCLEVBQ2xCLE9BQXVCLEVBQ3ZCLEtBQVksRUFDWixTQUFxQixFQUNyQixTQUEyQixFQUNuQixHQUFrQixFQUMxQixRQUFxQixFQUNFLE1BQW9CO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQVZoRSxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGFB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QUFNO3NCQUE5QyxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBMEd2QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgSW5qZWN0LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQml6RG9jQ29uZmlnLCBCSVpET0NfQ09ORklHLCBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgc3VibWVudUFuaW1hdGlvbiB9IGZyb20gJy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9tZUJhc2UgfSBmcm9tICcuL2hvbWUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uUGFuZUJhc2UsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuXHJcbi8qKiBkZXNrdG9wIGhvbWUgY29tcCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9LFxyXG4gIGFuaW1hdGlvbnM6IFtzdWJtZW51QW5pbWF0aW9uXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEhvbWVCYXNlIHtcclxuICByZWFkb25seSBzeXNBZG1pbiA9IHRoaXMuX3Nlc3Npb24uaXNTeXN0ZW07XHJcbiAgcHJpdmF0ZSBfc3VibWVudU1vZGU6ICdmdWxsJyB8ICdzaHJpbmsnID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N1Ym1lbnVNb2RlJykgYXMgYW55IHx8ICdmdWxsJztcclxuICByZWFkb25seSBmb3JtcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maWx0ZXIoZiA9PiBmLmNyZWF0YWJsZSk7XHJcbiAgY3JlYXRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfY29sbGFwc2VUb2dnbGUgPSBmYWxzZTtcclxuICBwdWJsaWMgZ2V0IHN1Ym1lbnVNb2RlKCk6ICdmdWxsJyB8ICdzaHJpbmsnIHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtZW51TW9kZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51TW9kZSh2YWx1ZTogJ2Z1bGwnIHwgJ3NocmluaycpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnVNb2RlID0gdmFsdWU7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3VibWVudU1vZGUnLCB2YWx1ZSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfc3VibWVudTogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N1Ym1lbnUnKTtcclxuICBwcml2YXRlIF9wYXRoOiBzdHJpbmc7XHJcbiAgZ2V0IGFjdGl2ZU1lbnUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudSB8fCB0aGlzLl9wYXRoO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IHN1Ym1lbnUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtZW51O1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHN1Ym1lbnUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc3VibWVudSA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3VibWVudScsIHZhbHVlKTtcclxuICAgIGVsc2UgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3N1Ym1lbnUnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaXMobmFtZSwgdmFsPzogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbCA9PT0gdW5kZWZpbmVkKVxyXG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSkgPT09ICcxJztcclxuICAgIGVsc2VcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obmFtZSwgdmFsID8gJzEnIDogJzAnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaXNPckRlZmF1bHQobmFtZSwgJGRlZmF1bHQpIHtcclxuICAgIGNvbnN0IHZhbCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpO1xyXG4gICAgcmV0dXJuIHZhbCA/IHZhbCA9PT0gJzEnIDogJGRlZmF1bHQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbGxhcHNlZCA9IHRoaXMuX2lzT3JEZWZhdWx0KCdjb2xsYXBzZWQnLCB0cnVlKTtcclxuICBwdWJsaWMgZ2V0IGNvbGxhcHNlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgY29sbGFwc2VkKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9jb2xsYXBzZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2lzKCdjb2xsYXBzZWQnLCB0aGlzLmNvbGxhcHNlZCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Bpbm5lZCA9IHRoaXMuX2lzT3JEZWZhdWx0KCdwaW5uZWQnLCB0cnVlKTtcclxuICBwdWJsaWMgZ2V0IHBpbm5lZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9waW5uZWQ7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcGlubmVkKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9waW5uZWQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2lzKCdwaW5uZWQnLCB2YWx1ZSlcclxuICB9XHJcbiAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KSBkcmF3ZXI6IE1hdFNpZGVuYXY7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHBvcHVwOiBQb3B1cCxcclxuICAgIG1lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgc3VwZXIocG9wdXAsIHNlc3Npb24sIG1lc3NhZ2luZywgdHJhbnNsYXRlLCBzbmFja0JhciwgaW5qZWN0b3IsIGNvbmZpZyk7XHJcbiAgICBfcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZS5wYW5lLnBhdGggJiYgZS5wYW5lLm1vZGUgPT09ICdwYW5lJykpLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25QYW5lQmFzZSkgPT5cclxuICAgICAgICB0aGlzLl9wYXRoID0gZS5wYW5lLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICApO1xyXG4gIH1cclxuICBuYXYocGF0aCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtwYXRoXSk7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgdGhpcy5jb2xsYXBzZXN1Ym1lbnUoKTtcclxuICB9XHJcbiAgb25OZXdNZXNzYWdlKG1vZGVsOiBSZWNpcGllbnRNb2RlbCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgbW9kZWwuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgIHtcclxuICAgICAgICBzdGF0ZTogeyBpdGVtOiBtb2RlbCB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhclxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgY2xvc2VzdWJtZW51KCkge1xyXG4gICAgdGhpcy5zdWJtZW51ID0gbnVsbDtcclxuICB9XHJcbiAgb3Blbm5ldygpIHtcclxuICAgIGlmICh0aGlzLmZvcm1zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgdGhpcy5jbG9zZXN1Ym1lbnUoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMub3BlbnN1Ym1lbnUoJ25ldycpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB0aGlzLl9jcmVhdGUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlKCkge1xyXG4gICAgdGhpcy5jcmVhdGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNyZWF0ZSh0aGlzLmZvcm1zWzBdLm5hbWUpLlxyXG4gICAgICBzdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIHIuaWQuZW5jb2RlSWQoKV0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhcixcclxuICAgICAgICAgICAgc3RhdGU6IHsgaXRlbTogciB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyKGUpO1xyXG4gICAgICAgIHRoaXMuY3JlYXRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVFcnIocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKChyZXNwb25zZSBhcyBHZW9sb2NhdGlvblBvc2l0aW9uRXJyb3IpLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZSBzd2l0Y2ggKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcoKHJlc3BvbnNlIGFzIEh0dHBFcnJvclJlc3BvbnNlKS5lcnJvcik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDI2OiAvLyBsaWNlbnNlXHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0xpY2Vuc2VFcnInKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbnN1Ym1lbnUobWVudTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zdWJtZW51ID09PSBtZW51KVxyXG4gICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gdGhpcy5zdWJtZW51TW9kZSA9PT0gJ2Z1bGwnID8gJ3NocmluaycgOiAnZnVsbCc7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdWJtZW51ID0gbWVudTtcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgIH1cclxuICB9XHJcbiAgY29sbGFwc2VzdWJtZW51KCkge1xyXG4gICAgaWYgKCF0aGlzLnBpbm5lZCAmJiB0aGlzLnN1Ym1lbnUgIT09ICduZXcnKSB0aGlzLnN1Ym1lbnVNb2RlID0gJ3Nocmluayc7XHJcbiAgfVxyXG4gIHRvZ2dsZVBpbm5lZCgpIHtcclxuICAgIHRoaXMucGlubmVkID0gIXRoaXMucGlubmVkO1xyXG4gICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMucGlubmVkID8gJ2Z1bGwnIDogJ3Nocmluayc7XHJcbiAgfVxyXG4gIG1haWxzKCkge1xyXG4gICAgc3VwZXIubWFpbHMoKTtcclxuICAgIHRoaXMub3BlbnN1Ym1lbnUoJ21haWxib3gnKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQWx0ICsgbi9OLCBDdHJsICsgLlxyXG4gICAqIEBwYXJhbSBldmVudFxyXG4gICAqL1xyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5hbHRLZXkgJiYgKGV2ZW50LndoaWNoID09PSAxMTAgfHwgZXZlbnQud2hpY2ggPT09IDc4KSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy5mb3Jtcy5sZW5ndGggPT09IDEpXHJcbiAgICAgICAgICB0aGlzLl9jcmVhdGUoKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWVudSA9ICduZXcnO1xyXG4gICAgICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQud2hpY2ggPT09IDE5MCkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ICYmICF0aGlzLl9jb2xsYXBzZVRvZ2dsZSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2NsYXNzLm5hdi1jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgW2NsYXNzLm5hdi1vcGVuXT1cInN1Ym1lbnVcIiBjbGFzcz1cIm5hdi1tZW51IHJvd1wiPlxyXG4gIDwhLS1bY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCItLT5cclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ25ldydcIiBjbGFzcz1cIm5ldy1jb250YWluZXJcIiAqbmdJZj1cImZvcm1zLmxlbmd0aFwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY2xhc3M9XCJjb21wb3NlXCJcclxuICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDb21wb3NlJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5uZXcoKVwiIFtkaXNhYmxlZF09XCJjcmVhdGluZ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb21wb3NlJ3wgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0NvbXBvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignZGFzaGJvYXJkJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdkYXNoYm9hcmQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidEYXNoYm9hcmQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmFwcHM8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibWFpbHMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidNYWlsYm94J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIltiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnbWFpbGJveCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01haWxib3gnIHwgdHJhbnNsYXRlXCIgZGF0YS1oZWxwPVwiZm9sZGVyc1wiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uIFttYXRCYWRnZV09XCJwcm9maWxlLmluYm94Q291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwicHJvZmlsZS5pbmJveENvdW50IDwgMVwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIj5pbmJveDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J01haWxib3gnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NjaGVkdWxlcicgfCB0cmFuc2xhdGVcIiAqbmdJZj1cInNjaGVkdWxlckVuYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXYoJ3NjaGVkdWxlJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdzY2hlZHVsZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidTY2hlZHVsZXInfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPmRhdGVfcmFuZ2U8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3sgJ1NjaGVkdWxlcicgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKm5nSWY9J2NoYXRFbmFibGVkJyBkYXRhLWhlbHA9XCJjaGF0XCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQ2hhdCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXYoJ2NvbnRhY3RzJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdjb250YWN0cydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDaGF0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5jb252ZXJzYXRpb25zQ291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwiIXByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiPmNoYXQ8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3sgJ0NoYXQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwiZW5hYmxlQW5hbHlzaXMgJiYgcHJvZmlsZS5jdWJlcy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuc3VibWVudSgnY3ViZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdjdWJlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ0N1YmUnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWxwPVwiY3ViZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0N1YmUnIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEljb24+ZXF1YWxpemVyPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0N1YmUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtICpuZ0lmPVwicHJvZmlsZS5yZXBvcnRzLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5zdWJtZW51KCdyZXBvcnRzJylcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ3JlcG9ydHMnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInUmVwb3J0cyd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJkYXRhLWhlbHA9XCJyZXBvcnRzXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVwb3J0cycgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5saXN0X2FsdDwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIj57eydSZXBvcnRzJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3lzQWRtaW5cIj5cclxuICAgICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm9wZW5zdWJtZW51KCdhZG1pbicpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2FkbWluJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU3lzdGVtJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlthdHRyLmFyaWEtbGFiZWxdPVwiJ1N5c3RlbScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPmRldmljZV9odWI8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J1dvcmtmbG93JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1uYXYtbGlzdD5cclxuICAgIDwvZGl2PlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPCEtLTxsb3R0aWUgbmFtZT1cImxmMzBfZWRpdG9yX3FyN3pnbWNzXCIgKm5nSWY9XCJsb2FkaW5nXCI+PC9sb3R0aWU+LS0+XHJcbiAgICA8IS0tQGFuaW1hdGUtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzaWduLWluXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRhdGEtaGVscD1cInNpZ24taW5cIiBbYml6ZG9jVG9vbHRpcF09XCInU2V0dGluZ3MnIHwgdHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBcclxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTZXR0aW5ncycgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwib3B0aW9ucygkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5zZXR0aW5nc29uPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInUG93ZXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cInNpZ25vdXQoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidFeGl0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5sb2dvdXQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJzdWJtZW51XCIgY2xhc3M9XCJzdWItbWVudVwiIChtb3VzZWxlYXZlKT1cImNvbGxhcHNlc3VibWVudSgpXCIgW0BzdWJtZW51XT1cInN1Ym1lbnVNb2RlXCIgKEBzdWJtZW51LmRvbmUpPVwicmVzaXplKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25cIiAqbmdJZj1cInN1Ym1lbnUgIT09ICduZXcnXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVQaW5uZWQoKVwiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIiBbYml6ZG9jVG9vbHRpcF09XCIocGlubmVkPydDb2xsYXBzZSc6J0V4cGFuZCcpfHRyYW5zbGF0ZVwiIFtpbmxpbmVdPVwidHJ1ZVwiPnt7cGlubmVkID8gJ2tleWJvYXJkX2RvdWJsZV9hcnJvd19sZWZ0JyA6ICdrZXlib2FyZF9kb3VibGVfYXJyb3dfcmlnaHQnfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJzdWJtZW51XCI+XHJcbiAgICAgIDxiaXpkb2MtbmV3LW1lbnUgKm5nU3dpdGNoQ2FzZT1cIiduZXcnXCIgKGNoYW5nZSk9XCJjbG9zZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLW5ldy1tZW51PlxyXG4gICAgICA8Yml6ZG9jLWZvbGRlcnMtbWVudSAqbmdTd2l0Y2hDYXNlPVwiJ21haWxib3gnXCIgW2NvbGxhcHNlZF09XCJzdWJtZW51TW9kZSA9PT0gJ3NocmluaydcIiAoY2hhbmdlKT1cImNvbGxhcHNlc3VibWVudSgpXCI+PC9iaXpkb2MtZm9sZGVycy1tZW51PlxyXG4gICAgICA8Yml6ZG9jLWFkbWluLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidhZG1pbidcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiPjwvYml6ZG9jLWFkbWluLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtcmVwb3J0cy1tZW51ICpuZ1N3aXRjaENhc2U9XCIncmVwb3J0cydcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1yZXBvcnRzLW1lbnU+XHJcbiAgICAgIDxiaXpkb2MtY3ViZS1tZW51ICpuZ1N3aXRjaENhc2U9XCInY3ViZSdcIiBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1jdWJlLW1lbnU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxiaXpkb2MtcGFuZXMtb3V0bGV0PjwvYml6ZG9jLXBhbmVzLW91dGxldD5cclxuIl19
|
package/fesm2015/bizdoc-core.mjs
CHANGED
@@ -18761,7 +18761,7 @@ class SlotsComponent {
|
|
18761
18761
|
if (path === pane.path) {
|
18762
18762
|
if (queryString === pane.queryString) {
|
18763
18763
|
if ((policy & OpenPolicy.Toggle) == OpenPolicy.Toggle)
|
18764
|
-
this.removeAt(i);
|
18764
|
+
yield this.removeAt(i);
|
18765
18765
|
else {
|
18766
18766
|
state && pane._data$.next(state);
|
18767
18767
|
this._cd.detectChanges();
|
@@ -19357,40 +19357,44 @@ class SlotsComponent {
|
|
19357
19357
|
* @param pane
|
19358
19358
|
*/
|
19359
19359
|
_action(e, pane) {
|
19360
|
-
|
19361
|
-
|
19362
|
-
|
19360
|
+
return __awaiter(this, void 0, void 0, function* () {
|
19361
|
+
switch (e) {
|
19362
|
+
case 'focus':
|
19363
|
+
{
|
19364
|
+
if (pane.mode === 'tab') {
|
19365
|
+
this.selectedTabIndex = this.tabs.indexOf(pane);
|
19366
|
+
}
|
19367
|
+
else {
|
19368
|
+
const index = this.panes.indexOf(pane);
|
19369
|
+
this.focus(index);
|
19370
|
+
}
|
19371
|
+
break;
|
19372
|
+
}
|
19373
|
+
case 'close':
|
19363
19374
|
if (pane.mode === 'tab') {
|
19364
|
-
|
19375
|
+
const index = this.tabs.indexOf(pane);
|
19376
|
+
this.closeTab(index);
|
19365
19377
|
}
|
19366
19378
|
else {
|
19367
19379
|
const index = this.panes.indexOf(pane);
|
19368
|
-
this.
|
19380
|
+
this.collapse();
|
19381
|
+
yield this.removeAt(index);
|
19382
|
+
!this.panes.length &&
|
19383
|
+
this._router.navigate(DEFAULT_ROUTE);
|
19369
19384
|
}
|
19370
19385
|
break;
|
19386
|
+
case 'expand':
|
19387
|
+
if (pane.mode === 'tab')
|
19388
|
+
this.expandTab();
|
19389
|
+
else
|
19390
|
+
this.expandPane();
|
19391
|
+
break;
|
19392
|
+
case 'refresh': {
|
19393
|
+
this._history('replace');
|
19394
|
+
break;
|
19371
19395
|
}
|
19372
|
-
case 'close':
|
19373
|
-
if (pane.mode === 'tab') {
|
19374
|
-
const index = this.tabs.indexOf(pane);
|
19375
|
-
this.closeTab(index);
|
19376
|
-
}
|
19377
|
-
else {
|
19378
|
-
const index = this.panes.indexOf(pane);
|
19379
|
-
this.collapse();
|
19380
|
-
this.removeAt(index);
|
19381
|
-
}
|
19382
|
-
break;
|
19383
|
-
case 'expand':
|
19384
|
-
if (pane.mode === 'tab')
|
19385
|
-
this.expandTab();
|
19386
|
-
else
|
19387
|
-
this.expandPane();
|
19388
|
-
break;
|
19389
|
-
case 'refresh': {
|
19390
|
-
this._history('replace');
|
19391
|
-
break;
|
19392
19396
|
}
|
19393
|
-
}
|
19397
|
+
});
|
19394
19398
|
}
|
19395
19399
|
/**
|
19396
19400
|
* escape
|
@@ -19408,7 +19412,7 @@ class SlotsComponent {
|
|
19408
19412
|
if (this.panes.length && !this.panes[this.panes.length - 1].stretch) {
|
19409
19413
|
const el = this._panesContainerRef.element.nativeElement, child = el.lastElementChild;
|
19410
19414
|
child.style.minWidth =
|
19411
|
-
(el.parentElement.parentElement.clientWidth - child.offsetLeft - 2) + 'px';
|
19415
|
+
(el.parentElement.parentElement.clientWidth - el.parentElement.offsetLeft - child.offsetLeft - 2) + 'px';
|
19412
19416
|
}
|
19413
19417
|
}
|
19414
19418
|
_resize() {
|
@@ -19504,7 +19508,8 @@ class SlotsComponent {
|
|
19504
19508
|
_discardPane(pane) {
|
19505
19509
|
this.panes.concat(this.tabs).
|
19506
19510
|
filter(s => s.decendentOf(pane)).
|
19507
|
-
reverse().
|
19511
|
+
reverse().
|
19512
|
+
forEach(s => this._discardPane(s));
|
19508
19513
|
this._destroyPane(pane);
|
19509
19514
|
const index = this.panes.indexOf(pane);
|
19510
19515
|
this.panes.splice(index, 1);
|
@@ -19637,7 +19642,7 @@ class SlotsComponent {
|
|
19637
19642
|
}
|
19638
19643
|
}
|
19639
19644
|
SlotsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SlotsComponent, deps: [{ token: PANES_DATA }, { token: SessionService }, { token: i0.ChangeDetectorRef }, { token: PanesRouter }, { token: WindowTitleService }, { token: GuideService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
19640
|
-
SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SlotsComponent, selector: "bizdoc-panes", host: { listeners: { "document:keydown.escape": "collapse()", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panning"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabing"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div class=\"panes\">\r\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\"\r\n *ngIf=\"prev\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\">\r\n arrow_back_ios\r\n </i>\r\n </div>\r\n <div class=\"panes-title\" [@title]=\"titleAnimation\">\r\n <h1>\r\n <button mat-icon-button (click)=\"back()\" *ngIf=\"swap\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\r\n <ng-container *ngFor=\"let p of panes; let first = first\">\r\n <span class=\"breadcrumbs\" *ngIf=\"!first\">\\</span>\r\n {{p.title}}\r\n </ng-container>\r\n <button mat-icon-button (click)=\"guide(panes[0].guide)\" *ngIf=\"panes[0]?.guide\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\r\n </h1>\r\n <span class=\"divider\">\r\n </span>\r\n <bizdoc-quicktools></bizdoc-quicktools>\r\n </div>\r\n <div #panning class=\"panes-container\"\r\n cdkScrollable\r\n @panes\r\n (scroll)=\"navigationArrows($event)\">\r\n <ng-container *ngFor=\"let p of panes; let i = index\">\r\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\r\n (click)=\"select(i)\"\r\n [class.active]=\"selectedIndex === i\" class=\"pane-content\" @pane>\r\n <ngx-component-outlet [type]=\"p.component\" [injector]=\"p.injector\" (create)=\"p._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n <div class=\"pane-separator\" *ngIf=\"i < panes.length - 1\" (mousedown)=\"onPaneResize(p, $event)\"> </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\" (click)=\"closeTab(selectedTabIndex)\"></div>\r\n <div class=\"scroll-arrow forward\"\r\n *ngIf=\"next\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\r\n (click)=\"scrollBy(400)\">\r\n arrow_forward_ios\r\n </i>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"tabs.length\">\r\n <div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"> </div>\r\n <div class=\"mat-elevation-z18 tabs\" [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\" #tabing>\r\n <div class=\"row tabs-title\">\r\n <button mat-icon-button (click)=\"tabBack()\" *ngIf=\"swapTab\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n <h2>{{group}}</h2>\r\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon inline=\"true\" class=\"mat-icon-rtl-mirror\">open_in_full</mat-icon></button>\r\n <!--*ngIf=\"selectedTabIndex <=< -1 && tabs[selectedTabIndex].expandable\"-->\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\">\r\n <a mat-tab-link *ngFor=\"let t of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{t.icon}}</mat-icon> \r\n {{t.title}}\r\n <mat-icon *ngIf=\"t.dismissable\" (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\r\n <!--inline=\"true\"-->\r\n </a>\r\n </nav>\r\n <div *ngFor=\"let t of tabs; let i = index\" [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\r\n <ngx-component-outlet [type]=\"t.component\" [injector]=\"t.injector\" (create)=\"t._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.panes{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;flex-direction:column;flex-basis:100%}.panes .panes-title{display:flex;flex-direction:row;align-items:center;min-width:max-content}.panes .panes-title h1{font-size:xx-large;margin:12px;font-weight:100}.panes .panes-title h1 button{vertical-align:middle}.panes .panes-title h1 .breadcrumbs{font-size:smaller}.panes .scroll-arrow{position:absolute;cursor:pointer;top:50%;z-index:1000}.panes .scroll-arrow i{font-size:50px;opacity:.2}.panes .scroll-arrow i:hover{opacity:.9}.panes .scroll-arrow:last-child{right:0}.panes .panes-container{overflow-x:auto;height:100%;display:flex;flex-direction:row}.panes .panes-container .pane-content{display:block;border-right:1px solid #00000014;height:inherit;border-left-width:1px;border-left-style:double;border-left-color:transparent;flex-grow:1;min-width:420px;overflow-y:auto}.panes .panes-container .pane-content .pane{flex-grow:1}.panes .panes-container .pane-separator{width:8px}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-webkit-user-select:none;user-select:none}.tabs-separator{width:12px}::ng-deep [dir=rtl] .scroll-arrow:last-child{right:unset;left:0}.tabs{display:flex;flex-direction:column;z-index:1;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-tab-link .tool{opacity:0}.tabs .mat-tab-link:hover .tool{opacity:1}.tabs .tab{flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: QuickToolsComponent, selector: "bizdoc-quicktools" }, { type: i8$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12$2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { type: NgxComponentOutlet, selector: "ngx-component-outlet", inputs: ["type", "injector", "ngxComponentOutletContent"], outputs: ["create"] }, { type: i8$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe }, animations: [panesAnimation,
|
19645
|
+
SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SlotsComponent, selector: "bizdoc-panes-outlet", host: { listeners: { "document:keydown.escape": "collapse()", "window:resize": "onResize()" } }, viewQueries: [{ propertyName: "_panesContainerRef", first: true, predicate: ["panning"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "_tabsElement", first: true, predicate: ["tabing"], descendants: true }, { propertyName: "_scrollable", first: true, predicate: CdkScrollable, descendants: true, static: true }], ngImport: i0, template: "<div class=\"panes\">\r\n <div class=\"scroll-arrow\" (click)=\"scrollBy(-400)\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleColor]=\"accent\"\r\n *ngIf=\"prev\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\">\r\n arrow_back_ios\r\n </i>\r\n </div>\r\n <div class=\"panes-title\" [@title]=\"titleAnimation\">\r\n <h1>\r\n <button mat-icon-button (click)=\"back()\" *ngIf=\"swap\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\r\n <ng-container *ngFor=\"let p of panes; let first = first\">\r\n <span class=\"breadcrumbs\" *ngIf=\"!first\">\\</span>\r\n {{p.title}}\r\n </ng-container>\r\n <button mat-icon-button (click)=\"guide(panes[0].guide)\" *ngIf=\"panes[0]?.guide\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\r\n </h1>\r\n <span class=\"divider\">\r\n </span>\r\n <bizdoc-quicktools></bizdoc-quicktools>\r\n </div>\r\n <div #panning class=\"panes-container\"\r\n cdkScrollable\r\n @panes\r\n (scroll)=\"navigationArrows($event)\">\r\n <ng-container *ngFor=\"let p of panes; let i = index\">\r\n <div (mouseenter)=\"selectedIndex !== i && !dragging && select(i)\"\r\n (click)=\"select(i)\"\r\n [class.active]=\"selectedIndex === i\" class=\"pane-content\" @pane>\r\n <ngx-component-outlet [type]=\"p.component\" [injector]=\"p.injector\" (create)=\"p._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n <div class=\"pane-separator\" *ngIf=\"i < panes.length - 1\" (mousedown)=\"onPaneResize(p, $event)\"> </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"backdrop\" *ngIf=\"dialog\" (click)=\"closeTab(selectedTabIndex)\"></div>\r\n <div class=\"scroll-arrow forward\"\r\n *ngIf=\"next\">\r\n <i class=\"material-icons mat-icon-rtl-mirror\" matRipple [matRippleUnbounded]=\"true\" [matRippleCentered]=\"true\" [matRippleRadius]=\"30\" [matRippleColor]=\"accent\"\r\n (click)=\"scrollBy(400)\">\r\n arrow_forward_ios\r\n </i>\r\n </div>\r\n</div>\r\n<ng-container *ngIf=\"tabs.length\">\r\n <div class=\"tabs-separator\" (mousedown)=\"onTabResize($event)\"> </div>\r\n <div class=\"mat-elevation-z18 tabs\" [@tabs]=\"tabsAnimation\" (@tabs.done)=\"done()\" #tabing>\r\n <div class=\"row tabs-title\">\r\n <button mat-icon-button (click)=\"tabBack()\" *ngIf=\"swapTab\" [bizdocTooltip]=\"prevGroup || ('Back'|translate)\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_back</mat-icon></button>\r\n <h2>{{group}}</h2>\r\n <button mat-icon-button (click)=\"expandTab()\" [bizdocTooltip]=\"'Expand'| translate\"><mat-icon inline=\"true\" class=\"mat-icon-rtl-mirror\">open_in_full</mat-icon></button>\r\n <!--*ngIf=\"selectedTabIndex <=< -1 && tabs[selectedTabIndex].expandable\"-->\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"collapse()\" bizdocTooltip=\"Esc\"><mat-icon>close</mat-icon></button>\r\n </div>\r\n <nav mat-tab-nav-bar color=\"accent\" [disablePagination]=\"true\">\r\n <a mat-tab-link *ngFor=\"let t of tabs; let i = index\" class=\"mat-tab-link\"\r\n (click)=\"selectedTabIndex = i\"\r\n [active]=\"selectedTabIndex === i\">\r\n <mat-icon [matBadge]=\"t.badge\" [matBadgeHidden]=\"!t.badge\" matBadgeSize=\"small\" matBadgeColor=\"accent\">{{t.icon}}</mat-icon> \r\n {{t.title}}\r\n <mat-icon *ngIf=\"t.dismissable\" (click)=\"closeTab(i)\" class=\"tool\">close</mat-icon>\r\n <!--inline=\"true\"-->\r\n </a>\r\n </nav>\r\n <div *ngFor=\"let t of tabs; let i = index\" [style.display]=\"selectedTabIndex === i ? '': 'none'\" class=\"tab\" [@tab]=\"selectedTabIndex\">\r\n <ngx-component-outlet [type]=\"t.component\" [injector]=\"t.injector\" (create)=\"t._instance = $event\"></ngx-component-outlet>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:row;flex-grow:1;overflow-x:hidden}.panes{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;flex-direction:column;flex-basis:100%}.panes .panes-title{display:flex;flex-direction:row;align-items:center;min-width:max-content}.panes .panes-title h1{font-size:xx-large;margin:12px;font-weight:100}.panes .panes-title h1 button{vertical-align:middle}.panes .panes-title h1 .breadcrumbs{font-size:smaller}.panes .scroll-arrow{position:absolute;cursor:pointer;top:50%;z-index:1000}.panes .scroll-arrow i{font-size:50px;opacity:.2}.panes .scroll-arrow i:hover{opacity:.9}.panes .scroll-arrow:last-child{right:0}.panes .panes-container{overflow-x:auto;height:100%;display:flex;flex-direction:row}.panes .panes-container .pane-content{display:block;border-right:1px solid #00000014;height:inherit;border-left-width:1px;border-left-style:double;border-left-color:transparent;flex-grow:1;min-width:420px;overflow-y:auto}.panes .panes-container .pane-content .pane{flex-grow:1}.panes .panes-container .pane-separator{width:8px}.pane-separator,.tabs-separator{cursor:ew-resize;background-repeat:no-repeat;background-position:center;display:table;height:100%;-webkit-user-select:none;user-select:none}.tabs-separator{width:12px}::ng-deep [dir=rtl] .scroll-arrow:last-child{right:unset;left:0}.tabs{display:flex;flex-direction:column;z-index:1;-webkit-flex-grow:0;flex-shrink:1;flex-basis:0}.tabs .tabs-title{align-items:center}.tabs .tabs-title h2{font-size:x-large;margin:9px;font-weight:100}.tabs .tabs-title:hover{opacity:1}.tabs .mat-tab-link .tool{opacity:0}.tabs .mat-tab-link:hover .tool{opacity:1}.tabs .tab{flex-grow:1;overflow-y:auto;overflow-x:hidden;display:flex}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: QuickToolsComponent, selector: "bizdoc-quicktools" }, { type: i8$3.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i12$2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }, { type: NgxComponentOutlet, selector: "ngx-component-outlet", inputs: ["type", "injector", "ngxComponentOutletContent"], outputs: ["create"] }, { type: i8$3.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }], pipes: { "translate": TranslatePipe }, animations: [panesAnimation,
|
19641
19646
|
panesTitleAnimation,
|
19642
19647
|
paneAnimation,
|
19643
19648
|
paramAnimation,
|
@@ -19647,7 +19652,7 @@ SlotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
|
|
19647
19652
|
] });
|
19648
19653
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SlotsComponent, decorators: [{
|
19649
19654
|
type: Component,
|
19650
|
-
args: [{ selector: 'bizdoc-panes', animations: [panesAnimation,
|
19655
|
+
args: [{ selector: 'bizdoc-panes-outlet', animations: [panesAnimation,
|
19651
19656
|
panesTitleAnimation,
|
19652
19657
|
paneAnimation,
|
19653
19658
|
paramAnimation,
|
@@ -19707,10 +19712,10 @@ class HomeComponent extends HomeBase {
|
|
19707
19712
|
this.sysAdmin = this._session.isSystem;
|
19708
19713
|
this._submenuMode = localStorage.getItem('submenuMode') || 'full';
|
19709
19714
|
this.forms = this._session.profile.forms.filter(f => f.creatable);
|
19715
|
+
this._collapseToggle = false;
|
19710
19716
|
this._submenu = localStorage.getItem('submenu');
|
19711
19717
|
this._collapsed = this._isOrDefault('collapsed', true);
|
19712
19718
|
this._pinned = this._isOrDefault('pinned', true);
|
19713
|
-
this._collapseToggle = false;
|
19714
19719
|
_router.events.pipe(filter$1(e => e instanceof NavigationStart && e.pane.path && e.pane.mode === 'pane')).
|
19715
19720
|
subscribe((e) => this._path = e.pane.path.split('/')[0]);
|
19716
19721
|
}
|
@@ -19859,28 +19864,22 @@ class HomeComponent extends HomeBase {
|
|
19859
19864
|
event.preventDefault();
|
19860
19865
|
}
|
19861
19866
|
else if (event.ctrlKey && event.which === 190) {
|
19862
|
-
if (this.submenu) {
|
19867
|
+
if (this.submenu && !this._collapseToggle) {
|
19863
19868
|
this.submenuMode = this.submenuMode === 'shrink' ? 'full' : 'shrink';
|
19864
19869
|
this._collapseToggle = true;
|
19865
19870
|
}
|
19866
|
-
else if (!this.collapsed)
|
19867
|
-
this.collapsed = true;
|
19868
19871
|
else {
|
19869
|
-
|
19870
|
-
|
19871
|
-
this.submenuMode = null;
|
19872
|
-
}
|
19873
|
-
else
|
19874
|
-
this.collapsed = false;
|
19872
|
+
this.collapsed = !this.collapsed;
|
19873
|
+
this._collapseToggle = false;
|
19875
19874
|
}
|
19876
19875
|
}
|
19877
19876
|
}
|
19878
19877
|
}
|
19879
19878
|
HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HomeComponent, deps: [{ token: PanesRouter }, { token: MailboxService }, { token: i0.Injector }, { token: SessionService }, { token: Popup }, { token: HubService }, { token: TranslateService }, { token: PromptService }, { token: i8$2.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
19880
|
-
HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\" [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"end\"\r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"end\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes></bizdoc-panes>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$3.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { type: FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { type: ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: SlotsComponent, selector: "bizdoc-panes" }], directives: [{ type: i6$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": TranslatePipe }, animations: [submenuAnimation] });
|
19879
|
+
HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"[bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"[attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\" \r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes-outlet></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2$3.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2$3.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i12$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { type: FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { type: ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { type: SlotsComponent, selector: "bizdoc-panes-outlet" }], directives: [{ type: i6$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i2$3.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgeColor", "matBadgeOverlap", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { type: MatIconAnimate, selector: "[matAnimate]" }, { type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "translate": TranslatePipe }, animations: [submenuAnimation] });
|
19881
19880
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: HomeComponent, decorators: [{
|
19882
19881
|
type: Component,
|
19883
|
-
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"
|
19882
|
+
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation], template: "<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\" class=\"nav-menu row\">\r\n <!--[class.loading]=\"loading\"-->\r\n <div fxLayout=\"column\">\r\n <div>\r\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\" *ngIf=\"forms.length\">\r\n <button mat-raised-button class=\"compose\"\r\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n (click)=\"opennew()\" [disabled]=\"creating\"\r\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\r\n <mat-icon>add</mat-icon>\r\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\r\n </button>\r\n </div>\r\n <mat-nav-list>\r\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\r\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\r\n data-help=\"dashboard\"\r\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon>apps</mat-icon><span class=\"nav-label\">{{'Dashboard' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\"[bizdocTooltipDisabled]=\"!collapsed\"\r\n [class.active]=\"activeMenu === 'mailbox'\"\r\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\r\n <mat-icon matListIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\">inbox</mat-icon>\r\n <span class=\"nav-label\">{{'Mailbox' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\" *ngIf=\"schedulerEnabled\"\r\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\r\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\">{{ 'Scheduler' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf='chatEnabled' data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\r\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\r\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\r\n <mat-icon matListIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\">chat</mat-icon><span class=\"nav-label\">{{ 'Chat' | translate}}</span>\r\n </mat-list-item>\r\n <mat-divider></mat-divider>\r\n <mat-list-item *ngIf=\"enableAnalysis && profile.cubes.length\"\r\n (click)=\"opensubmenu('cube')\"\r\n [class.active]=\"activeMenu === 'cube'\"\r\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\r\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\r\n <mat-icon matListIcon>equalizer</mat-icon><span class=\"nav-label\">{{'Cube' | translate}}</span>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"profile.reports.length\"\r\n (click)=\"opensubmenu('reports')\"\r\n [class.active]=\"activeMenu === 'reports'\"\r\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\r\n <mat-icon matListIcon>list_alt</mat-icon><span class=\"nav-label\">{{'Reports' | translate}}</span>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"sysAdmin\">\r\n <mat-divider></mat-divider>\r\n <mat-list-item (click)=\"opensubmenu('admin')\"\r\n [class.active]=\"activeMenu === 'admin'\"\r\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"[attr.aria-label]=\"'System' | translate\">\r\n <mat-icon matListIcon>device_hub</mat-icon>\r\n <span class=\"nav-label\">{{'Workflow' | translate}}</span>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </div>\r\n <span class=\"divider\"></span>\r\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\r\n <!--@animate-->\r\n <div class=\"sign-in\">\r\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\" \r\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\r\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"submenu\" class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\r\n <div class=\"action\" *ngIf=\"submenu !== 'new'\">\r\n <button mat-icon-button (click)=\"togglePinned()\"><mat-icon class=\"mat-icon-rtl-mirror\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\" [inline]=\"true\">{{pinned ? 'keyboard_double_arrow_left' : 'keyboard_double_arrow_right'}}</mat-icon></button>\r\n </div>\r\n <ng-container [ngSwitch]=\"submenu\">\r\n <bizdoc-new-menu *ngSwitchCase=\"'new'\" (change)=\"closesubmenu()\"></bizdoc-new-menu>\r\n <bizdoc-folders-menu *ngSwitchCase=\"'mailbox'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\r\n <bizdoc-admin-menu *ngSwitchCase=\"'admin'\" [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\r\n <bizdoc-reports-menu *ngSwitchCase=\"'reports'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\r\n <bizdoc-cube-menu *ngSwitchCase=\"'cube'\" [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<bizdoc-panes-outlet></bizdoc-panes-outlet>\r\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden}.nav-menu .sub-menu .action{display:flex;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0}.nav-menu .new-container button{min-width:35px;padding:0 10px;height:40px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;flex-direction:row;overflow:hidden;margin-bottom:5px}\n"] }]
|
19884
19883
|
}], ctorParameters: function () {
|
19885
19884
|
return [{ type: PanesRouter }, { type: MailboxService }, { type: i0.Injector }, { type: SessionService }, { type: Popup }, { type: HubService }, { type: TranslateService }, { type: PromptService }, { type: i8$2.MatSnackBar }, { type: undefined, decorators: [{
|
19886
19885
|
type: Inject,
|
@@ -24657,7 +24656,7 @@ class CombinationPickerBody {
|
|
24657
24656
|
this._values = {};
|
24658
24657
|
this._data = overlayData || dialogData;
|
24659
24658
|
const { cube, exploreSettings } = this._data;
|
24660
|
-
this._explorable = exploreSettings
|
24659
|
+
this._explorable = exploreSettings !== undefined;
|
24661
24660
|
if (cube)
|
24662
24661
|
this._cube = this._session.profile.cubes.find(c => c.name === cube);
|
24663
24662
|
else
|