@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,18 +0,0 @@
|
|
|
1
|
-
/** Tag contains a label and type. Type is default by default */
|
|
2
|
-
export class Tag {
|
|
3
|
-
constructor(label, type, classList, icon, isDismissable, tooltip, url, target) {
|
|
4
|
-
this.target = '_self';
|
|
5
|
-
this.label = label;
|
|
6
|
-
this.type = type || 'info';
|
|
7
|
-
this.icon = icon;
|
|
8
|
-
this.isDismissable = isDismissable ?? false;
|
|
9
|
-
this.tooltip = tooltip;
|
|
10
|
-
this.url = url;
|
|
11
|
-
this.target = target || '_self';
|
|
12
|
-
if (classList) {
|
|
13
|
-
this.classList = classList;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBTyxHQUFHO0lBbUJkLFlBQVksS0FBYSxFQUFFLElBQWMsRUFBRSxTQUFrQixFQUFFLElBQWEsRUFBRSxhQUF1QixFQUFFLE9BQWdCLEVBQUUsR0FBWSxFQUFFLE1BQW1CO1FBRm5KLFdBQU0sR0FBZ0IsT0FBTyxDQUFDO1FBR25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsSUFBSSxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFaEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRhZyB0eXBlIHVzZWQgdG8gc3R5bGUgdGhlIHRhZyAqL1xuZXhwb3J0IHR5cGUgVGFnVHlwZSA9IFwiaW5mb1wiIHwgXCJzdWNjZXNzXCIgfCBcIndhcm5pbmdcIiB8IFwiZGFuZ2VyXCIgfCBcImFjY2VudFwiIHwgXCJjaGFyZ2ViYWNrXCIgfCBcImFjY3J1YWxcIiB8IFwiaW52ZXJ0ZWRcIiB8IFwic3lzdGVtXCIgfCBcImludGVydmFsXCI7XG5cbi8qKiBMaW5rIHRhcmdldCBvcHRpb25zLCBzaGFyZWQgYW1vbmdzdCB0YWcsIG1lbnUgYW5kIGl0ZW0gZGlzcGxheSAqL1xuZXhwb3J0IHR5cGUgTGlua1RhcmdldCA9ICdfc2VsZicgfCAnX2JsYW5rJyB8ICdfcGFyZW50JyB8ICdfdG9wJztcblxuLyoqIFRhZyBjb250YWlucyBhIGxhYmVsIGFuZCB0eXBlLiBUeXBlIGlzIGRlZmF1bHQgYnkgZGVmYXVsdCAqL1xuZXhwb3J0IGNsYXNzIFRhZyB7XG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xuXG4gIHB1YmxpYyB0eXBlOiBUYWdUeXBlO1xuXG4gIHB1YmxpYyBpY29uPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBpc0Rpc21pc3NhYmxlPzogYm9vbGVhbjtcblxuICAvKiogQ1NTIGNsYXNzZXMgdG8gYXBwbHkgdG8gdGFnIGZvciBjdXN0b20gc3R5bGluZyAqL1xuICBwdWJsaWMgY2xhc3NMaXN0Pzogc3RyaW5nO1xuXG4gIHB1YmxpYyB0b29sdGlwPzogc3RyaW5nO1xuXG4gIC8qKiBXaGVuIHNldCBhIGh5cGVybGluayB3aWxsIGJlIHNob3duIGxpbmtpbmcgdG8gdGhlIHZhbHVlIHNldCAqL1xuICBwdWJsaWMgdXJsPzogc3RyaW5nO1xuXG4gIHB1YmxpYyB0YXJnZXQ/OiBMaW5rVGFyZ2V0ID0gJ19zZWxmJztcblxuICBjb25zdHJ1Y3RvcihsYWJlbDogc3RyaW5nLCB0eXBlPzogVGFnVHlwZSwgY2xhc3NMaXN0Pzogc3RyaW5nLCBpY29uPzogc3RyaW5nLCBpc0Rpc21pc3NhYmxlPzogYm9vbGVhbiwgdG9vbHRpcD86IHN0cmluZywgdXJsPzogc3RyaW5nLCB0YXJnZXQ/OiBMaW5rVGFyZ2V0ICkge1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnR5cGUgPSB0eXBlIHx8ICdpbmZvJztcbiAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIHRoaXMuaXNEaXNtaXNzYWJsZSA9IGlzRGlzbWlzc2FibGUgPz8gZmFsc2U7XG4gICAgdGhpcy50b29sdGlwID0gdG9vbHRpcDtcbiAgICB0aGlzLnVybCA9IHVybDtcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldCB8fCAnX3NlbGYnO1xuXG4gICAgaWYgKGNsYXNzTGlzdCkge1xuICAgICAgdGhpcy5jbGFzc0xpc3QgPSBjbGFzc0xpc3Q7XG4gICAgfVxuICB9XG59OyJdfQ==
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/common";
|
|
4
|
-
import * as i2 from "@ngx-translate/core";
|
|
5
|
-
import * as i3 from "../../shared/display/pipes/highlight-text.pipe";
|
|
6
|
-
export class TagsComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
/**The ID of this set of tags */
|
|
9
|
-
this.id = '';
|
|
10
|
-
/**
|
|
11
|
-
* Determines whether the tags will wrap or not
|
|
12
|
-
*
|
|
13
|
-
* @type {boolean}
|
|
14
|
-
* @memberof TagsComponent
|
|
15
|
-
*/
|
|
16
|
-
this.wrap = true;
|
|
17
|
-
/**
|
|
18
|
-
* Displays the tags in condensed mode
|
|
19
|
-
*/
|
|
20
|
-
this.isCondensed = false;
|
|
21
|
-
/** Highlights text found in any of the tags */
|
|
22
|
-
this.highlightText = '';
|
|
23
|
-
/**
|
|
24
|
-
* Emits the tag item when the tag's close button is clicked
|
|
25
|
-
*/
|
|
26
|
-
this.tagClosed = new EventEmitter();
|
|
27
|
-
/**
|
|
28
|
-
* Tags to be displayed
|
|
29
|
-
*
|
|
30
|
-
* @type {Tag[]}
|
|
31
|
-
* @memberof TagsComponent
|
|
32
|
-
*/
|
|
33
|
-
this.tagsArray = [];
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Angular onChanges lifecycle hook
|
|
37
|
-
* @see {@link https://angular.io/guide/lifecycle-hooks | Life-cycle hooks}
|
|
38
|
-
*
|
|
39
|
-
* @param {SimpleChanges} changes
|
|
40
|
-
* @memberof TagsComponent
|
|
41
|
-
*/
|
|
42
|
-
ngOnChanges(changes) {
|
|
43
|
-
if (changes.tags) {
|
|
44
|
-
if (this.tags) {
|
|
45
|
-
// If only given a single item, put it in an array so it works in the template
|
|
46
|
-
if (Array.isArray(this.tags)) {
|
|
47
|
-
this.tagsArray = this.tags;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.tagsArray = [this.tags];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
// reset array if tags becomes undefined
|
|
55
|
-
this.tagsArray = [];
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
closeTag(tag) {
|
|
60
|
-
this.tagsArray = this.tagsArray.filter(t => t !== tag);
|
|
61
|
-
this.tagClosed.emit(tag);
|
|
62
|
-
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TagsComponent, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed", highlightText: "highlightText" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.HighlightTextPipe, name: "highlightText" }] }); }
|
|
65
|
-
}
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TagsComponent, decorators: [{
|
|
67
|
-
type: Component,
|
|
68
|
-
args: [{ selector: 'ec-tags', template: "<ul class=\"tags\"\n [class.is-wrapped]=\"wrap\">\n <li *ngFor=\"let tag of tagsArray; index as i\"\n id=\"{{id}}_tag_{{i}}\"\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\n [class.is-condensed]=\"isCondensed\"\n title=\"{{tag.tooltip | translate}}\">\n <i *ngIf=\"tag.icon\"\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\n <span *ngIf=\"!tag.url\" [innerHtml]=\"tag.label | translate | highlightText:highlightText\"></span>\n\n <a *ngIf=\"tag.url\"\n id=\"{{id}}_tag_{{i}}_link\"\n class=\"font-weight-bold\"\n href=\"{{tag.url}}\"\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\n\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\n *ngIf=\"tag.isDismissable\"\n (click)=\"closeTag(tag)\"\n class=\"tag-close-btn\">\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\n </button>\n </li>\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag a[target=_blank]{color:var(--ec-color-brand-black)}\n"] }]
|
|
69
|
-
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], tags: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], wrap: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], isCondensed: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], highlightText: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], tagClosed: [{
|
|
80
|
-
type: Output
|
|
81
|
-
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWdzL3RhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFqRyxNQUFNLE9BQU8sYUFBYTtJQTBDeEI7UUF4Q0EsZ0NBQWdDO1FBQ2hCLE9BQUUsR0FBVyxFQUFFLENBQUM7UUFVaEM7Ozs7O1dBS0c7UUFDYSxTQUFJLEdBQVksSUFBSSxDQUFDO1FBRXJDOztXQUVHO1FBQ2EsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0MsK0NBQStDO1FBQy9CLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBQ2MsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhFOzs7OztXQUtHO1FBQ0ksY0FBUyxHQUFVLEVBQUUsQ0FBQztJQUViLENBQUM7SUFFakI7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNkLDhFQUE4RTtnQkFDOUUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMvQixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLHdDQUF3QztnQkFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVE7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDOytHQXRFVSxhQUFhO21HQUFiLGFBQWEsdU5DUjFCLDY3QkF3Qks7OzRGRGhCUSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7d0RBT0gsRUFBRTtzQkFBakIsS0FBSztnQkFRVSxJQUFJO3NCQUFuQixLQUFLO2dCQVFVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS1UsV0FBVztzQkFBMUIsS0FBSztnQkFHVSxhQUFhO3NCQUE1QixLQUFLO2dCQUtXLFNBQVM7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL3RhZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VjLXRhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFncy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhZ3MuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAvKipUaGUgSUQgb2YgdGhpcyBzZXQgb2YgdGFncyAqL1xuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBPbmUgb3IgbW9yZSB0YWdzXG4gICAqIFxuICAgKiBAdHlwZSB7KFRhZyB8IFRhZ1tdKX1cbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWdzPzogVGFnIHwgVGFnW107XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFncyB3aWxsIHdyYXAgb3Igbm90XG4gICAqIFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyB3cmFwOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogRGlzcGxheXMgdGhlIHRhZ3MgaW4gY29uZGVuc2VkIG1vZGVcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0NvbmRlbnNlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBIaWdobGlnaHRzIHRleHQgZm91bmQgaW4gYW55IG9mIHRoZSB0YWdzICovXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWdobGlnaHRUZXh0OiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogRW1pdHMgdGhlIHRhZyBpdGVtIHdoZW4gdGhlIHRhZydzIGNsb3NlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHRhZ0Nsb3NlZDogRXZlbnRFbWl0dGVyPFRhZz4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhZz4oKTtcblxuICAvKipcbiAgICogVGFncyB0byBiZSBkaXNwbGF5ZWRcbiAgICogXG4gICAqIEB0eXBlIHtUYWdbXX1cbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcbiAgICovXG4gIHB1YmxpYyB0YWdzQXJyYXk6IFRhZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKipcbiAgICogQW5ndWxhciBvbkNoYW5nZXMgbGlmZWN5Y2xlIGhvb2tcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rcyB8IExpZmUtY3ljbGUgaG9va3N9XG4gICAqIFxuICAgKiBAcGFyYW0ge1NpbXBsZUNoYW5nZXN9IGNoYW5nZXMgXG4gICAqIEBtZW1iZXJvZiBUYWdzQ29tcG9uZW50XG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudGFncykge1xuICAgICAgaWYgKHRoaXMudGFncykge1xuICAgICAgICAvLyBJZiBvbmx5IGdpdmVuIGEgc2luZ2xlIGl0ZW0sIHB1dCBpdCBpbiBhbiBhcnJheSBzbyBpdCB3b3JrcyBpbiB0aGUgdGVtcGxhdGVcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy50YWdzKSkge1xuICAgICAgICAgIHRoaXMudGFnc0FycmF5ID0gdGhpcy50YWdzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMudGFnc0FycmF5ID0gW3RoaXMudGFnc107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHJlc2V0IGFycmF5IGlmIHRhZ3MgYmVjb21lcyB1bmRlZmluZWRcbiAgICAgICAgdGhpcy50YWdzQXJyYXkgPSBbXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2VUYWcodGFnOiBUYWcpIHtcbiAgICB0aGlzLnRhZ3NBcnJheSA9IHRoaXMudGFnc0FycmF5LmZpbHRlcih0ID0+IHQgIT09IHRhZyk7XG4gICAgdGhpcy50YWdDbG9zZWQuZW1pdCh0YWcpO1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJ0YWdzXCJcbiAgICBbY2xhc3MuaXMtd3JhcHBlZF09XCJ3cmFwXCI+XG4gICA8bGkgKm5nRm9yPVwibGV0IHRhZyBvZiB0YWdzQXJyYXk7IGluZGV4IGFzIGlcIlxuICAgICAgIGlkPVwie3tpZH19X3RhZ197e2l9fVwiXG4gICAgICAgY2xhc3M9XCJ0YWcgaXMte3t0YWcudHlwZX19IHt7dGFnLmNsYXNzTGlzdH19IG1yLTFcIlxuICAgICAgIFtjbGFzcy5pcy1jb25kZW5zZWRdPVwiaXNDb25kZW5zZWRcIlxuICAgICAgIHRpdGxlPVwie3t0YWcudG9vbHRpcCB8IHRyYW5zbGF0ZX19XCI+XG4gICAgICA8aSAqbmdJZj1cInRhZy5pY29uXCJcbiAgICAgICAgIGNsYXNzPVwiZWMtaWNvbiB7e3RhZy5pY29ufX0gZWMtaWNvbi1zbVwiPjwvaT5cbiAgIDxzcGFuICpuZ0lmPVwiIXRhZy51cmxcIiBbaW5uZXJIdG1sXT1cInRhZy5sYWJlbCB8IHRyYW5zbGF0ZSB8IGhpZ2hsaWdodFRleHQ6aGlnaGxpZ2h0VGV4dFwiPjwvc3Bhbj5cblxuICAgICAgPGEgKm5nSWY9XCJ0YWcudXJsXCJcbiAgICAgICAgIGlkPVwie3tpZH19X3RhZ197e2l9fV9saW5rXCJcbiAgICAgICAgIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZFwiXG4gICAgICAgICBocmVmPVwie3t0YWcudXJsfX1cIlxuICAgICAgICAgdGFyZ2V0PVwie3t0YWcudGFyZ2V0fX1cIj57e3RhZy5sYWJlbCB8IHRyYW5zbGF0ZX19PC9hPlxuXG4gICAgICA8YnV0dG9uIGlkPVwie3tpZH19X3RhZ197e2l9fV9kaXNtaXNzQnV0dG9uXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0YWcuaXNEaXNtaXNzYWJsZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVRhZyh0YWcpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0YWctY2xvc2UtYnRuXCI+XG4gICAgICAgICA8aSBjbGFzcz1cImVjLWljb24gZWMtaWNvbi1zbSBpY29uLWNhbmNlbFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgPC9saT5cbjwvdWw+Il19
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
2
|
-
import { race, Subject, timer } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../toast.service";
|
|
6
|
-
import * as i2 from "@angular/common";
|
|
7
|
-
import * as i3 from "../../../controls/banner/banner.component";
|
|
8
|
-
import * as i4 from "../../../controls/link-button/link-button.component";
|
|
9
|
-
import * as i5 from "@ngx-translate/core";
|
|
10
|
-
export class ToastComponent {
|
|
11
|
-
constructor(toastService) {
|
|
12
|
-
this.toastService = toastService;
|
|
13
|
-
this.open = false;
|
|
14
|
-
this.TOAST_ANIMATION_DURATION = 250;
|
|
15
|
-
this.closed = new EventEmitter();
|
|
16
|
-
this.TIMED_TOAST_DURATION = 4000;
|
|
17
|
-
this.destroyed = new Subject();
|
|
18
|
-
}
|
|
19
|
-
ngOnInit() {
|
|
20
|
-
this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
|
|
21
|
-
if (event.action == 'remove' && event.toast === this.toastItem) {
|
|
22
|
-
this.close(event);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
ngOnChanges(changes) {
|
|
27
|
-
if (changes.toastItem && this.toastItem) {
|
|
28
|
-
this.id = this.toastItem.id;
|
|
29
|
-
this.open = true;
|
|
30
|
-
if (!this.toastItem.dismissible) {
|
|
31
|
-
this.closeAfterTimer();
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
this.destroyed.next();
|
|
37
|
-
this.destroyed.complete();
|
|
38
|
-
}
|
|
39
|
-
closeClicked() {
|
|
40
|
-
if (this.toastItem) {
|
|
41
|
-
this.toastService.dismissToast(this.toastItem, 'user');
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
close(event) {
|
|
45
|
-
this.open = false;
|
|
46
|
-
timer(this.TOAST_ANIMATION_DURATION).subscribe(() => {
|
|
47
|
-
this.closed.emit(event);
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
closeAfterTimer() {
|
|
51
|
-
timer(this.TIMED_TOAST_DURATION).pipe(takeUntil(race(this.closed, this.destroyed))).subscribe(() => {
|
|
52
|
-
if (this.toastItem) {
|
|
53
|
-
this.toastService.dismissToast(this.toastItem, 'auto');
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToastComponent, selector: "ec-toast", inputs: { toastItem: "toastItem" }, outputs: { closed: "closed" }, host: { properties: { "attr.id": "this.id", "class.is-open": "this.open", "style.--toast-animation-duration.ms": "this.TOAST_ANIMATION_DURATION" } }, usesOnChanges: true, ngImport: i0, template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i4.LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{ selector: 'ec-toast', template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\n [type]=\"toastItem?.type\"\n bannerStyle=\"toast\"\n [customIcon]=\"toastItem?.icon\"\n [showCloseBtn]=\"toastItem?.dismissible\"\n [autoHideOnClose]=\"false\"\n (closed)=\"closeClicked()\">\n <div class=\"d-flex\">\n <div id=\"{{toastItem?.id}}_message\"\n [innerHTML]=\"toastItem?.message | translate\"></div>\n <button id=\"{{toastItem?.id}}_action\"\n ecLinkButton\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\n class=\"font-weight-bold ml-2\"\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\n </div>\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"] }]
|
|
63
|
-
}], ctorParameters: () => [{ type: i1.ToastService }], propDecorators: { toastItem: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], id: [{
|
|
66
|
-
type: HostBinding,
|
|
67
|
-
args: ['attr.id']
|
|
68
|
-
}], open: [{
|
|
69
|
-
type: HostBinding,
|
|
70
|
-
args: ['class.is-open']
|
|
71
|
-
}], TOAST_ANIMATION_DURATION: [{
|
|
72
|
-
type: HostBinding,
|
|
73
|
-
args: ['style.--toast-animation-duration.ms']
|
|
74
|
-
}], closed: [{
|
|
75
|
-
type: Output
|
|
76
|
-
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxjQUFjO0lBYXpCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUlQsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUNBLDZCQUF3QixHQUFHLEdBQUcsQ0FBQztRQUV6RSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV4Qyx5QkFBb0IsR0FBVyxJQUFJLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFVSxDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6RSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBRWpCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FDbkMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUM3QyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTVEVSxjQUFjO21HQUFkLGNBQWMsOFJDWDNCLDJ0QkFnQlk7OzRGRExDLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTtpRkFNSixTQUFTO3NCQUF4QixLQUFLO2dCQUV5QixFQUFFO3NCQUFoQyxXQUFXO3VCQUFDLFNBQVM7Z0JBQ2UsSUFBSTtzQkFBeEMsV0FBVzt1QkFBQyxlQUFlO2dCQUMrQix3QkFBd0I7c0JBQWxGLFdBQVc7dUJBQUMscUNBQXFDO2dCQUVqQyxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByYWNlLCBTdWJqZWN0LCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG9hc3RFdmVudCwgVG9hc3RJdGVtIH0gZnJvbSAnLi4vdG9hc3QtdHlwZXMnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VjLXRvYXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBcbiAgQElucHV0KCkgcHVibGljIHRvYXN0SXRlbT86IFRvYXN0SXRlbTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBwdWJsaWMgaWQ/OiBzdHJpbmc7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXMtb3BlbicpIHB1YmxpYyBvcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuLS10b2FzdC1hbmltYXRpb24tZHVyYXRpb24ubXMnKSBwdWJsaWMgVE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OID0gMjUwO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUb2FzdEV2ZW50PigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgVElNRURfVE9BU1RfRFVSQVRJT046IG51bWJlciA9IDQwMDA7XG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRvYXN0U2VydmljZS5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKGV2ZW50LmFjdGlvbiA9PSAncmVtb3ZlJyAmJiBldmVudC50b2FzdCA9PT0gdGhpcy50b2FzdEl0ZW0pIHtcbiAgICAgICAgdGhpcy5jbG9zZShldmVudCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudG9hc3RJdGVtICYmIHRoaXMudG9hc3RJdGVtKSB7XG4gICAgICB0aGlzLmlkID0gdGhpcy50b2FzdEl0ZW0uaWQ7XG4gICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuXG4gICAgICBpZiAoIXRoaXMudG9hc3RJdGVtLmRpc21pc3NpYmxlKSB7XG4gICAgICAgIHRoaXMuY2xvc2VBZnRlclRpbWVyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xvc2VDbGlja2VkKCkge1xuICAgIGlmICh0aGlzLnRvYXN0SXRlbSkge1xuICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZGlzbWlzc1RvYXN0KHRoaXMudG9hc3RJdGVtLCAndXNlcicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2xvc2UoZXZlbnQ6IFRvYXN0RXZlbnQpIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aW1lcih0aGlzLlRPQVNUX0FOSU1BVElPTl9EVVJBVElPTikuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUFmdGVyVGltZXIoKSB7XG4gICAgdGltZXIodGhpcy5USU1FRF9UT0FTVF9EVVJBVElPTikucGlwZShcbiAgICAgIHRha2VVbnRpbChyYWNlKHRoaXMuY2xvc2VkLCB0aGlzLmRlc3Ryb3llZCkpXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudG9hc3RJdGVtKSB7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmRpc21pc3NUb2FzdCh0aGlzLnRvYXN0SXRlbSwgJ2F1dG8nKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPGVjLWJhbm5lciBpZD1cInt7dG9hc3RJdGVtPy5pZH19X2Jhbm5lclwiXG4gICAgICAgICAgIFt0eXBlXT1cInRvYXN0SXRlbT8udHlwZVwiXG4gICAgICAgICAgIGJhbm5lclN0eWxlPVwidG9hc3RcIlxuICAgICAgICAgICBbY3VzdG9tSWNvbl09XCJ0b2FzdEl0ZW0/Lmljb25cIlxuICAgICAgICAgICBbc2hvd0Nsb3NlQnRuXT1cInRvYXN0SXRlbT8uZGlzbWlzc2libGVcIlxuICAgICAgICAgICBbYXV0b0hpZGVPbkNsb3NlXT1cImZhbHNlXCJcbiAgICAgICAgICAgKGNsb3NlZCk9XCJjbG9zZUNsaWNrZWQoKVwiPlxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgPGRpdiBpZD1cInt7dG9hc3RJdGVtPy5pZH19X21lc3NhZ2VcIlxuICAgICAgICAgW2lubmVySFRNTF09XCJ0b2FzdEl0ZW0/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L2Rpdj5cbiAgICA8YnV0dG9uIGlkPVwie3t0b2FzdEl0ZW0/LmlkfX1fYWN0aW9uXCJcbiAgICAgICAgICAgIGVjTGlua0J1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJ0b2FzdEl0ZW0/LmFjdGlvbiAmJiB0b2FzdEl0ZW0/LmFjdGlvbkxhYmVsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtbC0yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2FzdEl0ZW0hLmFjdGlvbiEoKVwiPnt7dG9hc3RJdGVtPy5hY3Rpb25MYWJlbCB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gIDwvZGl2PlxuPC9lYy1iYW5uZXI+Il19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export class ToastEvent {
|
|
2
|
-
constructor(action, toast, source = 'user') {
|
|
3
|
-
this.action = action;
|
|
4
|
-
this.toast = toast;
|
|
5
|
-
this.source = source;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b2FzdC90b2FzdC10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxPQUFPLFVBQVU7SUFDckIsWUFDUyxNQUFtQixFQUNuQixLQUFnQixFQUNoQixTQUFzQixNQUFNO1FBRjVCLFdBQU0sR0FBTixNQUFNLENBQWE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVztRQUNoQixXQUFNLEdBQU4sTUFBTSxDQUFzQjtJQUNqQyxDQUFDO0NBQ04iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYW5uZXJUeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYmFubmVyL2Jhbm5lci5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBUb2FzdEFjdGlvbiA9ICdhZGQnIHwgJ3JlbW92ZSc7XG5leHBvcnQgdHlwZSBUb2FzdFNvdXJjZSA9ICd1c2VyJyB8ICdhdXRvJztcblxuZXhwb3J0IHR5cGUgVG9hc3RJdGVtID0ge1xuICAvKiogSWQgdG8gcHV0IG9uIHRoZSB0b2FzdCBlbGVtZW50ICovXG4gIGlkPzogc3RyaW5nLFxuICB0eXBlOiBCYW5uZXJUeXBlLFxuICBtZXNzYWdlOiBzdHJpbmcsXG4gIC8qKiBcbiAgICogV2hlbiBmYWxzZSwgdGhlIHRvYXN0IHdpbGwgY2xvc2UgaXRzZWxmIGFmdGVyIDQgc2Vjb25kcy5cbiAgICogV2hlbiB0cnVlLCB0aGUgdG9hc3Qgd2lsbCBwZXJzaXN0IGFuZCBzaG93IHRoZSBjbG9zZSBidXR0b24uXG4gICAqL1xuICBkaXNtaXNzaWJsZTogYm9vbGVhbixcbiAgLyoqIE92ZXJyaWRlcyB0aGUgZGVmYXVsdCBpY29uLiAqL1xuICBpY29uPzogc3RyaW5nLFxuICBhY3Rpb24/OiAoKSA9PiBhbnksXG4gIGFjdGlvbkxhYmVsPzogc3RyaW5nXG59O1xuXG5leHBvcnQgY2xhc3MgVG9hc3RFdmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhY3Rpb246IFRvYXN0QWN0aW9uLFxuICAgIHB1YmxpYyB0b2FzdDogVG9hc3RJdGVtLFxuICAgIHB1YmxpYyBzb3VyY2U6IFRvYXN0U291cmNlID0gJ3VzZXInXG4gICkgeyB9XG59XG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { ToastEvent } from './toast-types';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class ToastService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._events = new Subject();
|
|
8
|
-
this.events = this._events.asObservable();
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Display a toast.
|
|
12
|
-
* If a toast of the same type is already on screen, the toast is queued until the existing one is dismissed.
|
|
13
|
-
*/
|
|
14
|
-
showToast(toast, source) {
|
|
15
|
-
const event = new ToastEvent('add', toast, source);
|
|
16
|
-
this._events.next(event);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Remove a toast.
|
|
20
|
-
* This will also remove the toast from the queue if it has not already been displayed.
|
|
21
|
-
*/
|
|
22
|
-
dismissToast(toast, source) {
|
|
23
|
-
const event = new ToastEvent('remove', toast, source);
|
|
24
|
-
this._events.next(event);
|
|
25
|
-
}
|
|
26
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
27
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' }); }
|
|
28
|
-
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
|
|
30
|
-
type: Injectable,
|
|
31
|
-
args: [{
|
|
32
|
-
providedIn: 'root'
|
|
33
|
-
}]
|
|
34
|
-
}], ctorParameters: () => [] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L3RvYXN0L3RvYXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQTBCLE1BQU0sZUFBZSxDQUFDOztBQUtuRSxNQUFNLE9BQU8sWUFBWTtJQUt2QjtRQUhRLFlBQU8sR0FBd0IsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUMxRCxXQUFNLEdBQTJCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEQsQ0FBQztJQUVqQjs7O09BR0c7SUFDSSxTQUFTLENBQUMsS0FBZ0IsRUFBRSxNQUFvQjtRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsS0FBZ0IsRUFBRSxNQUFvQjtRQUN4RCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBdkJVLFlBQVk7bUhBQVosWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RFdmVudCwgVG9hc3RJdGVtLCBUb2FzdFNvdXJjZSB9IGZyb20gJy4vdG9hc3QtdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2V2ZW50czogU3ViamVjdDxUb2FzdEV2ZW50PiA9IG5ldyBTdWJqZWN0PFRvYXN0RXZlbnQ+KCk7XG4gIHB1YmxpYyBldmVudHM6IE9ic2VydmFibGU8VG9hc3RFdmVudD4gPSB0aGlzLl9ldmVudHMuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICAvKiogXG4gICAqIERpc3BsYXkgYSB0b2FzdC5cbiAgICogSWYgYSB0b2FzdCBvZiB0aGUgc2FtZSB0eXBlIGlzIGFscmVhZHkgb24gc2NyZWVuLCB0aGUgdG9hc3QgaXMgcXVldWVkIHVudGlsIHRoZSBleGlzdGluZyBvbmUgaXMgZGlzbWlzc2VkLlxuICAgKi9cbiAgcHVibGljIHNob3dUb2FzdCh0b2FzdDogVG9hc3RJdGVtLCBzb3VyY2U/OiBUb2FzdFNvdXJjZSkge1xuICAgIGNvbnN0IGV2ZW50ID0gbmV3IFRvYXN0RXZlbnQoJ2FkZCcsIHRvYXN0LCBzb3VyY2UpO1xuICAgIHRoaXMuX2V2ZW50cy5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSB0b2FzdC5cbiAgICogVGhpcyB3aWxsIGFsc28gcmVtb3ZlIHRoZSB0b2FzdCBmcm9tIHRoZSBxdWV1ZSBpZiBpdCBoYXMgbm90IGFscmVhZHkgYmVlbiBkaXNwbGF5ZWQuXG4gICAqL1xuICBwdWJsaWMgZGlzbWlzc1RvYXN0KHRvYXN0OiBUb2FzdEl0ZW0sIHNvdXJjZT86IFRvYXN0U291cmNlKSB7XG4gICAgY29uc3QgZXZlbnQgPSBuZXcgVG9hc3RFdmVudCgncmVtb3ZlJywgdG9hc3QsIHNvdXJjZSk7XG4gICAgdGhpcy5fZXZlbnRzLm5leHQoZXZlbnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, ViewChild } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../toast.service";
|
|
6
|
-
import * as i2 from "../../../core/telemetry.service";
|
|
7
|
-
import * as i3 from "../toast/toast.component";
|
|
8
|
-
export class ToasterComponent {
|
|
9
|
-
constructor(toastService, telemetryService) {
|
|
10
|
-
this.toastService = toastService;
|
|
11
|
-
this.telemetryService = telemetryService;
|
|
12
|
-
this.dismissibleToastBottom = 0;
|
|
13
|
-
this.pendingToasts = [];
|
|
14
|
-
this.destroyed = new Subject();
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
|
|
18
|
-
if (event.action == 'add') {
|
|
19
|
-
this.addToast(event.toast);
|
|
20
|
-
this.updateDismissibleToastBottom();
|
|
21
|
-
this.trackEvent(event);
|
|
22
|
-
}
|
|
23
|
-
else if (event.action == 'remove' && event.toast !== this.currentDismissibleToast && event.toast !== this.currentTimedToast) {
|
|
24
|
-
this.removePendingToast(event.toast);
|
|
25
|
-
this.trackEvent(event);
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
ngOnDestroy() {
|
|
30
|
-
this.destroyed.next();
|
|
31
|
-
this.destroyed.complete();
|
|
32
|
-
}
|
|
33
|
-
updateVisibleToast(event) {
|
|
34
|
-
if (event.toast.dismissible) {
|
|
35
|
-
this.currentDismissibleToast = this.getNextToast(true);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
this.currentTimedToast = this.getNextToast(false);
|
|
39
|
-
}
|
|
40
|
-
this.updateDismissibleToastBottom();
|
|
41
|
-
this.trackEvent(event);
|
|
42
|
-
}
|
|
43
|
-
addToast(toast) {
|
|
44
|
-
if ((toast.dismissible && this.currentDismissibleToast) || (!toast.dismissible && this.currentTimedToast)) {
|
|
45
|
-
this.addPendingToast(toast);
|
|
46
|
-
}
|
|
47
|
-
else if (toast.dismissible) {
|
|
48
|
-
this.currentDismissibleToast = toast;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.currentTimedToast = toast;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/** Returns the next pending toast of the specified type and removes it from the list of pending toasts. */
|
|
55
|
-
getNextToast(dismissible) {
|
|
56
|
-
const toast = this.pendingToasts.find(t => t.dismissible === dismissible);
|
|
57
|
-
if (toast) {
|
|
58
|
-
this.removePendingToast(toast);
|
|
59
|
-
}
|
|
60
|
-
return toast;
|
|
61
|
-
}
|
|
62
|
-
/** Add a toast to the list of pending toasts */
|
|
63
|
-
addPendingToast(toast) {
|
|
64
|
-
this.pendingToasts.push(toast);
|
|
65
|
-
}
|
|
66
|
-
/** Removes the specified toast from the list of pending toasts */
|
|
67
|
-
removePendingToast(toast) {
|
|
68
|
-
const index = this.pendingToasts.indexOf(toast);
|
|
69
|
-
if (index > -1) {
|
|
70
|
-
this.pendingToasts.splice(index, 1);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* If the timed toast is present, sets the bottom height of the dismissible toast to
|
|
75
|
-
* the current height of the timed toast plus .5rem for spacing.
|
|
76
|
-
* Returns 0 if there isn't a visible timed toast.
|
|
77
|
-
*/
|
|
78
|
-
updateDismissibleToastBottom() {
|
|
79
|
-
if (this.currentTimedToast && this.timedToastEl) {
|
|
80
|
-
this.dismissibleToastBottom = (this.timedToastEl.nativeElement.offsetHeight + 8) / 16;
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
this.dismissibleToastBottom = 0;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
trackEvent(event) {
|
|
87
|
-
const dismissible = this.pendingToasts.filter(t => t.dismissible);
|
|
88
|
-
const transient = this.pendingToasts.filter(t => !t.dismissible);
|
|
89
|
-
this.telemetryService.trackEvent(`${event.action} toast`, {
|
|
90
|
-
action: event.action,
|
|
91
|
-
source: event.source,
|
|
92
|
-
hasDismissiblePending: dismissible.length > 0 ? 'yes' : 'no',
|
|
93
|
-
dismissiblePendingLength: `${dismissible.length}`,
|
|
94
|
-
hasTransientPending: transient.length > 0 ? 'yes' : 'no',
|
|
95
|
-
transientPendingLength: `${transient.length}`,
|
|
96
|
-
toastId: event.toast.id ?? '',
|
|
97
|
-
toastType: event.toast.type,
|
|
98
|
-
toastMessage: event.toast.message,
|
|
99
|
-
toastDismissible: `${event.toast.dismissible}`,
|
|
100
|
-
toastIcon: event.toast.icon ?? '',
|
|
101
|
-
toastAction: event.toast.actionLabel ?? '',
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterComponent, deps: [{ token: i1.ToastService }, { token: i2.TelemetryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ToasterComponent, selector: "ec-toaster", viewQueries: [{ propertyName: "timedToastEl", first: true, predicate: ["timedToast"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>", dependencies: [{ kind: "component", type: i3.ToastComponent, selector: "ec-toast", inputs: ["toastItem"], outputs: ["closed"] }] }); }
|
|
106
|
-
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToasterComponent, decorators: [{
|
|
108
|
-
type: Component,
|
|
109
|
-
args: [{ selector: 'ec-toaster', template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>\n\n<ec-toast #timedToast\n [toastItem]=\"currentTimedToast\"\n (closed)=\"updateVisibleToast($event)\">\n</ec-toast>" }]
|
|
110
|
-
}], ctorParameters: () => [{ type: i1.ToastService }, { type: i2.TelemetryService }], propDecorators: { timedToastEl: [{
|
|
111
|
-
type: ViewChild,
|
|
112
|
-
args: ['timedToast', { static: false, read: ElementRef }]
|
|
113
|
-
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b2FzdC90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBUzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBa0M7UUFEbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJyQywyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFHbEMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS3BDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekUsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7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OUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDakMsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUU7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzR1UsZ0JBQWdCO21HQUFoQixnQkFBZ0IseUlBS3FCLFVBQVUsNkJDaEI1RCw0VEFRVzs7NEZER0UsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLFlBQVk7Z0hBUXdDLFlBQVk7c0JBQXpFLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdEV2ZW50LCBUb2FzdEl0ZW0gfSBmcm9tICcuLi90b2FzdC10eXBlcyc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZWMtdG9hc3RlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb2FzdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBjdXJyZW50VGltZWRUb2FzdD86IFRvYXN0SXRlbTtcbiAgcHVibGljIGN1cnJlbnREaXNtaXNzaWJsZVRvYXN0PzogVG9hc3RJdGVtO1xuICBwdWJsaWMgZGlzbWlzc2libGVUb2FzdEJvdHRvbTogbnVtYmVyID0gMDtcbiAgQFZpZXdDaGlsZCgndGltZWRUb2FzdCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSB0aW1lZFRvYXN0RWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgXG4gIHByaXZhdGUgcGVuZGluZ1RvYXN0czogVG9hc3RJdGVtW10gPSBbXTtcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZWxlbWV0cnlTZXJ2aWNlOiBUZWxlbWV0cnlTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50b2FzdFNlcnZpY2UuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudC5hY3Rpb24gPT0gJ2FkZCcpIHtcbiAgICAgICAgdGhpcy5hZGRUb2FzdChldmVudC50b2FzdCk7XG4gICAgICAgIHRoaXMudXBkYXRlRGlzbWlzc2libGVUb2FzdEJvdHRvbSgpO1xuICAgICAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xuICAgICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT0gJ3JlbW92ZScgJiYgZXZlbnQudG9hc3QgIT09IHRoaXMuY3VycmVudERpc21pc3NpYmxlVG9hc3QgJiYgZXZlbnQudG9hc3QgIT09IHRoaXMuY3VycmVudFRpbWVkVG9hc3QpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVQZW5kaW5nVG9hc3QoZXZlbnQudG9hc3QpO1xuICAgICAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVmlzaWJsZVRvYXN0KGV2ZW50OiBUb2FzdEV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LnRvYXN0LmRpc21pc3NpYmxlKSB7XG4gICAgICB0aGlzLmN1cnJlbnREaXNtaXNzaWJsZVRvYXN0ID0gdGhpcy5nZXROZXh0VG9hc3QodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudFRpbWVkVG9hc3QgPSB0aGlzLmdldE5leHRUb2FzdChmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy51cGRhdGVEaXNtaXNzaWJsZVRvYXN0Qm90dG9tKCk7XG4gICAgdGhpcy50cmFja0V2ZW50KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xuICAgIGlmICgodG9hc3QuZGlzbWlzc2libGUgJiYgdGhpcy5jdXJyZW50RGlzbWlzc2libGVUb2FzdCkgfHwgKCF0b2FzdC5kaXNtaXNzaWJsZSAmJiB0aGlzLmN1cnJlbnRUaW1lZFRvYXN0KSkge1xuICAgICAgdGhpcy5hZGRQZW5kaW5nVG9hc3QodG9hc3QpO1xuICAgIH0gZWxzZSBpZiAodG9hc3QuZGlzbWlzc2libGUpIHtcbiAgICAgIHRoaXMuY3VycmVudERpc21pc3NpYmxlVG9hc3QgPSB0b2FzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jdXJyZW50VGltZWRUb2FzdCA9IHRvYXN0O1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBuZXh0IHBlbmRpbmcgdG9hc3Qgb2YgdGhlIHNwZWNpZmllZCB0eXBlIGFuZCByZW1vdmVzIGl0IGZyb20gdGhlIGxpc3Qgb2YgcGVuZGluZyB0b2FzdHMuICovXG4gIHByaXZhdGUgZ2V0TmV4dFRvYXN0KGRpc21pc3NpYmxlOiBib29sZWFuKTogVG9hc3RJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0b2FzdCA9IHRoaXMucGVuZGluZ1RvYXN0cy5maW5kKHQgPT4gdC5kaXNtaXNzaWJsZSA9PT0gZGlzbWlzc2libGUpO1xuICAgIGlmICh0b2FzdCkge1xuICAgICAgdGhpcy5yZW1vdmVQZW5kaW5nVG9hc3QodG9hc3QpO1xuICAgIH1cbiAgICByZXR1cm4gdG9hc3Q7XG4gIH1cblxuICAvKiogQWRkIGEgdG9hc3QgdG8gdGhlIGxpc3Qgb2YgcGVuZGluZyB0b2FzdHMgKi9cbiAgcHJpdmF0ZSBhZGRQZW5kaW5nVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xuICAgIHRoaXMucGVuZGluZ1RvYXN0cy5wdXNoKHRvYXN0KTtcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHRoZSBzcGVjaWZpZWQgdG9hc3QgZnJvbSB0aGUgbGlzdCBvZiBwZW5kaW5nIHRvYXN0cyAqL1xuICBwcml2YXRlIHJlbW92ZVBlbmRpbmdUb2FzdCh0b2FzdDogVG9hc3RJdGVtKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdUb2FzdHMuaW5kZXhPZih0b2FzdCk7XG4gICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgIHRoaXMucGVuZGluZ1RvYXN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBcbiAgICogSWYgdGhlIHRpbWVkIHRvYXN0IGlzIHByZXNlbnQsIHNldHMgdGhlIGJvdHRvbSBoZWlnaHQgb2YgdGhlIGRpc21pc3NpYmxlIHRvYXN0IHRvXG4gICAqIHRoZSBjdXJyZW50IGhlaWdodCBvZiB0aGUgdGltZWQgdG9hc3QgcGx1cyAuNXJlbSBmb3Igc3BhY2luZy5cbiAgICogUmV0dXJucyAwIGlmIHRoZXJlIGlzbid0IGEgdmlzaWJsZSB0aW1lZCB0b2FzdC5cbiAgICovXG4gIHByaXZhdGUgdXBkYXRlRGlzbWlzc2libGVUb2FzdEJvdHRvbSgpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50VGltZWRUb2FzdCAmJiB0aGlzLnRpbWVkVG9hc3RFbCkge1xuICAgICAgdGhpcy5kaXNtaXNzaWJsZVRvYXN0Qm90dG9tID0gKHRoaXMudGltZWRUb2FzdEVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgOCkgLyAxNjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNtaXNzaWJsZVRvYXN0Qm90dG9tID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYWNrRXZlbnQoZXZlbnQ6IFRvYXN0RXZlbnQpIHtcbiAgICBjb25zdCBkaXNtaXNzaWJsZSA9IHRoaXMucGVuZGluZ1RvYXN0cy5maWx0ZXIodCA9PiB0LmRpc21pc3NpYmxlKTtcbiAgICBjb25zdCB0cmFuc2llbnQgPSB0aGlzLnBlbmRpbmdUb2FzdHMuZmlsdGVyKHQgPT4gIXQuZGlzbWlzc2libGUpO1xuXG4gICAgdGhpcy50ZWxlbWV0cnlTZXJ2aWNlLnRyYWNrRXZlbnQoYCR7ZXZlbnQuYWN0aW9ufSB0b2FzdGAsIHtcbiAgICAgIGFjdGlvbjogZXZlbnQuYWN0aW9uLFxuICAgICAgc291cmNlOiBldmVudC5zb3VyY2UsXG4gICAgICBoYXNEaXNtaXNzaWJsZVBlbmRpbmc6IGRpc21pc3NpYmxlLmxlbmd0aCA+IDAgPyAneWVzJyA6ICdubycsXG4gICAgICBkaXNtaXNzaWJsZVBlbmRpbmdMZW5ndGg6IGAke2Rpc21pc3NpYmxlLmxlbmd0aH1gLFxuICAgICAgaGFzVHJhbnNpZW50UGVuZGluZzogdHJhbnNpZW50Lmxlbmd0aCA+IDAgPyAneWVzJyA6ICdubycsXG4gICAgICB0cmFuc2llbnRQZW5kaW5nTGVuZ3RoOiBgJHt0cmFuc2llbnQubGVuZ3RofWAsXG4gICAgICB0b2FzdElkOiBldmVudC50b2FzdC5pZCA/PyAnJyxcbiAgICAgIHRvYXN0VHlwZTogZXZlbnQudG9hc3QudHlwZSxcbiAgICAgIHRvYXN0TWVzc2FnZTogZXZlbnQudG9hc3QubWVzc2FnZSxcbiAgICAgIHRvYXN0RGlzbWlzc2libGU6IGAke2V2ZW50LnRvYXN0LmRpc21pc3NpYmxlfWAsXG4gICAgICB0b2FzdEljb246IGV2ZW50LnRvYXN0Lmljb24gPz8gJycsXG4gICAgICB0b2FzdEFjdGlvbjogZXZlbnQudG9hc3QuYWN0aW9uTGFiZWwgPz8gJycsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxlYy10b2FzdCBbdG9hc3RJdGVtXT1cImN1cnJlbnREaXNtaXNzaWJsZVRvYXN0XCJcbiAgICAgICAgICBbc3R5bGUuLS10b2FzdC1ib3R0b20ucmVtXT1cImRpc21pc3NpYmxlVG9hc3RCb3R0b21cIlxuICAgICAgICAgIChjbG9zZWQpPVwidXBkYXRlVmlzaWJsZVRvYXN0KCRldmVudClcIj5cbjwvZWMtdG9hc3Q+XG5cbjxlYy10b2FzdCAjdGltZWRUb2FzdFxuICAgICAgICAgIFt0b2FzdEl0ZW1dPVwiY3VycmVudFRpbWVkVG9hc3RcIlxuICAgICAgICAgIChjbG9zZWQpPVwidXBkYXRlVmlzaWJsZVRvYXN0KCRldmVudClcIj5cbjwvZWMtdG9hc3Q+Il19
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostBinding } 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
|
-
export class TooltipComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.position = 'top-center';
|
|
8
|
-
this.dismissible = false;
|
|
9
|
-
this.onHide = new EventEmitter();
|
|
10
|
-
}
|
|
11
|
-
hide() {
|
|
12
|
-
this.onHide.next();
|
|
13
|
-
this.overlayRef?.dispose();
|
|
14
|
-
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TooltipComponent, selector: "ec-tooltip", host: { properties: { "style.--ec-tooltip-background-color": "this.backgroundColor", "style.--ec-tooltip-color-title": "this.titleColor" } }, ngImport: i0, template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"], dependencies: [{ 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"] }] }); }
|
|
17
|
-
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipComponent, decorators: [{
|
|
19
|
-
type: Component,
|
|
20
|
-
args: [{ selector: 'ec-tooltip', template: "<article id=\"{{id}}\" class=\"py-3 position-{{position}}\" [class.show-arrow]=\"!hideArrow\">\n <header *ngIf=\"title || subtitle\" class=\"mb-3\">\n <h1 class=\"text-heading-2 px-3 mb-0\">{{title}}</h1>\n <p class=\"text-caption-1 px-3 mb-0\">{{subtitle}}</p>\n </header>\n\n <ng-container *ngIf=\"customContent; else textTemplate\">\n <ng-container *ngTemplateOutlet=\"customContent\"></ng-container>\n </ng-container>\n\n <ng-template #textTemplate>\n <div class=\"text-body-1 px-3\" [innerHTML]=\"text\"></div>\n </ng-template>\n\n <ec-button *ngIf=\"dismissible\" id=\"tooltipDismiss\" type=\"icon\" icon=\"icon-cancel\" (clicked)=\"hide()\"></ec-button>\n</article>\n", styles: [":host{display:block;padding:.75rem}article{background-color:var(--ec-tooltip-background-color, #162F3B);color:var(--ec-tooltip-color, var(--ec-color-primary-light));border-radius:var(--ec-border-radius-card);position:relative;box-shadow:var(--ec-box-shadow-overlay);--ec-color-link: var(--ec-color-link-light)}article.show-arrow:after{content:\"\";height:0;width:0;border:.625rem solid transparent;display:block;position:absolute;pointer-events:none}article.show-arrow.position-top-left:after,article.show-arrow.position-top-center:after,article.show-arrow.position-top-right:after{bottom:-1.25rem;border-top-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-bottom-left:after,article.show-arrow.position-bottom-center:after,article.show-arrow.position-bottom-right:after{top:-1.25rem;border-bottom-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-top-left:after,article.show-arrow.position-bottom-left:after{right:1rem}article.show-arrow.position-top-right:after,article.show-arrow.position-bottom-right:after{left:1rem}article.show-arrow.position-top-center:after,article.show-arrow.position-bottom-center:after{right:50%;transform:translate(50%)}article.show-arrow.position-right-top:after,article.show-arrow.position-right-center:after,article.show-arrow.position-right-bottom:after{left:-1.25rem;border-right-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-left-center:after,article.show-arrow.position-left-bottom:after{right:-1.25rem;border-left-color:var(--ec-tooltip-background-color, #162F3B)}article.show-arrow.position-left-top:after,article.show-arrow.position-right-top:after{top:1rem}article.show-arrow.position-left-bottom:after,article.show-arrow.position-right-bottom:after{bottom:1rem}article.show-arrow.position-left-center:after,article.show-arrow.position-right-center:after{bottom:50%;transform:translateY(50%)}.text-heading-2{color:var(--ec-tooltip-color-title, var(--ec-color-primary-light))}.text-body-1{color:var(--ec-color-primary-light)}.text-body-1 ::ng-deep p:last-child{margin-bottom:0}.text-body-1 ::ng-deep a{font-weight:var(--ec-font-weight-bold)}.text-caption-1{color:var(--ec-color-secondary-light)}ec-button{--ec-button-color-icon: var(--ec-color-secondary-light);--ec-button-color-icon-hover: var(--ec-color-primary-light);--ec-background-color-hover: rgba(255,255,255,.15);position:absolute;top:.25rem;right:.25rem}\n"] }]
|
|
21
|
-
}], propDecorators: { backgroundColor: [{
|
|
22
|
-
type: HostBinding,
|
|
23
|
-
args: ['style.--ec-tooltip-background-color']
|
|
24
|
-
}], titleColor: [{
|
|
25
|
-
type: HostBinding,
|
|
26
|
-
args: ['style.--ec-tooltip-color-title']
|
|
27
|
-
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBZSxNQUFNLGVBQWUsQ0FBQzs7OztBQTZEbEYsTUFBTSxPQUFPLGdCQUFnQjtJQUw3QjtRQU1FLGFBQVEsR0FBb0IsWUFBWSxDQUFDO1FBTXpDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBV3BCLFdBQU0sR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQU1qRDtJQUpDLElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0F2QlUsZ0JBQWdCO21HQUFoQixnQkFBZ0IsZ01DOUQ3Qix1ckJBZ0JBOzs0RkQ4Q2EsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLFlBQVk7OEJBaUJ0QixlQUFlO3NCQURkLFdBQVc7dUJBQUMscUNBQXFDO2dCQUlsRCxVQUFVO3NCQURULFdBQVc7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgcmVsYXRpdmUgdG8gaXRzIGFuY2hvci4gRm9yIGV4YW1wbGUsIGlmIHBvc2l0aW9uIGlzICd0b3AtbGVmdCcgdGhlIHRoZSB0b29sdGlwIHdpbGwgYXBwZWFyIGFib3ZlIHRoZSBhbmNob3IgYW5kIGV4cGFuZCB0byB0aGUgbGVmdCBvZiB0aGUgYW5jaG9yLlxuICovXG5leHBvcnQgdHlwZSBUb29sdGlwUG9zaXRpb24gPSAndG9wLWxlZnQnIHwgJ3RvcC1jZW50ZXInIHwgJ3RvcC1yaWdodCcgfCAncmlnaHQtdG9wJyB8ICdyaWdodC1jZW50ZXInIHwgJ3JpZ2h0LWJvdHRvbScgfCAnYm90dG9tLWxlZnQnIHwgJ2JvdHRvbS1jZW50ZXInIHwgJ2JvdHRvbS1yaWdodCcgfCAnbGVmdC10b3AnIHwgJ2xlZnQtY2VudGVyJyB8ICdsZWZ0LWJvdHRvbSc7XG5leHBvcnQgaW50ZXJmYWNlIFRvb2x0aXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdG9vbHRpcCB0aGF0IGlzIGFzc2lnbmVkIHRvIHRoZSA8YXJ0aWNsZT4gZWxlbWVudCB0aGF0IHdyYXBzIHRoZSB0b29sdGlwIGNvbnRlbnQuXG4gICAqL1xuICAgaWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgdG9vbHRpcCB0aXRsZS4gSGlkZGVuIGlmIG5vdCBkZWZpbmVkLiBUaGUgdG9vbHRpcCBoZWFkZXIgaXMgaGlkZGVuIGlmIGJvdGggdGl0bGUgYW5kIHN1YnRpbGUgYXJlIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUZXh0IHRvIGRpc3BsYXkgdW5kZXIgdGhlIHRvb2x0aXAgdGl0bGUuIEhpZGRlbiBpZiBub3QgZGVmaW5lZC4gVGhlIHRvb2x0aXAgaGVhZGVyIGlzIGhpZGRlbiBpZiBib3RoIHRpdGxlIGFuZCBzdWJ0aXRsZSBhcmUgbm90IGRlZmluZWQuXG4gICAqL1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEhUTUwgc3RyaW5nIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHRoZSB0b29sdGlwLiBXaWxsIGJlIGlnbm9yZWQgaWYgY3VzdG9tQ29udGVudCBoYXMgYSB2YWx1ZS5cbiAgICovXG4gIHRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgVGVtcGxhdGVSZWYgZm9yIGN1c3RvbSBjb250ZW50LiBJZiBjdXN0b21Db250ZW50IGlzIGRlZmluZWQsIGFueSB2YWx1ZSBmb3IgdGV4dCB3aWxsIGJlIGlnbm9yZWQuXG4gICAqL1xuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PjtcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSBhIGNsb3NlIGJ1dHRvbiBhcHBlYXJzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIHRvIGhpZGUgdGhlIHRvb2x0aXAuIEFuIGV2ZW50IHdpbGwgZW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIGlzIGhpZGRlbi5cbiAgICovXG4gIGRpc21pc3NpYmxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE51bWJlciBpbiBwaXhlbHMgb2YgdGhlIHdpZHRoIG9mIHRoZSB0b29sdGlwLiBJZiB1bmRlZmluZWQgd2lkdGggd2lsbCBiZSBhdXRvLlxuICAgKi9cbiAgd2lkdGg/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBpbiBwaXhlbHMgdGhhdCB0aGUgbWF4LXdpZHRoIG9mIHRoZSB0b29sdGlwIGNhbiBiZS5cbiAgICovXG4gIG1heFdpZHRoPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIGJhY2tncm91bmQgY29sb3IuIENhbiBiZSBhbnkgY29sb3IgdmFsdWUgb3IgY3NzIHZhcmlhYmxlIHdpdGggdmFyKCkgZnVuY3Rpb24uIEZvciBleGFtcGxlOiB2YXIoLS1lYy1iYWNrZ3JvdW5kLWNvbG9yLXN1Y2Nlc3MpO1xuICAgKi9cbiAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIGNvbG9yIG9mIHRoZSB0aXRsZSB0ZXh0LiBDYW4gYmUgYW55IGNvbG9yIHZhbHVlIG9yIGNzcyB2YXJpYWJsZSB3aXRoIHZhcigpIGZ1bmN0aW9uLiBGb3IgZXhhbXBsZTogdmFyKC0tZWMtY29sb3ItcHJpbWFyeS1saWdodCk7XG4gICAqL1xuICB0aXRsZUNvbG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGhpZGUgdGhlIGFycm93IG9mIHRoZSB0b29sdGlwLiBTaG93aW5nIHRoZSBhcnJvdyBpcyB0aGUgZGVmYXVsdC5cbiAgICovXG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlYy10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIFRvb2x0aXBPcHRpb25zIHtcbiAgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICd0b3AtY2VudGVyJztcblxuICBpZD86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBkaXNtaXNzaWJsZSA9IGZhbHNlO1xuICBjdXN0b21Db250ZW50PzogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIGhpZGVBcnJvdz86IGJvb2xlYW47XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWVjLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcicpXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tZWMtdG9vbHRpcC1jb2xvci10aXRsZScpXG4gIHRpdGxlQ29sb3I/OiBzdHJpbmc7XG5cbiAgb25IaWRlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgaGlkZSgpIHtcbiAgICB0aGlzLm9uSGlkZS5uZXh0KCk7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiIsIjxhcnRpY2xlIGlkPVwie3tpZH19XCIgY2xhc3M9XCJweS0zIHBvc2l0aW9uLXt7cG9zaXRpb259fVwiIFtjbGFzcy5zaG93LWFycm93XT1cIiFoaWRlQXJyb3dcIj5cbiAgPGhlYWRlciAqbmdJZj1cInRpdGxlIHx8IHN1YnRpdGxlXCIgY2xhc3M9XCJtYi0zXCI+XG4gICAgPGgxIGNsYXNzPVwidGV4dC1oZWFkaW5nLTIgcHgtMyBtYi0wXCI+e3t0aXRsZX19PC9oMT5cbiAgICA8cCBjbGFzcz1cInRleHQtY2FwdGlvbi0xIHB4LTMgbWItMFwiPnt7c3VidGl0bGV9fTwvcD5cbiAgPC9oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbUNvbnRlbnQ7IGVsc2UgdGV4dFRlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImN1c3RvbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICN0ZXh0VGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtYm9keS0xIHB4LTNcIiBbaW5uZXJIVE1MXT1cInRleHRcIj48L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8ZWMtYnV0dG9uICpuZ0lmPVwiZGlzbWlzc2libGVcIiBpZD1cInRvb2x0aXBEaXNtaXNzXCIgdHlwZT1cImljb25cIiBpY29uPVwiaWNvbi1jYW5jZWxcIiAoY2xpY2tlZCk9XCJoaWRlKClcIj48L2VjLWJ1dHRvbj5cbjwvYXJ0aWNsZT5cbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { OverlayConfig } from "@angular/cdk/overlay";
|
|
2
|
-
import { ComponentPortal } from "@angular/cdk/portal";
|
|
3
|
-
import { Injectable } from "@angular/core";
|
|
4
|
-
import { TooltipComponent } from "./tooltip.component";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
7
|
-
export class TooltipService {
|
|
8
|
-
constructor(overlay) {
|
|
9
|
-
this.overlay = overlay;
|
|
10
|
-
this.positions = {
|
|
11
|
-
'top-left': { originX: 'center', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetX: 38 },
|
|
12
|
-
'top-center': { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom' },
|
|
13
|
-
'top-right': { originX: 'center', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetX: -38 },
|
|
14
|
-
'bottom-left': { originX: 'center', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetX: 38 },
|
|
15
|
-
'bottom-center': { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top' },
|
|
16
|
-
'bottom-right': { originX: 'center', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetX: -38 },
|
|
17
|
-
'left-top': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'top', offsetY: -38 },
|
|
18
|
-
'left-center': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center' },
|
|
19
|
-
'left-bottom': { originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'bottom', offsetY: 38 },
|
|
20
|
-
'right-top': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'top', offsetY: -38 },
|
|
21
|
-
'right-center': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center' },
|
|
22
|
-
'right-bottom': { originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'bottom', offsetY: 38 }
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Show a tooltip attached to a specified element
|
|
27
|
-
*/
|
|
28
|
-
show(anchor, position = 'top-center', options) {
|
|
29
|
-
const overlayConfig = this.getOverlayConfig(anchor, this.positions[position], options?.width, options?.maxWidth);
|
|
30
|
-
const overlayRef = this.overlay.create(overlayConfig);
|
|
31
|
-
const contentPortal = new ComponentPortal(TooltipComponent);
|
|
32
|
-
const contentViewRef = overlayRef.attach(contentPortal);
|
|
33
|
-
contentViewRef.instance.position = position;
|
|
34
|
-
contentViewRef.instance.id = options?.id;
|
|
35
|
-
contentViewRef.instance.title = options?.title;
|
|
36
|
-
contentViewRef.instance.subtitle = options?.subtitle;
|
|
37
|
-
contentViewRef.instance.text = options?.text;
|
|
38
|
-
contentViewRef.instance.customContent = options?.customContent;
|
|
39
|
-
contentViewRef.instance.dismissible = options?.dismissible || false;
|
|
40
|
-
contentViewRef.instance.backgroundColor = options?.backgroundColor;
|
|
41
|
-
contentViewRef.instance.titleColor = options?.titleColor;
|
|
42
|
-
contentViewRef.instance.hideArrow = options?.hideArrow;
|
|
43
|
-
contentViewRef.instance.overlayRef = overlayRef;
|
|
44
|
-
return contentViewRef.instance;
|
|
45
|
-
}
|
|
46
|
-
onMove(event, contentRect) {
|
|
47
|
-
let callCallback = false;
|
|
48
|
-
if (contentRect) {
|
|
49
|
-
if (event.clientX > contentRect.right
|
|
50
|
-
|| event.clientX < contentRect.left
|
|
51
|
-
|| event.clientY > contentRect.bottom
|
|
52
|
-
|| event.clientY < contentRect.top) {
|
|
53
|
-
callCallback = true;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return callCallback;
|
|
57
|
-
}
|
|
58
|
-
getOverlayConfig(element, position, width, maxWidth) {
|
|
59
|
-
const positionStrategy = this.overlay.position()
|
|
60
|
-
.flexibleConnectedTo(element)
|
|
61
|
-
.withPositions([position]);
|
|
62
|
-
const config = new OverlayConfig({
|
|
63
|
-
positionStrategy: positionStrategy,
|
|
64
|
-
width: width,
|
|
65
|
-
maxWidth: maxWidth
|
|
66
|
-
});
|
|
67
|
-
return config;
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, providedIn: 'root' }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TooltipService, decorators: [{
|
|
73
|
-
type: Injectable,
|
|
74
|
-
args: [{
|
|
75
|
-
providedIn: 'root'
|
|
76
|
-
}]
|
|
77
|
-
}], ctorParameters: () => [{ type: i1.Overlay }] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9vbHRpcC90b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE4QixhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQW1DLE1BQU0scUJBQXFCLENBQUM7OztBQUt4RixNQUFNLE9BQU8sY0FBYztJQWlCekIsWUFDVSxPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBaEJsQixjQUFTLEdBQXVDO1lBQ3RELFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUNuRyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQzNGLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZHLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUN0RyxlQUFlLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO1lBQzlGLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFHLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25HLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDM0YsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1lBQ3hHLFdBQVcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BHLGNBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDNUYsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEs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b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRvb2x0aXBDb21wb25lbnQsIFRvb2x0aXBPcHRpb25zLCBUb29sdGlwUG9zaXRpb24gfSBmcm9tIFwiLi90b29sdGlwLmNvbXBvbmVudFwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBwb3NpdGlvbnM6IHtba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbn0gPSB7XG4gICAgJ3RvcC1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAzOCB9LFxuICAgICd0b3AtY2VudGVyJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgJ3RvcC1yaWdodCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAtMzggfSxcbiAgICAnYm90dG9tLWxlZnQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IDM4IH0sXG4gICAgJ2JvdHRvbS1jZW50ZXInOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAnYm90dG9tLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcsIG9mZnNldFg6IC0zOCB9LFxuICAgICdsZWZ0LXRvcCc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiAtMzggfSxcbiAgICAnbGVmdC1jZW50ZXInOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxuICAgICdsZWZ0LWJvdHRvbSc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzOCB9LFxuICAgICdyaWdodC10b3AnOiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTM4IH0sXG4gICAgJ3JpZ2h0LWNlbnRlcic6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgJ3JpZ2h0LWJvdHRvbSc6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzOCB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcbiAgKXt9XG5cbiAgLyoqXG4gICAqIFNob3cgYSB0b29sdGlwIGF0dGFjaGVkIHRvIGEgc3BlY2lmaWVkIGVsZW1lbnRcbiAgICovXG4gIHNob3coYW5jaG9yOiBIVE1MRWxlbWVudCwgcG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICd0b3AtY2VudGVyJywgb3B0aW9ucz86IFRvb2x0aXBPcHRpb25zKTogVG9vbHRpcENvbXBvbmVudCB7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhhbmNob3IsIHRoaXMucG9zaXRpb25zW3Bvc2l0aW9uXSwgb3B0aW9ucz8ud2lkdGgsIG9wdGlvbnM/Lm1heFdpZHRoKTtcbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcblxuICAgIGNvbnN0IGNvbnRlbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFRvb2x0aXBDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbnRlbnRWaWV3UmVmID0gb3ZlcmxheVJlZi5hdHRhY2goY29udGVudFBvcnRhbCk7XG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcblxuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmlkID0gb3B0aW9ucz8uaWQ7XG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UudGl0bGUgPSBvcHRpb25zPy50aXRsZTtcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5zdWJ0aXRsZSA9IG9wdGlvbnM/LnN1YnRpdGxlO1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRleHQgPSBvcHRpb25zPy50ZXh0O1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmN1c3RvbUNvbnRlbnQgPSBvcHRpb25zPy5jdXN0b21Db250ZW50O1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmRpc21pc3NpYmxlID0gb3B0aW9ucz8uZGlzbWlzc2libGUgfHwgZmFsc2U7XG4gICAgY29udGVudFZpZXdSZWYuaW5zdGFuY2UuYmFja2dyb3VuZENvbG9yID0gb3B0aW9ucz8uYmFja2dyb3VuZENvbG9yO1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLnRpdGxlQ29sb3IgPSBvcHRpb25zPy50aXRsZUNvbG9yO1xuICAgIGNvbnRlbnRWaWV3UmVmLmluc3RhbmNlLmhpZGVBcnJvdyA9IG9wdGlvbnM/LmhpZGVBcnJvdztcbiAgICBjb250ZW50Vmlld1JlZi5pbnN0YW5jZS5vdmVybGF5UmVmID0gb3ZlcmxheVJlZjtcblxuICAgIHJldHVybiBjb250ZW50Vmlld1JlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIG9uTW92ZShldmVudDpNb3VzZUV2ZW50LCBjb250ZW50UmVjdDpET01SZWN0KTpib29sZWFuIHtcbiAgICBsZXQgY2FsbENhbGxiYWNrID0gZmFsc2U7XG4gICAgaWYgKGNvbnRlbnRSZWN0KSB7XG4gICAgICBpZiAoXG4gICAgICAgICAgZXZlbnQuY2xpZW50WCA+IGNvbnRlbnRSZWN0LnJpZ2h0XG4gICAgICAgfHwgZXZlbnQuY2xpZW50WCA8IGNvbnRlbnRSZWN0LmxlZnRcbiAgICAgICB8fCBldmVudC5jbGllbnRZID4gY29udGVudFJlY3QuYm90dG9tXG4gICAgICAgfHwgZXZlbnQuY2xpZW50WSA8IGNvbnRlbnRSZWN0LnRvcFxuICAgICAgKSB7XG4gICAgICAgIGNhbGxDYWxsYmFjayA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYWxsQ2FsbGJhY2s7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmLCBwb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24sIHdpZHRoPzogbnVtYmVyLCBtYXhXaWR0aD86IG51bWJlcik6IE92ZXJsYXlDb25maWcge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWxlbWVudClcbiAgICAgIC53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xuXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgIG1heFdpZHRoOiBtYXhXaWR0aFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuIl19
|