@energycap/components 0.44.8 → 0.44.9-Angular19Upgrade.20260217-1620
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/fesm2022/energycap-components.mjs +379 -354
- package/fesm2022/energycap-components.mjs.map +1 -1
- package/lib/controls/button/copy-button-base.directive.d.ts +1 -1
- package/lib/controls/date-input/date-input.component.d.ts +1 -1
- package/lib/controls/form-control-base.d.ts +1 -1
- package/lib/core/date-time-helper.d.ts +2 -2
- package/lib/display/hierarchy/hierarchy-base.d.ts +1 -1
- package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +1 -1
- package/lib/display/resizable/resizable-base.d.ts +1 -1
- package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -1
- package/lib/shared/page/page-base/page-base.component.d.ts +1 -1
- package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +1 -1
- package/package.json +1 -3
- package/schematics/utilities/typescript.js +3 -4
- package/schematics/utilities/typescript.js.map +1 -1
- package/schematics/utilities/workspace.d.ts +0 -8
- package/schematics/utilities/workspace.js +48 -71
- package/schematics/utilities/workspace.js.map +1 -1
- package/esm2022/energycap-components.mjs +0 -5
- package/esm2022/lib/components.module.mjs +0 -425
- package/esm2022/lib/controls/banner/banner.component.mjs +0 -112
- package/esm2022/lib/controls/button/button.component.mjs +0 -114
- package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
- package/esm2022/lib/controls/button/copy-button.directive.mjs +0 -28
- package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
- package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -91
- package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -251
- package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -2
- package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
- package/esm2022/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +0 -38
- package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +0 -57
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +0 -62
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +0 -100
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +0 -101
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +0 -76
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +0 -79
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +0 -210
- package/esm2022/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +0 -81
- package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -466
- package/esm2022/lib/controls/date-input/date-input.types.mjs +0 -44
- package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
- package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
- package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -110
- package/esm2022/lib/controls/form-control-base.mjs +0 -151
- package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
- package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
- package/esm2022/lib/controls/help-popover/help-popover.component.mjs +0 -31
- package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
- package/esm2022/lib/controls/link-button/link-button.component.mjs +0 -11
- package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
- package/esm2022/lib/controls/navigation/link-item.mjs +0 -2
- package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
- package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
- package/esm2022/lib/controls/navigation/nav-item.mjs +0 -2
- package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
- package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
- package/esm2022/lib/controls/radio-button/radio-button-option.mjs +0 -3
- package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
- package/esm2022/lib/controls/select/select.component.mjs +0 -88
- package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
- package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
- package/esm2022/lib/core/cache.service.mjs +0 -105
- package/esm2022/lib/core/custom-validators.mjs +0 -29
- package/esm2022/lib/core/date-time-helper.mjs +0 -228
- package/esm2022/lib/core/error.service.mjs +0 -61
- package/esm2022/lib/core/router-helper.service.mjs +0 -111
- package/esm2022/lib/core/scroll.service.mjs +0 -89
- package/esm2022/lib/core/telemetry-tracker.service.mjs +0 -16
- package/esm2022/lib/core/telemetry.service.mjs +0 -38
- package/esm2022/lib/core/validation-message.service.mjs +0 -185
- package/esm2022/lib/core/validation-patterns.mjs +0 -31
- package/esm2022/lib/core/window.service.mjs +0 -186
- package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -49
- package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
- package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
- package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
- package/esm2022/lib/display/dialog/dialog-content.mjs +0 -2
- package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
- package/esm2022/lib/display/dialog/dialog-types.mjs +0 -77
- package/esm2022/lib/display/dialog/dialog.component.mjs +0 -287
- package/esm2022/lib/display/dialog/dialog.service.mjs +0 -71
- package/esm2022/lib/display/help/help-types.mjs +0 -2
- package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
- package/esm2022/lib/display/hierarchy/hierarchy-mocks.spec.mjs +0 -54
- package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -65
- package/esm2022/lib/display/item-display/item-display.component.mjs +0 -83
- package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
- package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
- package/esm2022/lib/display/resizable/resizable.component.mjs +0 -57
- package/esm2022/lib/display/spinner/spinner.component.mjs +0 -12
- package/esm2022/lib/display/splash/splash.component.mjs +0 -61
- package/esm2022/lib/display/splash/splash.service.mjs +0 -35
- package/esm2022/lib/display/table/resizable-column.component.mjs +0 -20
- package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
- package/esm2022/lib/display/table/searchable-table.component.mjs +0 -344
- package/esm2022/lib/display/table/table-detail-row.component.mjs +0 -28
- package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
- package/esm2022/lib/display/table/table-master-header-row.component.mjs +0 -14
- package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
- package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
- package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
- package/esm2022/lib/display/table/table.component.mjs +0 -257
- package/esm2022/lib/display/tags/tag.mjs +0 -18
- package/esm2022/lib/display/tags/tags.component.mjs +0 -82
- package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
- package/esm2022/lib/display/toast/toast-types.mjs +0 -8
- package/esm2022/lib/display/toast/toast.service.mjs +0 -35
- package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
- package/esm2022/lib/display/tooltip/tooltip.component.mjs +0 -28
- package/esm2022/lib/display/tooltip/tooltip.service.mjs +0 -78
- package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
- package/esm2022/lib/display/tree/tree.component.mjs +0 -139
- package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
- package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
- package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
- package/esm2022/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +0 -103
- package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
- package/esm2022/lib/shared/display/pipes/date-display-2.pipe.mjs +0 -39
- package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -51
- package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
- package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
- package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
- package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
- package/esm2022/lib/shared/display.mjs +0 -6
- package/esm2022/lib/shared/form-group.helper.mjs +0 -67
- package/esm2022/lib/shared/json-helper.mjs +0 -19
- package/esm2022/lib/shared/lodash-helper.mjs +0 -52
- package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
- package/esm2022/lib/shared/page/page-statuses.mjs +0 -23
- package/esm2022/lib/shared/page/page-title/page-title.component.mjs +0 -23
- package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
- package/esm2022/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +0 -17
- package/esm2022/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +0 -17
- package/esm2022/lib/shared/testing/page-base-component-test-helper.spec.mjs +0 -38
- package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
- package/esm2022/lib/shared/testing/public-mocks.spec.mjs +0 -148
- package/esm2022/lib/shared/testing/spy-factory.spec.mjs +0 -40
- package/esm2022/lib/shared/testing/translation-mocks.spec.mjs +0 -57
- package/esm2022/lib/shared/user-preference.service.mjs +0 -17
- package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
- package/esm2022/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +0 -68
- package/esm2022/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +0 -18
- package/esm2022/public-api.mjs +0 -115
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
|
2
|
-
import { of, Subject } from 'rxjs';
|
|
3
|
-
import { delay, switchMap, takeUntil } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./../tooltip/tooltip.service";
|
|
6
|
-
export class TooltipDirective {
|
|
7
|
-
constructor(tooltipService, element, renderer2) {
|
|
8
|
-
this.tooltipService = tooltipService;
|
|
9
|
-
this.element = element;
|
|
10
|
-
this.renderer2 = renderer2;
|
|
11
|
-
//TooltipConfig: receives all the tooltip options to overwrite the
|
|
12
|
-
//default configuration of the tooltip
|
|
13
|
-
this.tooltipConfig = undefined;
|
|
14
|
-
//TooltipText: receives plain text to display in the default tooltip
|
|
15
|
-
this.tooltipText = undefined;
|
|
16
|
-
//TooltipCustomContent: receives a template reference to display
|
|
17
|
-
//into the tooltip content
|
|
18
|
-
this.tooltipCustomContent = undefined;
|
|
19
|
-
//This Input will remain as Input because tooltipPosition is not part
|
|
20
|
-
//of TooltipOptions type of object
|
|
21
|
-
this.tooltipPosition = "top-center";
|
|
22
|
-
//************************************************************//
|
|
23
|
-
//Events related
|
|
24
|
-
this.mouseOver = new Subject();
|
|
25
|
-
this.interrupt = new Subject();
|
|
26
|
-
this.hideCompleted = new Subject();
|
|
27
|
-
//Object with the tooltip options builded with the Input parameters
|
|
28
|
-
//and use it in tooltipService - show()
|
|
29
|
-
this.tooltipOptions = {};
|
|
30
|
-
/**Set when we show a tooltip, to allow us to unsubscribe to mouse move when hide fires.
|
|
31
|
-
* if we never showed the tooltip this will remain null and we won't have an event to unsubscribe to
|
|
32
|
-
*/
|
|
33
|
-
this.mouseMoveUnsubscribe = null;
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
//checkInputsValue(): if there is an error it will prevent to execute
|
|
37
|
-
//any code related with the tooltip setup
|
|
38
|
-
if (this.checkInputsValue()) {
|
|
39
|
-
//Create the object with the tooltip options provided as @Inputs
|
|
40
|
-
this.createTooltipOptions();
|
|
41
|
-
//MouseOver flow: start the process of showing the tooltip
|
|
42
|
-
//until the mouse leaves the anchor element with this.interrupt
|
|
43
|
-
this.mouseOver
|
|
44
|
-
.pipe(switchMap(v => of(v).pipe(delay(300), //delays the time previous of showing the tooltip
|
|
45
|
-
takeUntil(this.interrupt))))
|
|
46
|
-
.subscribe(() => this.show()); //Calls the function responsable of using the tooltipService
|
|
47
|
-
//Mouse leave flow: start the process of removing the tooltip when the mouse is away of the anchor element
|
|
48
|
-
this.interrupt.pipe(switchMap(v => of(v).pipe(delay(50), takeUntil(this.hideCompleted)))).subscribe(() => this.hide()); //hide the tooltip and triggers the completed cycle flag this.hideCompleted
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
console.error('There are too many parameters or none parameter to config the tooltip options');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**Detects where the mouse is to trigger the leave/hide process
|
|
55
|
-
* This is a backstop protection against us missing the mouseleave event and leaving a hanging chad.
|
|
56
|
-
* On some browsers, and on some actions (especially scroll) the mouseLeave seems to never fire */
|
|
57
|
-
onMouseMove(event) {
|
|
58
|
-
let callCallback = false;
|
|
59
|
-
if (this.contentRect) {
|
|
60
|
-
callCallback = this.tooltipService.onMove(event, this.contentRect);
|
|
61
|
-
if (callCallback) {
|
|
62
|
-
//trigger on hide process
|
|
63
|
-
this.interrupt.next();
|
|
64
|
-
//reset the contentRec for a new tooltip
|
|
65
|
-
this.contentRect = undefined;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//Trigger the process to show the tooltip
|
|
70
|
-
onMouseOver() {
|
|
71
|
-
this.mouseOver.next();
|
|
72
|
-
}
|
|
73
|
-
//Trigger the process to hide and later the process
|
|
74
|
-
//to mark as complete the cycle of show and hide the tooltip
|
|
75
|
-
onLeave() {
|
|
76
|
-
this.interrupt.next();
|
|
77
|
-
}
|
|
78
|
-
checkInputsValue() {
|
|
79
|
-
let parametersWithValue = 0;
|
|
80
|
-
if (this.tooltipText) {
|
|
81
|
-
parametersWithValue = parametersWithValue + 1;
|
|
82
|
-
}
|
|
83
|
-
if (this.tooltipCustomContent) {
|
|
84
|
-
parametersWithValue = parametersWithValue + 1;
|
|
85
|
-
}
|
|
86
|
-
if (this.tooltipConfig) {
|
|
87
|
-
parametersWithValue = parametersWithValue + 1;
|
|
88
|
-
}
|
|
89
|
-
if (parametersWithValue === 1) {
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* createTooltipOptions
|
|
98
|
-
* will only be executed after manageError() verifies
|
|
99
|
-
* if the parameters are not overlapping each other
|
|
100
|
-
* and it will build the tooltipOptions object
|
|
101
|
-
*/
|
|
102
|
-
createTooltipOptions() {
|
|
103
|
-
this.tooltipOptions = {
|
|
104
|
-
id: `tooltip_${this.tooltipConfig?.id ? this.tooltipConfig?.id : ''}`,
|
|
105
|
-
text: this.tooltipConfig?.text || this.tooltipText,
|
|
106
|
-
title: this.tooltipConfig?.title,
|
|
107
|
-
subtitle: this.tooltipConfig?.subtitle,
|
|
108
|
-
customContent: this.tooltipConfig?.customContent || this.tooltipCustomContent,
|
|
109
|
-
dismissible: this.tooltipConfig?.dismissible || false,
|
|
110
|
-
maxWidth: this.tooltipConfig?.maxWidth,
|
|
111
|
-
width: this.tooltipConfig?.width,
|
|
112
|
-
backgroundColor: this.tooltipConfig?.backgroundColor,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
show() {
|
|
116
|
-
//Reference to the element where to tooltip is attached
|
|
117
|
-
const element = this.element.nativeElement;
|
|
118
|
-
//contentRect will be assing only after showing a tooltip/popover and it will be
|
|
119
|
-
//reset after hide the same tooltip/popover
|
|
120
|
-
this.contentRect = this.element.nativeElement.getBoundingClientRect();
|
|
121
|
-
//tooltipPosition is never undefined, default value = "top-center"
|
|
122
|
-
if (!this.tooltip) {
|
|
123
|
-
this.tooltip = this.tooltipService.show(element, this.tooltipPosition, this.tooltipOptions);
|
|
124
|
-
this.mouseMoveUnsubscribe = this.renderer2.listen(document, 'mousemove', this.onMouseMove.bind(this));
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
hide() {
|
|
128
|
-
//There is a timing issue between the show - hide with
|
|
129
|
-
//liner tooltip elements, so the below line
|
|
130
|
-
//makes sure the app doesn't break
|
|
131
|
-
if (this.tooltip) {
|
|
132
|
-
//Call the hide() from the tooltip component
|
|
133
|
-
this.tooltip.hide();
|
|
134
|
-
this.tooltip = undefined;
|
|
135
|
-
if (this.mouseMoveUnsubscribe) {
|
|
136
|
-
this.mouseMoveUnsubscribe();
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//Interrupt the flow of mouseover with a delay and triggers the
|
|
140
|
-
//flow to hide the tooltip with a delay
|
|
141
|
-
this.interrupt.next();
|
|
142
|
-
//Work as a flag to indicate the flow of show and hide has been completed
|
|
143
|
-
this.hideCompleted.next();
|
|
144
|
-
}
|
|
145
|
-
//When the element where the tooltip is attached disappears
|
|
146
|
-
//the tooltip should be destroy as well
|
|
147
|
-
ngOnDestroy() {
|
|
148
|
-
this.interrupt.next();
|
|
149
|
-
}
|
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.TooltipService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
151
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: TooltipDirective, selector: "[ecTooltip]", inputs: { tooltipConfig: "tooltipConfig", tooltipText: "tooltipText", tooltipCustomContent: "tooltipCustomContent", tooltipPosition: "tooltipPosition" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, ngImport: i0 }); }
|
|
152
|
-
}
|
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
154
|
-
type: Directive,
|
|
155
|
-
args: [{
|
|
156
|
-
selector: '[ecTooltip]'
|
|
157
|
-
}]
|
|
158
|
-
}], ctorParameters: () => [{ type: i1.TooltipService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipConfig: [{
|
|
159
|
-
type: Input
|
|
160
|
-
}], tooltipText: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], tooltipCustomContent: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}], tooltipPosition: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], onMouseOver: [{
|
|
167
|
-
type: HostListener,
|
|
168
|
-
args: ['mouseover']
|
|
169
|
-
}], onLeave: [{
|
|
170
|
-
type: HostListener,
|
|
171
|
-
args: ['mouseleave']
|
|
172
|
-
}] } });
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwLWRpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGdCQUFnQjtJQTJDM0IsWUFDVSxjQUE4QixFQUM5QixPQUFtQixFQUNuQixTQUFvQjtRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBNUM5QixrRUFBa0U7UUFDbEUsc0NBQXNDO1FBQ3RCLGtCQUFhLEdBQW9CLFNBQVMsQ0FBQTtRQUUxRCxvRUFBb0U7UUFDcEQsZ0JBQVcsR0FBWSxTQUFTLENBQUM7UUFFakQsZ0VBQWdFO1FBQ2hFLDBCQUEwQjtRQUNWLHlCQUFvQixHQUFzQixTQUFTLENBQUM7UUFHcEUscUVBQXFFO1FBQ3JFLGtDQUFrQztRQUNsQixvQkFBZSxHQUFvQixZQUFZLENBQUM7UUFJaEUsZ0VBQWdFO1FBRWhFLGdCQUFnQjtRQUNSLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE1QyxtRUFBbUU7UUFDbkUsdUNBQXVDO1FBQy9CLG1CQUFjLEdBQW1CLEVBQUUsQ0FB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bkluaXQsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBUb29sdGlwT3B0aW9ucywgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlY1Rvb2x0aXBdJ1xufSlcblxuZXhwb3J0IGNsYXNzIFRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8vVG9vbHRpcENvbmZpZzogcmVjZWl2ZXMgYWxsIHRoZSB0b29sdGlwIG9wdGlvbnMgdG8gb3ZlcndyaXRlIHRoZVxuICAvL2RlZmF1bHQgY29uZmlndXJhdGlvbiBvZiB0aGUgdG9vbHRpcFxuICBASW5wdXQoKSBwdWJsaWMgdG9vbHRpcENvbmZpZz86IFRvb2x0aXBPcHRpb25zID0gdW5kZWZpbmVkXG5cbiAgLy9Ub29sdGlwVGV4dDogcmVjZWl2ZXMgcGxhaW4gdGV4dCB0byBkaXNwbGF5IGluIHRoZSBkZWZhdWx0IHRvb2x0aXBcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXBUZXh0Pzogc3RyaW5nID0gdW5kZWZpbmVkOyBcblxuICAvL1Rvb2x0aXBDdXN0b21Db250ZW50OiByZWNlaXZlcyBhIHRlbXBsYXRlIHJlZmVyZW5jZSB0byBkaXNwbGF5XG4gIC8vaW50byB0aGUgdG9vbHRpcCBjb250ZW50XG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwQ3VzdG9tQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT4gPSB1bmRlZmluZWQ7XG4gIFxuICBcbiAgLy9UaGlzIElucHV0IHdpbGwgcmVtYWluIGFzIElucHV0IGJlY2F1c2UgdG9vbHRpcFBvc2l0aW9uIGlzIG5vdCBwYXJ0XG4gIC8vb2YgVG9vbHRpcE9wdGlvbnMgdHlwZSBvZiBvYmplY3RcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gXCJ0b3AtY2VudGVyXCI7XG5cblxuXG4gIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuICAvL0V2ZW50cyByZWxhdGVkXG4gIHByaXZhdGUgbW91c2VPdmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBpbnRlcnJ1cHQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGhpZGVDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIGNvbnRlbnRSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xuXG4gIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuICAvL1JlZmVyZW5jZSB0byBUb29sdGlwQ29tcG9uZW50LCB3aWxsIGJlIGRlZmluZWQgYmVsb3cgaW4gdGhpcy5zaG93KClcbiAgcHJpdmF0ZSB0b29sdGlwPzogVG9vbHRpcENvbXBvbmVudDtcblxuICAvL09iamVjdCB3aXRoIHRoZSB0b29sdGlwIG9wdGlvbnMgYnVpbGRlZCB3aXRoIHRoZSBJbnB1dCBwYXJhbWV0ZXJzXG4gIC8vYW5kIHVzZSBpdCBpbiB0b29sdGlwU2VydmljZSAtIHNob3coKVxuICBwcml2YXRlIHRvb2x0aXBPcHRpb25zPzpUb29sdGlwT3B0aW9ucyA9IHt9XG4gIFxuXG4gIC8qKlNldCB3aGVuIHdlIHNob3cgYSB0b29sdGlwLCB0byBhbGxvdyB1cyB0byB1bnN1YnNjcmliZSB0byBtb3VzZSBtb3ZlIHdoZW4gaGlkZSBmaXJlcy5cbiAgICogaWYgd2UgbmV2ZXIgc2hvd2VkIHRoZSB0b29sdGlwIHRoaXMgd2lsbCByZW1haW4gbnVsbCBhbmQgd2Ugd29uJ3QgaGF2ZSBhbiBldmVudCB0byB1bnN1YnNjcmliZSB0b1xuICAgKi9cbiAgcHJpdmF0ZSBtb3VzZU1vdmVVbnN1YnNjcmliZTogKCgpPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsIFxuICAgIHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vY2hlY2tJbnB1dHNWYWx1ZSgpOiBpZiB0aGVyZSBpcyBhbiBlcnJvciBpdCB3aWxsIHByZXZlbnQgdG8gZXhlY3V0ZVxuICAgIC8vYW55IGNvZGUgcmVsYXRlZCB3aXRoIHRoZSB0b29sdGlwIHNldHVwXG4gICAgaWYodGhpcy5jaGVja0lucHV0c1ZhbHVlKCkpIHtcbiAgICAgIC8vQ3JlYXRlIHRoZSBvYmplY3Qgd2l0aCB0aGUgdG9vbHRpcCBvcHRpb25zIHByb3ZpZGVkIGFzIEBJbnB1dHNcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcE9wdGlvbnMoKTtcblxuICAgICAgLy9Nb3VzZU92ZXIgZmxvdzogc3RhcnQgdGhlIHByb2Nlc3Mgb2Ygc2hvd2luZyB0aGUgdG9vbHRpcFxuICAgICAgLy91bnRpbCB0aGUgbW91c2UgbGVhdmVzIHRoZSBhbmNob3IgZWxlbWVudCB3aXRoIHRoaXMuaW50ZXJydXB0XG4gICAgICB0aGlzLm1vdXNlT3ZlclxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh2ID0+XG4gICAgICAgICAgb2YodikucGlwZShcbiAgICAgICAgICAgIGRlbGF5KDMwMCksIC8vZGVsYXlzIHRoZSB0aW1lIHByZXZpb3VzIG9mIHNob3dpbmcgdGhlIHRvb2x0aXBcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmludGVycnVwdClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zaG93KCkpOyAvL0NhbGxzIHRoZSBmdW5jdGlvbiByZXNwb25zYWJsZSBvZiB1c2luZyB0aGUgdG9vbHRpcFNlcnZpY2VcbiAgXG4gICAgICAvL01vdXNlIGxlYXZlIGZsb3c6IHN0YXJ0IHRoZSBwcm9jZXNzIG9mIHJlbW92aW5nIHRoZSB0b29sdGlwIHdoZW4gdGhlIG1vdXNlIGlzIGF3YXkgb2YgdGhlIGFuY2hvciBlbGVtZW50XG4gICAgICB0aGlzLmludGVycnVwdC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodiA9PiBcbiAgICAgICAgICBvZih2KS5waXBlKFxuICAgICAgICAgICAgZGVsYXkoNTApLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuaGlkZUNvbXBsZXRlZClcbiAgICAgICAgICApKVxuICAgICAgKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5oaWRlKCkpOyAvL2hpZGUgdGhlIHRvb2x0aXAgYW5kIHRyaWdnZXJzIHRoZSBjb21wbGV0ZWQgY3ljbGUgZmxhZyB0aGlzLmhpZGVDb21wbGV0ZWRcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignVGhlcmUgYXJlIHRvbyBtYW55IHBhcmFtZXRlcnMgb3Igbm9uZSBwYXJhbWV0ZXIgdG8gY29uZmlnIHRoZSB0b29sdGlwIG9wdGlvbnMnKTtcbiAgICB9XG4gIH1cblxuICAvKipEZXRlY3RzIHdoZXJlIHRoZSBtb3VzZSBpcyB0byB0cmlnZ2VyIHRoZSBsZWF2ZS9oaWRlIHByb2Nlc3NcbiAgICogVGhpcyBpcyBhIGJhY2tzdG9wIHByb3RlY3Rpb24gYWdhaW5zdCB1cyBtaXNzaW5nIHRoZSBtb3VzZWxlYXZlIGV2ZW50IGFuZCBsZWF2aW5nIGEgaGFuZ2luZyBjaGFkLlxuICAgKiBPbiBzb21lIGJyb3dzZXJzLCBhbmQgb24gc29tZSBhY3Rpb25zIChlc3BlY2lhbGx5IHNjcm9sbCkgdGhlIG1vdXNlTGVhdmUgc2VlbXMgdG8gbmV2ZXIgZmlyZSAqL1xuICBwdWJsaWMgb25Nb3VzZU1vdmUoZXZlbnQ6TW91c2VFdmVudCkge1xuICAgIGxldCBjYWxsQ2FsbGJhY2sgPSBmYWxzZTtcbiAgICBpZih0aGlzLmNvbnRlbnRSZWN0KSB7XG4gICAgICBjYWxsQ2FsbGJhY2sgPSB0aGlzLnRvb2x0aXBTZXJ2aWNlLm9uTW92ZShldmVudCwgdGhpcy5jb250ZW50UmVjdCEpO1xuICAgICAgaWYoY2FsbENhbGxiYWNrKSB7XG4gICAgICAgIC8vdHJpZ2dlciBvbiBoaWRlIHByb2Nlc3NcbiAgICAgICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpOyBcbiAgICAgICAgLy9yZXNldCB0aGUgY29udGVudFJlYyBmb3IgYSBuZXcgdG9vbHRpcFxuICAgICAgICB0aGlzLmNvbnRlbnRSZWN0ID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vVHJpZ2dlciB0aGUgcHJvY2VzcyB0byBzaG93IHRoZSB0b29sdGlwXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3ZlcicpXG4gIHB1YmxpYyBvbk1vdXNlT3ZlcigpIHtcbiAgICB0aGlzLm1vdXNlT3Zlci5uZXh0KCk7XG4gIH1cbiAgXG4gIC8vVHJpZ2dlciB0aGUgcHJvY2VzcyB0byBoaWRlIGFuZCBsYXRlciB0aGUgcHJvY2Vzc1xuICAvL3RvIG1hcmsgYXMgY29tcGxldGUgdGhlIGN5Y2xlIG9mIHNob3cgYW5kIGhpZGUgdGhlIHRvb2x0aXBcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VsZWF2ZScpXG4gIHB1YmxpYyBvbkxlYXZlKCkge1xuICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJbnB1dHNWYWx1ZSgpOmJvb2xlYW4ge1xuICAgIGxldCBwYXJhbWV0ZXJzV2l0aFZhbHVlID0gMDtcbiAgICBpZih0aGlzLnRvb2x0aXBUZXh0KSB7XG4gICAgICBwYXJhbWV0ZXJzV2l0aFZhbHVlID0gcGFyYW1ldGVyc1dpdGhWYWx1ZSArIDFcbiAgICB9IFxuICAgIGlmKHRoaXMudG9vbHRpcEN1c3RvbUNvbnRlbnQpIHtcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxuICAgIH1cbiAgICBpZih0aGlzLnRvb2x0aXBDb25maWcpIHtcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxuICAgIH1cbiAgICBpZihwYXJhbWV0ZXJzV2l0aFZhbHVlID09PSAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogY3JlYXRlVG9vbHRpcE9wdGlvbnNcbiAgICogd2lsbCBvbmx5IGJlIGV4ZWN1dGVkIGFmdGVyIG1hbmFnZUVycm9yKCkgdmVyaWZpZXMgXG4gICAqIGlmIHRoZSBwYXJhbWV0ZXJzIGFyZSBub3Qgb3ZlcmxhcHBpbmcgZWFjaCBvdGhlclxuICAgKiBhbmQgaXQgd2lsbCBidWlsZCB0aGUgdG9vbHRpcE9wdGlvbnMgb2JqZWN0XG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXBPcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMudG9vbHRpcE9wdGlvbnMgPSB7XG4gICAgICBpZDogYHRvb2x0aXBfJHt0aGlzLnRvb2x0aXBDb25maWc/LmlkPyB0aGlzLnRvb2x0aXBDb25maWc/LmlkOiAnJ31gLFxuICAgICAgdGV4dDogdGhpcy50b29sdGlwQ29uZmlnPy50ZXh0IHx8IHRoaXMudG9vbHRpcFRleHQsXG4gICAgICB0aXRsZTogdGhpcy50b29sdGlwQ29uZmlnPy50aXRsZSxcbiAgICAgIHN1YnRpdGxlOiB0aGlzLnRvb2x0aXBDb25maWc/LnN1YnRpdGxlLFxuICAgICAgY3VzdG9tQ29udGVudDogdGhpcy50b29sdGlwQ29uZmlnPy5jdXN0b21Db250ZW50IHx8IHRoaXMudG9vbHRpcEN1c3RvbUNvbnRlbnQsXG4gICAgICBkaXNtaXNzaWJsZTogdGhpcy50b29sdGlwQ29uZmlnPy5kaXNtaXNzaWJsZSB8fCBmYWxzZSxcbiAgICAgIG1heFdpZHRoOiB0aGlzLnRvb2x0aXBDb25maWc/Lm1heFdpZHRoLFxuICAgICAgd2lkdGg6IHRoaXMudG9vbHRpcENvbmZpZz8ud2lkdGgsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMudG9vbHRpcENvbmZpZz8uYmFja2dyb3VuZENvbG9yLFxuICAgIH07XG4gIH1cblxuXG4gIHByaXZhdGUgc2hvdygpOnZvaWQge1xuICAgIC8vUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IHdoZXJlIHRvIHRvb2x0aXAgaXMgYXR0YWNoZWRcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy9jb250ZW50UmVjdCB3aWxsIGJlIGFzc2luZyBvbmx5IGFmdGVyIHNob3dpbmcgYSB0b29sdGlwL3BvcG92ZXIgYW5kIGl0IHdpbGwgYmVcbiAgICAvL3Jlc2V0IGFmdGVyIGhpZGUgdGhlIHNhbWUgdG9vbHRpcC9wb3BvdmVyXG4gICAgdGhpcy5jb250ZW50UmVjdCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIC8vdG9vbHRpcFBvc2l0aW9uIGlzIG5ldmVyIHVuZGVmaW5lZCwgZGVmYXVsdCB2YWx1ZSA9IFwidG9wLWNlbnRlclwiXG4gICAgaWYoIXRoaXMudG9vbHRpcCkge1xuICAgICAgdGhpcy50b29sdGlwID0gdGhpcy50b29sdGlwU2VydmljZS5zaG93KGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsIHRoaXMudG9vbHRpcFBvc2l0aW9uLCB0aGlzLnRvb2x0aXBPcHRpb25zKTtcbiAgICAgIHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUgPSB0aGlzLnJlbmRlcmVyMi5saXN0ZW4oZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGlkZSgpOnZvaWQge1xuICAgIC8vVGhlcmUgaXMgYSB0aW1pbmcgaXNzdWUgYmV0d2VlbiB0aGUgc2hvdyAtIGhpZGUgd2l0aCBcbiAgICAvL2xpbmVyIHRvb2x0aXAgZWxlbWVudHMsIHNvIHRoZSBiZWxvdyBsaW5lXG4gICAgLy9tYWtlcyBzdXJlIHRoZSBhcHAgZG9lc24ndCBicmVha1xuICAgIGlmKHRoaXMudG9vbHRpcCkge1xuICAgICAgLy9DYWxsIHRoZSBoaWRlKCkgZnJvbSB0aGUgdG9vbHRpcCBjb21wb25lbnRcbiAgICAgIHRoaXMudG9vbHRpcC5oaWRlKCk7XG4gICAgICB0aGlzLnRvb2x0aXAgPSB1bmRlZmluZWQ7XG4gICAgICBcbiAgICAgIGlmKHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUpe1xuICAgICAgICB0aGlzLm1vdXNlTW92ZVVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9JbnRlcnJ1cHQgdGhlIGZsb3cgb2YgbW91c2VvdmVyIHdpdGggYSBkZWxheSBhbmQgdHJpZ2dlcnMgdGhlIFxuICAgIC8vZmxvdyB0byBoaWRlIHRoZSB0b29sdGlwIHdpdGggYSBkZWxheSBcbiAgICB0aGlzLmludGVycnVwdC5uZXh0KCk7XG4gICAgLy9Xb3JrIGFzIGEgZmxhZyB0byBpbmRpY2F0ZSB0aGUgZmxvdyBvZiBzaG93IGFuZCBoaWRlIGhhcyBiZWVuIGNvbXBsZXRlZFxuICAgIHRoaXMuaGlkZUNvbXBsZXRlZC5uZXh0KCk7XG4gIH1cblxuICAvL1doZW4gdGhlIGVsZW1lbnQgd2hlcmUgdGhlIHRvb2x0aXAgaXMgYXR0YWNoZWQgZGlzYXBwZWFyc1xuICAvL3RoZSB0b29sdGlwIHNob3VsZCBiZSBkZXN0cm95IGFzIHdlbGwgIFxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { Component, Input, HostBinding, Output, EventEmitter, ViewChild } from '@angular/core';
|
|
2
|
-
import { MenuComponent } from '../../controls/menu/menu.component';
|
|
3
|
-
import { HierarchyTreeComponent } from '../hierarchy/hierarchy-tree/hierarchy-tree.component';
|
|
4
|
-
import { Overlay } from '../view-overlay/view-overlay.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "../view-overlay/view-overlay.component";
|
|
8
|
-
import * as i3 from "../../controls/menu/menu.component";
|
|
9
|
-
import * as i4 from "../../controls/dropdown/dropdown.component";
|
|
10
|
-
import * as i5 from "../hierarchy/hierarchy-tree/hierarchy-tree.component";
|
|
11
|
-
import * as i6 from "@ngx-translate/core";
|
|
12
|
-
export class TreeComponent {
|
|
13
|
-
/**
|
|
14
|
-
* The ID of the component, bound to the host element's id attribute and passed
|
|
15
|
-
* to child components
|
|
16
|
-
*/
|
|
17
|
-
set id(value) {
|
|
18
|
-
this._id = value;
|
|
19
|
-
this.attrId = value;
|
|
20
|
-
}
|
|
21
|
-
;
|
|
22
|
-
get id() {
|
|
23
|
-
return this._id;
|
|
24
|
-
}
|
|
25
|
-
constructor() {
|
|
26
|
-
/** The value of the host elements id attribute */
|
|
27
|
-
this.attrId = '';
|
|
28
|
-
this._id = '';
|
|
29
|
-
/** The tree's title displayed in the header */
|
|
30
|
-
this.treeTitle = '';
|
|
31
|
-
/** Hides the tree header when set to true */
|
|
32
|
-
this.hideTreeHeader = false;
|
|
33
|
-
/** Allows the root node to be collapsible with a toggle */
|
|
34
|
-
this.collapsibleRootNode = false;
|
|
35
|
-
/** Used when the tree is in menu mode to tell the menu if it should maintain the selected item
|
|
36
|
-
* Useful in side nav components where this tree component may exist alongside other trees or menus
|
|
37
|
-
* used for navigation. If this tree is in menu mode you would want this set to false so when you select an item
|
|
38
|
-
* from a sibling navigation element the selection will not be maintained.
|
|
39
|
-
*/
|
|
40
|
-
this.treeMenuMaintainSelectedItem = true;
|
|
41
|
-
/** Tree overlay */
|
|
42
|
-
this.status = new Overlay('hasData');
|
|
43
|
-
/** Display the tree items with a MenuComponent or a HierarchyTreeComponent */
|
|
44
|
-
this.type = 'hierarchy';
|
|
45
|
-
/** Tree dropdown menu overlay */
|
|
46
|
-
this.menuStatus = new Overlay('hasData');
|
|
47
|
-
/** The menu item template */
|
|
48
|
-
this.menuTemplateType = "checkAndLabel";
|
|
49
|
-
/**
|
|
50
|
-
* When true, the space for the icon is preserved for menu items that do not have icons.
|
|
51
|
-
* Only applicable for iconAndLabel menus. Not applicable to hierarchy trees.
|
|
52
|
-
*/
|
|
53
|
-
this.preserveIconSpace = false;
|
|
54
|
-
/** Emits the item currently selected item in the tree */
|
|
55
|
-
this.treeSelection = new EventEmitter();
|
|
56
|
-
/** Emits when a hierarchy tree item is expanded as a hook to load the item's children */
|
|
57
|
-
this.getTreeItemChildren = new EventEmitter();
|
|
58
|
-
/** Emits when a hierarchy tree item is expanded or collapsed */
|
|
59
|
-
this.treeItemToggled = new EventEmitter();
|
|
60
|
-
this.templateType = 'label';
|
|
61
|
-
}
|
|
62
|
-
/** Emits when a tree item is selected */
|
|
63
|
-
onItemSelected(item) {
|
|
64
|
-
this.treeSelection.emit(item);
|
|
65
|
-
}
|
|
66
|
-
/** Emits when a hierarchy tree item is expanded to load the item's children */
|
|
67
|
-
onHierarchyGetItemChildren(item) {
|
|
68
|
-
this.getTreeItemChildren.emit(item);
|
|
69
|
-
}
|
|
70
|
-
/** Emits when a hierarchy tree item is expanded or collapsed */
|
|
71
|
-
onHierarchyItemToggled(item) {
|
|
72
|
-
this.treeItemToggled.emit(item);
|
|
73
|
-
}
|
|
74
|
-
/** Scroll to the tree item that is currently selected. */
|
|
75
|
-
scrollToSelectedItem() {
|
|
76
|
-
if (this.menuComponent) {
|
|
77
|
-
this.menuComponent.scrollToSelectedItem();
|
|
78
|
-
}
|
|
79
|
-
if (this.hierarchyTreeComponent) {
|
|
80
|
-
this.hierarchyTreeComponent.scrollToSelectedItem();
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
84
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeComponent, selector: "ec-tree", inputs: { id: "id", treeTitle: "treeTitle", hideTreeHeader: "hideTreeHeader", treeItems: "treeItems", treeHierarchyHideRootNode: "treeHierarchyHideRootNode", collapsibleRootNode: "collapsibleRootNode", treeHierarchy: "treeHierarchy", treeMenuMaintainSelectedItem: "treeMenuMaintainSelectedItem", customTreeMenuTemplate: "customTreeMenuTemplate", customHierarchyItemTemplate: "customHierarchyItemTemplate", status: "status", type: "type", menuItems: "menuItems", menuStatus: "menuStatus", menuTemplateType: "menuTemplateType", preserveIconSpace: "preserveIconSpace", templateType: "templateType" }, outputs: { treeSelection: "treeSelection", getTreeItemChildren: "getTreeItemChildren", treeItemToggled: "treeItemToggled" }, host: { properties: { "attr.id": "this.attrId" } }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: MenuComponent, descendants: true }, { propertyName: "hierarchyTreeComponent", first: true, predicate: HierarchyTreeComponent, descendants: true }], ngImport: i0, template: "<header *ngIf=\"!hideTreeHeader\"\n class=\"flex-shrink d-flex align-items-center\">\n <h2 id=\"{{id}}_title\"\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\n <ec-dropdown *ngIf=\"menuItems?.length\"\n id=\"{{id}}_dropdown\"\n class=\"flex-shrink\"\n icon=\"icon-menu\"\n [menuTemplateType]=\"menuTemplateType\"\n menuPosition=\"left\"\n [status]=\"menuStatus\"\n [popupFixed]=\"true\"\n [showArrow]=\"false\"\n [menuMinWidth]=\"240\"\n [items]=\"menuItems\">\n </ec-dropdown>\n</header>\n\n<div class=\"flex-grow d-flex\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <ng-container *ngIf=\"type === 'menu'\">\n <ec-menu [id]=\"id\"\n [items]=\"treeItems\"\n [templateType]=\"templateType\"\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\n [truncateItems]=\"true\"\n (selectedChanged)=\"onItemSelected($event)\"\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\n [preserveIconSpace]=\"preserveIconSpace\"\n class=\"flex-grow\">\n </ec-menu>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'hierarchy'\">\n <ec-hierarchy-tree [id]=\"id\"\n [rootNode]=\"treeHierarchy\"\n [hideRootNode]=\"treeHierarchyHideRootNode\"\n [collapsibleRootNode]=\"collapsibleRootNode\"\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\n (itemToggled)=\"onHierarchyItemToggled($event)\"\n (itemSelected)=\"onItemSelected($event)\"\n [customItemTemplate]=\"customHierarchyItemTemplate\"\n class=\"flex-grow d-flex\">\n </ec-hierarchy-tree>\n </ng-container>\n</div>", styles: [":host{display:flex;flex-direction:column}header{height:var(--ec-tree-height-header, 3rem);background-color:var(--ec-tree-background-color, var(--ec-background-color));padding:var(--ec-tree-padding-header, 0 .25rem 0 .5rem);border-bottom:var(--ec-tree-border-bottom-header, var(--ec-border-width) solid var(--ec-border-color))}ec-dropdown.fill{height:var(--ec-tree-height-header, 3rem);width:var(--ec-tree-height-header, 3rem)}ec-menu,ec-hierarchy-tree{--ec-menu-background-color: var(--ec-tree-background-color)}[ecOverlay]{--ec-overlay-background-color: var(--ec-tree-background-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i3.MenuComponent, selector: "ec-menu", inputs: ["id", "items", "selected", "parent", "templateType", "customMenuTemplate", "title", "showNoItems", "noDataText", "enableKeyNav", "highlightedItem", "maintainSelectedItem", "truncateItems", "preserveIconSpace", "dropdownToggleButton"], outputs: ["selectedChanged", "menuClosed"] }, { kind: "component", type: i4.DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: i5.HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: ["collapsibleRootNode", "id", "hideRootNode", "customItemTemplate"], outputs: ["itemSelected"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
85
|
-
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeComponent, decorators: [{
|
|
87
|
-
type: Component,
|
|
88
|
-
args: [{ selector: 'ec-tree', template: "<header *ngIf=\"!hideTreeHeader\"\n class=\"flex-shrink d-flex align-items-center\">\n <h2 id=\"{{id}}_title\"\n class=\"flex-grow mr-2 text-heading-1\">{{treeTitle | translate}}</h2>\n <ec-dropdown *ngIf=\"menuItems?.length\"\n id=\"{{id}}_dropdown\"\n class=\"flex-shrink\"\n icon=\"icon-menu\"\n [menuTemplateType]=\"menuTemplateType\"\n menuPosition=\"left\"\n [status]=\"menuStatus\"\n [popupFixed]=\"true\"\n [showArrow]=\"false\"\n [menuMinWidth]=\"240\"\n [items]=\"menuItems\">\n </ec-dropdown>\n</header>\n\n<div class=\"flex-grow d-flex\"\n ecOverlay\n [status]=\"status?.status\"\n [message]=\"status?.message\"\n [displayAsMask]=\"true\">\n <ng-container *ngIf=\"type === 'menu'\">\n <ec-menu [id]=\"id\"\n [items]=\"treeItems\"\n [templateType]=\"templateType\"\n [maintainSelectedItem]=\"treeMenuMaintainSelectedItem\"\n [truncateItems]=\"true\"\n (selectedChanged)=\"onItemSelected($event)\"\n [customMenuTemplate]=\"customTreeMenuTemplate ? customTreeMenuTemplate : undefined\"\n [preserveIconSpace]=\"preserveIconSpace\"\n class=\"flex-grow\">\n </ec-menu>\n </ng-container>\n\n <ng-container *ngIf=\"type === 'hierarchy'\">\n <ec-hierarchy-tree [id]=\"id\"\n [rootNode]=\"treeHierarchy\"\n [hideRootNode]=\"treeHierarchyHideRootNode\"\n [collapsibleRootNode]=\"collapsibleRootNode\"\n (getItemChildren)=\"onHierarchyGetItemChildren($event)\"\n (itemToggled)=\"onHierarchyItemToggled($event)\"\n (itemSelected)=\"onItemSelected($event)\"\n [customItemTemplate]=\"customHierarchyItemTemplate\"\n class=\"flex-grow d-flex\">\n </ec-hierarchy-tree>\n </ng-container>\n</div>", styles: [":host{display:flex;flex-direction:column}header{height:var(--ec-tree-height-header, 3rem);background-color:var(--ec-tree-background-color, var(--ec-background-color));padding:var(--ec-tree-padding-header, 0 .25rem 0 .5rem);border-bottom:var(--ec-tree-border-bottom-header, var(--ec-border-width) solid var(--ec-border-color))}ec-dropdown.fill{height:var(--ec-tree-height-header, 3rem);width:var(--ec-tree-height-header, 3rem)}ec-menu,ec-hierarchy-tree{--ec-menu-background-color: var(--ec-tree-background-color)}[ecOverlay]{--ec-overlay-background-color: var(--ec-tree-background-color)}\n"] }]
|
|
89
|
-
}], ctorParameters: () => [], propDecorators: { attrId: [{
|
|
90
|
-
type: HostBinding,
|
|
91
|
-
args: ['attr.id']
|
|
92
|
-
}], id: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}], treeTitle: [{
|
|
95
|
-
type: Input
|
|
96
|
-
}], hideTreeHeader: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], treeItems: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], treeHierarchyHideRootNode: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], collapsibleRootNode: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], treeHierarchy: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], treeMenuMaintainSelectedItem: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], customTreeMenuTemplate: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], customHierarchyItemTemplate: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], status: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], type: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], menuItems: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}], menuStatus: [{
|
|
119
|
-
type: Input
|
|
120
|
-
}], menuTemplateType: [{
|
|
121
|
-
type: Input
|
|
122
|
-
}], preserveIconSpace: [{
|
|
123
|
-
type: Input
|
|
124
|
-
}], treeSelection: [{
|
|
125
|
-
type: Output
|
|
126
|
-
}], getTreeItemChildren: [{
|
|
127
|
-
type: Output
|
|
128
|
-
}], treeItemToggled: [{
|
|
129
|
-
type: Output
|
|
130
|
-
}], menuComponent: [{
|
|
131
|
-
type: ViewChild,
|
|
132
|
-
args: [MenuComponent]
|
|
133
|
-
}], hierarchyTreeComponent: [{
|
|
134
|
-
type: ViewChild,
|
|
135
|
-
args: [HierarchyTreeComponent]
|
|
136
|
-
}], templateType: [{
|
|
137
|
-
type: Input
|
|
138
|
-
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90cmVlL3RyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdHJlZS90cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUE4QixNQUFNLG9DQUFvQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7QUFTakUsTUFBTSxPQUFPLGFBQWE7SUFLeEI7OztPQUdHO0lBQ0gsSUFDVyxFQUFFLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQUEsQ0FBQztJQUNGLElBQVcsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBd0VEO1FBdEZBLGtEQUFrRDtRQUNuQixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBYzNDLFFBQUcsR0FBVyxFQUFFLENBQUM7UUFFekIsK0NBQStDO1FBQy9CLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkMsNkNBQTZDO1FBQzdCLG1CQUFjLEdBQWEsS0FBSyxDQUFDO1FBUWpELDJEQUEyRDtRQUMzQyx3QkFBbUIsR0FBYSxLQUFLLENBQUM7UUFLdEQ7Ozs7V0FJRztRQUNhLGlDQUE0QixHQUFZLElBQUksQ0FBQztRQVE3RCxtQkFBbUI7UUFDSCxXQUFNLEdBQWEsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUQsOEVBQThFO1FBQzlELFNBQUksR0FBYyxXQUFXLENBQUM7UUFLOUMsaUNBQWlDO1FBQ2pCLGVBQVUsR0FBYSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5RCw2QkFBNkI7UUFDYixxQkFBZ0IsR0FBc0IsZUFBZSxDQUFDO1FBRXRFOzs7V0FHRztRQUNhLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUVuRCx5REFBeUQ7UUFDeEMsa0JBQWEsR0FBMkMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1Rix5RkFBeUY7UUFDeEUsd0JBQW1CLEdBQWdDLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkYsZ0VBQWdFO1FBQy9DLG9CQUFlLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBUWhHLGlCQUFZLEdBQXFCLE9BQU8sQ0FBQztJQUV6QyxDQUFDO0lBRWpCLHlDQUF5QztJQUNsQyxjQUFjLENBQUMsSUFBOEI7UUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELCtFQUErRTtJQUN4RSwwQkFBMEIsQ0FBQyxJQUFtQjtRQUNuRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxnRUFBZ0U7SUFDekQsc0JBQXNCLENBQUMsSUFBMEI7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELDBEQUEwRDtJQUNuRCxvQkFBb0I7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDOytHQWxIVSxhQUFhO21HQUFiLGFBQWEscTJCQWlGYixhQUFhLHlGQUdiLHNCQUFzQixnRENqR25DLGtnRUFnRE07OzRGRG5DTyxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7d0RBT1ksTUFBTTtzQkFBcEMsV0FBVzt1QkFBQyxTQUFTO2dCQU9YLEVBQUU7c0JBRFosS0FBSztnQkFXVSxTQUFTO3NCQUF4QixLQUFLO2dCQUdVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBR1UsU0FBUztzQkFBeEIsS0FBSztnQkFHVSx5QkFBeUI7c0JBQXhDLEtBQUs7Z0JBR1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUdVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBT1UsNEJBQTRCO3NCQUEzQyxLQUFLO2dCQUdVLHNCQUFzQjtzQkFBckMsS0FBSztnQkFHVSwyQkFBMkI7c0JBQTFDLEtBQUs7Z0JBR1UsTUFBTTtzQkFBckIsS0FBSztnQkFHVSxJQUFJO3NCQUFuQixLQUFLO2dCQUdVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBR1UsVUFBVTtzQkFBekIsS0FBSztnQkFHVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBTVUsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUdXLGFBQWE7c0JBQTdCLE1BQU07Z0JBR1UsbUJBQW1CO3NCQUFuQyxNQUFNO2dCQUdVLGVBQWU7c0JBQS9CLE1BQU07Z0JBRzBCLGFBQWE7c0JBQTdDLFNBQVM7dUJBQUMsYUFBYTtnQkFHa0Isc0JBQXNCO3NCQUEvRCxTQUFTO3VCQUFDLHNCQUFzQjtnQkFFakIsWUFBWTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWVudUNvbXBvbmVudCwgTWVudUl0ZW0sIE1lbnVUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi9jb250cm9scy9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZWRIaWVyYXJjaHlJdGVtLCBIaWVyYXJjaHlJdGVtIH0gZnJvbSAnLi4vaGllcmFyY2h5L2hpZXJhcmNoeS1iYXNlJztcbmltcG9ydCB7IEhpZXJhcmNoeVRyZWVDb21wb25lbnQgfSBmcm9tICcuLi9oaWVyYXJjaHkvaGllcmFyY2h5LXRyZWUvaGllcmFyY2h5LXRyZWUuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICcuLi92aWV3LW92ZXJsYXkvdmlldy1vdmVybGF5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIFRyZWVUeXBlID0gJ2hpZXJhcmNoeScgfCAnbWVudSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VjLXRyZWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IHtcblxuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBob3N0IGVsZW1lbnRzIGlkIGF0dHJpYnV0ZSAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBwdWJsaWMgYXR0cklkOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21wb25lbnQsIGJvdW5kIHRvIHRoZSBob3N0IGVsZW1lbnQncyBpZCBhdHRyaWJ1dGUgYW5kIHBhc3NlZFxuICAgKiB0byBjaGlsZCBjb21wb25lbnRzXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IHZhbHVlO1xuICAgIHRoaXMuYXR0cklkID0gdmFsdWU7XG4gIH07XG4gIHB1YmxpYyBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cbiAgcHJpdmF0ZSBfaWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBUaGUgdHJlZSdzIHRpdGxlIGRpc3BsYXllZCBpbiB0aGUgaGVhZGVyICovXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmVlVGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBIaWRlcyB0aGUgdHJlZSBoZWFkZXIgd2hlbiBzZXQgdG8gdHJ1ZSAqL1xuICBASW5wdXQoKSBwdWJsaWMgaGlkZVRyZWVIZWFkZXI/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIEl0ZW1zIHRvIGRpc3BsYXkgaW4gdGhlIHRyZWUgd2hlbiB0eXBlIGlzICdtZW51JyAqL1xuICBASW5wdXQoKSBwdWJsaWMgdHJlZUl0ZW1zPzogTWVudUl0ZW1bXTtcblxuICAvKiogSGlkZSB0aGUgcm9vdCB0cmVlIGl0ZW0gd2hlbiB0eXBlIGlzICdoaWVyYXJjaHknICovXG4gIEBJbnB1dCgpIHB1YmxpYyB0cmVlSGllcmFyY2h5SGlkZVJvb3ROb2RlPzogYm9vbGVhbjtcblxuICAvKiogQWxsb3dzIHRoZSByb290IG5vZGUgdG8gYmUgY29sbGFwc2libGUgd2l0aCBhIHRvZ2dsZSAqL1xuICBASW5wdXQoKSBwdWJsaWMgY29sbGFwc2libGVSb290Tm9kZT86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogSXRlbXMgdG8gZGlzcGxheSBpbiB0aGUgdHJlZSB3aGVuIHR5cGUgaXMgJ2hpZXJhcmNoeScgKi9cbiAgQElucHV0KCkgcHVibGljIHRyZWVIaWVyYXJjaHk/OiBIaWVyYXJjaHlJdGVtO1xuXG4gIC8qKiBVc2VkIHdoZW4gdGhlIHRyZWUgaXMgaW4gbWVudSBtb2RlIHRvIHRlbGwgdGhlIG1lbnUgaWYgaXQgc2hvdWxkIG1haW50YWluIHRoZSBzZWxlY3RlZCBpdGVtXG4gICAqICBVc2VmdWwgaW4gc2lkZSBuYXYgY29tcG9uZW50cyB3aGVyZSB0aGlzIHRyZWUgY29tcG9uZW50IG1heSBleGlzdCBhbG9uZ3NpZGUgb3RoZXIgdHJlZXMgb3IgbWVudXNcbiAgICogIHVzZWQgZm9yIG5hdmlnYXRpb24uIElmIHRoaXMgdHJlZSBpcyBpbiBtZW51IG1vZGUgeW91IHdvdWxkIHdhbnQgdGhpcyBzZXQgdG8gZmFsc2Ugc28gd2hlbiB5b3Ugc2VsZWN0IGFuIGl0ZW1cbiAgICogIGZyb20gYSBzaWJsaW5nIG5hdmlnYXRpb24gZWxlbWVudCB0aGUgc2VsZWN0aW9uIHdpbGwgbm90IGJlIG1haW50YWluZWQuXG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgdHJlZU1lbnVNYWludGFpblNlbGVjdGVkSXRlbTogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqIFVzZWQgd2hlbiBhIGN1c3RvbSB0ZW1wbGF0ZSBpcyBuZWVkZWQgZm9yIHRoZSBtZW51IGl0ZW1zIHdoZW4gdGhlIHRyZWUgaXMgaW4gbWVudSBtb2RlICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21UcmVlTWVudVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKiogVXNlZCB3aGVuIGEgY3VzdG9tIHRlbXBsYXRlIGlzIG5lZWRlZCBmb3IgdGhlIGhpZXJhcmNoeSBpdGVtcyB3aGVuIHRoZSB0cmVlIGlzIGluIGhpZXJhcmNoeSBtb2RlICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21IaWVyYXJjaHlJdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKiBUcmVlIG92ZXJsYXkgKi9cbiAgQElucHV0KCkgcHVibGljIHN0YXR1cz86IE92ZXJsYXkgPSBuZXcgT3ZlcmxheSgnaGFzRGF0YScpO1xuXG4gIC8qKiBEaXNwbGF5IHRoZSB0cmVlIGl0ZW1zIHdpdGggYSBNZW51Q29tcG9uZW50IG9yIGEgSGllcmFyY2h5VHJlZUNvbXBvbmVudCAqL1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZT86IFRyZWVUeXBlID0gJ2hpZXJhcmNoeSc7XG5cbiAgLyoqIEl0ZW1zIHRvIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3duIG1lbnUgKi9cbiAgQElucHV0KCkgcHVibGljIG1lbnVJdGVtcz86IE1lbnVJdGVtW107XG5cbiAgLyoqIFRyZWUgZHJvcGRvd24gbWVudSBvdmVybGF5ICovXG4gIEBJbnB1dCgpIHB1YmxpYyBtZW51U3RhdHVzPzogT3ZlcmxheSA9IG5ldyBPdmVybGF5KCdoYXNEYXRhJyk7XG5cbiAgLyoqIFRoZSBtZW51IGl0ZW0gdGVtcGxhdGUgKi9cbiAgQElucHV0KCkgcHVibGljIG1lbnVUZW1wbGF0ZVR5cGU/OiBNZW51VGVtcGxhdGVUeXBlID0gXCJjaGVja0FuZExhYmVsXCI7XG5cbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSwgdGhlIHNwYWNlIGZvciB0aGUgaWNvbiBpcyBwcmVzZXJ2ZWQgZm9yIG1lbnUgaXRlbXMgdGhhdCBkbyBub3QgaGF2ZSBpY29ucy5cbiAgICogT25seSBhcHBsaWNhYmxlIGZvciBpY29uQW5kTGFiZWwgbWVudXMuIE5vdCBhcHBsaWNhYmxlIHRvIGhpZXJhcmNoeSB0cmVlcy5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBwcmVzZXJ2ZUljb25TcGFjZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBFbWl0cyB0aGUgaXRlbSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbSBpbiB0aGUgdHJlZSAqL1xuICBAT3V0cHV0KCkgcHVibGljIHRyZWVTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjxNZW51SXRlbSB8IEhpZXJhcmNoeUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGEgaGllcmFyY2h5IHRyZWUgaXRlbSBpcyBleHBhbmRlZCBhcyBhIGhvb2sgdG8gbG9hZCB0aGUgaXRlbSdzIGNoaWxkcmVuICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgZ2V0VHJlZUl0ZW1DaGlsZHJlbjogRXZlbnRFbWl0dGVyPEhpZXJhcmNoeUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIGEgaGllcmFyY2h5IHRyZWUgaXRlbSBpcyBleHBhbmRlZCBvciBjb2xsYXBzZWQgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyB0cmVlSXRlbVRvZ2dsZWQ6IEV2ZW50RW1pdHRlcjxUb2dnbGVkSGllcmFyY2h5SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZWRIaWVyYXJjaHlJdGVtPigpO1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIE1lbnVDb21wb25lbnQgaW5zdGFuY2UgaW4gdGhlIHRlbXBsYXRlICovXG4gIEBWaWV3Q2hpbGQoTWVudUNvbXBvbmVudCkgcHVibGljIG1lbnVDb21wb25lbnQ/OiBNZW51Q29tcG9uZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIEhpZXJhcmNoeVRyZWVDb21wb25lbnQgaW5zdGFuY2UgaW4gdGhlIHRlbXBsYXRlICovXG4gIEBWaWV3Q2hpbGQoSGllcmFyY2h5VHJlZUNvbXBvbmVudCkgcHVibGljIGhpZXJhcmNoeVRyZWVDb21wb25lbnQ/OiBIaWVyYXJjaHlUcmVlQ29tcG9uZW50O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0ZW1wbGF0ZVR5cGU6IE1lbnVUZW1wbGF0ZVR5cGUgPSAnbGFiZWwnO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSB0cmVlIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cbiAgcHVibGljIG9uSXRlbVNlbGVjdGVkKGl0ZW06IE1lbnVJdGVtIHwgSGllcmFyY2h5SXRlbSkge1xuICAgIHRoaXMudHJlZVNlbGVjdGlvbi5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSBoaWVyYXJjaHkgdHJlZSBpdGVtIGlzIGV4cGFuZGVkIHRvIGxvYWQgdGhlIGl0ZW0ncyBjaGlsZHJlbiAqL1xuICBwdWJsaWMgb25IaWVyYXJjaHlHZXRJdGVtQ2hpbGRyZW4oaXRlbTogSGllcmFyY2h5SXRlbSkge1xuICAgIHRoaXMuZ2V0VHJlZUl0ZW1DaGlsZHJlbi5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgLyoqIEVtaXRzIHdoZW4gYSBoaWVyYXJjaHkgdHJlZSBpdGVtIGlzIGV4cGFuZGVkIG9yIGNvbGxhcHNlZCAqL1xuICBwdWJsaWMgb25IaWVyYXJjaHlJdGVtVG9nZ2xlZChpdGVtOiBUb2dnbGVkSGllcmFyY2h5SXRlbSkge1xuICAgIHRoaXMudHJlZUl0ZW1Ub2dnbGVkLmVtaXQoaXRlbSk7XG4gIH1cblxuICAvKiogU2Nyb2xsIHRvIHRoZSB0cmVlIGl0ZW0gdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuICovXG4gIHB1YmxpYyBzY3JvbGxUb1NlbGVjdGVkSXRlbSgpIHtcbiAgICBpZiAodGhpcy5tZW51Q29tcG9uZW50KSB7XG4gICAgICB0aGlzLm1lbnVDb21wb25lbnQuc2Nyb2xsVG9TZWxlY3RlZEl0ZW0oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oaWVyYXJjaHlUcmVlQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmhpZXJhcmNoeVRyZWVDb21wb25lbnQuc2Nyb2xsVG9TZWxlY3RlZEl0ZW0oKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxoZWFkZXIgKm5nSWY9XCIhaGlkZVRyZWVIZWFkZXJcIlxuICAgICAgICBjbGFzcz1cImZsZXgtc2hyaW5rIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgPGgyIGlkPVwie3tpZH19X3RpdGxlXCJcbiAgICAgIGNsYXNzPVwiZmxleC1ncm93IG1yLTIgdGV4dC1oZWFkaW5nLTFcIj57e3RyZWVUaXRsZSB8IHRyYW5zbGF0ZX19PC9oMj5cbiAgPGVjLWRyb3Bkb3duICpuZ0lmPVwibWVudUl0ZW1zPy5sZW5ndGhcIlxuICAgICAgICAgICAgICAgaWQ9XCJ7e2lkfX1fZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4LXNocmlua1wiXG4gICAgICAgICAgICAgICBpY29uPVwiaWNvbi1tZW51XCJcbiAgICAgICAgICAgICAgIFttZW51VGVtcGxhdGVUeXBlXT1cIm1lbnVUZW1wbGF0ZVR5cGVcIlxuICAgICAgICAgICAgICAgbWVudVBvc2l0aW9uPVwibGVmdFwiXG4gICAgICAgICAgICAgICBbc3RhdHVzXT1cIm1lbnVTdGF0dXNcIlxuICAgICAgICAgICAgICAgW3BvcHVwRml4ZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgIFttZW51TWluV2lkdGhdPVwiMjQwXCJcbiAgICAgICAgICAgICAgIFtpdGVtc109XCJtZW51SXRlbXNcIj5cbiAgPC9lYy1kcm9wZG93bj5cbjwvaGVhZGVyPlxuXG48ZGl2IGNsYXNzPVwiZmxleC1ncm93IGQtZmxleFwiXG4gICAgIGVjT3ZlcmxheVxuICAgICBbc3RhdHVzXT1cInN0YXR1cz8uc3RhdHVzXCJcbiAgICAgW21lc3NhZ2VdPVwic3RhdHVzPy5tZXNzYWdlXCJcbiAgICAgW2Rpc3BsYXlBc01hc2tdPVwidHJ1ZVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gJ21lbnUnXCI+XG4gICAgPGVjLW1lbnUgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICBbaXRlbXNdPVwidHJlZUl0ZW1zXCJcbiAgICAgICAgICAgICBbdGVtcGxhdGVUeXBlXT1cInRlbXBsYXRlVHlwZVwiXG4gICAgICAgICAgICAgW21haW50YWluU2VsZWN0ZWRJdGVtXT1cInRyZWVNZW51TWFpbnRhaW5TZWxlY3RlZEl0ZW1cIlxuICAgICAgICAgICAgIFt0cnVuY2F0ZUl0ZW1zXT1cInRydWVcIlxuICAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZWQpPVwib25JdGVtU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2N1c3RvbU1lbnVUZW1wbGF0ZV09XCJjdXN0b21UcmVlTWVudVRlbXBsYXRlID8gY3VzdG9tVHJlZU1lbnVUZW1wbGF0ZSA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICAgW3ByZXNlcnZlSWNvblNwYWNlXT1cInByZXNlcnZlSWNvblNwYWNlXCJcbiAgICAgICAgICAgICBjbGFzcz1cImZsZXgtZ3Jvd1wiPlxuICAgIDwvZWMtbWVudT5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICdoaWVyYXJjaHknXCI+XG4gICAgPGVjLWhpZXJhcmNoeS10cmVlIFtpZF09XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtyb290Tm9kZV09XCJ0cmVlSGllcmFyY2h5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVSb290Tm9kZV09XCJ0cmVlSGllcmFyY2h5SGlkZVJvb3ROb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxhcHNpYmxlUm9vdE5vZGVdPVwiY29sbGFwc2libGVSb290Tm9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChnZXRJdGVtQ2hpbGRyZW4pPVwib25IaWVyYXJjaHlHZXRJdGVtQ2hpbGRyZW4oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChpdGVtVG9nZ2xlZCk9XCJvbkhpZXJhcmNoeUl0ZW1Ub2dnbGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAoaXRlbVNlbGVjdGVkKT1cIm9uSXRlbVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSXRlbVRlbXBsYXRlXT1cImN1c3RvbUhpZXJhcmNoeUl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleC1ncm93IGQtZmxleFwiPlxuICAgIDwvZWMtaGllcmFyY2h5LXRyZWU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "../../controls/button/button.component";
|
|
5
|
-
import * as i3 from "../spinner/spinner.component";
|
|
6
|
-
import * as i4 from "@ngx-translate/core";
|
|
7
|
-
export class Overlay {
|
|
8
|
-
constructor(status, message) {
|
|
9
|
-
this.status = 'hasData';
|
|
10
|
-
this.message = '';
|
|
11
|
-
this.setStatus(status, message);
|
|
12
|
-
}
|
|
13
|
-
setStatus(status, message, action, noDataTemplate, overlayClassList) {
|
|
14
|
-
this.status = status;
|
|
15
|
-
this.message = message || '';
|
|
16
|
-
this.action = action || undefined;
|
|
17
|
-
this.noDataTemplate = noDataTemplate || undefined;
|
|
18
|
-
this.overlayClassList = overlayClassList || '';
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Wraps content in order to show pending, error, and no data states with an optional message/noDataTemplate
|
|
23
|
-
*/
|
|
24
|
-
export class ViewOverlayComponent {
|
|
25
|
-
constructor() {
|
|
26
|
-
this.status = 'hasData';
|
|
27
|
-
}
|
|
28
|
-
setStatus(status, message, action, noDataTemplate) {
|
|
29
|
-
this.status = status;
|
|
30
|
-
this.message = message || '';
|
|
31
|
-
this.action = action || undefined;
|
|
32
|
-
this.noDataTemplate = noDataTemplate || undefined;
|
|
33
|
-
}
|
|
34
|
-
actionClicked(event) {
|
|
35
|
-
if (this.action && this.action.onClick) {
|
|
36
|
-
this.action.onClick(event);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: { status: "status", message: "message", action: "action", noDataTemplate: "noDataTemplate", displayAsMask: "displayAsMask", overlayClassList: "overlayClassList" }, ngImport: i0, template: "<!-- Transcluded Content -->\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\n<span [hidden]=\"true\"\n\t class=\"overlay-status-{{status}}\"></span>\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\n<div *ngIf=\"status !== 'hasData'\"\n\t class=\"overlay flex-grow {{overlayClassList}}\"\n\t [ngClass]=\"{'not-mask': !displayAsMask,\n\t\t\t\t'overlay-error': status === 'error',\n\t\t\t\t'overlay-nodata': status === 'noData',\n\t\t\t\t'overlay-pending': status === 'pending'}\">\n\n\t<!--Pending Spinner-->\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\n\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\n\t</ng-template>\n\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\n\t\t<!--Status Message-->\n\t\t<div id=\"statusMessage\"\n\t\t\t class=\"message\"\n\t\t\t *ngIf=\"message\"\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\n\t\t\t [innerHtml]=\"message | translate\">\n\t\t</div>\n\n\t\t<!-- Action -->\n\t\t<ec-button type=\"common\"\n\t\t\t\t class=\"mt-3\"\n\t\t\t\t *ngIf=\"action?.onClick\"\n\t\t\t\t [icon]=\"action?.icon\"\n\t\t\t\t (clicked)=\"actionClicked($event)\"\n\t\t\t\t [label]=\"action?.label\"\n\t\t\t\t [hidden]=\"status === 'pending'\">\n\t\t</ec-button>\n\t</ng-container>\n\n</div>", styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-overlay-background-color, var(--ec-background-color));display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem;z-index:var(--ec-z-index-overlay);position:absolute;inset:0}.overlay.not-mask{position:relative;min-height:100%}.message{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger);font-size:var(--ec-font-size-title)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "lockButton", "icon", "iconColor", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i3.SpinnerComponent, selector: "ec-spinner" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewOverlayComponent, decorators: [{
|
|
43
|
-
type: Component,
|
|
44
|
-
args: [{ selector: '[ecOverlay]', template: "<!-- Transcluded Content -->\n<ng-content *ngIf=\"displayAsMask || (!displayAsMask && status === 'hasData')\"></ng-content>\n<!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact-->\n<span [hidden]=\"true\"\n\t class=\"overlay-status-{{status}}\"></span>\n<!-- Overlay goes last so it is rendered on top of preceding content due to source order -->\n<div *ngIf=\"status !== 'hasData'\"\n\t class=\"overlay flex-grow {{overlayClassList}}\"\n\t [ngClass]=\"{'not-mask': !displayAsMask,\n\t\t\t\t'overlay-error': status === 'error',\n\t\t\t\t'overlay-nodata': status === 'noData',\n\t\t\t\t'overlay-pending': status === 'pending'}\">\n\n\t<!--Pending Spinner-->\n\t<ec-spinner [hidden]=\"status !== 'pending'\"></ec-spinner>\n\n\t<ng-template [ngIf]=\"status === 'noData' && noDataTemplate\">\n\t\t<ng-container *ngTemplateOutlet=\"noDataTemplate\"></ng-container>\n\t</ng-template>\n\n\t<ng-container *ngIf=\"(status === 'noData' && !noDataTemplate) || status !== 'noData'\">\n\t\t<!--Status Message-->\n\t\t<div id=\"statusMessage\"\n\t\t\t class=\"message\"\n\t\t\t *ngIf=\"message\"\n\t\t\t [ngClass]=\"{'error': status === 'error', 'mt-1': status === 'pending'}\"\n\t\t\t [innerHtml]=\"message | translate\">\n\t\t</div>\n\n\t\t<!-- Action -->\n\t\t<ec-button type=\"common\"\n\t\t\t\t class=\"mt-3\"\n\t\t\t\t *ngIf=\"action?.onClick\"\n\t\t\t\t [icon]=\"action?.icon\"\n\t\t\t\t (clicked)=\"actionClicked($event)\"\n\t\t\t\t [label]=\"action?.label\"\n\t\t\t\t [hidden]=\"status === 'pending'\">\n\t\t</ec-button>\n\t</ng-container>\n\n</div>", styles: [":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-overlay-background-color, var(--ec-background-color));display:flex;flex-direction:column;justify-content:center;padding:3rem 4rem;z-index:var(--ec-z-index-overlay);position:absolute;inset:0}.overlay.not-mask{position:relative;min-height:100%}.message{color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger);font-size:var(--ec-font-size-title)}\n"] }]
|
|
45
|
-
}], propDecorators: { status: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], message: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}], action: [{
|
|
50
|
-
type: Input
|
|
51
|
-
}], noDataTemplate: [{
|
|
52
|
-
type: Input
|
|
53
|
-
}], displayAsMask: [{
|
|
54
|
-
type: Input
|
|
55
|
-
}], overlayClassList: [{
|
|
56
|
-
type: Input
|
|
57
|
-
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdmlldy1vdmVybGF5L3ZpZXctb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBSTlELE1BQU0sT0FBTyxPQUFPO0lBV2xCLFlBQVksTUFBa0IsRUFBRSxPQUFnQjtRQU5oRCxXQUFNLEdBQWUsU0FBUyxDQUFDO1FBQy9CLFlBQU8sR0FBWSxFQUFFLENBQUM7UUFNcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELFNBQVMsQ0FBQyxNQUFrQixFQUFFLE9BQWdCLEVBQUUsTUFBZ0IsRUFBRSxjQUFpQyxFQUFFLGdCQUF5QjtRQUM1SCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxJQUFJLFNBQVMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLElBQUksRUFBRSxDQUFDO0lBQ2pELENBQUM7Q0FDRjtBQUdEOztHQUVHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU1XLFdBQU0sR0FBZSxTQUFTLENBQUM7S0E2QnpDO0lBWkMsU0FBUyxDQUFDLE1BQWtCLEVBQUUsT0FBZ0IsRUFBRSxNQUFnQixFQUFFLGNBQWlDO1FBQ2pHLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLElBQUksU0FBUyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQzsrR0E3QlUsb0JBQW9CO21HQUFwQixvQkFBb0IsK05DcENqQyx5a0RBd0NNOzs0RkRKTyxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsYUFBYTs4QkFLZCxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdkl0ZW0gfSBmcm9tICcuLi8uLi9jb250cm9scy9uYXZpZ2F0aW9uL25hdi1pdGVtJztcbmltcG9ydCB7IERpc3BsYXlTdGF0dXMsIFZpZXdTdGF0dXMgfSBmcm9tICcuLi8uLi9zaGFyZWQvZGlzcGxheSc7XG5cbmV4cG9ydCBjbGFzcyBPdmVybGF5IGltcGxlbWVudHMgRGlzcGxheVN0YXR1cyB7XG4gIC8qKiAgQGRlcHJlY2F0ZWQgRGVwcmVjYXRlZCBkdWUgdG8gbm9EYXRhVGVtcGxhdGUgYmVpbmcgcHJlZmVyZWQgKi9cbiAgYWN0aW9uPzogTmF2SXRlbTtcbiAgbm9EYXRhVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBkaXNwbGF5QXNNYXNrPzogYm9vbGVhbjtcbiAgc3RhdHVzOiBWaWV3U3RhdHVzID0gJ2hhc0RhdGEnO1xuICBtZXNzYWdlPzogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFkZGl0aW9uIGNzcyBjbGFzc2VzIHRvIGFwcGx5IHRvIHRoZSAub3ZlcmxheSBlbGVtZW50ICovXG4gIG92ZXJsYXlDbGFzc0xpc3Q/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc3RhdHVzOiBWaWV3U3RhdHVzLCBtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRTdGF0dXMoc3RhdHVzLCBtZXNzYWdlKTtcbiAgfVxuICBzZXRTdGF0dXMoc3RhdHVzOiBWaWV3U3RhdHVzLCBtZXNzYWdlPzogc3RyaW5nLCBhY3Rpb24/OiBOYXZJdGVtLCBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT4sIG92ZXJsYXlDbGFzc0xpc3Q/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcbiAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnO1xuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm5vRGF0YVRlbXBsYXRlID0gbm9EYXRhVGVtcGxhdGUgfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMub3ZlcmxheUNsYXNzTGlzdCA9IG92ZXJsYXlDbGFzc0xpc3QgfHwgJyc7XG4gIH1cbn1cblxuXG4vKipcbiAqIFdyYXBzIGNvbnRlbnQgaW4gb3JkZXIgdG8gc2hvdyBwZW5kaW5nLCBlcnJvciwgYW5kIG5vIGRhdGEgc3RhdGVzIHdpdGggYW4gb3B0aW9uYWwgbWVzc2FnZS9ub0RhdGFUZW1wbGF0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbZWNPdmVybGF5XScsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3LW92ZXJsYXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3LW92ZXJsYXkuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3T3ZlcmxheUNvbXBvbmVudCBpbXBsZW1lbnRzIE92ZXJsYXkge1xuICBASW5wdXQoKSBzdGF0dXM6IFZpZXdTdGF0dXMgPSAnaGFzRGF0YSc7XG4gIEBJbnB1dCgpIG1lc3NhZ2U/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqICBAZGVwcmVjYXRlZCBEZXByZWNhdGVkIGR1ZSB0byBub0RhdGFUZW1wbGF0ZSBiZWluZyBwcmVmZXJlZCAqL1xuICBASW5wdXQoKSBhY3Rpb24/OiBOYXZJdGVtIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBub0RhdGFUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIE1hc2sgKG5vdCByZW1vdmUpIHRoZSB0cmFuc2NsdWRlZCBjb250ZW50IGZyb20gdGhlIGRvbSB3aGlsZSBub3QgaGFzRGF0YSBzdGF0dXMuXG4gICAqL1xuICBASW5wdXQoKSBkaXNwbGF5QXNNYXNrPzogYm9vbGVhbjtcblxuICAvKiogXG4gICAqIEFkZGl0aW9uYWwgY3NzIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGhlIC5vdmVybGF5IGVsZW1lbnQgXG4gICAqL1xuICBASW5wdXQoKSBvdmVybGF5Q2xhc3NMaXN0Pzogc3RyaW5nO1xuXG4gIHNldFN0YXR1cyhzdGF0dXM6IFZpZXdTdGF0dXMsIG1lc3NhZ2U/OiBzdHJpbmcsIGFjdGlvbj86IE5hdkl0ZW0sIG5vRGF0YVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55Pik6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzO1xuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2UgfHwgJyc7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb24gfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMubm9EYXRhVGVtcGxhdGUgPSBub0RhdGFUZW1wbGF0ZSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICBhY3Rpb25DbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY3Rpb24gJiYgdGhpcy5hY3Rpb24ub25DbGljaykge1xuICAgICAgdGhpcy5hY3Rpb24ub25DbGljayhldmVudCk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tIFRyYW5zY2x1ZGVkIENvbnRlbnQgLS0+XG48bmctY29udGVudCAqbmdJZj1cImRpc3BsYXlBc01hc2sgfHwgKCFkaXNwbGF5QXNNYXNrICYmIHN0YXR1cyA9PT0gJ2hhc0RhdGEnKVwiPjwvbmctY29udGVudD5cbjwhLS1Vc2VkIGJ5IEdJIHRlc3RzIHRvIGtub3cgdGhlIG92ZXJsYXkgc3RhdHVzIHdoZXRoZXIgd2UgdXNlIG5nSWYgb3IgbWFzayB2ZXJzaW9uLiBObyB2aXN1YWwgaW1wYWN0LS0+XG48c3BhbiBbaGlkZGVuXT1cInRydWVcIlxuXHQgIGNsYXNzPVwib3ZlcmxheS1zdGF0dXMte3tzdGF0dXN9fVwiPjwvc3Bhbj5cbjwhLS0gT3ZlcmxheSBnb2VzIGxhc3Qgc28gaXQgaXMgcmVuZGVyZWQgb24gdG9wIG9mIHByZWNlZGluZyBjb250ZW50IGR1ZSB0byBzb3VyY2Ugb3JkZXIgLS0+XG48ZGl2ICpuZ0lmPVwic3RhdHVzICE9PSAnaGFzRGF0YSdcIlxuXHQgY2xhc3M9XCJvdmVybGF5IGZsZXgtZ3JvdyB7e292ZXJsYXlDbGFzc0xpc3R9fVwiXG5cdCBbbmdDbGFzc109XCJ7J25vdC1tYXNrJzogIWRpc3BsYXlBc01hc2ssXG5cdFx0XHRcdCdvdmVybGF5LWVycm9yJzogc3RhdHVzID09PSAnZXJyb3InLFxuXHRcdFx0XHQnb3ZlcmxheS1ub2RhdGEnOiBzdGF0dXMgPT09ICdub0RhdGEnLFxuXHRcdFx0XHQnb3ZlcmxheS1wZW5kaW5nJzogc3RhdHVzID09PSAncGVuZGluZyd9XCI+XG5cblx0PCEtLVBlbmRpbmcgU3Bpbm5lci0tPlxuXHQ8ZWMtc3Bpbm5lciBbaGlkZGVuXT1cInN0YXR1cyAhPT0gJ3BlbmRpbmcnXCI+PC9lYy1zcGlubmVyPlxuXG5cdDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzdGF0dXMgPT09ICdub0RhdGEnICYmIG5vRGF0YVRlbXBsYXRlXCI+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vRGF0YVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG5cdDwvbmctdGVtcGxhdGU+XG5cblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cIihzdGF0dXMgPT09ICdub0RhdGEnICYmICFub0RhdGFUZW1wbGF0ZSkgfHwgc3RhdHVzICE9PSAnbm9EYXRhJ1wiPlxuXHRcdDwhLS1TdGF0dXMgTWVzc2FnZS0tPlxuXHRcdDxkaXYgaWQ9XCJzdGF0dXNNZXNzYWdlXCJcblx0XHRcdCBjbGFzcz1cIm1lc3NhZ2VcIlxuXHRcdFx0ICpuZ0lmPVwibWVzc2FnZVwiXG5cdFx0XHQgW25nQ2xhc3NdPVwieydlcnJvcic6IHN0YXR1cyA9PT0gJ2Vycm9yJywgJ210LTEnOiBzdGF0dXMgPT09ICdwZW5kaW5nJ31cIlxuXHRcdFx0IFtpbm5lckh0bWxdPVwibWVzc2FnZSB8IHRyYW5zbGF0ZVwiPlxuXHRcdDwvZGl2PlxuXG5cdFx0PCEtLSBBY3Rpb24gLS0+XG5cdFx0PGVjLWJ1dHRvbiB0eXBlPVwiY29tbW9uXCJcblx0XHRcdFx0ICAgY2xhc3M9XCJtdC0zXCJcblx0XHRcdFx0ICAgKm5nSWY9XCJhY3Rpb24/Lm9uQ2xpY2tcIlxuXHRcdFx0XHQgICBbaWNvbl09XCJhY3Rpb24/Lmljb25cIlxuXHRcdFx0XHQgICAoY2xpY2tlZCk9XCJhY3Rpb25DbGlja2VkKCRldmVudClcIlxuXHRcdFx0XHQgICBbbGFiZWxdPVwiYWN0aW9uPy5sYWJlbFwiXG5cdFx0XHRcdCAgIFtoaWRkZW5dPVwic3RhdHVzID09PSAncGVuZGluZydcIj5cblx0XHQ8L2VjLWJ1dHRvbj5cblx0PC9uZy1jb250YWluZXI+XG5cbjwvZGl2PiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Directive, Input, HostListener, HostBinding } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ClickAreaForDirective {
|
|
4
|
-
constructor() { }
|
|
5
|
-
ngOnInit() {
|
|
6
|
-
this.isTargetClickable = typeof this.targetEl?.dispatchEvent === 'function';
|
|
7
|
-
}
|
|
8
|
-
onClick(event) {
|
|
9
|
-
if (this.isTargetClickable) {
|
|
10
|
-
event.preventDefault();
|
|
11
|
-
this.targetEl.dispatchEvent(new Event('click'));
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClickAreaForDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ClickAreaForDirective, selector: "[ecClickAreaFor]", inputs: { targetEl: ["ecClickAreaFor", "targetEl"] }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.cursor-pointer": "this.targetEl" } }, ngImport: i0 }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ClickAreaForDirective, decorators: [{
|
|
18
|
-
type: Directive,
|
|
19
|
-
args: [{
|
|
20
|
-
selector: '[ecClickAreaFor]'
|
|
21
|
-
}]
|
|
22
|
-
}], ctorParameters: () => [], propDecorators: { targetEl: [{
|
|
23
|
-
type: HostBinding,
|
|
24
|
-
args: ['class.cursor-pointer']
|
|
25
|
-
}, {
|
|
26
|
-
type: Input,
|
|
27
|
-
args: ['ecClickAreaFor']
|
|
28
|
-
}], onClick: [{
|
|
29
|
-
type: HostListener,
|
|
30
|
-
args: ['click', ['$event']]
|
|
31
|
-
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stYXJlYS1mb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC9kaXJlY3RpdmVzL2NsaWNrLWFyZWEtZm9yL2NsaWNrLWFyZWEtZm9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQVNwRixNQUFNLE9BQU8scUJBQXFCO0lBUWhDLGdCQUFlLENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxLQUFLLFVBQVUsQ0FBQztJQUM5RSxDQUFDO0lBRWtDLE9BQU8sQ0FBQyxLQUFZO1FBQ3JELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7K0dBbkJVLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCO3dEQUtRLFFBQVE7c0JBRmQsV0FBVzt1QkFBQyxzQkFBc0I7O3NCQUNsQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFXWSxPQUFPO3NCQUF6QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsaWNrYWJsZUVsZW1lbnQge1xuICBkaXNwYXRjaEV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQ7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlY0NsaWNrQXJlYUZvcl0nXG59KVxuZXhwb3J0IGNsYXNzIENsaWNrQXJlYUZvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jdXJzb3ItcG9pbnRlcicpXG4gIEBJbnB1dCgnZWNDbGlja0FyZWFGb3InKSBcbiAgcHVibGljIHRhcmdldEVsPzogYW55O1xuXG4gIHByaXZhdGUgaXNUYXJnZXRDbGlja2FibGUhOiBib29sZWFuO1xuICBcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNUYXJnZXRDbGlja2FibGUgPSB0eXBlb2YgdGhpcy50YXJnZXRFbD8uZGlzcGF0Y2hFdmVudCA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSkgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICBpZiAodGhpcy5pc1RhcmdldENsaWNrYWJsZSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudGFyZ2V0RWwuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2NsaWNrJykpO1xuICAgIH1cbiAgfVxufVxuIl19
|