@datarailsshared/datarailsshared 1.5.393 → 1.5.397
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datarailsshared-datarailsshared-1.5.397.tgz +0 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +18 -18
- package/esm2022/lib/date-tags/date-tag.component.mjs +99 -23
- package/esm2022/lib/date-tags/date-tag.module.mjs +27 -26
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +40 -26
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +43 -25
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +40 -26
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +26 -12
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +40 -26
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +40 -26
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +16 -16
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +13 -12
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +18 -15
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +71 -54
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +37 -32
- package/esm2022/lib/dr-accordion/accordion.component.mjs +15 -10
- package/esm2022/lib/dr-accordion/accordion.module.mjs +20 -19
- package/esm2022/lib/dr-alert/dr-alert.component.mjs +44 -16
- package/esm2022/lib/dr-alert/dr-alert.module.mjs +14 -13
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +98 -23
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +13 -12
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +9 -9
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +43 -17
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +14 -13
- package/esm2022/lib/dr-chat/chat.component.mjs +115 -38
- package/esm2022/lib/dr-chat/chat.module.mjs +27 -26
- package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +21 -11
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +128 -37
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +126 -41
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +11 -11
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +6 -6
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +40 -11
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-text/chat-message-text.component.mjs +22 -9
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +86 -20
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +9 -7
- package/esm2022/lib/dr-chip/dr-chip.component.mjs +49 -15
- package/esm2022/lib/dr-code-editor/components/code-editor-hint-wrapper.component.mjs +14 -10
- package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +62 -57
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +48 -20
- package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +14 -13
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +69 -41
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +14 -13
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +265 -13
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +154 -16
- package/esm2022/lib/dr-dialog/dialog.module.mjs +14 -13
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +9 -9
- package/esm2022/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.mjs +29 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +9 -9
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +175 -56
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +98 -87
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +32 -15
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +55 -18
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +92 -25
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +13 -12
- package/esm2022/lib/dr-error/dr-error.component.mjs +48 -24
- package/esm2022/lib/dr-error/dr-error.module.mjs +14 -13
- package/esm2022/lib/dr-inputs/button/button.component.mjs +88 -45
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +53 -28
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +32 -32
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +67 -42
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +72 -32
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +111 -42
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +99 -10
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +9 -9
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +6 -6
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +168 -84
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +64 -63
- package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +26 -16
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +13 -13
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +243 -104
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +77 -20
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +23 -17
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +64 -22
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +53 -21
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +40 -28
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +51 -41
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +14 -10
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +16 -14
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +16 -7
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +13 -12
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +4 -1
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +71 -40
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +51 -49
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +13 -12
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +25 -13
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +41 -17
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +42 -27
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +14 -13
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +6 -6
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +17 -7
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +25 -20
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +13 -12
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +33 -25
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +118 -30
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +14 -13
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +74 -33
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +14 -13
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +72 -19
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +14 -13
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +6 -6
- package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +48 -10
- package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +19 -18
- package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +9 -9
- package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +23 -14
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +76 -9
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +63 -25
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +41 -39
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +14 -13
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +211 -19
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +52 -15
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +14 -13
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +21 -21
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +6 -6
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +11 -11
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +9 -9
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +6 -6
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +67 -28
- package/esm2022/lib/list-tags/list-tag.component.mjs +57 -17
- package/esm2022/lib/list-tags/list-tag.module.mjs +14 -13
- package/esm2022/lib/models/dropdown.mjs +1 -1
- package/esm2022/lib/models/popover.mjs +1 -1
- package/esm2022/lib/stepper/stepper.component.mjs +225 -28
- package/esm2022/lib/stepper/stepper.module.mjs +13 -12
- package/esm2022/lib/utils/decorators.mjs +12 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +5786 -2724
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-dropdown/dr-dropdown-item/dr-dropdown-item.component.d.ts +8 -0
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +24 -22
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +16 -15
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +5 -4
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +23 -8
- package/lib/dr-popover/dr-popover-ref.d.ts +1 -0
- package/lib/dr-popover/dr-popover.service.d.ts +2 -1
- package/lib/models/dropdown.d.ts +13 -21
- package/lib/models/popover.d.ts +6 -3
- package/lib/utils/decorators.d.ts +1 -0
- package/package.json +5 -2
- package/public-api.d.ts +2 -2
- package/datarailsshared-datarailsshared-1.5.393.tgz +0 -0
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +0 -113
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +0 -15
|
@@ -1,55 +1,144 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EventEmitter, inject, Input, Output, ViewChild, } from '@angular/core';
|
|
11
|
+
import { DrPopoverRef } from '../models/popover';
|
|
12
|
+
import { first, merge, Subject, takeUntil } from 'rxjs';
|
|
13
|
+
import { DropdownInstanceService } from './dr-dropdown.service';
|
|
14
|
+
import { Debounce } from '../utils/decorators';
|
|
3
15
|
import * as i0 from "@angular/core";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
16
|
+
const _c0 = ["menuContainer"];
|
|
17
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_1_i_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
i0.ɵɵelement(0, "i");
|
|
19
|
+
} if (rf & 2) {
|
|
20
|
+
const act_r2 = i0.ɵɵnextContext(2).$implicit;
|
|
21
|
+
i0.ɵɵclassMap(act_r2.icon);
|
|
22
|
+
} }
|
|
23
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
i0.ɵɵelementContainerStart(0, 8);
|
|
25
|
+
i0.ɵɵtemplate(1, DrDropdownComponent_dr_dropdown_item_4_ng_container_1_i_1_Template, 1, 2, "i", 9);
|
|
26
|
+
i0.ɵɵelementStart(2, "span", 10);
|
|
27
|
+
i0.ɵɵtext(3);
|
|
28
|
+
i0.ɵɵelementEnd();
|
|
29
|
+
i0.ɵɵelementContainerEnd();
|
|
30
|
+
} if (rf & 2) {
|
|
31
|
+
const act_r2 = i0.ɵɵnextContext().$implicit;
|
|
32
|
+
i0.ɵɵadvance(1);
|
|
33
|
+
i0.ɵɵproperty("ngIf", act_r2.icon);
|
|
34
|
+
i0.ɵɵadvance(2);
|
|
35
|
+
i0.ɵɵtextInterpolate(act_r2.title);
|
|
36
|
+
} }
|
|
37
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_1_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
39
|
+
i0.ɵɵelementStart(0, "i", 14);
|
|
40
|
+
i0.ɵɵlistener("mousedown", function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_1_Template_i_mousedown_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r13); const actionIcon_r11 = restoredCtx.$implicit; const act_r2 = i0.ɵɵnextContext(2).$implicit; const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onActionIconClick($event, actionIcon_r11, act_r2.data)); });
|
|
41
|
+
i0.ɵɵelementEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const actionIcon_r11 = ctx.$implicit;
|
|
44
|
+
i0.ɵɵclassMap(actionIcon_r11.icon);
|
|
45
|
+
i0.ɵɵclassProp("showOnHover", actionIcon_r11.showOnHover);
|
|
46
|
+
} }
|
|
47
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_2_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
+
i0.ɵɵelement(0, "i", 15);
|
|
49
|
+
} }
|
|
50
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
51
|
+
i0.ɵɵelementContainerStart(0, 11);
|
|
52
|
+
i0.ɵɵtemplate(1, DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_1_Template, 1, 4, "i", 12);
|
|
53
|
+
i0.ɵɵtemplate(2, DrDropdownComponent_dr_dropdown_item_4_ng_container_2_i_2_Template, 1, 0, "i", 13);
|
|
54
|
+
i0.ɵɵelementContainerEnd();
|
|
55
|
+
} if (rf & 2) {
|
|
56
|
+
const act_r2 = i0.ɵɵnextContext().$implicit;
|
|
57
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
58
|
+
i0.ɵɵadvance(1);
|
|
59
|
+
i0.ɵɵproperty("ngForOf", act_r2.actionIcons);
|
|
60
|
+
i0.ɵɵadvance(1);
|
|
61
|
+
i0.ɵɵproperty("ngIf", ctx_r4.hasChildren(act_r2));
|
|
62
|
+
} }
|
|
63
|
+
const _c1 = function (a0) { return { $implicit: a0 }; };
|
|
64
|
+
function DrDropdownComponent_dr_dropdown_item_4_ng_container_3_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵelementContainer(0, 16);
|
|
66
|
+
} if (rf & 2) {
|
|
67
|
+
const act_r2 = i0.ɵɵnextContext().$implicit;
|
|
68
|
+
i0.ɵɵproperty("ngTemplateOutlet", act_r2.templateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c1, act_r2));
|
|
69
|
+
} }
|
|
70
|
+
const _c2 = function () { return { withoutArrow: true }; };
|
|
71
|
+
function DrDropdownComponent_dr_dropdown_item_4_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
73
|
+
i0.ɵɵelementStart(0, "dr-dropdown-item", 4);
|
|
74
|
+
i0.ɵɵlistener("mousedown", function DrDropdownComponent_dr_dropdown_item_4_Template_dr_dropdown_item_mousedown_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r18); const act_r2 = restoredCtx.$implicit; const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.action(act_r2)); });
|
|
75
|
+
i0.ɵɵtemplate(1, DrDropdownComponent_dr_dropdown_item_4_ng_container_1_Template, 4, 2, "ng-container", 5);
|
|
76
|
+
i0.ɵɵtemplate(2, DrDropdownComponent_dr_dropdown_item_4_ng_container_2_Template, 3, 2, "ng-container", 6);
|
|
77
|
+
i0.ɵɵtemplate(3, DrDropdownComponent_dr_dropdown_item_4_ng_container_3_Template, 1, 4, "ng-container", 7);
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
const act_r2 = ctx.$implicit;
|
|
81
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
82
|
+
i0.ɵɵproperty("drTooltip", ctx_r1.tooltipToShow(act_r2))("drTooltipPosition", "left")("drTooltipOptions", i0.ɵɵpureFunction0(14, _c2))("drTooltipClass", "dr-dropdown__tooltip")("drDropdown", ctx_r1.hasChildren(act_r2) && act_r2.children)("drDropdownClass", act_r2.childOptions == null ? null : act_r2.childOptions.class)("drDropdownInHover", true)("drDropdownPosition", act_r2.childOptions == null ? null : act_r2.childOptions.position)("disabled", ctx_r1.disabled(act_r2))("selected", ctx_r1.selected(act_r2))("divider", act_r2.separateLine);
|
|
83
|
+
i0.ɵɵadvance(1);
|
|
84
|
+
i0.ɵɵproperty("ngIf", !act_r2.templateRef);
|
|
85
|
+
i0.ɵɵadvance(1);
|
|
86
|
+
i0.ɵɵproperty("ngIf", !act_r2.templateRef);
|
|
87
|
+
i0.ɵɵadvance(1);
|
|
88
|
+
i0.ɵɵproperty("ngIf", act_r2.templateRef);
|
|
89
|
+
} }
|
|
90
|
+
const _c3 = [[["dr-dropdown-item"]]];
|
|
91
|
+
const _c4 = ["dr-dropdown-item"];
|
|
9
92
|
export class DrDropdownComponent {
|
|
10
|
-
constructor(menuService, cdr) {
|
|
11
|
-
this.menuService = menuService;
|
|
12
|
-
this.cdr = cdr;
|
|
13
|
-
this.position = 'left';
|
|
14
|
-
this.wasHovered = false;
|
|
15
|
-
}
|
|
16
93
|
set options(data) {
|
|
17
94
|
if (data) {
|
|
18
|
-
this.option = data.option;
|
|
19
|
-
this.position = data.position;
|
|
20
95
|
this.drDropdownInHover = data.drDropdownInHover;
|
|
21
96
|
this.containerClass = data.class;
|
|
22
97
|
this.list = data.list || [];
|
|
23
98
|
this.list.forEach((item) => {
|
|
24
99
|
if (item.children?.length) {
|
|
25
100
|
item.childOptions = {
|
|
26
|
-
list: item.children,
|
|
27
101
|
class: item?.childOptions?.class || '',
|
|
28
|
-
position: '
|
|
102
|
+
position: item?.childOptions?.position || 'left-top',
|
|
29
103
|
};
|
|
30
104
|
}
|
|
31
105
|
});
|
|
32
106
|
this.cdr.markForCheck();
|
|
107
|
+
if (this.drDropdownInHover) {
|
|
108
|
+
this.dropdownInstanceService
|
|
109
|
+
.inactive(this)
|
|
110
|
+
.pipe(first(), takeUntil(merge(this.destroy$, this.drDropdownInHoverChange$)))
|
|
111
|
+
.subscribe(() => {
|
|
112
|
+
this.popoverRef.close();
|
|
113
|
+
});
|
|
114
|
+
}
|
|
33
115
|
}
|
|
34
116
|
}
|
|
35
|
-
|
|
36
|
-
this.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
117
|
+
constructor() {
|
|
118
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
119
|
+
this.popoverRef = inject(DrPopoverRef, { optional: true });
|
|
120
|
+
this.dropdownInstanceService = inject(DropdownInstanceService, { optional: true });
|
|
121
|
+
this.destroy$ = new Subject();
|
|
122
|
+
this._active = true;
|
|
123
|
+
this.drDropdownInHoverChange$ = new Subject();
|
|
124
|
+
this.list = [];
|
|
125
|
+
this.wasHovered = false;
|
|
126
|
+
this.asChild = false;
|
|
127
|
+
this.onAction = new EventEmitter();
|
|
128
|
+
if (!this.dropdownInstanceService)
|
|
129
|
+
return;
|
|
130
|
+
this.dropdownInstanceService.register(this);
|
|
131
|
+
inject(DestroyRef).onDestroy(() => {
|
|
132
|
+
this.dropdownInstanceService.unregister(this);
|
|
133
|
+
this.destroy$.next();
|
|
134
|
+
this.destroy$.next();
|
|
135
|
+
});
|
|
41
136
|
}
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
this.
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
this.firstInit = true;
|
|
137
|
+
ngOnChanges(changes) {
|
|
138
|
+
if (!changes?.drDropdownInHover?.isFirstChange()) {
|
|
139
|
+
this.drDropdownInHoverChange$.next();
|
|
48
140
|
}
|
|
49
141
|
}
|
|
50
|
-
hide() {
|
|
51
|
-
this.menuService.destroy();
|
|
52
|
-
}
|
|
53
142
|
disabled(act) {
|
|
54
143
|
if (!act.disabled) {
|
|
55
144
|
return false;
|
|
@@ -77,40 +166,70 @@ export class DrDropdownComponent {
|
|
|
77
166
|
return '';
|
|
78
167
|
return act.customTooltip ? act.customTooltip(act.data) : act.toolTip;
|
|
79
168
|
}
|
|
80
|
-
tooltipPosition(widthMoreRight) {
|
|
81
|
-
return widthMoreRight ? 'right' : 'left';
|
|
82
|
-
}
|
|
83
169
|
action(act) {
|
|
84
170
|
if (!this.disabled(act)) {
|
|
85
171
|
if (act.action) {
|
|
86
172
|
act.action(act.data);
|
|
87
173
|
}
|
|
88
174
|
else {
|
|
89
|
-
|
|
175
|
+
const event = { event: act.event || act.title || 'default', data: act.data };
|
|
176
|
+
this.onAction.emit(event);
|
|
90
177
|
}
|
|
91
|
-
this.hide();
|
|
92
178
|
}
|
|
93
179
|
}
|
|
94
180
|
onActionIconClick($event, actionIcon, data) {
|
|
95
181
|
$event.stopPropagation();
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
182
|
+
actionIcon.action(data);
|
|
183
|
+
}
|
|
184
|
+
hasChildren(item) {
|
|
185
|
+
return !!item.children?.length;
|
|
186
|
+
}
|
|
187
|
+
onMouseenter() {
|
|
188
|
+
this.wasHovered = true;
|
|
189
|
+
this._active = true;
|
|
190
|
+
}
|
|
191
|
+
onMouseleave() {
|
|
192
|
+
this._active = false;
|
|
193
|
+
}
|
|
194
|
+
active() {
|
|
195
|
+
return this._active;
|
|
100
196
|
}
|
|
101
|
-
/** @nocollapse */ static { this.ɵfac =
|
|
102
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵ
|
|
197
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownComponent_Factory(t) { return new (t || DrDropdownComponent)(); }; }
|
|
198
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDropdownComponent, selectors: [["dr-dropdown"]], viewQuery: function DrDropdownComponent_Query(rf, ctx) { if (rf & 1) {
|
|
199
|
+
i0.ɵɵviewQuery(_c0, 7);
|
|
200
|
+
} if (rf & 2) {
|
|
201
|
+
let _t;
|
|
202
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.menuContainer = _t.first);
|
|
203
|
+
} }, inputs: { options: "options" }, outputs: { onAction: "action" }, features: [i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c4, decls: 6, vars: 5, consts: [[1, "dr-dropdown"], ["menuContainer", ""], ["tabindex", "-1", "role", "listbox", 1, "dr-dropdown__container", 3, "mouseenter", "mouseleave"], ["drDropdownChild", "", "role", "option", "tabindex", "0", 3, "drTooltip", "drTooltipPosition", "drTooltipOptions", "drTooltipClass", "drDropdown", "drDropdownClass", "drDropdownInHover", "drDropdownPosition", "disabled", "selected", "divider", "mousedown", 4, "ngFor", "ngForOf"], ["drDropdownChild", "", "role", "option", "tabindex", "0", 3, "drTooltip", "drTooltipPosition", "drTooltipOptions", "drTooltipClass", "drDropdown", "drDropdownClass", "drDropdownInHover", "drDropdownPosition", "disabled", "selected", "divider", "mousedown"], ["dropdownItemContent", "", 4, "ngIf"], ["dropdownItemActions", "", 4, "ngIf"], ["dropdownItemContent", "", 3, "ngTemplateOutlet", "ngTemplateOutletContext", 4, "ngIf"], ["dropdownItemContent", ""], [3, "class", 4, "ngIf"], [1, "dr-dropdown__text"], ["dropdownItemActions", ""], [3, "class", "showOnHover", "mousedown", 4, "ngFor", "ngForOf"], ["class", "dr-icon-arrow-right", 4, "ngIf"], [3, "mousedown"], [1, "dr-icon-arrow-right"], ["dropdownItemContent", "", 3, "ngTemplateOutlet", "ngTemplateOutletContext"]], template: function DrDropdownComponent_Template(rf, ctx) { if (rf & 1) {
|
|
204
|
+
i0.ɵɵprojectionDef(_c3);
|
|
205
|
+
i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2);
|
|
206
|
+
i0.ɵɵlistener("mouseenter", function DrDropdownComponent_Template_div_mouseenter_2_listener() { return ctx.onMouseenter(); })("mouseleave", function DrDropdownComponent_Template_div_mouseleave_2_listener() { return ctx.onMouseleave(); });
|
|
207
|
+
i0.ɵɵprojection(3);
|
|
208
|
+
i0.ɵɵtemplate(4, DrDropdownComponent_dr_dropdown_item_4_Template, 4, 15, "dr-dropdown-item", 3);
|
|
209
|
+
i0.ɵɵpipe(5, "drDropdownItemShowPipe");
|
|
210
|
+
i0.ɵɵelementEnd()();
|
|
211
|
+
} if (rf & 2) {
|
|
212
|
+
i0.ɵɵclassMap(ctx.containerClass);
|
|
213
|
+
i0.ɵɵadvance(4);
|
|
214
|
+
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(5, 3, ctx.list));
|
|
215
|
+
} }, styles: [".dr-dropdown__item .dr-dropdown{visibility:hidden;transition-delay:.2s} .dr-dropdown__item:hover>*>.dr-dropdown{visibility:visible;transition-delay:0s} .dr-dropdown__tooltip>.default-content{max-width:300px;white-space:normal!important}.dr-dropdown[_ngcontent-%COMP%]{width:auto}.dr-dropdown__text[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;flex:1}.dr-dropdown__container[_ngcontent-%COMP%]{display:flex;flex-direction:column;background:#fff;padding:8px 0;overflow-y:auto;max-height:60vh;max-width:300px}.dr-dropdown[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:first-child{margin-right:8px}.dr-dropdown[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:not(:first-child):hover{color:#4646ce}.dr-dropdown[_ngcontent-%COMP%] dr-dropdown-item[_ngcontent-%COMP%]:hover .showOnHover[_ngcontent-%COMP%]{visibility:visible}.dr-dropdown[_ngcontent-%COMP%] .showOnHover[_ngcontent-%COMP%]{visibility:hidden}"], changeDetection: 0 }); }
|
|
103
216
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBUTFELE1BQU0sT0FBTyxtQkFBbUI7SUFXNUIsWUFDYyxXQUE4QixFQUNoQyxHQUFzQjtRQURwQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDaEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUbEMsYUFBUSxHQUFxQyxNQUFNLENBQUM7UUFJN0MsZUFBVSxHQUFHLEtBQUssQ0FBQztJQU12QixDQUFDO0lBRUosSUFBYSxPQUFPLENBQUMsSUFBbUM7UUFDcEQsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFP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QUFFLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsVUFBb0MsRUFBRSxJQUFTO1FBQ3JFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztrSUF4R1EsbUJBQW1CO3NIQUFuQixtQkFBbUIsMFJDVmhDLDBpREFrQ0EsdXlGRHhCYSxtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO3dJQUd4QixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ08sYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlO2dCQWNiLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxQb3NpdGlvbiwgSURyb3Bkb3duLCBJRHJvcGRvd25BY3Rpb25JY29uLCBJRHJvcGRvd25Db29yZGluYXRlLCBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckRyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdsaXN0TWVudScpIHZpZXdNZW51OiBIVE1MRWxlbWVudDtcbiAgICBAVmlld0NoaWxkKCdtZW51Q29udGFpbmVyJykgbWVudUNvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG4gICAgb3B0aW9uOiBhbnk7XG4gICAgcG9zaXRpb246IEVsUG9zaXRpb24gfCBJRHJvcGRvd25Db29yZGluYXRlID0gJ2xlZnQnO1xuICAgIGRyRHJvcGRvd25JbkhvdmVyOiBib29sZWFuO1xuICAgIGxpc3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj5bXTtcbiAgICBjb250YWluZXJDbGFzczogc3RyaW5nO1xuICAgIHB1YmxpYyB3YXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBmaXJzdEluaXQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIG1lbnVTZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge31cblxuICAgIEBJbnB1dCgpIHNldCBvcHRpb25zKGRhdGE6IElEcm9wZG93bjxJRHJvcGRvd25JdGVtPGFueT4+KSB7XG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbiA9IGRhdGEub3B0aW9uO1xuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IGRhdGEucG9zaXRpb247XG4gICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25JbkhvdmVyID0gZGF0YS5kckRyb3Bkb3duSW5Ib3ZlcjtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyQ2xhc3MgPSBkYXRhLmNsYXNzO1xuICAgICAgICAgICAgdGhpcy5saXN0ID0gZGF0YS5saXN0IHx8IFtdO1xuICAgICAgICAgICAgdGhpcy5saXN0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY2hpbGRPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdDogaXRlbS5jaGlsZHJlbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBpdGVtPy5jaGlsZE9wdGlvbnM/LmNsYXNzIHx8ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdjaGlsZCcsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53YXNIb3ZlcmVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRyRHJvcGRvd25JbkhvdmVyKSB0aGlzLm1lbnVTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrZWRPdXRzaWRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5maXJzdEluaXQpIHtcbiAgICAgICAgICAgIHRoaXMubWVudVNlcnZpY2UuZGVzdHJveSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5maXJzdEluaXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51U2VydmljZS5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgZGlzYWJsZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+IHwgSURyb3Bkb3duQWN0aW9uSWNvbjxhbnk+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYWN0LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhY3QuZGlzYWJsZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5kaXNhYmxlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY3QuZGlzYWJsZWQoYWN0LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0ZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYWN0LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhY3Quc2VsZWN0ZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY3Quc2VsZWN0ZWQoYWN0LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbHRpcFRvU2hvdyhhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBzdHJpbmcge1xuICAgICAgICBpZiAoYWN0LnRvb2xUaXBJZkRpc2FibGVkICYmICF0aGlzLmRpc2FibGVkKGFjdCkpIHJldHVybiAnJztcbiAgICAgICAgcmV0dXJuIGFjdC5jdXN0b21Ub29sdGlwID8gYWN0LmN1c3RvbVRvb2x0aXAoYWN0LmRhdGEpIDogYWN0LnRvb2xUaXA7XG4gICAgfVxuXG4gICAgdG9vbHRpcFBvc2l0aW9uKHdpZHRoTW9yZVJpZ2h0OiBib29sZWFuKSB7XG4gICAgICAgIHJldHVybiB3aWR0aE1vcmVSaWdodCA/ICdyaWdodCcgOiAnbGVmdCc7XG4gICAgfVxuXG4gICAgYWN0aW9uKGFjdDogSURyb3Bkb3duSXRlbTxhbnk+KSB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZChhY3QpKSB7XG4gICAgICAgICAgICBpZiAoYWN0LmFjdGlvbikge1xuICAgICAgICAgICAgICAgIGFjdC5hY3Rpb24oYWN0LmRhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lbnVTZXJ2aWNlLmFjdGlvbkl0ZW0ubmV4dCh7IGV2ZW50OiBhY3QuZXZlbnQgfHwgYWN0LnRpdGxlIHx8ICdkZWZhdWx0JywgZGF0YTogYWN0LmRhdGEgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQWN0aW9uSWNvbkNsaWNrKCRldmVudCwgYWN0aW9uSWNvbjogSURyb3Bkb3duQWN0aW9uSWNvbjxhbnk+LCBkYXRhOiBhbnkpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoYWN0aW9uSWNvbikpIHtcbiAgICAgICAgICAgIGFjdGlvbkljb24uYWN0aW9uKGRhdGEpO1xuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI21lbnVDb250YWluZXJcbiAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiXG4gICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIlxuICAgIChjbGlja091dHNpZGUpPVwib25DbGlja2VkT3V0c2lkZSgpXCJcbiAgICBbZHJEcm9wZG93blBvc2l0aW9uXT1cIm9wdGlvblwiXG4gICAgI2Ryb3Bkb3duUG9zaXRpb249XCJkcm9wZG93blBvc2l0aW9uXCJcbiAgICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxuICAgIFtjbGFzc109XCJjb250YWluZXJDbGFzc1wiXG4gICAgY2xhc3M9XCJkci1kcm9wZG93blwiPlxuICAgIDxkaXYgY2xhc3M9XCJkci1kcm9wZG93bl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Qgb2YgbGlzdCB8IGRyRHJvcGRvd25JdGVtU2hvd1BpcGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbihhY3QpXCJcbiAgICAgICAgICAgIFtkclRvb2x0aXBdPVwidG9vbHRpcFRvU2hvdyhhY3QpXCJcbiAgICAgICAgICAgIFtkclRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24oZHJvcGRvd25Qb3NpdGlvbi53aWR0aE1vcmVSaWdodClcIlxuICAgICAgICAgICAgW2RyVG9vbHRpcE9wdGlvbnNdPVwieyB3aXRob3V0QXJyb3c6IHRydWUgfVwiXG4gICAgICAgICAgICBbZHJUb29sdGlwQ2xhc3NdPVwiJ2RyLWRyb3Bkb3duX190b29sdGlwJ1wiXG4gICAgICAgICAgICBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJfX2l0ZW1cIlxuICAgICAgICAgICAgW2NsYXNzLml0ZW0tZGlzYWJsZWRdPVwiZGlzYWJsZWQoYWN0KVwiXG4gICAgICAgICAgICBbY2xhc3MuaXRlbS1zZWxlY3RlZF09XCJzZWxlY3RlZChhY3QpXCJcbiAgICAgICAgICAgIFtjbGFzcy5zZXBhcmF0ZS1saW5lXT1cImFjdC5zZXBhcmF0ZUxpbmVcIj5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiYWN0Lmljb25cIiBbY2xhc3NdPVwiYWN0Lmljb25cIj48L2k+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJfX2l0ZW1fX3RleHRcIj57eyBhY3QudGl0bGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb25JY29uIG9mIGFjdC5hY3Rpb25JY29uc1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzXT1cImFjdGlvbkljb24uaWNvblwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNob3dPbkhvdmVyXT1cImFjdGlvbkljb24uc2hvd09uSG92ZXJcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbkljb25DbGljaygkZXZlbnQsIGFjdGlvbkljb24sIGFjdC5kYXRhKVwiPjwvaT5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiYWN0LmNoaWxkcmVuPy5sZW5ndGhcIiBjbGFzcz1cImRyLWljb24tYXJyb3ctcmlnaHRcIj48L2k+XG4gICAgICAgICAgICA8ZHItZHJvcGRvd24gKm5nSWY9XCJhY3QuY2hpbGRyZW4/Lmxlbmd0aFwiIFtvcHRpb25zXT1cImFjdC5jaGlsZE9wdGlvbnNcIj48L2RyLWRyb3Bkb3duPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
217
|
+
__decorate([
|
|
218
|
+
Debounce(200),
|
|
219
|
+
__metadata("design:type", Function),
|
|
220
|
+
__metadata("design:paramtypes", []),
|
|
221
|
+
__metadata("design:returntype", void 0)
|
|
222
|
+
], DrDropdownComponent.prototype, "onMouseleave", null);
|
|
223
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownComponent, [{
|
|
224
|
+
type: Component,
|
|
225
|
+
args: [{ selector: 'dr-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #menuContainer [class]=\"containerClass\" class=\"dr-dropdown\">\n <div class=\"dr-dropdown__container\" (mouseenter)=\"onMouseenter()\" (mouseleave)=\"onMouseleave()\" tabindex=\"-1\" role=\"listbox\">\n <ng-content select=\"dr-dropdown-item\"></ng-content>\n\n <dr-dropdown-item\n *ngFor=\"let act of list | drDropdownItemShowPipe\"\n (mousedown)=\"action(act)\"\n [drTooltip]=\"tooltipToShow(act)\"\n [drTooltipPosition]=\"'left'\"\n [drTooltipOptions]=\"{ withoutArrow: true }\"\n [drTooltipClass]=\"'dr-dropdown__tooltip'\"\n [drDropdown]=\"hasChildren(act) && act.children\"\n [drDropdownClass]=\"act.childOptions?.class\"\n [drDropdownInHover]=\"true\"\n [drDropdownPosition]=\"act.childOptions?.position\"\n drDropdownChild\n [disabled]=\"disabled(act)\"\n [selected]=\"selected(act)\"\n [divider]=\"act.separateLine\"\n role=\"option\"\n tabindex=\"0\">\n <ng-container dropdownItemContent *ngIf=\"!act.templateRef\">\n <i *ngIf=\"act.icon\" [class]=\"act.icon\"></i>\n <span class=\"dr-dropdown__text\">{{ act.title }}</span>\n </ng-container>\n\n <ng-container dropdownItemActions *ngIf=\"!act.templateRef\">\n <i\n *ngFor=\"let actionIcon of act.actionIcons\"\n [class]=\"actionIcon.icon\"\n [class.showOnHover]=\"actionIcon.showOnHover\"\n (mousedown)=\"onActionIconClick($event, actionIcon, act.data)\"></i>\n <i *ngIf=\"hasChildren(act)\" class=\"dr-icon-arrow-right\"></i>\n </ng-container>\n\n <ng-container\n *ngIf=\"act.templateRef\"\n dropdownItemContent\n [ngTemplateOutlet]=\"act.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: act }\">\n </ng-container>\n </dr-dropdown-item>\n </div>\n</div>\n", styles: ["::ng-deep .dr-dropdown__item .dr-dropdown{visibility:hidden;transition-delay:.2s}::ng-deep .dr-dropdown__item:hover>*>.dr-dropdown{visibility:visible;transition-delay:0s}::ng-deep .dr-dropdown__tooltip>.default-content{max-width:300px;white-space:normal!important}.dr-dropdown{width:auto}.dr-dropdown__text{overflow:hidden;text-overflow:ellipsis;flex:1}.dr-dropdown__container{display:flex;flex-direction:column;background:#fff;padding:8px 0;overflow-y:auto;max-height:60vh;max-width:300px}.dr-dropdown i:first-child{margin-right:8px}.dr-dropdown i:not(:first-child):hover{color:#4646ce}.dr-dropdown dr-dropdown-item:hover .showOnHover{visibility:visible}.dr-dropdown .showOnHover{visibility:hidden}\n"] }]
|
|
226
|
+
}], function () { return []; }, { menuContainer: [{
|
|
227
|
+
type: ViewChild,
|
|
228
|
+
args: ['menuContainer', { static: true }]
|
|
229
|
+
}], options: [{
|
|
230
|
+
type: Input
|
|
231
|
+
}], onAction: [{
|
|
232
|
+
type: Output,
|
|
233
|
+
args: ['action']
|
|
234
|
+
}], onMouseleave: [] }); })();
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4RCxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0lDSy9CLG9CQUEyQzs7O0lBQXZCLDBCQUFrQjs7O0lBRDFDLGdDQUEyRDtJQUN2RCxrR0FBMkM7SUFDM0MsZ0NBQWdDO0lBQUEsWUFBZTtJQUFBLGlCQUFPO0lBQzFELDBCQUFlOzs7SUFGUCxlQUFjO0lBQWQsa0NBQWM7SUFDYyxlQUFlO0lBQWYsa0NBQWU7Ozs7SUFJL0MsNkJBSWtFO0lBQTlELDJUQUFhLGVBQUEsOERBQStDLENBQUEsSUFBQztJQUFDLGlCQUFJOzs7SUFGbEUsa0NBQXlCO0lBQ3pCLHlEQUE0Qzs7O0lBRWhELHdCQUE0RDs7O0lBTmhFLGlDQUEyRDtJQUN2RCxtR0FJ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QWMsa0JBQWMsSUFBQywwRkFBZSxrQkFBYyxJQUE3QjtZQUM3RCxrQkFBbUQ7WUFFbkQsK0ZBcUNtQjs7WUFDdkIsaUJBQU0sRUFBQTs7WUExQ1UsaUNBQXdCO1lBS2hCLGVBQWdDO1lBQWhDLHdEQUFnQzs7O0FEMEl4RDtJQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Ozs7dURBR2I7dUZBekhRLG1CQUFtQjtjQU4vQixTQUFTOzJCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTTtzQ0FZL0MsYUFBYTtrQkFEWixTQUFTO21CQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFXeEMsT0FBTztrQkFEVixLQUFLO1lBNEJOLFFBQVE7a0JBRFAsTUFBTTttQkFBQyxRQUFRO1lBeUVoQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEcm9wZG93biwgSURyb3Bkb3duQWN0aW9uLCBJRHJvcGRvd25BY3Rpb25JY29uLCBJRHJvcGRvd25JdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcbmltcG9ydCB7IGZpcnN0LCBtZXJnZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEcm9wZG93bkluc3RhbmNlUmVmLCBEcm9wZG93bkluc3RhbmNlU2VydmljZSB9IGZyb20gJy4vZHItZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJy4uL3V0aWxzL2RlY29yYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBEcm9wZG93bkluc3RhbmNlUmVmIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3BvdmVyUmVmID0gaW5qZWN0KERyUG9wb3ZlclJlZiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlID0gaW5qZWN0KERyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIF9hY3RpdmUgPSB0cnVlO1xuXG4gICAgQFZpZXdDaGlsZCgnbWVudUNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgbWVudUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG5cbiAgICBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyRHJvcGRvd25JbkhvdmVyQ2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgbGlzdDogSURyb3Bkb3duSXRlbTx1bmtub3duPltdID0gW107XG4gICAgY29udGFpbmVyQ2xhc3M6IHN0cmluZztcbiAgICB3YXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgYXNDaGlsZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgb3B0aW9ucyhkYXRhOiBJRHJvcGRvd248SURyb3Bkb3duSXRlbTx1bmtub3duPj4pIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93bkluSG92ZXIgPSBkYXRhLmRyRHJvcGRvd25JbkhvdmVyO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJDbGFzcyA9IGRhdGEuY2xhc3M7XG4gICAgICAgICAgICB0aGlzLmxpc3QgPSBkYXRhLmxpc3QgfHwgW107XG4gICAgICAgICAgICB0aGlzLmxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jaGlsZE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogaXRlbT8uY2hpbGRPcHRpb25zPy5jbGFzcyB8fCAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBpdGVtPy5jaGlsZE9wdGlvbnM/LnBvc2l0aW9uIHx8ICdsZWZ0LXRvcCcsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlXG4gICAgICAgICAgICAgICAgICAgIC5pbmFjdGl2ZSh0aGlzKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShmaXJzdCgpLCB0YWtlVW50aWwobWVyZ2UodGhpcy5kZXN0cm95JCwgdGhpcy5kckRyb3Bkb3duSW5Ib3ZlckNoYW5nZSQpKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCdhY3Rpb24nKVxuICAgIG9uQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxJRHJvcGRvd25BY3Rpb248dW5rbm93bj4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5kcm9wZG93bkluc3RhbmNlU2VydmljZS5yZWdpc3Rlcih0aGlzKTtcbiAgICAgICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcyk7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghY2hhbmdlcz8uZHJEcm9wZG93bkluSG92ZXI/LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5kckRyb3Bkb3duSW5Ib3ZlckNoYW5nZSQubmV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGlzYWJsZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYWN0LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhY3QuZGlzYWJsZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5kaXNhYmxlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY3QuZGlzYWJsZWQoYWN0LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0ZWQoYWN0OiBJRHJvcGRvd25JdGVtPHVua25vd24+KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghYWN0LnNlbGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBhY3Quc2VsZWN0ZWQgPT09ICdib29sZWFuJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjdC5zZWxlY3RlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBhY3Quc2VsZWN0ZWQoYWN0LmRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbHRpcFRvU2hvdyhhY3Q6IElEcm9wZG93bkl0ZW08dW5rbm93bj4pOiBzdHJpbmcge1xuICAgICAgICBpZiAoYWN0LnRvb2xUaXBJZkRpc2FibGVkICYmICF0aGlzLmRpc2FibGVkKGFjdCkpIHJldHVybiAnJztcbiAgICAgICAgcmV0dXJuIGFjdC5jdXN0b21Ub29sdGlwID8gYWN0LmN1c3RvbVRvb2x0aXAoYWN0LmRhdGEpIDogYWN0LnRvb2xUaXA7XG4gICAgfVxuXG4gICAgYWN0aW9uKGFjdDogSURyb3Bkb3duSXRlbTx1bmtub3duPikge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQoYWN0KSkge1xuICAgICAgICAgICAgaWYgKGFjdC5hY3Rpb24pIHtcbiAgICAgICAgICAgICAgICBhY3QuYWN0aW9uKGFjdC5kYXRhKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZXZlbnQgPSB7IGV2ZW50OiBhY3QuZXZlbnQgfHwgYWN0LnRpdGxlIHx8ICdkZWZhdWx0JywgZGF0YTogYWN0LmRhdGEgfTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQWN0aW9uLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25BY3Rpb25JY29uQ2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50LCBhY3Rpb25JY29uOiBJRHJvcGRvd25BY3Rpb25JY29uPHVua25vd24+LCBkYXRhOiB1bmtub3duKSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgYWN0aW9uSWNvbi5hY3Rpb24oZGF0YSk7XG4gICAgfVxuXG4gICAgaGFzQ2hpbGRyZW4oaXRlbTogSURyb3Bkb3duSXRlbTx1bmtub3duPik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFpdGVtLmNoaWxkcmVuPy5sZW5ndGg7XG4gICAgfVxuXG4gICAgb25Nb3VzZWVudGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndhc0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIEBEZWJvdW5jZSgyMDApXG4gICAgb25Nb3VzZWxlYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hY3RpdmU7XG4gICAgfVxufVxuIiwiPGRpdiAjbWVudUNvbnRhaW5lciBbY2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBjbGFzcz1cImRyLWRyb3Bkb3duXCI+XG4gICAgPGRpdiBjbGFzcz1cImRyLWRyb3Bkb3duX19jb250YWluZXJcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgpXCIgdGFiaW5kZXg9XCItMVwiIHJvbGU9XCJsaXN0Ym94XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRyLWRyb3Bkb3duLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgICAgPGRyLWRyb3Bkb3duLWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Qgb2YgbGlzdCB8IGRyRHJvcGRvd25JdGVtU2hvd1BpcGVcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJhY3Rpb24oYWN0KVwiXG4gICAgICAgICAgICBbZHJUb29sdGlwXT1cInRvb2x0aXBUb1Nob3coYWN0KVwiXG4gICAgICAgICAgICBbZHJUb29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcbiAgICAgICAgICAgIFtkclRvb2x0aXBPcHRpb25zXT1cInsgd2l0aG91dEFycm93OiB0cnVlIH1cIlxuICAgICAgICAgICAgW2RyVG9vbHRpcENsYXNzXT1cIidkci1kcm9wZG93bl9fdG9vbHRpcCdcIlxuICAgICAgICAgICAgW2RyRHJvcGRvd25dPVwiaGFzQ2hpbGRyZW4oYWN0KSAmJiBhY3QuY2hpbGRyZW5cIlxuICAgICAgICAgICAgW2RyRHJvcGRvd25DbGFzc109XCJhY3QuY2hpbGRPcHRpb25zPy5jbGFzc1wiXG4gICAgICAgICAgICBbZHJEcm9wZG93bkluSG92ZXJdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbZHJEcm9wZG93blBvc2l0aW9uXT1cImFjdC5jaGlsZE9wdGlvbnM/LnBvc2l0aW9uXCJcbiAgICAgICAgICAgIGRyRHJvcGRvd25DaGlsZFxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKGFjdClcIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkKGFjdClcIlxuICAgICAgICAgICAgW2RpdmlkZXJdPVwiYWN0LnNlcGFyYXRlTGluZVwiXG4gICAgICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBkcm9wZG93bkl0ZW1Db250ZW50ICpuZ0lmPVwiIWFjdC50ZW1wbGF0ZVJlZlwiPlxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiYWN0Lmljb25cIiBbY2xhc3NdPVwiYWN0Lmljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkci1kcm9wZG93bl9fdGV4dFwiPnt7IGFjdC50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGRyb3Bkb3duSXRlbUFjdGlvbnMgKm5nSWY9XCIhYWN0LnRlbXBsYXRlUmVmXCI+XG4gICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbkljb24gb2YgYWN0LmFjdGlvbkljb25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImFjdGlvbkljb24uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zaG93T25Ib3Zlcl09XCJhY3Rpb25JY29uLnNob3dPbkhvdmVyXCJcbiAgICAgICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkFjdGlvbkljb25DbGljaygkZXZlbnQsIGFjdGlvbkljb24sIGFjdC5kYXRhKVwiPjwvaT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc0NoaWxkcmVuKGFjdClcIiBjbGFzcz1cImRyLWljb24tYXJyb3ctcmlnaHRcIj48L2k+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiYWN0LnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkl0ZW1Db250ZW50XG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0LnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGFjdCB9XCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kci1kcm9wZG93bi1pdGVtPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { DrDropdownComponent } from './dr-dropdown.component';
|
|
4
|
-
import { DrDropdownService } from './dr-dropdown.service';
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, HostListener, inject, Injector, Input, Output } from '@angular/core';
|
|
2
|
+
import { DrDropdownService, DropdownInstanceService } from './dr-dropdown.service';
|
|
5
3
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./dr-dropdown.service";
|
|
7
4
|
export class DrDropdownDirective {
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
10
|
-
this.
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
5
|
+
constructor() {
|
|
6
|
+
this.elementRef = inject((ElementRef));
|
|
7
|
+
this.service = inject(DrDropdownService);
|
|
8
|
+
this.child = inject(DrDropdownChildDirective, { optional: true, self: true });
|
|
9
|
+
this.dropdownInstanceService = inject(DropdownInstanceService);
|
|
10
|
+
this.drDropdownPosition = 'left-top';
|
|
11
|
+
this.drDropdownAction = new EventEmitter();
|
|
15
12
|
this.mouseleaveTimeout = 200;
|
|
16
13
|
}
|
|
17
14
|
elementHover() {
|
|
@@ -24,94 +21,108 @@ export class DrDropdownDirective {
|
|
|
24
21
|
}
|
|
25
22
|
leaveDropdownTriggerElement() {
|
|
26
23
|
if (this.drDropdownInHover) {
|
|
27
|
-
setTimeout((
|
|
28
|
-
if (this.
|
|
29
|
-
this.
|
|
30
|
-
this.contentCmpRef = null;
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
if (this.ref && !this.ref.instance.wasHovered) {
|
|
26
|
+
this.close();
|
|
31
27
|
}
|
|
32
28
|
}, this.mouseleaveTimeout);
|
|
33
29
|
}
|
|
34
30
|
}
|
|
35
|
-
documentClick(
|
|
36
|
-
this.
|
|
31
|
+
documentClick() {
|
|
32
|
+
this.close();
|
|
37
33
|
}
|
|
38
34
|
openDropdown() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
this.
|
|
35
|
+
if (!this.drDropdown?.length) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (this.ref) {
|
|
39
|
+
this.close();
|
|
40
|
+
return;
|
|
44
41
|
}
|
|
45
|
-
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
|
|
42
|
+
this.ref = this.service.open({
|
|
43
|
+
hostRef: this.elementRef,
|
|
44
|
+
position: this.drDropdownPosition,
|
|
45
|
+
asChild: !!this.child,
|
|
46
|
+
providers: [{ provide: DropdownInstanceService, useValue: this.dropdownInstanceService }],
|
|
47
|
+
action$: this.drDropdownAction,
|
|
48
|
+
options: {
|
|
49
49
|
drDropdownInHover: this.drDropdownInHover,
|
|
50
|
-
position: this.
|
|
50
|
+
position: this.drDropdownPosition,
|
|
51
51
|
list: this.drDropdown,
|
|
52
52
|
class: this.drDropdownClass,
|
|
53
|
-
}
|
|
54
|
-
}
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
if (
|
|
58
|
-
|
|
56
|
+
close() {
|
|
57
|
+
if (this.ref) {
|
|
58
|
+
this.ref.close();
|
|
59
|
+
this.ref = null;
|
|
59
60
|
}
|
|
60
|
-
const clickTarget = e.target;
|
|
61
|
-
const triggerElement = this.el.nativeElement;
|
|
62
|
-
const dropdownElement = this.contentCmpRef.location.nativeElement;
|
|
63
|
-
const isClickTriggerElement = triggerElement.contains(clickTarget) || triggerElement === clickTarget;
|
|
64
|
-
const isClickDropdownContents = dropdownElement.contains(clickTarget);
|
|
65
|
-
if (!isClickTriggerElement && !isClickDropdownContents) {
|
|
66
|
-
const elems = this._document.querySelectorAll('dr-dropdown');
|
|
67
|
-
setTimeout(() => elems.forEach((item) => item.remove()), 100);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
showMenu(options) {
|
|
71
|
-
const componentFactory = this.componentFactoryResolver.resolveComponentFactory(DrDropdownComponent);
|
|
72
|
-
this.contentCmpRef = this.viewContainerRef.createComponent(componentFactory);
|
|
73
|
-
this.service.addMenu = this.contentCmpRef;
|
|
74
|
-
this._document.querySelector('dr-layout').appendChild(this.contentCmpRef.location.nativeElement);
|
|
75
|
-
this.contentCmpRef.instance.options = options;
|
|
76
61
|
}
|
|
77
62
|
ngOnDestroy() {
|
|
78
|
-
|
|
79
|
-
this.contentCmpRef.destroy();
|
|
80
|
-
}
|
|
63
|
+
this.close();
|
|
81
64
|
}
|
|
82
|
-
/** @nocollapse */ static { this.ɵfac =
|
|
83
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵ
|
|
65
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownDirective_Factory(t) { return new (t || DrDropdownDirective)(); }; }
|
|
66
|
+
/** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrDropdownDirective, selectors: [["", "drDropdown", ""]], hostBindings: function DrDropdownDirective_HostBindings(rf, ctx) { if (rf & 1) {
|
|
67
|
+
i0.ɵɵlistener("mouseenter", function DrDropdownDirective_mouseenter_HostBindingHandler() { return ctx.elementHover(); })("click", function DrDropdownDirective_click_HostBindingHandler() { return ctx.elementClick(); })("mouseleave", function DrDropdownDirective_mouseleave_HostBindingHandler() { return ctx.leaveDropdownTriggerElement(); })("mouseup", function DrDropdownDirective_mouseup_HostBindingHandler() { return ctx.documentClick(); }, false, i0.ɵɵresolveDocument);
|
|
68
|
+
} }, inputs: { drDropdown: "drDropdown", drDropdownPosition: "drDropdownPosition", drDropdownClass: "drDropdownClass", drDropdownInHover: "drDropdownInHover" }, outputs: { drDropdownAction: "drDropdownAction" }, features: [i0.ɵɵProvidersFeature([
|
|
69
|
+
{
|
|
70
|
+
provide: DropdownInstanceService,
|
|
71
|
+
useFactory: ((injector) => {
|
|
72
|
+
const service = injector.get(DropdownInstanceService, null, { skipSelf: true });
|
|
73
|
+
return service ?? new DropdownInstanceService(injector);
|
|
74
|
+
}),
|
|
75
|
+
deps: [Injector],
|
|
76
|
+
},
|
|
77
|
+
])] }); }
|
|
78
|
+
}
|
|
79
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownDirective, [{
|
|
80
|
+
type: Directive,
|
|
81
|
+
args: [{
|
|
82
|
+
selector: '[drDropdown]',
|
|
83
|
+
providers: [
|
|
84
|
+
{
|
|
85
|
+
provide: DropdownInstanceService,
|
|
86
|
+
useFactory: ((injector) => {
|
|
87
|
+
const service = injector.get(DropdownInstanceService, null, { skipSelf: true });
|
|
88
|
+
return service ?? new DropdownInstanceService(injector);
|
|
89
|
+
}),
|
|
90
|
+
deps: [Injector],
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
}]
|
|
94
|
+
}], null, { drDropdown: [{
|
|
95
|
+
type: Input,
|
|
96
|
+
args: [{ required: true }]
|
|
97
|
+
}], drDropdownPosition: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], drDropdownClass: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], drDropdownInHover: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], drDropdownAction: [{
|
|
104
|
+
type: Output
|
|
105
|
+
}], elementHover: [{
|
|
106
|
+
type: HostListener,
|
|
107
|
+
args: ['mouseenter']
|
|
108
|
+
}], elementClick: [{
|
|
109
|
+
type: HostListener,
|
|
110
|
+
args: ['click']
|
|
111
|
+
}], leaveDropdownTriggerElement: [{
|
|
112
|
+
type: HostListener,
|
|
113
|
+
args: ['mouseleave']
|
|
114
|
+
}], documentClick: [{
|
|
115
|
+
type: HostListener,
|
|
116
|
+
args: ['document:mouseup']
|
|
117
|
+
}] }); })();
|
|
118
|
+
export class DrDropdownChildDirective {
|
|
119
|
+
/** @nocollapse */ static { this.ɵfac = function DrDropdownChildDirective_Factory(t) { return new (t || DrDropdownChildDirective)(); }; }
|
|
120
|
+
/** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: DrDropdownChildDirective, selectors: [["", "drDropdownChild", ""]] }); }
|
|
84
121
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
args: [DOCUMENT]
|
|
93
|
-
}] }]; }, propDecorators: { position: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], drDropdown: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], drDropdownClass: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], drDropdownInHover: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], contentCmpRef: [{
|
|
102
|
-
type: ViewChild,
|
|
103
|
-
args: [DrDropdownComponent, { static: true, read: ViewContainerRef }]
|
|
104
|
-
}], elementHover: [{
|
|
105
|
-
type: HostListener,
|
|
106
|
-
args: ['mouseenter']
|
|
107
|
-
}], elementClick: [{
|
|
108
|
-
type: HostListener,
|
|
109
|
-
args: ['click']
|
|
110
|
-
}], leaveDropdownTriggerElement: [{
|
|
111
|
-
type: HostListener,
|
|
112
|
-
args: ['mouseleave']
|
|
113
|
-
}], documentClick: [{
|
|
114
|
-
type: HostListener,
|
|
115
|
-
args: ['document:mouseup', ['$event']]
|
|
116
|
-
}] } });
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFFTCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBSzFELE1BQU0sT0FBTyxtQkFBbUI7SUFTNUIsWUFDWSx3QkFBa0QsRUFDbEQsZ0JBQWtDLEVBQ2xDLE9BQTBCLEVBQzFCLEVBQWMsRUFDSSxTQUFjO1FBSmhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUMxQixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQ0ksY0FBUyxHQUFULFNBQVMsQ0FBSztRQWJuQyxhQUFRLEdBQWUsTUFBTSxDQUFDO1FBTXRCLHNCQUFpQixHQUFHLEdBQUcsQ0FBQztJQVF0QyxDQUFDO0lBRXdCLFlBQVk7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPO1FBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRXNCLFlBQVk7UUFDL0IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFMkIsMkJBQTJCO1FBQ25ELElB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LGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztrSUF6RlEsbUJBQW1CLHFKQWNoQixRQUFRO3NIQWRYLG1CQUFtQiwyWkFLakIsbUJBQW1CLDJCQUF3QixnQkFBZ0I7OzRGQUw3RCxtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzswQkFlUSxNQUFNOzJCQUFDLFFBQVE7NENBYlgsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNvRSxhQUFhO3NCQUF0RixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBWTVDLFlBQVk7c0JBQXZDLFlBQVk7dUJBQUMsWUFBWTtnQkFLSCxZQUFZO3NCQUFsQyxZQUFZO3VCQUFDLE9BQU87Z0JBSU8sMkJBQTJCO3NCQUF0RCxZQUFZO3VCQUFDLFlBQVk7Z0JBV29CLGFBQWE7c0JBQTFELFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnksXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVsUG9zaXRpb24sIElEcm9wZG93biwgSURyb3Bkb3duSXRlbSB9IGZyb20gJy4uL21vZGVscy9kcm9wZG93bic7XG5pbXBvcnQgeyBEckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9kci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJEcm9wZG93blNlcnZpY2UgfSBmcm9tICcuL2RyLWRyb3Bkb3duLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkckRyb3Bkb3duXScsXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBFbFBvc2l0aW9uID0gJ2xlZnQnO1xuICAgIEBJbnB1dCgpIGRyRHJvcGRvd246IElEcm9wZG93bkl0ZW08VD5bXTtcbiAgICBASW5wdXQoKSBkckRyb3Bkb3duQ2xhc3M6IHN0cmluZztcbiAgICBASW5wdXQoKSBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcbiAgICBAVmlld0NoaWxkKERyRHJvcGRvd25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRlbnRDbXBSZWY7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vdXNlbGVhdmVUaW1lb3V0ID0gMjAwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBEckRyb3Bkb3duU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IGFueSxcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgZWxlbWVudEhvdmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHJldHVybjtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpIGVsZW1lbnRDbGljaygpIHtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgbGVhdmVEcm9wZG93blRyaWdnZXJFbGVtZW50KCkge1xuICAgICAgICBpZiAodGhpcy5kckRyb3Bkb3duSW5Ib3Zlcikge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoXykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYgJiYgIXRoaXMuY29udGVudENtcFJlZi5pbnN0YW5jZS53YXNIb3ZlcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZiA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcy5tb3VzZWxlYXZlVGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSkgZG9jdW1lbnRDbGljayhlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bihlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkci1kcm9wZG93bicpLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0ucmVtb3ZlKCkpO1xuICAgICAgICBpZiAodGhpcy5jb250ZW50Q21wUmVmICYmIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95Q2JzKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRDbXBSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50Q21wUmVmID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VydmljZS5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLnNob3dNZW51KHtcbiAgICAgICAgICAgICAgICBvcHRpb24sXG4gICAgICAgICAgICAgICAgZHJEcm9wZG93bkluSG92ZXI6IHRoaXMuZHJEcm9wZG93bkluSG92ZXIsXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHRoaXMucG9zaXRpb24sXG4gICAgICAgICAgICAgICAgbGlzdDogdGhpcy5kckRyb3Bkb3duLFxuICAgICAgICAgICAgICAgIGNsYXNzOiB0aGlzLmRyRHJvcGRvd25DbGFzcyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnRDbXBSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNsaWNrVGFyZ2V0ID0gZS50YXJnZXQ7XG4gICAgICAgIGNvbnN0IHRyaWdnZXJFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXNDbGlja1RyaWdnZXJFbGVtZW50ID0gdHJpZ2dlckVsZW1lbnQuY29udGFpbnMoY2xpY2tUYXJnZXQpIHx8IHRyaWdnZXJFbGVtZW50ID09PSBjbGlja1RhcmdldDtcbiAgICAgICAgY29uc3QgaXNDbGlja0Ryb3Bkb3duQ29udGVudHMgPSBkcm9wZG93bkVsZW1lbnQuY29udGFpbnMoY2xpY2tUYXJnZXQpO1xuXG4gICAgICAgIGlmICghaXNDbGlja1RyaWdnZXJFbGVtZW50ICYmICFpc0NsaWNrRHJvcGRvd25Db250ZW50cykge1xuICAgICAgICAgICAgY29uc3QgZWxlbXMgPSB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkci1kcm9wZG93bicpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtcy5mb3JFYWNoKChpdGVtKSA9PiBpdGVtLnJlbW92ZSgpKSwgMTAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd01lbnUob3B0aW9uczogSURyb3Bkb3duPFQ+KSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3Rvcnk6IENvbXBvbmVudEZhY3Rvcnk8RHJEcm9wZG93bkNvbXBvbmVudD4gPVxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRHJEcm9wZG93bkNvbXBvbmVudCk7XG4gICAgICAgIHRoaXMuY29udGVudENtcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50RmFjdG9yeSk7XG4gICAgICAgIHRoaXMuc2VydmljZS5hZGRNZW51ID0gdGhpcy5jb250ZW50Q21wUmVmO1xuICAgICAgICB0aGlzLl9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkci1sYXlvdXQnKS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRDbXBSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29udGVudENtcFJlZi5pbnN0YW5jZS5vcHRpb25zID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRDbXBSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudENtcFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
122
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDropdownChildDirective, [{
|
|
123
|
+
type: Directive,
|
|
124
|
+
args: [{
|
|
125
|
+
selector: '[drDropdownChild]',
|
|
126
|
+
}]
|
|
127
|
+
}], null, null); })();
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWlCbkYsTUFBTSxPQUFPLG1CQUFtQjtJQWJoQztRQWNxQixlQUFVLEdBQUcsTUFBTSxDQUFDLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7UUFDN0MsWUFBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBRyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBSzNFLHVCQUFrQixHQUFlLFVBQVUsQ0FBQztRQU81QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUl6QyxzQkFBaUIsR0FBRyxHQUFHLENBQUM7S0FnRTVDO0lBN0RHLFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQjtZQUFFLE9BQU87UUFDcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCwyQkFBMkI7UUFDdkIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDaEI7WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBR0QsYUFBYTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUU7WUFDMUIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDeEIsUUFBUSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNyQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDekYsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDOUIsT0FBTyxFQUFFO2dCQUNMLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCO2dCQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZTthQUM5QjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7dUdBbkZRLG1CQUFtQjttR0FBbkIsbUJBQW1COzhHQUFuQixrQkFBYywrRUFBZCxrQkFBYyx5RkFBZCxpQ0FBNkIsbUZBQTdCLG1CQUFlOzZQQVhiO2dCQUNQO29CQUNJLE9BQU8sRUFBRSx1QkFBdUI7b0JBQ2hDLFVBQVUsR0FBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRTt3QkFDL0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzt3QkFDaEYsT0FBTyxPQUFPLElBQUksSUFBSSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDNUQsQ0FBQyxDQUFBO29CQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztpQkFDbkI7YUFDSjs7dUZBRVEsbUJBQW1CO2NBYi9CLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLFVBQVUsR0FBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRTs0QkFDL0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzs0QkFDaEYsT0FBTyxPQUFPLElBQUksSUFBSSx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDNUQsQ0FBQyxDQUFBO3dCQUNELElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztxQkFDbkI7aUJBQ0o7YUFDSjtnQkFRRyxVQUFVO2tCQURULEtBQUs7bUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBR3pCLGtCQUFrQjtrQkFEakIsS0FBSztZQUdOLGVBQWU7a0JBRGQsS0FBSztZQUdOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLGdCQUFnQjtrQkFEZixNQUFNO1lBUVAsWUFBWTtrQkFEWCxZQUFZO21CQUFDLFlBQVk7WUFPMUIsWUFBWTtrQkFEWCxZQUFZO21CQUFDLE9BQU87WUFNckIsMkJBQTJCO2tCQUQxQixZQUFZO21CQUFDLFlBQVk7WUFZMUIsYUFBYTtrQkFEWixZQUFZO21CQUFDLGtCQUFrQjs7QUE2Q3BDLE1BQU0sT0FBTyx3QkFBd0I7NEdBQXhCLHdCQUF3QjttR0FBeEIsd0JBQXdCOzt1RkFBeEIsd0JBQXdCO2NBSHBDLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2FBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFbFBvc2l0aW9uLCBJRHJvcGRvd25BY3Rpb24sIElEcm9wZG93bkl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgRHJEcm9wZG93blNlcnZpY2UsIERyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmltcG9ydCB7IERyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2RyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuLi9tb2RlbHMvcG9wb3Zlcic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2RyRHJvcGRvd25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VydmljZSA9IGluamVjdG9yLmdldChEcm9wZG93bkluc3RhbmNlU2VydmljZSwgbnVsbCwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VydmljZSA/PyBuZXcgRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UoaW5qZWN0b3IpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEcm9wZG93bkRpcmVjdGl2ZTxUPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2UgPSBpbmplY3QoRHJEcm9wZG93blNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hpbGQgPSBpbmplY3QoRHJEcm9wZG93bkNoaWxkRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlLCBzZWxmOiB0cnVlIH0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25JbnN0YW5jZVNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25JbnN0YW5jZVNlcnZpY2UpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBkckRyb3Bkb3duOiBJRHJvcGRvd25JdGVtPFQ+W107XG4gICAgQElucHV0KClcbiAgICBkckRyb3Bkb3duUG9zaXRpb246IEVsUG9zaXRpb24gPSAnbGVmdC10b3AnO1xuICAgIEBJbnB1dCgpXG4gICAgZHJEcm9wZG93bkNsYXNzOiBzdHJpbmc7XG4gICAgQElucHV0KClcbiAgICBkckRyb3Bkb3duSW5Ib3ZlcjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGRyRHJvcGRvd25BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPElEcm9wZG93bkFjdGlvbjxUPj4oKTtcblxuICAgIHByaXZhdGUgcmVmOiBEclBvcG92ZXJSZWY8RHJEcm9wZG93bkNvbXBvbmVudD47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vdXNlbGVhdmVUaW1lb3V0ID0gMjAwO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gICAgZWxlbWVudEhvdmVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHJldHVybjtcbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgZWxlbWVudENsaWNrKCkge1xuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIGxlYXZlRHJvcGRvd25UcmlnZ2VyRWxlbWVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJEcm9wZG93bkluSG92ZXIpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlZiAmJiAhdGhpcy5yZWYuaW5zdGFuY2Uud2FzSG92ZXJlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcy5tb3VzZWxlYXZlVGltZW91dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJylcbiAgICBkb2N1bWVudENsaWNrKCkge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kckRyb3Bkb3duPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZWYgPSB0aGlzLnNlcnZpY2Uub3Blbih7XG4gICAgICAgICAgICBob3N0UmVmOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5kckRyb3Bkb3duUG9zaXRpb24sXG4gICAgICAgICAgICBhc0NoaWxkOiAhIXRoaXMuY2hpbGQsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERyb3Bkb3duSW5zdGFuY2VTZXJ2aWNlLCB1c2VWYWx1ZTogdGhpcy5kcm9wZG93bkluc3RhbmNlU2VydmljZSB9XSxcbiAgICAgICAgICAgIGFjdGlvbiQ6IHRoaXMuZHJEcm9wZG93bkFjdGlvbixcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBkckRyb3Bkb3duSW5Ib3ZlcjogdGhpcy5kckRyb3Bkb3duSW5Ib3ZlcixcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5kckRyb3Bkb3duUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgbGlzdDogdGhpcy5kckRyb3Bkb3duLFxuICAgICAgICAgICAgICAgIGNsYXNzOiB0aGlzLmRyRHJvcGRvd25DbGFzcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlZikge1xuICAgICAgICAgICAgdGhpcy5yZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMucmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZHJEcm9wZG93bkNoaWxkXScsXG59KVxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25DaGlsZERpcmVjdGl2ZSB7fVxuIl19
|