@wavemaker/app-ng-runtime 11.6.0-next.140456 → 11.6.0-next.140458
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.
- app-ng-runtime/build-task/bundles/index.umd.js +1 -1
- app-ng-runtime/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -3
- app-ng-runtime/build-task/fesm2022/index.mjs +1 -1
- app-ng-runtime/build-task/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/chart/bundles/index.umd.js +1 -1
- app-ng-runtime/components/chart/esm2022/chart.utils.mjs +2 -2
- app-ng-runtime/components/chart/fesm2022/index.mjs +1 -1
- app-ng-runtime/components/chart/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +41 -24
- app-ng-runtime/components/data/form/esm2022/form-field/form-field.directive.mjs +31 -22
- app-ng-runtime/components/data/form/esm2022/form.component.mjs +22 -10
- app-ng-runtime/components/data/form/fesm2022/index.mjs +45 -24
- app-ng-runtime/components/data/form/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +3 -1
- app-ng-runtime/components/data/form/form.component.d.ts +2 -2
- app-ng-runtime/components/data/table/bundles/index.umd.js +6 -2
- app-ng-runtime/components/data/table/esm2022/table.component.mjs +10 -7
- app-ng-runtime/components/data/table/fesm2022/index.mjs +6 -2
- app-ng-runtime/components/data/table/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table.component.d.ts +4 -4
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +6 -0
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +1 -1
- app-ng-runtime/components/input/calendar/esm2022/calendar.component.mjs +8 -2
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs +6 -0
- app-ng-runtime/components/input/calendar/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/bundles/index.umd.js +52 -30
- app-ng-runtime/components/input/default/caption-position.directive.d.ts +1 -1
- app-ng-runtime/components/input/default/esm2022/caption-position.directive.mjs +2 -2
- app-ng-runtime/components/input/default/esm2022/select/select.component.mjs +60 -37
- app-ng-runtime/components/input/default/fesm2022/index.mjs +53 -31
- app-ng-runtime/components/input/default/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/select/select.component.d.ts +4 -1
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +11 -11
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +112 -87
- app-ng-runtime/components/input/epoch/esm2022/base-date-time.component.mjs +100 -78
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +5 -5
- app-ng-runtime/components/input/epoch/esm2022/date-time/date-time.component.mjs +6 -5
- app-ng-runtime/components/input/epoch/esm2022/time/time.component.mjs +7 -5
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +112 -87
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +15 -5
- app-ng-runtime/components/navigation/menu/esm2022/menu.component.mjs +14 -6
- app-ng-runtime/components/navigation/menu/esm2022/menu.props.mjs +2 -1
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.component.mjs +3 -3
- app-ng-runtime/components/navigation/menu/esm2022/nav/nav.props.mjs +2 -1
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs +15 -5
- app-ng-runtime/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -0
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +1 -0
- app-ng-runtime/components/navigation/popover/bundles/index.umd.js +8 -8
- app-ng-runtime/components/navigation/popover/esm2022/popover.component.mjs +11 -11
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs +8 -8
- app-ng-runtime/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +13 -1
- app-ng-runtime/core/esm2022/utils/expression-parser.mjs +13 -2
- app-ng-runtime/core/esm2022/utils/utils.mjs +4 -3
- app-ng-runtime/core/fesm2022/index.mjs +14 -2
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +4 -0
- app-ng-runtime/runtime/base/components/base-page.component.d.ts +2 -3
- app-ng-runtime/runtime/base/esm2022/components/base-page.component.mjs +7 -4
- app-ng-runtime/runtime/base/fesm2022/index.mjs +5 -1
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/scripts/@wavemaker/nvd3/build/nv.d3.min.js +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +5 -2
- app-ng-runtime/variables/bundles/index.umd.js +13 -7
- app-ng-runtime/variables/esm2022/util/variable/variables.utils.mjs +15 -9
- app-ng-runtime/variables/fesm2022/index.mjs +13 -7
- app-ng-runtime/variables/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/variables/util/variable/variables.utils.d.ts +1 -1
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
['name', i5.PROP_STRING],
|
|
51
51
|
['orderby', i5.PROP_STRING],
|
|
52
52
|
['show', { value: true, ...i5.PROP_BOOLEAN }],
|
|
53
|
+
['showonhover', { value: false, ...i5.PROP_BOOLEAN }],
|
|
53
54
|
['type', i5.PROP_STRING],
|
|
54
55
|
['userrole', i5.PROP_STRING]
|
|
55
56
|
]));
|
|
@@ -203,7 +204,7 @@
|
|
|
203
204
|
static { this.ɵfac = function NavComponent_Factory(t) { return new (t || NavComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i0__namespace.ChangeDetectorRef), i0__namespace.ɵɵdirectiveInject(i1__namespace.Router), i0__namespace.ɵɵdirectiveInject(i2__namespace.UserDefinedExecutionContext), i0__namespace.ɵɵdirectiveInject(i2__namespace.App), i0__namespace.ɵɵinjectAttribute('select.event')); }; }
|
|
204
205
|
static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: NavComponent, selectors: [["", "wmNav", ""]], features: [i0__namespace.ɵɵProvidersFeature([
|
|
205
206
|
i5.provideAsWidgetRef(NavComponent)
|
|
206
|
-
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$3, ngContentSelectors: _c5, decls: 6, vars: 2, consts: [["menuRef", ""], ["anchorRef", ""], [3, "class", "ngClass", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["wmMenu", "", "dropdown", "", "type", "anchor", "autoclose.bind", "autoclose", "iconclass.bind", "item.icon", "autoopen.bind", "autoopen", "caption.bind", "item.label", "dataset.bind", "item.children", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "select.event", "onMenuItemSelect($event, widget, $item)"], ["wmAnchor", "", "caption.bind", "item.label", "iconclass.bind", "item.icon", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "click.event", "onNavSelect($event, item, liRef)", 3, "disableMenuContext", "wmNavigationControl"], [3, "ngClass"], ["liRef", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
207
|
+
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$3, ngContentSelectors: _c5, decls: 6, vars: 2, consts: [["menuRef", ""], ["anchorRef", ""], [3, "class", "ngClass", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["wmMenu", "", "dropdown", "", "type", "anchor", "autoclose.bind", "autoclose", "iconclass.bind", "item.icon", "autoopen.bind", "autoopen", "caption.bind", "item.label", "dataset.bind", "item.children", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "showonhover.bind", "showonhover", "select.event", "onMenuItemSelect($event, widget, $item)"], ["wmAnchor", "", "caption.bind", "item.label", "iconclass.bind", "item.icon", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "click.event", "onNavSelect($event, item, liRef)", 3, "disableMenuContext", "wmNavigationControl"], [3, "ngClass"], ["liRef", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
207
208
|
i0__namespace.ɵɵprojectionDef(_c4);
|
|
208
209
|
i0__namespace.ɵɵtemplate(0, NavComponent_ng_template_0_Template, 1, 0, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
|
|
209
210
|
i0__namespace.ɵɵtemplate(2, NavComponent_ng_template_2_Template, 1, 3, "ng-template", null, 1, i0__namespace.ɵɵtemplateRefExtractor);
|
|
@@ -220,7 +221,7 @@
|
|
|
220
221
|
type: i0.Component,
|
|
221
222
|
args: [{ selector: '[wmNav]', providers: [
|
|
222
223
|
i5.provideAsWidgetRef(NavComponent)
|
|
223
|
-
], template: "<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n" }]
|
|
224
|
+
], template: "<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n" }]
|
|
224
225
|
}], function () { return [{ type: i0__namespace.Injector }, { type: i0__namespace.ChangeDetectorRef }, { type: i1__namespace.Router }, { type: i2__namespace.UserDefinedExecutionContext }, { type: i2__namespace.App }, { type: undefined, decorators: [{
|
|
225
226
|
type: i0.Attribute,
|
|
226
227
|
args: ['select.event']
|
|
@@ -254,6 +255,7 @@
|
|
|
254
255
|
['orderby', i5.PROP_STRING],
|
|
255
256
|
['shortcutkey', i5.PROP_STRING],
|
|
256
257
|
['show', { value: true, ...i5.PROP_BOOLEAN }],
|
|
258
|
+
['showonhover', { value: false, ...i5.PROP_BOOLEAN }],
|
|
257
259
|
['tabindex', { value: 0, ...i5.PROP_NUMBER }],
|
|
258
260
|
['type', { value: 'menu', ...i5.PROP_STRING }],
|
|
259
261
|
['userrole', i5.PROP_STRING]
|
|
@@ -309,6 +311,8 @@
|
|
|
309
311
|
MOVE_RIGHT: 'RIGHT-ARROW',
|
|
310
312
|
MOVE_DOWN: 'DOWN-ARROW',
|
|
311
313
|
ON_ENTER: 'ENTER',
|
|
314
|
+
ON_MOUSE_ENTER: 'MOUSE-ENTER',
|
|
315
|
+
ON_MOUSE_LEAVE: 'MOUSE-LEAVE',
|
|
312
316
|
ON_TAB: 'TAB',
|
|
313
317
|
ON_SHIFT_TAB: 'SHIFT-TAB',
|
|
314
318
|
ON_ESCAPE: 'ESC'
|
|
@@ -382,10 +386,10 @@
|
|
|
382
386
|
this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();
|
|
383
387
|
}
|
|
384
388
|
}
|
|
385
|
-
else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {
|
|
389
|
+
else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {
|
|
386
390
|
this.bsDropdown.toggle(true);
|
|
387
391
|
}
|
|
388
|
-
else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction)) {
|
|
392
|
+
else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT, KEY_MOVEMENTS.ON_MOUSE_LEAVE], eventAction)) {
|
|
389
393
|
this.bsDropdown.hide();
|
|
390
394
|
}
|
|
391
395
|
$event.preventDefault();
|
|
@@ -503,7 +507,7 @@
|
|
|
503
507
|
}
|
|
504
508
|
static { this.ɵfac = function MenuComponent_Factory(t) { return new (t || MenuComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1__namespace.Router), i0__namespace.ɵɵdirectiveInject(i2__namespace.UserDefinedExecutionContext), i0__namespace.ɵɵdirectiveInject(i2__namespace.App), i0__namespace.ɵɵdirectiveInject(i2$1__namespace.BsDropdownDirective, 10), i0__namespace.ɵɵdirectiveInject(NavComponent, 8), i0__namespace.ɵɵinjectAttribute('select.event')); }; }
|
|
505
509
|
static { this.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: MenuComponent, selectors: [["", "wmMenu", ""]], hostBindings: function MenuComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
506
|
-
i0__namespace.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
|
|
510
|
+
i0__namespace.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("mouseenter", function MenuComponent_mouseenter_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-ENTER"); })("mouseleave", function MenuComponent_mouseleave_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-LEAVE"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
|
|
507
511
|
} }, features: [i0__namespace.ɵɵProvidersFeature([
|
|
508
512
|
i5.provideAsWidgetRef(MenuComponent)
|
|
509
513
|
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c0$2, decls: 6, vars: 2, consts: [["menuTemplate", ""], ["innerTemplate", ""], [4, "ngIf", "ngIfElse"], ["wmMenuDropdown", "", "aria-labelledby", "dropdownmenu", "role", "menubar", 3, "items", "ngClass", "class", 4, "dropdownMenu"], ["wmButton", "", "dropdownToggle", "", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition"], [1, "pull-right", "caret", "fa", 3, "ngClass"], [1, "caption", 3, "textContent"], ["wmAnchor", "", "dropdownToggle", "", "href", "javascript:void(0);", "role", "button", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", "badgevalue.bind", "badgevalue"], ["wmMenuDropdown", "", "aria-labelledby", "dropdownmenu", "role", "menubar", 3, "items", "ngClass"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -540,6 +544,12 @@
|
|
|
540
544
|
}], onKeyDown: [{
|
|
541
545
|
type: i0.HostListener,
|
|
542
546
|
args: ['keydown.arrowup', ['$event', '"UP-ARROW"']]
|
|
547
|
+
}, {
|
|
548
|
+
type: i0.HostListener,
|
|
549
|
+
args: ['mouseenter', ['$event', '"MOUSE-ENTER"']]
|
|
550
|
+
}, {
|
|
551
|
+
type: i0.HostListener,
|
|
552
|
+
args: ['mouseleave', ['$event', '"MOUSE-LEAVE"']]
|
|
543
553
|
}, {
|
|
544
554
|
type: i0.HostListener,
|
|
545
555
|
args: ['keydown.arrowdown', ['$event', '"DOWN-ARROW"']]
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Attribute, Component, HostListener, Injector, Optional, Self } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { BsDropdownDirective } from 'ngx-bootstrap/dropdown';
|
|
4
|
-
import { $appDigest, addClass,
|
|
5
|
-
import { DatasetAwareNavComponent, hasLinkToCurrentPage, provideAsWidgetRef, styler
|
|
4
|
+
import { $appDigest, addClass, App, removeClass, toggleClass, triggerItemAction, UserDefinedExecutionContext } from '@wm/core';
|
|
5
|
+
import { AUTOCLOSE_TYPE, DatasetAwareNavComponent, hasLinkToCurrentPage, provideAsWidgetRef, styler } from '@wm/components/base';
|
|
6
6
|
import { NavComponent } from './nav/nav.component';
|
|
7
7
|
import { registerProps } from './menu.props';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
@@ -59,6 +59,8 @@ export const KEYBOARD_MOVEMENTS = {
|
|
|
59
59
|
MOVE_RIGHT: 'RIGHT-ARROW',
|
|
60
60
|
MOVE_DOWN: 'DOWN-ARROW',
|
|
61
61
|
ON_ENTER: 'ENTER',
|
|
62
|
+
ON_MOUSE_ENTER: 'MOUSE-ENTER',
|
|
63
|
+
ON_MOUSE_LEAVE: 'MOUSE-LEAVE',
|
|
62
64
|
ON_TAB: 'TAB',
|
|
63
65
|
ON_SHIFT_TAB: 'SHIFT-TAB',
|
|
64
66
|
ON_ESCAPE: 'ESC'
|
|
@@ -132,10 +134,10 @@ export class MenuComponent extends DatasetAwareNavComponent {
|
|
|
132
134
|
this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();
|
|
133
135
|
}
|
|
134
136
|
}
|
|
135
|
-
else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {
|
|
137
|
+
else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {
|
|
136
138
|
this.bsDropdown.toggle(true);
|
|
137
139
|
}
|
|
138
|
-
else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction)) {
|
|
140
|
+
else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT, KEY_MOVEMENTS.ON_MOUSE_LEAVE], eventAction)) {
|
|
139
141
|
this.bsDropdown.hide();
|
|
140
142
|
}
|
|
141
143
|
$event.preventDefault();
|
|
@@ -253,7 +255,7 @@ export class MenuComponent extends DatasetAwareNavComponent {
|
|
|
253
255
|
}
|
|
254
256
|
static { this.ɵfac = function MenuComponent_Factory(t) { return new (t || MenuComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.UserDefinedExecutionContext), i0.ɵɵdirectiveInject(i2.App), i0.ɵɵdirectiveInject(i3.BsDropdownDirective, 10), i0.ɵɵdirectiveInject(i4.NavComponent, 8), i0.ɵɵinjectAttribute('select.event')); }; }
|
|
255
257
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuComponent, selectors: [["", "wmMenu", ""]], hostBindings: function MenuComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
256
|
-
i0.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
|
|
258
|
+
i0.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("mouseenter", function MenuComponent_mouseenter_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-ENTER"); })("mouseleave", function MenuComponent_mouseleave_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-LEAVE"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
|
|
257
259
|
} }, features: [i0.ɵɵProvidersFeature([
|
|
258
260
|
provideAsWidgetRef(MenuComponent)
|
|
259
261
|
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 6, vars: 2, consts: [["menuTemplate", ""], ["innerTemplate", ""], [4, "ngIf", "ngIfElse"], ["wmMenuDropdown", "", "aria-labelledby", "dropdownmenu", "role", "menubar", 3, "items", "ngClass", "class", 4, "dropdownMenu"], ["wmButton", "", "dropdownToggle", "", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition"], [1, "pull-right", "caret", "fa", 3, "ngClass"], [1, "caption", 3, "textContent"], ["wmAnchor", "", "dropdownToggle", "", "href", "javascript:void(0);", "role", "button", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", "badgevalue.bind", "badgevalue"], ["wmMenuDropdown", "", "aria-labelledby", "dropdownmenu", "role", "menubar", 3, "items", "ngClass"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -290,6 +292,12 @@ export class MenuComponent extends DatasetAwareNavComponent {
|
|
|
290
292
|
}], onKeyDown: [{
|
|
291
293
|
type: HostListener,
|
|
292
294
|
args: ['keydown.arrowup', ['$event', '"UP-ARROW"']]
|
|
295
|
+
}, {
|
|
296
|
+
type: HostListener,
|
|
297
|
+
args: ['mouseenter', ['$event', '"MOUSE-ENTER"']]
|
|
298
|
+
}, {
|
|
299
|
+
type: HostListener,
|
|
300
|
+
args: ['mouseleave', ['$event', '"MOUSE-LEAVE"']]
|
|
293
301
|
}, {
|
|
294
302
|
type: HostListener,
|
|
295
303
|
args: ['keydown.arrowdown', ['$event', '"DOWN-ARROW"']]
|
|
@@ -303,4 +311,4 @@ export class MenuComponent extends DatasetAwareNavComponent {
|
|
|
303
311
|
type: HostListener,
|
|
304
312
|
args: ['keydown.enter', ['$event', '"ENTER"']]
|
|
305
313
|
}] }); })();
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQXFCLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9ILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztJQ1J6QyxpQ0FXeUM7SUFDckMsMEJBQWlFO0lBQ3JFLGlCQUFTOzs7SUFSRCxrRkFBb0Q7SUFEcEQsbURBQWtDO0lBUUosZUFBdUI7SUFBdkIsc0VBQXVCOzs7SUFLN0Qsb0JBQXNDLGNBQUEsV0FBQTs7O0lBQW5DLDREQUE4QjtJQUNYLGVBQXVCO0lBQXZCLDRDQUF1QjtJQUN2QyxlQUF5QztJQUF6Qyx1RUFB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b21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQnNEcm9wZG93bkRpcmVjdGl2ZSB9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuXG5pbXBvcnQgeyAkYXBwRGlnZXN0LCBhZGRDbGFzcywgcmVtb3ZlQ2xhc3MsIHRyaWdnZXJJdGVtQWN0aW9uLCBBcHAsIHRvZ2dsZUNsYXNzLCBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBEYXRhc2V0QXdhcmVOYXZDb21wb25lbnQsIGhhc0xpbmtUb0N1cnJlbnRQYWdlLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciwgQVVUT0NMT1NFX1RZUEUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IE5hdkNvbXBvbmVudCB9IGZyb20gJy4vbmF2L25hdi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9tZW51LnByb3BzJztcblxuZGVjbGFyZSBjb25zdCBfO1xuXG5leHBvcnQgY29uc3QgS0VZQk9BUkRfTU9WRU1FTlRTID0ge1xuICAgIE1PVkVfVVA6ICdVUC1BUlJPVycsXG4gICAgTU9WRV9MRUZUOiAnTEVGVC1BUlJPVycsXG4gICAgTU9WRV9SSUdIVDogJ1JJR0hULUFSUk9XJyxcbiAgICBNT1ZFX0RPV046ICdET1dOLUFSUk9XJyxcbiAgICBPTl9FTlRFUjogJ0VOVEVSJyxcbiAgICBPTl9UQUI6ICdUQUInLFxuICAgIE9OX1NISUZUX1RBQjogJ1NISUZULVRBQicsXG4gICAgT05fRVNDQVBFOiAnRVNDJ1xufTtcblxuZXhwb3J0IGNvbnN0IE1FTlVfUE9TSVRJT04gPSB7XG4gICAgVVBfTEVGVDogJ3VwLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIERPV05fTEVGVDogJ2Rvd24sbGVmdCcsXG4gICAgRE9XTl9SSUdIVDogJ2Rvd24scmlnaHQnLFxuICAgIElOTElORTogJ2lubGluZSdcbn07XG5cbmNvbnN0IFBPU0lUSU9OID0ge1xuICAgIERPV05fUklHSFQ6ICdkb3duLHJpZ2h0JyxcbiAgICBET1dOX0xFRlQ6ICdkb3duLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIFVQX0xFRlQ6ICd1cCxsZWZ0JyxcbiAgICBJTkxJTkU6ICdpbmxpbmUnXG59O1xuY29uc3QgQ0FSRVRfQ0xTID0ge1xuICAgIFVQOiAnZmEtY2FyZXQtdXAnLFxuICAgIERPV046ICdmYS1jYXJldC1kb3duJ1xufTtcbmNvbnN0IFBVTExfQ0xTID0ge1xuICAgIExFRlQ6ICdwdWxsLWxlZnQnLFxuICAgIFJJR0hUOiAncHVsbC1yaWdodCdcbn07XG5cbmNvbnN0IEFVVE9fT1BFTiA9IHtcbiAgICBORVZFUjogJ25ldmVyJyxcbiAgICBBQ1RJVkVfUEFHRTogJ2FjdGl2ZXBhZ2UnLFxuICAgIEFMV0FZUzogJ2Fsd2F5cydcbn07XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7IHdpZGdldFR5cGU6ICd3bS1tZW51JywgaG9zdENsYXNzOiAnZHJvcGRvd24gYXBwLW1lbnUnIH07XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bU1lbnVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihNZW51Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIG1lbnVhbGlnbjogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51cG9zaXRpb246IHN0cmluZztcbiAgICBwdWJsaWMgbWVudWxheW91dDogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51Y2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgbGlua3RhcmdldDogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgYW5pbWF0ZWl0ZW1zOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc2FibGVNZW51Q29udGV4dDogYm9vbGVhbjtcbiAgICBwdWJsaWMgYXV0b2Nsb3NlOiBzdHJpbmc7XG4gICAgcHVibGljIGF1dG9vcGVuOiBzdHJpbmc7XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgaXRlbUFjdGlvbkZuOiBGdW5jdGlvbjtcbiAgICBwcml2YXRlIG1lbnVDYXJldCA9ICdmYS1jYXJldC1kb3duJztcbiAgICBwcml2YXRlIF9zZWxlY3RGaXJzdEl0ZW0gPSBmYWxzZTtcblxuICAgIHB1YmxpYyB0eXBlOiBhbnk7XG5cbiAgICBASG9zdExpc3RlbmVyKCdvblNob3duJykgb25TaG93KCkge1xuICAgICAgICBpZiAodGhpcy5fc2VsZWN0Rmlyc3RJdGVtKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJz4gdWxbd21tZW51ZHJvcGRvd25dIGxpLmFwcC1tZW51LWl0ZW0nKS5maXJzdCgpLmZpbmQoJz4gYScpLmZvY3VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgfVxuICAgIEBIb3N0TGlzdGVuZXIoJ29uSGlkZGVuJykgb25IaWRlKCkge1xuICAgICAgICB0aGlzLiRlbGVtZW50LmZpbmQoJz4uZHJvcGRvd24tdG9nZ2xlJykuZm9jdXMoKTtcbiAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCdsaScpLnJlbW92ZUNsYXNzKCdvcGVuJyk7XG4gICAgICAgIHRoaXMuX3NlbGVjdEZpcnN0SXRlbSA9IGZhbHNlO1xuICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd3VwJywgWyckZXZlbnQnLCAnXCJVUC1BUlJPV1wiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCcsICdcIkRPV04tQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50JywgJ1wiUklHSFQtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnLCAnXCJMRUZULUFSUk9XXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pIG9uS2V5RG93bigkZXZlbnQsIGV2ZW50QWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IEtFWV9NT1ZFTUVOVFMgPSBfLmNsb25lKEtFWUJPQVJEX01PVkVNRU5UUyk7XG4gICAgICAgIGlmICh0aGlzLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5VUF9SSUdIVCkge1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1VQID0gJ0RPV04tQVJST1cnO1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX0RPV04gPSAnVVAtQVJST1cnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWVudXBvc2l0aW9uID09PSBNRU5VX1BPU0lUSU9OLlVQX0xFRlQpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCA9ICdET1dOLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOID0gJ1VQLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9SSUdIVCA9ICdMRUZULUFSUk9XJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5ET1dOX0xFRlQpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9SSUdIVCA9ICdMRUZULUFSUk9XJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmluY2x1ZGVzKFtLRVlfTU9WRU1FTlRTLk1PVkVfRE9XTiwgS0VZX01PVkVNRU5UUy5NT1ZFX1JJR0hUXSwgZXZlbnRBY3Rpb24pKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYnNEcm9wZG93bi5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RGaXJzdEl0ZW0gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5zaG93KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnPiB1bFt3bW1lbnVkcm9wZG93bl0gbGkuYXBwLW1lbnUtaXRlbScpLmZpcnN0KCkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9FTlRFUikge1xuICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLnRvZ2dsZSh0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChfLmluY2x1ZGVzKFtLRVlfTU9WRU1FTlRTLk1PVkVfVVAsIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUXSwgZXZlbnRBY3Rpb24pKSB7XG4gICAgICAgICAgICB0aGlzLmJzRHJvcGRvd24uaGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBwdWJsaWMgcm91dGU6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSB1c2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQ6IFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgYnNEcm9wZG93bjogQnNEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwYXJlbnROYXY6IE5hdkNvbXBvbmVudCxcbiAgICAgICAgQEF0dHJpYnV0ZSgnc2VsZWN0LmV2ZW50JykgcHVibGljIHNlbGVjdEV2ZW50Q0I6IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcpO1xuICAgICAgICBpZiAocGFyZW50TmF2KSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVNZW51Q29udGV4dCA9ICEhcGFyZW50TmF2LmRpc2FibGVNZW51Q29udGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZU1lbnVDb250ZXh0ID0gISFzZWxlY3RFdmVudENCO1xuICAgICAgICB9XG4gICAgICAgIC8vIEZvciBzZWxlY3RpbmcgdGhlIGl0ZW0gb24gbG9hZFxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5ub2RlcyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghXy5pc0VtcHR5KHRoaXMubm9kZXMpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0xpbmtUb0N1cnJlbnRQYWdlKHRoaXMubm9kZXMsIHRoaXMucm91dGUudXJsKSkge1xuICAgICAgICAgICAgICAgICAgICBhZGRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCAnYWN0aXZlJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIElmIG1lbnUgd2lkZ2V0IGlzIGluc2lkZSBuYXYgd2lkZ2V0IHRoZW4gZG9udCBjaGVjayBmb3IgaXRlbSBpc2FjdGl2ZSBwcm9wZXJ0eSBiZWNhdXNlIHRoZXNlIHdpbGwgYmUgaGFuZGxlZCBmb3JtIG5hdiB3aWRnZXQuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50TmF2KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1Gb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdldEl0ZW0gPSAobm9kZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgXy5mb3JFYWNoKG5vZGVzLCAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1Gb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTWVudUl0ZW1TZWxlY3QoeyAkZXZlbnQ6IHt9LCAkaXRlbTogaXRlbSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUcmlnZ2VyIHRoZSBhY3Rpb24gYXNzb2NpYXRlZCB3aXRoIGFjdGl2ZSBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlckl0ZW1BY3Rpb24odGhpcywgaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFfLmlzRW1wdHkoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRJdGVtKGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZ2V0SXRlbSh0aGlzLm5vZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldE5vZGVzKCkge1xuICAgICAgICBzdXBlci5yZXNldE5vZGVzKCk7XG4gICAgICAgIC8vIG9wZW4gdGhlIG1lbnUgaWYgYW55IG9mIGl0cyBtZW51IGl0ZW1zIGhhcyBsaW5rIHRvIGN1cnJlbnQgcGFnZSBhbmQgaWYgYXV0b29wZW4gdmFsdWUgaXMgJ2FjdGl2ZSBwYWdlJ1xuICAgICAgICBpZiAoKHRoaXMuYXV0b29wZW4gPT09IEFVVE9fT1BFTi5BQ1RJVkVfUEFHRSAmJiBoYXNMaW5rVG9DdXJyZW50UGFnZSh0aGlzLm5vZGVzLCB0aGlzLnJvdXRlLnVybCkpIHx8IHRoaXMuYXV0b29wZW4gPT09IEFVVE9fT1BFTi5BTFdBWVMpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5zaG93KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXRNZW51UG9zaXRpb24oKTtcblxuICAgICAgICBjb25zdCBjYW5jZWxTdWJzY3JpcHRpb24gPSB0aGlzLmFwcC5zdWJzY3JpYmUoXCJoaWdobGlnaHRBY3RpdmVMaW5rXCIsIChkYXRhKSA9PiB7XG4gICAgICAgICAgICB0b2dnbGVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCAnYWN0aXZlJywgaGFzTGlua1RvQ3VycmVudFBhZ2UodGhpcy5ub2RlcywgdGhpcy5yb3V0ZS51cmwgKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGNhbmNlbFN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuXG4gICAgICAgIGlmIChrZXkgPT09ICd0YWJpbmRleCcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXkgPT09ICdhdXRvY2xvc2UnKSB7XG4gICAgICAgICAgICB0aGlzLmJzRHJvcGRvd24uYXV0b0Nsb3NlID0gbnYgIT09IEFVVE9DTE9TRV9UWVBFLkRJU0FCTEVEO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1lbnVQb3NpdGlvbigpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm1lbnVwb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5ET1dOX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuTEVGVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5ET1dOO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5ET1dOX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCAnZHJvcHVwJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51YWxpZ24gPSBQVUxMX0NMUy5SSUdIVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5ET1dOO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5VUF9MRUZUOlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuUklHSFQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51Q2FyZXQgPSBDQVJFVF9DTFMuVVA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBPU0lUSU9OLlVQX1JJR0hUOlxuICAgICAgICAgICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuTEVGVDtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVDYXJldCA9IENBUkVUX0NMUy5VUDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUE9TSVRJT04uSU5MSU5FOlxuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gJ2Ryb3BpbmxpbmUtbWVudSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51SXRlbVNlbGVjdChhcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgJGV2ZW50IH0gPSBhcmdzO1xuICAgICAgICBjb25zdCAkaXRlbSA9IGFyZ3MuJGl0ZW0udmFsdWU7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnc2VsZWN0JywgeyAkZXZlbnQsICRpdGVtIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmRyb3Bkb3duLXRvZ2dsZScpIGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVUZW1wbGF0ZT5cbiAgICA8YnV0dG9uIHdtQnV0dG9uXG4gICAgICAgICAgICBkcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGludCB8fCAnTWVudSdcIlxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYXBwLWJ1dHRvbiBkcm9wZG93bi10b2dnbGUge3ttZW51Y2xhc3N9fVwiXG4gICAgICAgICAgICBoaW50LmJpbmQ9XCJoaW50XCJcbiAgICAgICAgICAgIHNob3J0Y3V0a2V5LmJpbmQ9XCJzaG9ydGN1dGtleVwiXG4gICAgICAgICAgICB0YWJpbmRleC5iaW5kPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgY2FwdGlvbi5iaW5kPVwiY2FwdGlvblwiXG4gICAgICAgICAgICBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgICAgICAgICBpY29ucG9zaXRpb24uYmluZD1cImljb25wb3NpdGlvblwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInB1bGwtcmlnaHQgY2FyZXQgZmFcIiBbbmdDbGFzc109XCJbbWVudUNhcmV0XVwiPjwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5uZXJUZW1wbGF0ZT5cbiAgICA8aSBjbGFzcz1cImFwcC1pY29uIHt7aWNvbmNsYXNzfX1cIj48L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cImNhcHRpb25cIj48L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJwdWxsLXJpZ2h0IGNhcmV0IGZhIHt7bWVudUNhcmV0fX1cIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ2FuY2hvcic7IGVsc2UgbWVudVRlbXBsYXRlXCI+XG4gICAgPGEgd21BbmNob3JcbiAgICAgICBkcm9wZG93blRvZ2dsZVxuXG4gICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIlxuICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuXG4gICAgICAgaGludC5iaW5kPVwiaGludFwiXG4gICAgICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUge3ttZW51Y2xhc3N9fVwiXG4gICAgICAgc2hvcnRjdXRrZXkuYmluZD1cInNob3J0Y3V0a2V5XCJcbiAgICAgICB0YWJpbmRleC5iaW5kPVwidGFiaW5kZXhcIlxuICAgICAgIGNhcHRpb24uYmluZD1cImNhcHRpb25cIlxuICAgICAgIGljb25jbGFzcy5iaW5kPVwiaWNvbmNsYXNzXCJcbiAgICAgICBpY29ucG9zaXRpb24uYmluZD1cImljb25wb3NpdGlvblwiXG4gICAgICAgYmFkZ2V2YWx1ZS5iaW5kPVwiYmFkZ2V2YWx1ZVwiXG4gICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInB1bGwtcmlnaHQgY2FyZXQgZmFcIiBbbmdDbGFzc109XCJbbWVudUNhcmV0XVwiPjwvc3Bhbj5cbiAgICA8L2E+XG48L25nLWNvbnRhaW5lcj5cblxuPHVsIHdtTWVudURyb3Bkb3duIFtpdGVtc109XCJub2Rlc1wiIFtuZ0NsYXNzXT1cIm1lbnVsYXlvdXRcIiBjbGFzcz1cImljb24tcG9zaXRpb24te3tpY29ucG9zaXRpb259fVwiICpkcm9wZG93bk1lbnUgYXJpYS1sYWJlbGxlZGJ5PVwiZHJvcGRvd25tZW51XCIgcm9sZT1cIm1lbnViYXJcIj48L3VsPlxuIl19
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvbmF2aWdhdGlvbi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFHUixRQUFRLEVBQ1IsSUFBSSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV2QyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFFBQVEsRUFDUixHQUFHLEVBQ0gsV0FBVyxFQUNYLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzlCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsTUFBTSxFQUNULE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRWpELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztJQ2hDdkMsaUNBV3lDO0lBQ3JDLDBCQUFpRTtJQUNyRSxpQkFBUzs7O0lBUkQsa0ZBQW9EO0lBRHBELG1EQUFrQztJQVFKLGVBQXVCO0lBQXZCLHNFQUF1Qjs7O0lBSzdELG9CQUFzQyxjQUFBLFdBQUE7OztJQUFuQyw0REFBOEI7SUFDWCxlQUF1QjtJQUF2Qiw0Q0FBdUI7SUFDdkMsZUFBeUM7SUFBekMs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QUM7O2tCQUN0RCxZQUFZO21CQUFDLG1CQUFtQixFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQzs7a0JBQzVELFlBQVk7bUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDOztrQkFDOUQsWUFBWTttQkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUM7O2tCQUM1RCxZQUFZO21CQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5qZWN0b3IsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7QnNEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5cbmltcG9ydCB7XG4gICAgJGFwcERpZ2VzdCxcbiAgICBhZGRDbGFzcyxcbiAgICBBcHAsXG4gICAgcmVtb3ZlQ2xhc3MsXG4gICAgdG9nZ2xlQ2xhc3MsXG4gICAgdHJpZ2dlckl0ZW1BY3Rpb24sXG4gICAgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0XG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7XG4gICAgQVVUT0NMT1NFX1RZUEUsXG4gICAgRGF0YXNldEF3YXJlTmF2Q29tcG9uZW50LFxuICAgIGhhc0xpbmtUb0N1cnJlbnRQYWdlLFxuICAgIHByb3ZpZGVBc1dpZGdldFJlZixcbiAgICBzdHlsZXJcbn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5pbXBvcnQge05hdkNvbXBvbmVudH0gZnJvbSAnLi9uYXYvbmF2LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9tZW51LnByb3BzJztcblxuZGVjbGFyZSBjb25zdCBfO1xuXG5leHBvcnQgY29uc3QgS0VZQk9BUkRfTU9WRU1FTlRTID0ge1xuICAgIE1PVkVfVVA6ICdVUC1BUlJPVycsXG4gICAgTU9WRV9MRUZUOiAnTEVGVC1BUlJPVycsXG4gICAgTU9WRV9SSUdIVDogJ1JJR0hULUFSUk9XJyxcbiAgICBNT1ZFX0RPV046ICdET1dOLUFSUk9XJyxcbiAgICBPTl9FTlRFUjogJ0VOVEVSJyxcbiAgICBPTl9NT1VTRV9FTlRFUjogJ01PVVNFLUVOVEVSJyxcbiAgICBPTl9NT1VTRV9MRUFWRTogJ01PVVNFLUxFQVZFJyxcbiAgICBPTl9UQUI6ICdUQUInLFxuICAgIE9OX1NISUZUX1RBQjogJ1NISUZULVRBQicsXG4gICAgT05fRVNDQVBFOiAnRVNDJ1xufTtcblxuZXhwb3J0IGNvbnN0IE1FTlVfUE9TSVRJT04gPSB7XG4gICAgVVBfTEVGVDogJ3VwLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIERPV05fTEVGVDogJ2Rvd24sbGVmdCcsXG4gICAgRE9XTl9SSUdIVDogJ2Rvd24scmlnaHQnLFxuICAgIElOTElORTogJ2lubGluZSdcbn07XG5cbmNvbnN0IFBPU0lUSU9OID0ge1xuICAgIERPV05fUklHSFQ6ICdkb3duLHJpZ2h0JyxcbiAgICBET1dOX0xFRlQ6ICdkb3duLGxlZnQnLFxuICAgIFVQX1JJR0hUOiAndXAscmlnaHQnLFxuICAgIFVQX0xFRlQ6ICd1cCxsZWZ0JyxcbiAgICBJTkxJTkU6ICdpbmxpbmUnXG59O1xuY29uc3QgQ0FSRVRfQ0xTID0ge1xuICAgIFVQOiAnZmEtY2FyZXQtdXAnLFxuICAgIERPV046ICdmYS1jYXJldC1kb3duJ1xufTtcbmNvbnN0IFBVTExfQ0xTID0ge1xuICAgIExFRlQ6ICdwdWxsLWxlZnQnLFxuICAgIFJJR0hUOiAncHVsbC1yaWdodCdcbn07XG5cbmNvbnN0IEFVVE9fT1BFTiA9IHtcbiAgICBORVZFUjogJ25ldmVyJyxcbiAgICBBQ1RJVkVfUEFHRTogJ2FjdGl2ZXBhZ2UnLFxuICAgIEFMV0FZUzogJ2Fsd2F5cydcbn07XG5cbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7IHdpZGdldFR5cGU6ICd3bS1tZW51JywgaG9zdENsYXNzOiAnZHJvcGRvd24gYXBwLW1lbnUnIH07XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bU1lbnVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihNZW51Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIG1lbnVhbGlnbjogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51cG9zaXRpb246IHN0cmluZztcbiAgICBwdWJsaWMgbWVudWxheW91dDogc3RyaW5nO1xuICAgIHB1YmxpYyBtZW51Y2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgbGlua3RhcmdldDogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY2xhc3M6IHN0cmluZztcbiAgICBwdWJsaWMgYW5pbWF0ZWl0ZW1zOiBzdHJpbmc7XG4gICAgcHVibGljIGRpc2FibGVNZW51Q29udGV4dDogYm9vbGVhbjtcbiAgICBwdWJsaWMgc2hvd29uaG92ZXI6IGJvb2xlYW47XG4gICAgcHVibGljIGF1dG9jbG9zZTogc3RyaW5nO1xuICAgIHB1YmxpYyBhdXRvb3Blbjogc3RyaW5nO1xuICAgIHB1YmxpYyBoaW50OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGl0ZW1BY3Rpb25GbjogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBtZW51Q2FyZXQgPSAnZmEtY2FyZXQtZG93bic7XG4gICAgcHJpdmF0ZSBfc2VsZWN0Rmlyc3RJdGVtID0gZmFsc2U7XG5cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignb25TaG93bicpIG9uU2hvdygpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdEZpcnN0SXRlbSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCc+IHVsW3dtbWVudWRyb3Bkb3duXSBsaS5hcHAtbWVudS1pdGVtJykuZmlyc3QoKS5maW5kKCc+IGEnKS5mb2N1cygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cbiAgICBASG9zdExpc3RlbmVyKCdvbkhpZGRlbicpIG9uSGlkZSgpIHtcbiAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCc+LmRyb3Bkb3duLXRvZ2dsZScpLmZvY3VzKCk7XG4gICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnbGknKS5yZW1vdmVDbGFzcygnb3BlbicpO1xuICAgICAgICB0aGlzLl9zZWxlY3RGaXJzdEl0ZW0gPSBmYWxzZTtcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3d1cCcsIFsnJGV2ZW50JywgJ1wiVVAtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCcsICdcIk1PVVNFLUVOVEVSXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnLCAnXCJNT1VTRS1MRUFWRVwiJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd2Rvd24nLCBbJyRldmVudCcsICdcIkRPV04tQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dyaWdodCcsIFsnJGV2ZW50JywgJ1wiUklHSFQtQVJST1dcIiddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dsZWZ0JywgWyckZXZlbnQnLCAnXCJMRUZULUFSUk9XXCInXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pIG9uS2V5RG93bigkZXZlbnQsIGV2ZW50QWN0aW9uKSB7XG4gICAgICAgIGNvbnN0IEtFWV9NT1ZFTUVOVFMgPSBfLmNsb25lKEtFWUJPQVJEX01PVkVNRU5UUyk7XG4gICAgICAgIGlmICh0aGlzLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5VUF9SSUdIVCkge1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX1VQID0gJ0RPV04tQVJST1cnO1xuICAgICAgICAgICAgS0VZX01PVkVNRU5UUy5NT1ZFX0RPV04gPSAnVVAtQVJST1cnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWVudXBvc2l0aW9uID09PSBNRU5VX1BPU0lUSU9OLlVQX0xFRlQpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9VUCA9ICdET1dOLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9ET1dOID0gJ1VQLUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9SSUdIVCA9ICdMRUZULUFSUk9XJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm1lbnVwb3NpdGlvbiA9PT0gTUVOVV9QT1NJVElPTi5ET1dOX0xFRlQpIHtcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9MRUZUID0gJ1JJR0hULUFSUk9XJztcbiAgICAgICAgICAgIEtFWV9NT1ZFTUVOVFMuTU9WRV9SSUdIVCA9ICdMRUZULUFSUk9XJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmluY2x1ZGVzKFtLRVlfTU9WRU1FTlRTLk1PVkVfRE9XTiwgS0VZX01PVkVNRU5UUy5NT1ZFX1JJR0hUXSwgZXZlbnRBY3Rpb24pKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYnNEcm9wZG93bi5pc09wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RGaXJzdEl0ZW0gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi5zaG93KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnPiB1bFt3bW1lbnVkcm9wZG93bl0gbGkuYXBwLW1lbnUtaXRlbScpLmZpcnN0KCkuZmluZCgnPiBhJykuZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudEFjdGlvbiA9PT0gS0VZX01PVkVNRU5UUy5PTl9FTlRFUiB8fCAoZXZlbnRBY3Rpb24gPT09IEtFWV9NT1ZFTUVOVFMuT05fTU9VU0VfRU5URVIgJiYgdGhpcy5zaG93b25ob3ZlcikpIHtcbiAgICAgICAgICAgIHRoaXMuYnNEcm9wZG93bi50b2dnbGUodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoXy5pbmNsdWRlcyhbS0VZX01PVkVNRU5UUy5NT1ZFX1VQLCBLRVlfTU9WRU1FTlRTLk1PVkVfTEVGVCwgS0VZX01PVkVNRU5UUy5PTl9NT1VTRV9MRUFWRV0sIGV2ZW50QWN0aW9uKSkge1xuICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHVibGljIHJvdXRlOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgdXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0OiBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgIHByaXZhdGUgYXBwOiBBcHAsXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGJzRHJvcGRvd246IEJzRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcGFyZW50TmF2OiBOYXZDb21wb25lbnQsXG4gICAgICAgIEBBdHRyaWJ1dGUoJ3NlbGVjdC5ldmVudCcpIHB1YmxpYyBzZWxlY3RFdmVudENCOiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHKTtcbiAgICAgICAgaWYgKHBhcmVudE5hdikge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlTWVudUNvbnRleHQgPSAhIXBhcmVudE5hdi5kaXNhYmxlTWVudUNvbnRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVNZW51Q29udGV4dCA9ICEhc2VsZWN0RXZlbnRDQjtcbiAgICAgICAgfVxuICAgICAgICAvLyBGb3Igc2VsZWN0aW5nIHRoZSBpdGVtIG9uIGxvYWRcbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMubm9kZXMkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIV8uaXNFbXB0eSh0aGlzLm5vZGVzKSkge1xuICAgICAgICAgICAgICAgIGlmIChoYXNMaW5rVG9DdXJyZW50UGFnZSh0aGlzLm5vZGVzLCB0aGlzLnJvdXRlLnVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi10b2dnbGUnKSBhcyBIVE1MRWxlbWVudCwgJ2FjdGl2ZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZiBtZW51IHdpZGdldCBpcyBpbnNpZGUgbmF2IHdpZGdldCB0aGVuIGRvbnQgY2hlY2sgZm9yIGl0ZW0gaXNhY3RpdmUgcHJvcGVydHkgYmVjYXVzZSB0aGVzZSB3aWxsIGJlIGhhbmRsZWQgZm9ybSBuYXYgd2lkZ2V0LlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmVudE5hdikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxldCBpdGVtRm91bmQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCBnZXRJdGVtID0gKG5vZGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIF8uZm9yRWFjaChub2RlcywgKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtRm91bmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5pc2FjdGl2ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Gb3VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1lbnVJdGVtU2VsZWN0KHsgJGV2ZW50OiB7fSwgJGl0ZW06IGl0ZW0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVHJpZ2dlciB0aGUgYWN0aW9uIGFzc29jaWF0ZWQgd2l0aCBhY3RpdmUgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJJdGVtQWN0aW9uKHRoaXMsIGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghXy5pc0VtcHR5KGl0ZW0uY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0SXRlbShpdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGdldEl0ZW0odGhpcy5ub2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGFzZXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG5cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVzZXROb2RlcygpIHtcbiAgICAgICAgc3VwZXIucmVzZXROb2RlcygpO1xuICAgICAgICAvLyBvcGVuIHRoZSBtZW51IGlmIGFueSBvZiBpdHMgbWVudSBpdGVtcyBoYXMgbGluayB0byBjdXJyZW50IHBhZ2UgYW5kIGlmIGF1dG9vcGVuIHZhbHVlIGlzICdhY3RpdmUgcGFnZSdcbiAgICAgICAgaWYgKCh0aGlzLmF1dG9vcGVuID09PSBBVVRPX09QRU4uQUNUSVZFX1BBR0UgJiYgaGFzTGlua1RvQ3VycmVudFBhZ2UodGhpcy5ub2RlcywgdGhpcy5yb3V0ZS51cmwpKSB8fCB0aGlzLmF1dG9vcGVuID09PSBBVVRPX09QRU4uQUxXQVlTKSB7XG4gICAgICAgICAgICB0aGlzLmJzRHJvcGRvd24uc2hvdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuc2V0TWVudVBvc2l0aW9uKCk7XG5cbiAgICAgICAgY29uc3QgY2FuY2VsU3Vic2NyaXB0aW9uID0gdGhpcy5hcHAuc3Vic2NyaWJlKFwiaGlnaGxpZ2h0QWN0aXZlTGlua1wiLCAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgdG9nZ2xlQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi10b2dnbGUnKSBhcyBIVE1MRWxlbWVudCwgJ2FjdGl2ZScsIGhhc0xpbmtUb0N1cnJlbnRQYWdlKHRoaXMubm9kZXMsIHRoaXMucm91dGUudXJsICkpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBjYW5jZWxTdWJzY3JpcHRpb24oKSk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcblxuICAgICAgICBpZiAoa2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5ID09PSAnYXV0b2Nsb3NlJykge1xuICAgICAgICAgICAgdGhpcy5ic0Ryb3Bkb3duLmF1dG9DbG9zZSA9IG52ICE9PSBBVVRPQ0xPU0VfVFlQRS5ESVNBQkxFRDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRNZW51UG9zaXRpb24oKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5tZW51cG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgUE9TSVRJT04uRE9XTl9SSUdIVDpcbiAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdkcm9wdXAnKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVhbGlnbiA9IFBVTExfQ0xTLkxFRlQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51Q2FyZXQgPSBDQVJFVF9DTFMuRE9XTjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUE9TSVRJT04uRE9XTl9MRUZUOlxuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgJ2Ryb3B1cCcpO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudWFsaWduID0gUFVMTF9DTFMuUklHSFQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51Q2FyZXQgPSBDQVJFVF9DTFMuRE9XTjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgUE9TSVRJT04uVVBfTEVGVDpcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdkcm9wdXAnKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVhbGlnbiA9IFBVTExfQ0xTLlJJR0hUO1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUNhcmV0ID0gQ0FSRVRfQ0xTLlVQO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBQT1NJVElPTi5VUF9SSUdIVDpcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdkcm9wdXAnKTtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVhbGlnbiA9IFBVTExfQ0xTLkxFRlQ7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51Q2FyZXQgPSBDQVJFVF9DTFMuVVA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBPU0lUSU9OLklOTElORTpcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVhbGlnbiA9ICdkcm9waW5saW5lLW1lbnUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUl0ZW1TZWxlY3QoYXJncykge1xuICAgICAgICBjb25zdCB7ICRldmVudCB9ID0gYXJncztcbiAgICAgICAgY29uc3QgJGl0ZW0gPSBhcmdzLiRpdGVtLnZhbHVlO1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3NlbGVjdCcsIHsgJGV2ZW50LCAkaXRlbSB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5kcm9wZG93bi10b2dnbGUnKSBhcyBIVE1MRWxlbWVudCwgdGhpcyk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNtZW51VGVtcGxhdGU+XG4gICAgPGJ1dHRvbiB3bUJ1dHRvblxuICAgICAgICAgICAgZHJvcGRvd25Ub2dnbGVcbiAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImhpbnQgfHwgJ01lbnUnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGFwcC1idXR0b24gZHJvcGRvd24tdG9nZ2xlIHt7bWVudWNsYXNzfX1cIlxuICAgICAgICAgICAgaGludC5iaW5kPVwiaGludFwiXG4gICAgICAgICAgICBzaG9ydGN1dGtleS5iaW5kPVwic2hvcnRjdXRrZXlcIlxuICAgICAgICAgICAgdGFiaW5kZXguYmluZD1cInRhYmluZGV4XCJcbiAgICAgICAgICAgIGNhcHRpb24uYmluZD1cImNhcHRpb25cIlxuICAgICAgICAgICAgaWNvbmNsYXNzLmJpbmQ9XCJpY29uY2xhc3NcIlxuICAgICAgICAgICAgaWNvbnBvc2l0aW9uLmJpbmQ9XCJpY29ucG9zaXRpb25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWxsLXJpZ2h0IGNhcmV0IGZhXCIgW25nQ2xhc3NdPVwiW21lbnVDYXJldF1cIj48L3NwYW4+XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2lubmVyVGVtcGxhdGU+XG4gICAgPGkgY2xhc3M9XCJhcHAtaWNvbiB7e2ljb25jbGFzc319XCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJjYXB0aW9uXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicHVsbC1yaWdodCBjYXJldCBmYSB7e21lbnVDYXJldH19XCI+PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdhbmNob3InOyBlbHNlIG1lbnVUZW1wbGF0ZVwiPlxuICAgIDxhIHdtQW5jaG9yXG4gICAgICAgZHJvcGRvd25Ub2dnbGVcblxuICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCJcbiAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcblxuICAgICAgIGhpbnQuYmluZD1cImhpbnRcIlxuICAgICAgIGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlIHt7bWVudWNsYXNzfX1cIlxuICAgICAgIHNob3J0Y3V0a2V5LmJpbmQ9XCJzaG9ydGN1dGtleVwiXG4gICAgICAgdGFiaW5kZXguYmluZD1cInRhYmluZGV4XCJcbiAgICAgICBjYXB0aW9uLmJpbmQ9XCJjYXB0aW9uXCJcbiAgICAgICBpY29uY2xhc3MuYmluZD1cImljb25jbGFzc1wiXG4gICAgICAgaWNvbnBvc2l0aW9uLmJpbmQ9XCJpY29ucG9zaXRpb25cIlxuICAgICAgIGJhZGdldmFsdWUuYmluZD1cImJhZGdldmFsdWVcIlxuICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWxsLXJpZ2h0IGNhcmV0IGZhXCIgW25nQ2xhc3NdPVwiW21lbnVDYXJldF1cIj48L3NwYW4+XG4gICAgPC9hPlxuPC9uZy1jb250YWluZXI+XG5cbjx1bCB3bU1lbnVEcm9wZG93biBbaXRlbXNdPVwibm9kZXNcIiBbbmdDbGFzc109XCJtZW51bGF5b3V0XCIgY2xhc3M9XCJpY29uLXBvc2l0aW9uLXt7aWNvbnBvc2l0aW9ufX1cIiAqZHJvcGRvd25NZW51IGFyaWEtbGFiZWxsZWRieT1cImRyb3Bkb3dubWVudVwiIHJvbGU9XCJtZW51YmFyXCI+PC91bD5cbiJdfQ==
|
|
@@ -27,9 +27,10 @@ export const registerProps = () => {
|
|
|
27
27
|
['orderby', PROP_STRING],
|
|
28
28
|
['shortcutkey', PROP_STRING],
|
|
29
29
|
['show', { value: true, ...PROP_BOOLEAN }],
|
|
30
|
+
['showonhover', { value: false, ...PROP_BOOLEAN }],
|
|
30
31
|
['tabindex', { value: 0, ...PROP_NUMBER }],
|
|
31
32
|
['type', { value: 'menu', ...PROP_STRING }],
|
|
32
33
|
['userrole', PROP_STRING]
|
|
33
34
|
]));
|
|
34
35
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL21lbnUucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixTQUFTLEVBQ1QsSUFBSSxHQUFHLENBQ0g7UUFDSSxDQUFDLGFBQWEsRUFBRSxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztRQUNwRCxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7UUFDN0IsQ0FBQyxXQUFXLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDaEQsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDOUMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQ3hCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUN0QixDQUFDLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSx1Q0FBdUMsRUFBRSxHQUFHLFFBQVEsRUFBQyxDQUFDO1FBQzFFLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ3JDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUN6QixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDMUIsQ0FBQyxjQUFjLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDakQsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO1FBQzNCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztRQUM3QixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDMUIsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO1FBQ3pCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztRQUMxQixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDekIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO1FBQzNCLENBQUMsWUFBWSxFQUFFLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ2hELENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztRQUMxQixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDM0IsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO1FBQzdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztRQUNyQixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7UUFDeEIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO1FBQzVCLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO1FBQ3hDLENBQUMsYUFBYSxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO1FBQ2hELENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ3hDLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO1FBQ3pDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztLQUM1QixDQUNKLENBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UFJPUF9BTlksIFBST1BfQk9PTEVBTiwgUFJPUF9OVU1CRVIsIFBST1BfU1RSSU5HLCByZWdpc3Rlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclByb3BzID0gKCkgPT4ge1xuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tbWVudScsXG4gICAgICAgIG5ldyBNYXAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgWydhY2Nlc3Nyb2xlcycsIHt2YWx1ZTogJ0V2ZXJ5b25lJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2FuaW1hdGVpdGVtcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2F1dG9jbG9zZScsIHt2YWx1ZTogJ2Fsd2F5cycsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWydhdXRvb3BlbicsIHt2YWx1ZTogJ25ldmVyJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2NhcHRpb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2RhdGFzZXQnLCB7dmFsdWU6ICdNZW51IEl0ZW0gMSwgTWVudSBJdGVtIDIsIE1lbnUgSXRlbSAzJywgLi4uUFJPUF9BTll9XSxcbiAgICAgICAgICAgICAgICBbJ2hpbnQnLCB7dmFsdWU6ICcnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsnaXNhY3RpdmUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpY29uY2xhc3MnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpY29ucG9zaXRpb24nLCB7dmFsdWU6ICdsZWZ0JywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2l0ZW1hY3Rpb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpdGVtY2hpbGRyZW4nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpdGVtY2xhc3MnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpdGVtaWNvbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2l0ZW1sYWJlbCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2l0ZW1saW5rJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaXRlbXRhcmdldCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2xpbmt0YXJnZXQnLCB7dmFsdWU6ICdfc2VsZicsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWydtZW51Y2xhc3MnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydtZW51bGF5b3V0JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnbWVudXBvc2l0aW9uJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ29yZGVyYnknLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydzaG9ydGN1dGtleScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ3Nob3cnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICAgICAgICAgIFsnc2hvd29uaG92ZXInLCB7dmFsdWU6IGZhbHNlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgICAgICAgICBbJ3RhYmluZGV4Jywge3ZhbHVlOiAwLCAuLi5QUk9QX05VTUJFUn1dLFxuICAgICAgICAgICAgICAgIFsndHlwZScsIHt2YWx1ZTogJ21lbnUnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsndXNlcnJvbGUnLCBQUk9QX1NUUklOR11cbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
|
|
@@ -154,7 +154,7 @@ export class NavComponent extends DatasetAwareNavComponent {
|
|
|
154
154
|
static { this.ɵfac = function NavComponent_Factory(t) { return new (t || NavComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.UserDefinedExecutionContext), i0.ɵɵdirectiveInject(i2.App), i0.ɵɵinjectAttribute('select.event')); }; }
|
|
155
155
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavComponent, selectors: [["", "wmNav", ""]], features: [i0.ɵɵProvidersFeature([
|
|
156
156
|
provideAsWidgetRef(NavComponent)
|
|
157
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c5, decls: 6, vars: 2, consts: [["menuRef", ""], ["anchorRef", ""], [3, "class", "ngClass", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["wmMenu", "", "dropdown", "", "type", "anchor", "autoclose.bind", "autoclose", "iconclass.bind", "item.icon", "autoopen.bind", "autoopen", "caption.bind", "item.label", "dataset.bind", "item.children", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "select.event", "onMenuItemSelect($event, widget, $item)"], ["wmAnchor", "", "caption.bind", "item.label", "iconclass.bind", "item.icon", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "click.event", "onNavSelect($event, item, liRef)", 3, "disableMenuContext", "wmNavigationControl"], [3, "ngClass"], ["liRef", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
157
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c5, decls: 6, vars: 2, consts: [["menuRef", ""], ["anchorRef", ""], [3, "class", "ngClass", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["wmMenu", "", "dropdown", "", "type", "anchor", "autoclose.bind", "autoclose", "iconclass.bind", "item.icon", "autoopen.bind", "autoopen", "caption.bind", "item.label", "dataset.bind", "item.children", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "showonhover.bind", "showonhover", "select.event", "onMenuItemSelect($event, widget, $item)"], ["wmAnchor", "", "caption.bind", "item.label", "iconclass.bind", "item.icon", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "click.event", "onNavSelect($event, item, liRef)", 3, "disableMenuContext", "wmNavigationControl"], [3, "ngClass"], ["liRef", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
158
158
|
i0.ɵɵprojectionDef(_c4);
|
|
159
159
|
i0.ɵɵtemplate(0, NavComponent_ng_template_0_Template, 1, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
160
160
|
i0.ɵɵtemplate(2, NavComponent_ng_template_2_Template, 1, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
@@ -171,9 +171,9 @@ export class NavComponent extends DatasetAwareNavComponent {
|
|
|
171
171
|
type: Component,
|
|
172
172
|
args: [{ selector: '[wmNav]', providers: [
|
|
173
173
|
provideAsWidgetRef(NavComponent)
|
|
174
|
-
], template: "<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n" }]
|
|
174
|
+
], template: "<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n" }]
|
|
175
175
|
}], function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: i2.UserDefinedExecutionContext }, { type: i2.App }, { type: undefined, decorators: [{
|
|
176
176
|
type: Attribute,
|
|
177
177
|
args: ['select.event']
|
|
178
178
|
}] }]; }, null); })();
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL25hdi9uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL25hdmlnYXRpb24vbWVudS9zcmMvbmF2L25hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsUUFBUSxFQUtYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFxQixNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7SUNkeEMseUJBU2tFOzs7SUFJbEUsdUJBUXNEOzs7O0lBUG5ELGtGQUEwRCxxQ0FBQTtJQUUxRCxvSUFBd0c7Ozs7SUFTM0csMkJBQThKOzs7Ozs7OztJQUFoSixzQ0FBOEIsa0ZBQUE7Ozs7SUFDNUMsMkJBQThJOzs7Ozs7O0lBQWhJLHNDQUE0Qiw0RUFBQTs7OztJQUY5QyxnQ0FBeUw7SUFDckwsb0ZBQThKO0lBQzlKLG9GQUE4STtJQUNsSixpQkFBSzs7OztJQUhELDhEQUFtQztJQUF1RCw4SUFBMEY7SUFDbEUsZUFBMkI7SUFBM0IsZ0RBQTJCO0lBQzFDLGVBQTBCO0lBQTFCLCtDQUEwQjs7O0lBR2pJLGlEQUFvRTs7OztBRFhwRSxN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TUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOzZFQTNHUSxZQUFZLDJOQXFCTixjQUFjO29FQXJCcEIsWUFBWSxtRUFKVjtnQkFDUCxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7YUFDbkM7O1lDakNMLDhHQVdjO1lBRWQsOEdBVWM7WUFFZCwyREFHSztZQUVMLDJFQUFvRTs7WUFMWCxlQUFVO1lBQVYsbUNBQVU7WUFLdEQsZUFBbUI7WUFBbkIsd0NBQW1COzs7dUZES25CLFlBQVk7Y0FQeEIsU0FBUzsyQkFDSSxTQUFTLGFBRVI7b0JBQ1Asa0JBQWtCLGNBQWM7aUJBQ25DOztzQkF1QkksU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdG9yLFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBTa2lwU2VsZixcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHthZGRDbGFzcywgQXBwLCByZW1vdmVDbGFzcywgdHJpZ2dlckl0ZW1BY3Rpb24sIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgQVBQTFlfU1RZTEVTX1RZUEUsIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCwgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCwgc3R5bGVyIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL25hdi5wcm9wcyc7XG5cbmRlY2xhcmUgY29uc3QgXztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnbmF2IGFwcC1uYXYnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tbmF2JywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbmNvbnN0IE5hdkNsYXNzTWFwID0ge1xuICAgIHBpbGxzOiAnbmF2LXBpbGxzJyxcbiAgICB0YWJzOiAnbmF2LXRhYnMnLFxuICAgIG5hdmJhcjogJ25hdmJhci1uYXYnXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bU5hdl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoTmF2Q29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmF2Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlTmF2Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIHNlbGVjdGVkaXRlbTtcbiAgICBwdWJsaWMgdHlwZTtcbiAgICBwdWJsaWMgZGlzYWJsZU1lbnVDb250ZXh0OiBib29sZWFuO1xuICAgIHB1YmxpYyBsYXlvdXQ7XG5cbiAgICBwcml2YXRlIGFjdGl2ZU5hdkxJTm9kZTogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBpdGVtQWN0aW9uRm46IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgcGFnZVNjb3BlOiBhbnk7XG4gICAgcHJpdmF0ZSBnZXQgYWN0aXZlUGFnZU5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcC5hY3RpdmVQYWdlTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSB1c2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQ6IFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgQEF0dHJpYnV0ZSgnc2VsZWN0LmV2ZW50Jykgc2VsZWN0RXZlbnRDQlxuICAgICkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5DT05UQUlORVIpO1xuICAgICAgICB0aGlzLmRpc2FibGVNZW51Q29udGV4dCA9ICEhc2VsZWN0RXZlbnRDQjtcbiAgICAgICAgdGhpcy5wYWdlU2NvcGUgPSB0aGlzLnZpZXdQYXJlbnQ7XG4gICAgICAgIC8vIEZvciBzZWxlY3RpbmcgdGhlIGl0ZW0gb24gbG9hZFxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5ub2RlcyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghXy5pc0VtcHR5KHRoaXMubm9kZXMpKSB7XG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1Gb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdldEl0ZW0gPSAobm9kZXMsIGlzTWVudVdpZGdldD8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgXy5mb3JFYWNoKG5vZGVzLCAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1Gb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkaXRlbSA9IGlzTWVudVdpZGdldCA/IF8ub21pdChpdGVtLCBbJ2NoaWxkcmVuJywgJ3ZhbHVlJ10pIDogaXRlbS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3NlbGVjdCcsIHskZXZlbnQ6IHt9LCAkaXRlbTogaXRlbS52YWx1ZX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgdGhlIGFjdGlvbiBhc3NvY2lhdGVkIHdpdGggYWN0aXZlIGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBfc2VsZWN0ZWQgaXMgdXNlZCB0byBhZGQgYWN0aXZlIGNsYXNzIGZvciBuYXYgaXRlbS4gSWYgd2UgaGF2ZSBjaGlsZHJlbiBpbnNpZGUgbmF2IHdpZGdldCB0aGVuIGl0IGlzIG5vdCByZXF1aXJlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTWVudVdpZGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFfLmlzRW1wdHkoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRJdGVtKGl0ZW0uY2hpbGRyZW4sICdtZW51Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZ2V0SXRlbSh0aGlzLm5vZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzZXROYXZUeXBlKHR5cGUpIHtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCBOYXZDbGFzc01hcFt0eXBlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXROYXZMYXlvdXQobGF5b3V0KSB7XG4gICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgYG5hdi0ke2xheW91dH1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OYXZTZWxlY3QoJGV2ZW50OiBFdmVudCwgaXRlbTogYW55LCBsaVJlZjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gXy5maW5kKHRoaXMubm9kZXMsICdfc2VsZWN0ZWQnKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgZGVsZXRlIHNlbGVjdGVkSXRlbS5fc2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVOYXZMSU5vZGUpIHtcbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuYWN0aXZlTmF2TElOb2RlLCAnYWN0aXZlJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU5hdkxJTm9kZSA9IGxpUmVmO1xuXG4gICAgICAgIGFkZENsYXNzKGxpUmVmLCAnYWN0aXZlJyk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZGl0ZW0gPSBpdGVtLnZhbHVlO1xuXG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnc2VsZWN0JywgeyRldmVudCwgJGl0ZW06IGl0ZW0udmFsdWV9KTtcbiAgICAgICAgLy8gVHJpZ2dlciB0aGUgYWN0aW9uIGFzc29jaWF0ZWQgd2l0aCBhY3RpdmUgaXRlbVxuICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBpdGVtKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXROYXZUeXBlKHRoaXMudHlwZSk7XG4gICAgICAgIHRoaXMuc2V0TmF2TGF5b3V0KHRoaXMubGF5b3V0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbnZva2VkIGZyb20gdGhlIG1lbnUgd2lkZ2V0IHdoZW4gYSBtZW51IGl0ZW0gaXMgc2VsZWN0ZWQuXG4gICAgICogQHBhcmFtICRldmVudFxuICAgICAqIEBwYXJhbSB3aWRnZXRcbiAgICAgKiBAcGFyYW0gJGl0ZW1cbiAgICAgKi9cbiAgICBvbk1lbnVJdGVtU2VsZWN0KCRldmVudCwgd2lkZ2V0LCAkaXRlbSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkaXRlbSA9IF8ub21pdCgkaXRlbSwgWydjaGlsZHJlbicsICd2YWx1ZSddKTtcbiAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdzZWxlY3QnLCB7JGV2ZW50LCAkaXRlbTogdGhpcy5zZWxlY3RlZGl0ZW19KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVSZWYgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IHdtTWVudSBkcm9wZG93blxuICAgICAgICAgdHlwZT1cImFuY2hvclwiXG4gICAgICAgICBhdXRvY2xvc2UuYmluZD1cImF1dG9jbG9zZVwiXG4gICAgICAgICBpY29uY2xhc3MuYmluZD1cIml0ZW0uaWNvblwiXG4gICAgICAgICBhdXRvb3Blbi5iaW5kPVwiYXV0b29wZW5cIlxuICAgICAgICAgY2FwdGlvbi5iaW5kPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICBkYXRhc2V0LmJpbmQ9XCJpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgIGJhZGdldmFsdWUuYmluZD1cIml0ZW0uYmFkZ2VcIlxuICAgICAgICAgaWNvbnBvc2l0aW9uLmJpbmQ9XCJpY29ucG9zaXRpb25cIlxuICAgICAgICAgc2VsZWN0LmV2ZW50PVwib25NZW51SXRlbVNlbGVjdCgkZXZlbnQsIHdpZGdldCwgJGl0ZW0pXCI+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FuY2hvclJlZiBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1saVJlZj1cImxpUmVmXCI+XG4gICAgPGEgd21BbmNob3JcbiAgICAgICBbZGlzYWJsZU1lbnVDb250ZXh0XT1cImRpc2FibGVNZW51Q29udGV4dCB8fCAhIWl0ZW0uYWN0aW9uXCJcbiAgICAgICBbd21OYXZpZ2F0aW9uQ29udHJvbF09XCJpdGVtLmxpbmtcIlxuICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLl9zZWxlY3RlZCB8fCAoIWlzYWN0aXZlICYmIGl0ZW0ubGluayA9PT0gJyMvJyArIGFjdGl2ZVBhZ2VOYW1lKSA/ICdwYWdlJyA6ICcnXCJcbiAgICAgICBjYXB0aW9uLmJpbmQ9XCJpdGVtLmxhYmVsXCJcbiAgICAgICBpY29uY2xhc3MuYmluZD1cIml0ZW0uaWNvblwiXG4gICAgICAgYmFkZ2V2YWx1ZS5iaW5kPVwiaXRlbS5iYWRnZVwiXG4gICAgICAgaWNvbnBvc2l0aW9uLmJpbmQ9XCJpY29ucG9zaXRpb25cIlxuICAgICAgIGNsaWNrLmV2ZW50PVwib25OYXZTZWxlY3QoJGV2ZW50LCBpdGVtLCBsaVJlZilcIj48L2E+XG48L25nLXRlbXBsYXRlPlxuXG48bGkgY2xhc3M9XCJhcHAtbmF2LWl0ZW0ge3tpdGVtLmNsYXNzfX1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub2RlczsgbGV0IGluZGV4ID0gaW5kZXg7XCIgI2xpUmVmIFtuZ0NsYXNzXT1cInthY3RpdmU6IGl0ZW0uX3NlbGVjdGVkIHx8ICghaXNhY3RpdmUgJiYgaXRlbS5saW5rID09PSAnIy8nICsgYWN0aXZlUGFnZU5hbWUpfVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYW5jaG9yUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtLCBpbmRleDppbmRleCwgbGlSZWY6IGxpUmVmfVwiICpuZ0lmPVwiIWl0ZW0uY2hpbGRyZW4ubGVuZ3RoXCI+PC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51UmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtLCBpbmRleDppbmRleH1cIiAgKm5nSWY9XCJpdGVtLmNoaWxkcmVuLmxlbmd0aFwiPjwvbmctY29udGFpbmVyPlxuPC9saT5cblxuPG5nLWNvbnRlbnQgKm5nSWY9XCIhbm9kZXMubGVuZ3RoXCIgc2VsZWN0PVwiW3dtTmF2SXRlbV1cIj48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9uYXZpZ2F0aW9uL21lbnUvc3JjL25hdi9uYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL25hdmlnYXRpb24vbWVudS9zcmMvbmF2L25hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXZDLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSwyQkFBMkIsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFNUcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0lDTHRDLHlCQVVrRTs7O0lBSWxFLHVCQVFzRDs7OztJQVBuRCxrRkFBMEQscUNBQUE7SUFFMUQsb0lBQXdHOzs7O0lBUzNHLDJCQUE4Sjs7Ozs7Ozs7SUFBaEosc0NBQThCLGtGQUFBOzs7O0lBQzVDLDJCQUE4STs7Ozs7OztJQUFoSSxzQ0FBNEIsNEVBQUE7Ozs7SUFGOUMsZ0NBQXlMO0lBQ3JMLG9GQUE4SjtJQUM5SixvRkFBOEk7SUFDbEosaUJBQUs7Ozs7SUFIRCw4REFBbUM7SUFBdUQsOElBQTBGO0lBQ2xFLGVBQTJCO0lBQTNCLGdEQUEyQjtJQUMxQyxlQUEwQjtJQUExQiwrQ0FBMEI7OztJQUdqSSxpREFBb0U7Ozs7QURyQnBFLE1B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QUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUs7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7NkVBM0dRLFlBQVksMk5BcUJOLGNBQWM7b0VBckJwQixZQUFZLG1FQUpWO2dCQUNQLGtCQUFrQixDQUFDLFlBQVksQ0FBQzthQUNuQzs7WUN4QkwsOEdBWWM7WUFFZCw4R0FVYztZQUVkLDJEQUdLO1lBRUwsMkVBQW9FOztZQUxYLGVBQVU7WUFBVixtQ0FBVTtZQUt0RCxlQUFtQjtZQUFuQix3Q0FBbUI7Ozt1RkRMbkIsWUFBWTtjQVB4QixTQUFTOzJCQUNJLFNBQVMsYUFFUjtvQkFDUCxrQkFBa0IsY0FBYztpQkFDbkM7O3NCQXVCSSxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0F0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHthZGRDbGFzcywgQXBwLCByZW1vdmVDbGFzcywgdHJpZ2dlckl0ZW1BY3Rpb24sIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtBUFBMWV9TVFlMRVNfVFlQRSwgRGF0YXNldEF3YXJlTmF2Q29tcG9uZW50LCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlcn0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzZSc7XG5cbmltcG9ydCB7cmVnaXN0ZXJQcm9wc30gZnJvbSAnLi9uYXYucHJvcHMnO1xuXG5kZWNsYXJlIGNvbnN0IF87XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ25hdiBhcHAtbmF2JztcbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLW5hdicsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5jb25zdCBOYXZDbGFzc01hcCA9IHtcbiAgICBwaWxsczogJ25hdi1waWxscycsXG4gICAgdGFiczogJ25hdi10YWJzJyxcbiAgICBuYXZiYXI6ICduYXZiYXItbmF2J1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21OYXZdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKE5hdkNvbXBvbmVudClcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5hdkNvbXBvbmVudCBleHRlbmRzIERhdGFzZXRBd2FyZU5hdkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBzZWxlY3RlZGl0ZW07XG4gICAgcHVibGljIHR5cGU7XG4gICAgcHVibGljIGRpc2FibGVNZW51Q29udGV4dDogYm9vbGVhbjtcbiAgICBwdWJsaWMgbGF5b3V0O1xuICAgIHB1YmxpYyBzaG93b25ob3ZlcjogYm9vbGVhbjtcbiAgICBwcml2YXRlIGFjdGl2ZU5hdkxJTm9kZTogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBpdGVtQWN0aW9uRm46IEZ1bmN0aW9uO1xuICAgIHByaXZhdGUgcGFnZVNjb3BlOiBhbnk7XG4gICAgcHJpdmF0ZSBnZXQgYWN0aXZlUGFnZU5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcC5hY3RpdmVQYWdlTmFtZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSB1c2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQ6IFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dCxcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgQEF0dHJpYnV0ZSgnc2VsZWN0LmV2ZW50Jykgc2VsZWN0RXZlbnRDQlxuICAgICkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLCBBUFBMWV9TVFlMRVNfVFlQRS5DT05UQUlORVIpO1xuICAgICAgICB0aGlzLmRpc2FibGVNZW51Q29udGV4dCA9ICEhc2VsZWN0RXZlbnRDQjtcbiAgICAgICAgdGhpcy5wYWdlU2NvcGUgPSB0aGlzLnZpZXdQYXJlbnQ7XG4gICAgICAgIC8vIEZvciBzZWxlY3RpbmcgdGhlIGl0ZW0gb24gbG9hZFxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5ub2RlcyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghXy5pc0VtcHR5KHRoaXMubm9kZXMpKSB7XG4gICAgICAgICAgICAgICAgbGV0IGl0ZW1Gb3VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGdldEl0ZW0gPSAobm9kZXMsIGlzTWVudVdpZGdldD8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgXy5mb3JFYWNoKG5vZGVzLCAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1Gb3VuZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkaXRlbSA9IGlzTWVudVdpZGdldCA/IF8ub21pdChpdGVtLCBbJ2NoaWxkcmVuJywgJ3ZhbHVlJ10pIDogaXRlbS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3NlbGVjdCcsIHskZXZlbnQ6IHt9LCAkaXRlbTogaXRlbS52YWx1ZX0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRyaWdnZXIgdGhlIGFjdGlvbiBhc3NvY2lhdGVkIHdpdGggYWN0aXZlIGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBfc2VsZWN0ZWQgaXMgdXNlZCB0byBhZGQgYWN0aXZlIGNsYXNzIGZvciBuYXYgaXRlbS4gSWYgd2UgaGF2ZSBjaGlsZHJlbiBpbnNpZGUgbmF2IHdpZGdldCB0aGVuIGl0IGlzIG5vdCByZXF1aXJlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTWVudVdpZGdldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uX3NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFfLmlzRW1wdHkoaXRlbS5jaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRJdGVtKGl0ZW0uY2hpbGRyZW4sICdtZW51Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgZ2V0SXRlbSh0aGlzLm5vZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgIH1cblxuXG4gICAgcHJpdmF0ZSBzZXROYXZUeXBlKHR5cGUpIHtcbiAgICAgICAgYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCBOYXZDbGFzc01hcFt0eXBlXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXROYXZMYXlvdXQobGF5b3V0KSB7XG4gICAgICAgIGFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgYG5hdi0ke2xheW91dH1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25OYXZTZWxlY3QoJGV2ZW50OiBFdmVudCwgaXRlbTogYW55LCBsaVJlZjogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gXy5maW5kKHRoaXMubm9kZXMsICdfc2VsZWN0ZWQnKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgZGVsZXRlIHNlbGVjdGVkSXRlbS5fc2VsZWN0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hY3RpdmVOYXZMSU5vZGUpIHtcbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKHRoaXMuYWN0aXZlTmF2TElOb2RlLCAnYWN0aXZlJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZU5hdkxJTm9kZSA9IGxpUmVmO1xuXG4gICAgICAgIGFkZENsYXNzKGxpUmVmLCAnYWN0aXZlJyk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZGl0ZW0gPSBpdGVtLnZhbHVlO1xuXG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnc2VsZWN0JywgeyRldmVudCwgJGl0ZW06IGl0ZW0udmFsdWV9KTtcbiAgICAgICAgLy8gVHJpZ2dlciB0aGUgYWN0aW9uIGFzc29jaWF0ZWQgd2l0aCBhY3RpdmUgaXRlbVxuICAgICAgICB0cmlnZ2VySXRlbUFjdGlvbih0aGlzLCBpdGVtKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXROYXZUeXBlKHRoaXMudHlwZSk7XG4gICAgICAgIHRoaXMuc2V0TmF2TGF5b3V0KHRoaXMubGF5b3V0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpbnZva2VkIGZyb20gdGhlIG1lbnUgd2lkZ2V0IHdoZW4gYSBtZW51IGl0ZW0gaXMgc2VsZWN0ZWQuXG4gICAgICogQHBhcmFtICRldmVudFxuICAgICAqIEBwYXJhbSB3aWRnZXRcbiAgICAgKiBAcGFyYW0gJGl0ZW1cbiAgICAgKi9cbiAgICBvbk1lbnVJdGVtU2VsZWN0KCRldmVudCwgd2lkZ2V0LCAkaXRlbSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkaXRlbSA9IF8ub21pdCgkaXRlbSwgWydjaGlsZHJlbicsICd2YWx1ZSddKTtcbiAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdzZWxlY3QnLCB7JGV2ZW50LCAkaXRlbTogdGhpcy5zZWxlY3RlZGl0ZW19KTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI21lbnVSZWYgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5cbiAgICA8ZGl2IHdtTWVudSBkcm9wZG93blxuICAgICAgICAgdHlwZT1cImFuY2hvclwiXG4gICAgICAgICBhdXRvY2xvc2UuYmluZD1cImF1dG9jbG9zZVwiXG4gICAgICAgICBpY29uY2xhc3MuYmluZD1cIml0ZW0uaWNvblwiXG4gICAgICAgICBhdXRvb3Blbi5iaW5kPVwiYXV0b29wZW5cIlxuICAgICAgICAgY2FwdGlvbi5iaW5kPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICBkYXRhc2V0LmJpbmQ9XCJpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgIGJhZGdldmFsdWUuYmluZD1cIml0ZW0uYmFkZ2VcIlxuICAgICAgICAgaWNvbnBvc2l0aW9uLmJpbmQ9XCJpY29ucG9zaXRpb25cIlxuICAgICAgICAgc2hvd29uaG92ZXIuYmluZD1cInNob3dvbmhvdmVyXCJcbiAgICAgICAgIHNlbGVjdC5ldmVudD1cIm9uTWVudUl0ZW1TZWxlY3QoJGV2ZW50LCB3aWRnZXQsICRpdGVtKVwiPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhbmNob3JSZWYgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIiBsZXQtbGlSZWY9XCJsaVJlZlwiPlxuICAgIDxhIHdtQW5jaG9yXG4gICAgICAgW2Rpc2FibGVNZW51Q29udGV4dF09XCJkaXNhYmxlTWVudUNvbnRleHQgfHwgISFpdGVtLmFjdGlvblwiXG4gICAgICAgW3dtTmF2aWdhdGlvbkNvbnRyb2xdPVwiaXRlbS5saW5rXCJcbiAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5fc2VsZWN0ZWQgfHwgKCFpc2FjdGl2ZSAmJiBpdGVtLmxpbmsgPT09ICcjLycgKyBhY3RpdmVQYWdlTmFtZSkgPyAncGFnZScgOiAnJ1wiXG4gICAgICAgY2FwdGlvbi5iaW5kPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgaWNvbmNsYXNzLmJpbmQ9XCJpdGVtLmljb25cIlxuICAgICAgIGJhZGdldmFsdWUuYmluZD1cIml0ZW0uYmFkZ2VcIlxuICAgICAgIGljb25wb3NpdGlvbi5iaW5kPVwiaWNvbnBvc2l0aW9uXCJcbiAgICAgICBjbGljay5ldmVudD1cIm9uTmF2U2VsZWN0KCRldmVudCwgaXRlbSwgbGlSZWYpXCI+PC9hPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGxpIGNsYXNzPVwiYXBwLW5hdi1pdGVtIHt7aXRlbS5jbGFzc319XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygbm9kZXM7IGxldCBpbmRleCA9IGluZGV4O1wiICNsaVJlZiBbbmdDbGFzc109XCJ7YWN0aXZlOiBpdGVtLl9zZWxlY3RlZCB8fCAoIWlzYWN0aXZlICYmIGl0ZW0ubGluayA9PT0gJyMvJyArIGFjdGl2ZVBhZ2VOYW1lKX1cIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFuY2hvclJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgaW5kZXg6aW5kZXgsIGxpUmVmOiBsaVJlZn1cIiAqbmdJZj1cIiFpdGVtLmNoaWxkcmVuLmxlbmd0aFwiPjwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVudVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgaW5kZXg6aW5kZXh9XCIgICpuZ0lmPVwiaXRlbS5jaGlsZHJlbi5sZW5ndGhcIj48L25nLWNvbnRhaW5lcj5cbjwvbGk+XG5cbjxuZy1jb250ZW50ICpuZ0lmPVwiIW5vZGVzLmxlbmd0aFwiIHNlbGVjdD1cIlt3bU5hdkl0ZW1dXCI+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -19,8 +19,9 @@ export const registerProps = () => {
|
|
|
19
19
|
['name', PROP_STRING],
|
|
20
20
|
['orderby', PROP_STRING],
|
|
21
21
|
['show', { value: true, ...PROP_BOOLEAN }],
|
|
22
|
+
['showonhover', { value: false, ...PROP_BOOLEAN }],
|
|
22
23
|
['type', PROP_STRING],
|
|
23
24
|
['userrole', PROP_STRING]
|
|
24
25
|
]));
|
|
25
26
|
};
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL25hdmlnYXRpb24vbWVudS9zcmMvbmF2L25hdi5wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUM5QixRQUFRLENBQ0osUUFBUSxFQUNSLElBQUksR0FBRyxDQUNIO1FBQ0ksQ0FBQyxXQUFXLEVBQUUsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDaEQsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7UUFDOUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQ3RCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztRQUNyQixDQUFDLGNBQWMsRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztRQUNqRCxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDekIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQzFCLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztRQUN6QixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUM7UUFDekIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQzFCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQztRQUM3QixDQUFDLFlBQVksRUFBRSxXQUFXLENBQUM7UUFDM0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQzFCLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztRQUMzQixDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUM7UUFDdkIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO1FBQ3JCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztRQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztRQUN4QyxDQUFDLGFBQWEsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEVBQUMsQ0FBQztRQUNoRCxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7UUFDckIsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO0tBQzVCLENBQ0osQ0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQUk9QX0FOWSwgUFJPUF9CT09MRUFOLCBQUk9QX1NUUklORywgcmVnaXN0ZXJ9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLW5hdicsXG4gICAgICAgIG5ldyBNYXAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgWydhdXRvY2xvc2UnLCB7dmFsdWU6ICdhbHdheXMnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICAgICAgICAgIFsnYXV0b29wZW4nLCB7dmFsdWU6ICduZXZlcicsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgICAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2RhdGFzZXQnLCBQUk9QX0FOWV0sXG4gICAgICAgICAgICAgICAgWydpY29ucG9zaXRpb24nLCB7dmFsdWU6ICdsZWZ0JywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgICAgICAgICBbJ2lzYWN0aXZlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaXRlbWxhYmVsJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnaXRlbWxpbmsnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpdGVtaWNvbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2l0ZW1jbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2l0ZW1jaGlsZHJlbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ2l0ZW1hY3Rpb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpdGVtYmFkZ2UnLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydpdGVtdGFyZ2V0JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnbGF5b3V0JywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgICAgICAgICBbJ29yZGVyYnknLCBQUk9QX1NUUklOR10sXG4gICAgICAgICAgICAgICAgWydzaG93Jywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgICAgICAgICBbJ3Nob3dvbmhvdmVyJywge3ZhbHVlOiBmYWxzZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgICAgICAgICAgWyd0eXBlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICAgICAgICAgIFsndXNlcnJvbGUnLCBQUk9QX1NUUklOR11cbiAgICAgICAgICAgIF1cbiAgICAgICAgKVxuICAgICk7XG59O1xuIl19
|
|
@@ -34,6 +34,7 @@ const registerProps$2 = () => {
|
|
|
34
34
|
['name', PROP_STRING],
|
|
35
35
|
['orderby', PROP_STRING],
|
|
36
36
|
['show', { value: true, ...PROP_BOOLEAN }],
|
|
37
|
+
['showonhover', { value: false, ...PROP_BOOLEAN }],
|
|
37
38
|
['type', PROP_STRING],
|
|
38
39
|
['userrole', PROP_STRING]
|
|
39
40
|
]));
|
|
@@ -187,7 +188,7 @@ class NavComponent extends DatasetAwareNavComponent {
|
|
|
187
188
|
static { this.ɵfac = function NavComponent_Factory(t) { return new (t || NavComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.UserDefinedExecutionContext), i0.ɵɵdirectiveInject(i2.App), i0.ɵɵinjectAttribute('select.event')); }; }
|
|
188
189
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NavComponent, selectors: [["", "wmNav", ""]], features: [i0.ɵɵProvidersFeature([
|
|
189
190
|
provideAsWidgetRef(NavComponent)
|
|
190
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$3, ngContentSelectors: _c5, decls: 6, vars: 2, consts: [["menuRef", ""], ["anchorRef", ""], [3, "class", "ngClass", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["wmMenu", "", "dropdown", "", "type", "anchor", "autoclose.bind", "autoclose", "iconclass.bind", "item.icon", "autoopen.bind", "autoopen", "caption.bind", "item.label", "dataset.bind", "item.children", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "select.event", "onMenuItemSelect($event, widget, $item)"], ["wmAnchor", "", "caption.bind", "item.label", "iconclass.bind", "item.icon", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "click.event", "onNavSelect($event, item, liRef)", 3, "disableMenuContext", "wmNavigationControl"], [3, "ngClass"], ["liRef", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$3, ngContentSelectors: _c5, decls: 6, vars: 2, consts: [["menuRef", ""], ["anchorRef", ""], [3, "class", "ngClass", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["wmMenu", "", "dropdown", "", "type", "anchor", "autoclose.bind", "autoclose", "iconclass.bind", "item.icon", "autoopen.bind", "autoopen", "caption.bind", "item.label", "dataset.bind", "item.children", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "showonhover.bind", "showonhover", "select.event", "onMenuItemSelect($event, widget, $item)"], ["wmAnchor", "", "caption.bind", "item.label", "iconclass.bind", "item.icon", "badgevalue.bind", "item.badge", "iconposition.bind", "iconposition", "click.event", "onNavSelect($event, item, liRef)", 3, "disableMenuContext", "wmNavigationControl"], [3, "ngClass"], ["liRef", ""], [3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function NavComponent_Template(rf, ctx) { if (rf & 1) {
|
|
191
192
|
i0.ɵɵprojectionDef(_c4);
|
|
192
193
|
i0.ɵɵtemplate(0, NavComponent_ng_template_0_Template, 1, 0, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
193
194
|
i0.ɵɵtemplate(2, NavComponent_ng_template_2_Template, 1, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
|
|
@@ -204,7 +205,7 @@ class NavComponent extends DatasetAwareNavComponent {
|
|
|
204
205
|
type: Component,
|
|
205
206
|
args: [{ selector: '[wmNav]', providers: [
|
|
206
207
|
provideAsWidgetRef(NavComponent)
|
|
207
|
-
], template: "<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n" }]
|
|
208
|
+
], template: "<ng-template #menuRef let-item=\"item\" let-index=\"index\">\n <div wmMenu dropdown\n type=\"anchor\"\n autoclose.bind=\"autoclose\"\n iconclass.bind=\"item.icon\"\n autoopen.bind=\"autoopen\"\n caption.bind=\"item.label\"\n dataset.bind=\"item.children\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n showonhover.bind=\"showonhover\"\n select.event=\"onMenuItemSelect($event, widget, $item)\"></div>\n</ng-template>\n\n<ng-template #anchorRef let-item=\"item\" let-index=\"index\" let-liRef=\"liRef\">\n <a wmAnchor\n [disableMenuContext]=\"disableMenuContext || !!item.action\"\n [wmNavigationControl]=\"item.link\"\n [attr.aria-current]=\"item._selected || (!isactive && item.link === '#/' + activePageName) ? 'page' : ''\"\n caption.bind=\"item.label\"\n iconclass.bind=\"item.icon\"\n badgevalue.bind=\"item.badge\"\n iconposition.bind=\"iconposition\"\n click.event=\"onNavSelect($event, item, liRef)\"></a>\n</ng-template>\n\n<li class=\"app-nav-item {{item.class}}\" *ngFor=\"let item of nodes; let index = index;\" #liRef [ngClass]=\"{active: item._selected || (!isactive && item.link === '#/' + activePageName)}\">\n <ng-container [ngTemplateOutlet]=\"anchorRef\" [ngTemplateOutletContext]=\"{item: item, index:index, liRef: liRef}\" *ngIf=\"!item.children.length\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"menuRef\" [ngTemplateOutletContext]=\"{item: item, index:index}\" *ngIf=\"item.children.length\"></ng-container>\n</li>\n\n<ng-content *ngIf=\"!nodes.length\" select=\"[wmNavItem]\"></ng-content>\n" }]
|
|
208
209
|
}], function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: i2.UserDefinedExecutionContext }, { type: i2.App }, { type: undefined, decorators: [{
|
|
209
210
|
type: Attribute,
|
|
210
211
|
args: ['select.event']
|
|
@@ -238,6 +239,7 @@ const registerProps$1 = () => {
|
|
|
238
239
|
['orderby', PROP_STRING],
|
|
239
240
|
['shortcutkey', PROP_STRING],
|
|
240
241
|
['show', { value: true, ...PROP_BOOLEAN }],
|
|
242
|
+
['showonhover', { value: false, ...PROP_BOOLEAN }],
|
|
241
243
|
['tabindex', { value: 0, ...PROP_NUMBER }],
|
|
242
244
|
['type', { value: 'menu', ...PROP_STRING }],
|
|
243
245
|
['userrole', PROP_STRING]
|
|
@@ -293,6 +295,8 @@ const KEYBOARD_MOVEMENTS = {
|
|
|
293
295
|
MOVE_RIGHT: 'RIGHT-ARROW',
|
|
294
296
|
MOVE_DOWN: 'DOWN-ARROW',
|
|
295
297
|
ON_ENTER: 'ENTER',
|
|
298
|
+
ON_MOUSE_ENTER: 'MOUSE-ENTER',
|
|
299
|
+
ON_MOUSE_LEAVE: 'MOUSE-LEAVE',
|
|
296
300
|
ON_TAB: 'TAB',
|
|
297
301
|
ON_SHIFT_TAB: 'SHIFT-TAB',
|
|
298
302
|
ON_ESCAPE: 'ESC'
|
|
@@ -366,10 +370,10 @@ class MenuComponent extends DatasetAwareNavComponent {
|
|
|
366
370
|
this.$element.find('> ul[wmmenudropdown] li.app-menu-item').first().find('> a').focus();
|
|
367
371
|
}
|
|
368
372
|
}
|
|
369
|
-
else if (eventAction === KEY_MOVEMENTS.ON_ENTER) {
|
|
373
|
+
else if (eventAction === KEY_MOVEMENTS.ON_ENTER || (eventAction === KEY_MOVEMENTS.ON_MOUSE_ENTER && this.showonhover)) {
|
|
370
374
|
this.bsDropdown.toggle(true);
|
|
371
375
|
}
|
|
372
|
-
else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT], eventAction)) {
|
|
376
|
+
else if (_.includes([KEY_MOVEMENTS.MOVE_UP, KEY_MOVEMENTS.MOVE_LEFT, KEY_MOVEMENTS.ON_MOUSE_LEAVE], eventAction)) {
|
|
373
377
|
this.bsDropdown.hide();
|
|
374
378
|
}
|
|
375
379
|
$event.preventDefault();
|
|
@@ -487,7 +491,7 @@ class MenuComponent extends DatasetAwareNavComponent {
|
|
|
487
491
|
}
|
|
488
492
|
static { this.ɵfac = function MenuComponent_Factory(t) { return new (t || MenuComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.UserDefinedExecutionContext), i0.ɵɵdirectiveInject(i2.App), i0.ɵɵdirectiveInject(i2$1.BsDropdownDirective, 10), i0.ɵɵdirectiveInject(NavComponent, 8), i0.ɵɵinjectAttribute('select.event')); }; }
|
|
489
493
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuComponent, selectors: [["", "wmMenu", ""]], hostBindings: function MenuComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
490
|
-
i0.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
|
|
494
|
+
i0.ɵɵlistener("onShown", function MenuComponent_onShown_HostBindingHandler() { return ctx.onShow(); })("onHidden", function MenuComponent_onHidden_HostBindingHandler() { return ctx.onHide(); })("keydown.arrowup", function MenuComponent_keydown_arrowup_HostBindingHandler($event) { return ctx.onKeyDown($event, "UP-ARROW"); })("mouseenter", function MenuComponent_mouseenter_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-ENTER"); })("mouseleave", function MenuComponent_mouseleave_HostBindingHandler($event) { return ctx.onKeyDown($event, "MOUSE-LEAVE"); })("keydown.arrowdown", function MenuComponent_keydown_arrowdown_HostBindingHandler($event) { return ctx.onKeyDown($event, "DOWN-ARROW"); })("keydown.arrowright", function MenuComponent_keydown_arrowright_HostBindingHandler($event) { return ctx.onKeyDown($event, "RIGHT-ARROW"); })("keydown.arrowleft", function MenuComponent_keydown_arrowleft_HostBindingHandler($event) { return ctx.onKeyDown($event, "LEFT-ARROW"); })("keydown.enter", function MenuComponent_keydown_enter_HostBindingHandler($event) { return ctx.onKeyDown($event, "ENTER"); });
|
|
491
495
|
} }, features: [i0.ɵɵProvidersFeature([
|
|
492
496
|
provideAsWidgetRef(MenuComponent)
|
|
493
497
|
]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$2, decls: 6, vars: 2, consts: [["menuTemplate", ""], ["innerTemplate", ""], [4, "ngIf", "ngIfElse"], ["wmMenuDropdown", "", "aria-labelledby", "dropdownmenu", "role", "menubar", 3, "items", "ngClass", "class", 4, "dropdownMenu"], ["wmButton", "", "dropdownToggle", "", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition"], [1, "pull-right", "caret", "fa", 3, "ngClass"], [1, "caption", 3, "textContent"], ["wmAnchor", "", "dropdownToggle", "", "href", "javascript:void(0);", "role", "button", "aria-haspopup", "true", "aria-expanded", "false", "hint.bind", "hint", "shortcutkey.bind", "shortcutkey", "tabindex.bind", "tabindex", "caption.bind", "caption", "iconclass.bind", "iconclass", "iconposition.bind", "iconposition", "badgevalue.bind", "badgevalue"], ["wmMenuDropdown", "", "aria-labelledby", "dropdownmenu", "role", "menubar", 3, "items", "ngClass"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -524,6 +528,12 @@ class MenuComponent extends DatasetAwareNavComponent {
|
|
|
524
528
|
}], onKeyDown: [{
|
|
525
529
|
type: HostListener,
|
|
526
530
|
args: ['keydown.arrowup', ['$event', '"UP-ARROW"']]
|
|
531
|
+
}, {
|
|
532
|
+
type: HostListener,
|
|
533
|
+
args: ['mouseenter', ['$event', '"MOUSE-ENTER"']]
|
|
534
|
+
}, {
|
|
535
|
+
type: HostListener,
|
|
536
|
+
args: ['mouseleave', ['$event', '"MOUSE-LEAVE"']]
|
|
527
537
|
}, {
|
|
528
538
|
type: HostListener,
|
|
529
539
|
args: ['keydown.arrowdown', ['$event', '"DOWN-ARROW"']]
|