@festo-ui/angular 8.2.0-dev.617 → 8.2.0-dev.622
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/css/bundle.css +1 -1
- package/css/popover.css +1 -1
- package/fesm2022/festo-ui-angular.mjs +516 -262
- package/fesm2022/festo-ui-angular.mjs.map +1 -1
- package/lib/components/components.module.d.ts +3 -1
- package/lib/components/overlay/overlay-content/overlay-content.component.d.ts +5 -0
- package/lib/components/overlay/overlay-outlet.directive.d.ts +64 -0
- package/lib/components/popovers/popover.defaults.d.ts +0 -18
- package/lib/components/popovers/popover.models.d.ts +2 -1
- package/lib/components/popovers/tooltip/tooltip.directive.d.ts +7 -0
- package/lib/forms/value-accessor-base.d.ts +1 -1
- package/package.json +9 -11
- package/public-api.d.ts +2 -0
- package/scss/base/icons-svg.scss +1 -1
- package/scss/base/image-gallery.scss +2 -2
- package/scss/base/popover.scss +2 -2
- package/scss/base/styles.scss +4 -4
- package/esm2022/festo-ui-angular.mjs +0 -5
- package/esm2022/lib/components/accordion/accordion-header/accordion-header.component.mjs +0 -11
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +0 -15
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +0 -28
- package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +0 -148
- package/esm2022/lib/components/accordion/accordion.component.mjs +0 -59
- package/esm2022/lib/components/accordion/index.mjs +0 -6
- package/esm2022/lib/components/bottom-sheet/bottom-sheet.component.mjs +0 -97
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -26
- package/esm2022/lib/components/buttons/button/button.component.mjs +0 -48
- package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +0 -34
- package/esm2022/lib/components/chips/chip/chip.component.mjs +0 -38
- package/esm2022/lib/components/chips/chip-container/chip-container.component.mjs +0 -17
- package/esm2022/lib/components/components.module.mjs +0 -212
- package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +0 -17
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +0 -39
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +0 -65
- package/esm2022/lib/components/mobile-flyout/mobile-flyout.component.mjs +0 -69
- package/esm2022/lib/components/pagination/pagination.component.mjs +0 -57
- package/esm2022/lib/components/popovers/legend/legend.component.mjs +0 -42
- package/esm2022/lib/components/popovers/legend/legend.directive.mjs +0 -31
- package/esm2022/lib/components/popovers/popover/popover.component.mjs +0 -31
- package/esm2022/lib/components/popovers/popover-content/popover-content.component.mjs +0 -80
- package/esm2022/lib/components/popovers/popover-content/popover-content.directive.mjs +0 -39
- package/esm2022/lib/components/popovers/popover-menu/popover-menu.component.mjs +0 -67
- package/esm2022/lib/components/popovers/popover-ref.mjs +0 -25
- package/esm2022/lib/components/popovers/popover.defaults.mjs +0 -59
- package/esm2022/lib/components/popovers/popover.models.mjs +0 -7
- package/esm2022/lib/components/popovers/popover.service.mjs +0 -140
- package/esm2022/lib/components/popovers/tooltip/tooltip.directive.mjs +0 -101
- package/esm2022/lib/components/progress/progress.component.mjs +0 -22
- package/esm2022/lib/components/scroll/index.mjs +0 -2
- package/esm2022/lib/components/scroll/scrollable.directive.mjs +0 -75
- package/esm2022/lib/components/search-input/search-input.component.mjs +0 -182
- package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +0 -59
- package/esm2022/lib/components/snackbar/snackbar-container.component.mjs +0 -21
- package/esm2022/lib/components/snackbar/snackbar-container.directive.mjs +0 -80
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -81
- package/esm2022/lib/components/snackbar/snackbar.models.mjs +0 -2
- package/esm2022/lib/components/snackbar/snackbar.module.mjs +0 -24
- package/esm2022/lib/components/snackbar/snackbar.service.mjs +0 -23
- package/esm2022/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +0 -19
- package/esm2022/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +0 -52
- package/esm2022/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +0 -57
- package/esm2022/lib/components/stepper-vertical/stepper-vertical.component.mjs +0 -54
- package/esm2022/lib/components/table-header-cell/table-header-cell.directive.mjs +0 -60
- package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +0 -34
- package/esm2022/lib/components/tabs/tabs.component.mjs +0 -459
- package/esm2022/lib/directives/click-outside.directive.mjs +0 -29
- package/esm2022/lib/festo-angular.module.mjs +0 -21
- package/esm2022/lib/forms/checkbox/checkbox.component.mjs +0 -154
- package/esm2022/lib/forms/color-indicator/color-indicator.component.mjs +0 -88
- package/esm2022/lib/forms/color-picker/color-helper.mjs +0 -129
- package/esm2022/lib/forms/color-picker/color-picker.component.mjs +0 -292
- package/esm2022/lib/forms/date-picker/date-picker.component.mjs +0 -205
- package/esm2022/lib/forms/date-range-picker/date-range-picker.component.mjs +0 -231
- package/esm2022/lib/forms/flatpickr/flatpickr.component.mjs +0 -55
- package/esm2022/lib/forms/forms.module.mjs +0 -132
- package/esm2022/lib/forms/radio/radio.component.mjs +0 -349
- package/esm2022/lib/forms/segment/segment-control/segment-control.component.mjs +0 -65
- package/esm2022/lib/forms/segment/segment.component.mjs +0 -139
- package/esm2022/lib/forms/select/chip-text.pipe.mjs +0 -39
- package/esm2022/lib/forms/select/select-option/select-option.component.mjs +0 -23
- package/esm2022/lib/forms/select/select.component.mjs +0 -273
- package/esm2022/lib/forms/slider/slider.component.mjs +0 -117
- package/esm2022/lib/forms/switch/switch.component.mjs +0 -121
- package/esm2022/lib/forms/text-area/text-area.component.mjs +0 -187
- package/esm2022/lib/forms/text-editor/text-editor.component.mjs +0 -307
- package/esm2022/lib/forms/text-input/text-input.component.mjs +0 -208
- package/esm2022/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +0 -107
- package/esm2022/lib/forms/time-picker/time-picker.component.mjs +0 -204
- package/esm2022/lib/forms/unique-selection-dispatcher.mjs +0 -41
- package/esm2022/lib/forms/value-accessor-base.mjs +0 -41
- package/esm2022/lib/modals/alert/alert.component.mjs +0 -55
- package/esm2022/lib/modals/confirm/confirm.component.mjs +0 -56
- package/esm2022/lib/modals/custom-modal/custom-modal.component.mjs +0 -88
- package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +0 -80
- package/esm2022/lib/modals/index.mjs +0 -2
- package/esm2022/lib/modals/modal.service.mjs +0 -118
- package/esm2022/lib/modals/modals.module.mjs +0 -27
- package/esm2022/lib/modals/prompt/prompt.component.mjs +0 -114
- package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -21
- package/esm2022/public-api.mjs +0 -66
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
2
|
-
import { Component, forwardRef, HostBinding, Input, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
6
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
7
|
-
import { FngTimePickerDropdownComponent } from './time-picker-dropdown/time-picker-dropdown.component';
|
|
8
|
-
import { CommonModule } from '@angular/common';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "@angular/cdk/overlay";
|
|
11
|
-
import * as i2 from "@angular/common";
|
|
12
|
-
export class FngTimePickerComponent {
|
|
13
|
-
get value() {
|
|
14
|
-
return this.innerValue;
|
|
15
|
-
}
|
|
16
|
-
set value(date) {
|
|
17
|
-
if (!this.disabled) {
|
|
18
|
-
this.innerValue = date;
|
|
19
|
-
if (this.onChange != null) {
|
|
20
|
-
this.onChange(date);
|
|
21
|
-
}
|
|
22
|
-
if (this.onTouched != null) {
|
|
23
|
-
this.onTouched();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
get disabled() {
|
|
28
|
-
return this.innerDisabled;
|
|
29
|
-
}
|
|
30
|
-
set disabled(value) {
|
|
31
|
-
this.innerDisabled = coerceBooleanProperty(value);
|
|
32
|
-
}
|
|
33
|
-
get required() {
|
|
34
|
-
return this.innerRequired;
|
|
35
|
-
}
|
|
36
|
-
set required(value) {
|
|
37
|
-
this.innerRequired = coerceBooleanProperty(value);
|
|
38
|
-
}
|
|
39
|
-
get timeFormat() {
|
|
40
|
-
let timeFormat = 'H:mm';
|
|
41
|
-
if (this.options != null) {
|
|
42
|
-
if (this.options.showSeconds) {
|
|
43
|
-
timeFormat += ':ss';
|
|
44
|
-
}
|
|
45
|
-
if (this.options.timeFormat === '12') {
|
|
46
|
-
timeFormat = timeFormat.toLowerCase() + ' a';
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
return timeFormat;
|
|
50
|
-
}
|
|
51
|
-
constructor(overlay, cd) {
|
|
52
|
-
this.overlay = overlay;
|
|
53
|
-
this.cd = cd;
|
|
54
|
-
this.innerRequired = false;
|
|
55
|
-
this.width = 'none';
|
|
56
|
-
this.display = 'block';
|
|
57
|
-
this.timePickerRef = null;
|
|
58
|
-
this.innerValue = new Date();
|
|
59
|
-
this.innerDisabled = false;
|
|
60
|
-
this.complete = new Subject();
|
|
61
|
-
}
|
|
62
|
-
writeValue(date) {
|
|
63
|
-
this.innerValue = date;
|
|
64
|
-
}
|
|
65
|
-
registerOnChange(fn) {
|
|
66
|
-
this.onChange = fn;
|
|
67
|
-
}
|
|
68
|
-
registerOnTouched(fn) {
|
|
69
|
-
this.onTouched = fn;
|
|
70
|
-
}
|
|
71
|
-
setDisabledState(isDisabled) {
|
|
72
|
-
this.disabled = isDisabled;
|
|
73
|
-
}
|
|
74
|
-
toggle(event) {
|
|
75
|
-
const resetValue = this.value;
|
|
76
|
-
event.preventDefault();
|
|
77
|
-
event.stopPropagation();
|
|
78
|
-
if (!this.disabled) {
|
|
79
|
-
if (this.timePickerRef == null && this.connector != null && this.connector.nativeElement != null) {
|
|
80
|
-
const labelWidth = this.connector.nativeElement.clientWidth;
|
|
81
|
-
this.timePickerRef = this.overlay.create({
|
|
82
|
-
minWidth: `${labelWidth}px`,
|
|
83
|
-
panelClass: 'fng-first-child-fullwidth',
|
|
84
|
-
hasBackdrop: true,
|
|
85
|
-
backdropClass: 'fng-date-picker-backdrop',
|
|
86
|
-
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
87
|
-
positionStrategy: this.overlay
|
|
88
|
-
.position()
|
|
89
|
-
.flexibleConnectedTo(this.connector.nativeElement)
|
|
90
|
-
.withPositions([
|
|
91
|
-
{
|
|
92
|
-
originX: 'center',
|
|
93
|
-
originY: 'bottom',
|
|
94
|
-
overlayX: 'center',
|
|
95
|
-
overlayY: 'top',
|
|
96
|
-
offsetY: -12
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
originX: 'center',
|
|
100
|
-
originY: 'top',
|
|
101
|
-
overlayX: 'center',
|
|
102
|
-
overlayY: 'bottom',
|
|
103
|
-
offsetY: 4
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
originX: 'start',
|
|
107
|
-
originY: 'bottom',
|
|
108
|
-
overlayX: 'start',
|
|
109
|
-
overlayY: 'top',
|
|
110
|
-
offsetY: -12
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
originX: 'start',
|
|
114
|
-
originY: 'top',
|
|
115
|
-
overlayX: 'start',
|
|
116
|
-
overlayY: 'bottom',
|
|
117
|
-
offsetY: 4
|
|
118
|
-
}
|
|
119
|
-
])
|
|
120
|
-
.withFlexibleDimensions(false)
|
|
121
|
-
.withPush(false)
|
|
122
|
-
});
|
|
123
|
-
const timePickerPortal = new ComponentPortal(FngTimePickerDropdownComponent);
|
|
124
|
-
this.timePicker = this.timePickerRef.attach(timePickerPortal);
|
|
125
|
-
this.timePicker.instance.timeFormat = this.options != null && this.options.timeFormat != null ? this.options.timeFormat : '24';
|
|
126
|
-
this.timePicker.instance.showSeconds = this.options != null && this.options.showSeconds != null ? this.options.showSeconds : false;
|
|
127
|
-
this.timePicker.instance.date = new Date(this.value);
|
|
128
|
-
this.timePicker.instance.dateChange.pipe(takeUntil(this.complete)).subscribe(ev => {
|
|
129
|
-
if (ev.reset) {
|
|
130
|
-
this.value = resetValue;
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
this.value = ev.date;
|
|
134
|
-
}
|
|
135
|
-
if (ev.close) {
|
|
136
|
-
this.disposeDropdown();
|
|
137
|
-
}
|
|
138
|
-
// we need to re-render our view after value changed
|
|
139
|
-
this.cd.markForCheck();
|
|
140
|
-
});
|
|
141
|
-
this.timePickerRef
|
|
142
|
-
.backdropClick()
|
|
143
|
-
.pipe(takeUntil(this.complete))
|
|
144
|
-
.subscribe(() => this.disposeDropdown());
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
this.disposeDropdown();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
disposeDropdown() {
|
|
152
|
-
if (this.timePickerRef != null) {
|
|
153
|
-
this.timePickerRef.detach();
|
|
154
|
-
this.timePickerRef.dispose();
|
|
155
|
-
this.timePickerRef = null;
|
|
156
|
-
}
|
|
157
|
-
if (this.complete != null) {
|
|
158
|
-
this.complete.next(true);
|
|
159
|
-
this.complete.complete();
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngTimePickerComponent, deps: [{ token: i1.Overlay }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngTimePickerComponent, isStandalone: true, selector: "fng-time-picker", inputs: { value: "value", disabled: "disabled", required: "required", hint: "hint", error: "error", options: "options", width: "width" }, host: { properties: { "style.width": "this.width", "style.display": "this.display" } }, providers: [
|
|
164
|
-
{
|
|
165
|
-
provide: NG_VALUE_ACCESSOR,
|
|
166
|
-
useExisting: forwardRef(() => FngTimePickerComponent),
|
|
167
|
-
multi: true
|
|
168
|
-
}
|
|
169
|
-
], viewQueries: [{ propertyName: "connector", first: true, predicate: ["connector"], descendants: true, static: true }], ngImport: i0, template: "<label #connector class=\"fng-time-picker fwe-input-text fwe-input-text-icon\" (click)=\"toggle($event)\">\n <i class=\"fng-icon-svg fng-icon-svg--time\" [class.fwe-color-hero]=\"timePickerRef != null\" [class.fwe-color-control-disabled]=\"disabled\"></i>\n <input\n aria-label=\"picked time\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"timePickerRef != null\"\n [value]=\"value | date: timeFormat\"\n [disabled]=\"disabled\"\n />\n <span class=\"fwe-input-text-label\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n</label>\n", styles: [".fng-first-child-fullwidth fng-time-picker-dropdown{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
170
|
-
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngTimePickerComponent, decorators: [{
|
|
172
|
-
type: Component,
|
|
173
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-time-picker', providers: [
|
|
174
|
-
{
|
|
175
|
-
provide: NG_VALUE_ACCESSOR,
|
|
176
|
-
useExisting: forwardRef(() => FngTimePickerComponent),
|
|
177
|
-
multi: true
|
|
178
|
-
}
|
|
179
|
-
], encapsulation: ViewEncapsulation.None, template: "<label #connector class=\"fng-time-picker fwe-input-text fwe-input-text-icon\" (click)=\"toggle($event)\">\n <i class=\"fng-icon-svg fng-icon-svg--time\" [class.fwe-color-hero]=\"timePickerRef != null\" [class.fwe-color-control-disabled]=\"disabled\"></i>\n <input\n aria-label=\"picked time\"\n type=\"text\"\n readonly\n [required]=\"required === true || null\"\n [class.fwe-border-hero]=\"timePickerRef != null\"\n [value]=\"value | date: timeFormat\"\n [disabled]=\"disabled\"\n />\n <span class=\"fwe-input-text-label\"><ng-content></ng-content></span>\n <span *ngIf=\"hint\" class=\"fwe-input-text-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fwe-input-text-invalid\">{{ error }}</span>\n</label>\n", styles: [".fng-first-child-fullwidth fng-time-picker-dropdown{width:100%}\n"] }]
|
|
180
|
-
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ChangeDetectorRef }], propDecorators: { value: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], disabled: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], required: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], hint: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], error: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], options: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], width: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}, {
|
|
195
|
-
type: HostBinding,
|
|
196
|
-
args: ['style.width']
|
|
197
|
-
}], display: [{
|
|
198
|
-
type: HostBinding,
|
|
199
|
-
args: ['style.display']
|
|
200
|
-
}], connector: [{
|
|
201
|
-
type: ViewChild,
|
|
202
|
-
args: ['connector', { static: true }]
|
|
203
|
-
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUVMLFNBQVMsRUFHVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFzQi9DLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUNJLEtBQUssQ0FBQyxJQUFVO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFB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R0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJOzRHQU9qQyxLQUFLO3NCQURSLEtBQUs7Z0JBY0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFJTixLQUFLO3NCQUZKLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsYUFBYTtnQkFFSSxPQUFPO3NCQUFwQyxXQUFXO3VCQUFDLGVBQWU7Z0JBRWMsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29tcG9uZW50UmVmLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRm5nVGltZVBpY2tlckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci1kcm9wZG93bi90aW1lLXBpY2tlci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBGbmdUaW1lUGlja2VyT3B0aW9ucyB7XG4gIHRpbWVGb3JtYXQ/OiAnMTInIHwgJzI0JztcbiAgc2hvd1NlY29uZHM/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZm5nLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGbmdUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ1RpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIGdldCB2YWx1ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZShkYXRlOiBEYXRlKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSBkYXRlO1xuICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub25Ub3VjaGVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJEaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlubmVyRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlubmVyUmVxdWlyZWQ7XG4gIH1cbiAgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pbm5lclJlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcm90ZWN0ZWQgaW5uZXJSZXF1aXJlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgb3B0aW9uczogRm5nVGltZVBpY2tlck9wdGlvbnMgfCB1bmRlZmluZWQ7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gIHdpZHRoOiBzdHJpbmcgPSAnbm9uZSc7XG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpIGRpc3BsYXk6IHN0cmluZyA9ICdibG9jayc7XG5cbiAgQFZpZXdDaGlsZCgnY29ubmVjdG9yJywgeyBzdGF0aWM6IHRydWUgfSkgY29ubmVjdG9yOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIGdldCB0aW1lRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgbGV0IHRpbWVGb3JtYXQgPSAnSDptbSc7XG4gICAgaWYgKHRoaXMub3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnNob3dTZWNvbmRzKSB7XG4gICAgICAgIHRpbWVGb3JtYXQgKz0gJzpzcyc7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLnRpbWVGb3JtYXQgPT09ICcxMicpIHtcbiAgICAgICAgdGltZUZvcm1hdCA9IHRpbWVGb3JtYXQudG9Mb3dlckNhc2UoKSArICcgYSc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aW1lRm9ybWF0O1xuICB9XG5cbiAgdGltZVBpY2tlclJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBpbm5lclZhbHVlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgcHJvdGVjdGVkIGlubmVyRGlzYWJsZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbXBsZXRlID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHJpdmF0ZSB0aW1lUGlja2VyOiBDb21wb25lbnRSZWY8Rm5nVGltZVBpY2tlckRyb3Bkb3duQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG9uVG91Y2hlZDogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICBvbkNoYW5nZTogKChkYXRlOiBEYXRlKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcblxuICB3cml0ZVZhbHVlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSBkYXRlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgcmVzZXRWYWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLnRpbWVQaWNrZXJSZWYgPT0gbnVsbCAmJiB0aGlzLmNvbm5lY3RvciAhPSBudWxsICYmIHRoaXMuY29ubmVjdG9yLm5hdGl2ZUVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBsYWJlbFdpZHRoID0gKHRoaXMuY29ubmVjdG9yLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLnRpbWVQaWNrZXJSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICBtaW5XaWR0aDogYCR7bGFiZWxXaWR0aH1weGAsXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2ZuZy1maXJzdC1jaGlsZC1mdWxsd2lkdGgnLFxuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdmbmctZGF0ZS1waWNrZXItYmFja2Ryb3AnLFxuICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuY29ubmVjdG9yLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgICAgIG9mZnNldFk6IC0xMlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiA0XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgICAgICBvZmZzZXRZOiAtMTJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgICAgICAgIG9mZnNldFk6IDRcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGltZVBpY2tlclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoRm5nVGltZVBpY2tlckRyb3Bkb3duQ29tcG9uZW50KTtcbiAgICAgICAgdGhpcy50aW1lUGlja2VyID0gdGhpcy50aW1lUGlja2VyUmVmLmF0dGFjaCh0aW1lUGlja2VyUG9ydGFsKTtcbiAgICAgICAgdGhpcy50aW1lUGlja2VyLmluc3RhbmNlLnRpbWVGb3JtYXQgPSB0aGlzLm9wdGlvbnMgIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMudGltZUZvcm1hdCAhPSBudWxsID8gdGhpcy5vcHRpb25zLnRpbWVGb3JtYXQgOiAnMjQnO1xuICAgICAgICB0aGlzLnRpbWVQaWNrZXIuaW5zdGFuY2Uuc2hvd1NlY29uZHMgPSB0aGlzLm9wdGlvbnMgIT0gbnVsbCAmJiB0aGlzLm9wdGlvbnMuc2hvd1NlY29uZHMgIT0gbnVsbCA/IHRoaXMub3B0aW9ucy5zaG93U2Vjb25kcyA6IGZhbHNlO1xuICAgICAgICB0aGlzLnRpbWVQaWNrZXIuaW5zdGFuY2UuZGF0ZSA9IG5ldyBEYXRlKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLnRpbWVQaWNrZXIuaW5zdGFuY2UuZGF0ZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBsZXRlKSkuc3Vic2NyaWJlKGV2ID0+IHtcbiAgICAgICAgICBpZiAoZXYucmVzZXQpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSByZXNldFZhbHVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gZXYuZGF0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGV2LmNsb3NlKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3Bvc2VEcm9wZG93bigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyB3ZSBuZWVkIHRvIHJlLXJlbmRlciBvdXIgdmlldyBhZnRlciB2YWx1ZSBjaGFuZ2VkXG4gICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGltZVBpY2tlclJlZlxuICAgICAgICAgIC5iYWNrZHJvcENsaWNrKClcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wbGV0ZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpc3Bvc2VEcm9wZG93bigpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGlzcG9zZURyb3Bkb3duKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc3Bvc2VEcm9wZG93bigpIHtcbiAgICBpZiAodGhpcy50aW1lUGlja2VyUmVmICE9IG51bGwpIHtcbiAgICAgIHRoaXMudGltZVBpY2tlclJlZi5kZXRhY2goKTtcbiAgICAgIHRoaXMudGltZVBpY2tlclJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLnRpbWVQaWNrZXJSZWYgPSBudWxsO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wbGV0ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmNvbXBsZXRlLm5leHQodHJ1ZSk7XG4gICAgICB0aGlzLmNvbXBsZXRlLmNvbXBsZXRlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bGFiZWwgI2Nvbm5lY3RvciBjbGFzcz1cImZuZy10aW1lLXBpY2tlciBmd2UtaW5wdXQtdGV4dCBmd2UtaW5wdXQtdGV4dC1pY29uXCIgKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCI+XG4gIDxpIGNsYXNzPVwiZm5nLWljb24tc3ZnIGZuZy1pY29uLXN2Zy0tdGltZVwiIFtjbGFzcy5md2UtY29sb3ItaGVyb109XCJ0aW1lUGlja2VyUmVmICE9IG51bGxcIiBbY2xhc3MuZndlLWNvbG9yLWNvbnRyb2wtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L2k+XG4gIDxpbnB1dFxuICAgIGFyaWEtbGFiZWw9XCJwaWNrZWQgdGltZVwiXG4gICAgdHlwZT1cInRleHRcIlxuICAgIHJlYWRvbmx5XG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkID09PSB0cnVlIHx8IG51bGxcIlxuICAgIFtjbGFzcy5md2UtYm9yZGVyLWhlcm9dPVwidGltZVBpY2tlclJlZiAhPSBudWxsXCJcbiAgICBbdmFsdWVdPVwidmFsdWUgfCBkYXRlOiB0aW1lRm9ybWF0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAvPlxuICA8c3BhbiBjbGFzcz1cImZ3ZS1pbnB1dC10ZXh0LWxhYmVsXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1pbmZvXCI+e3sgaGludCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZndlLWlucHV0LXRleHQtaW52YWxpZFwiPnt7IGVycm9yIH19PC9zcGFuPlxuPC9sYWJlbD5cbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FngUniqueSelectionDispatcher {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.listeners = [];
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Notify other items that selection for the given name has been set.
|
|
9
|
-
* @param id ID of the item.
|
|
10
|
-
* @param name Name of the item.
|
|
11
|
-
*/
|
|
12
|
-
notify(id, name) {
|
|
13
|
-
for (const listener of this.listeners) {
|
|
14
|
-
if (name) {
|
|
15
|
-
listener(id, name);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Listen for future changes to item selection.
|
|
21
|
-
* @return Function used to deregister listener
|
|
22
|
-
*/
|
|
23
|
-
listen(listener) {
|
|
24
|
-
this.listeners.push(listener);
|
|
25
|
-
return () => {
|
|
26
|
-
this.listeners = this.listeners.filter((registered) => {
|
|
27
|
-
return listener !== registered;
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
this.listeners = [];
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngUniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngUniqueSelectionDispatcher, providedIn: 'root' }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngUniqueSelectionDispatcher, decorators: [{
|
|
38
|
-
type: Injectable,
|
|
39
|
-
args: [{ providedIn: 'root' }]
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlLXNlbGVjdGlvbi1kaXNwYXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3VuaXF1ZS1zZWxlY3Rpb24tZGlzcGF0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDOztBQUt0RCxNQUFNLE9BQU8sNEJBQTRCO0lBRHpDO1FBRVUsY0FBUyxHQUF3QyxFQUFFLENBQUM7S0ErQjdEO0lBN0JDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsRUFBVSxFQUFFLElBQWE7UUFDOUIsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxRQUFRLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxRQUEyQztRQUNoRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUE2QyxFQUFFLEVBQUU7Z0JBQ3ZGLE9BQU8sUUFBUSxLQUFLLFVBQVUsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0EvQlUsNEJBQTRCO2tIQUE1Qiw0QkFBNEIsY0FEZixNQUFNOzsyRkFDbkIsNEJBQTRCO2tCQUR4QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyTGlzdGVuZXIgPSAoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSA9PiB2b2lkO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZuZ1VuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGxpc3RlbmVyczogVW5pcXVlU2VsZWN0aW9uRGlzcGF0Y2hlckxpc3RlbmVyW10gPSBbXTtcblxuICAvKipcbiAgICogTm90aWZ5IG90aGVyIGl0ZW1zIHRoYXQgc2VsZWN0aW9uIGZvciB0aGUgZ2l2ZW4gbmFtZSBoYXMgYmVlbiBzZXQuXG4gICAqIEBwYXJhbSBpZCBJRCBvZiB0aGUgaXRlbS5cbiAgICogQHBhcmFtIG5hbWUgTmFtZSBvZiB0aGUgaXRlbS5cbiAgICovXG4gIG5vdGlmeShpZDogc3RyaW5nLCBuYW1lPzogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCBsaXN0ZW5lciBvZiB0aGlzLmxpc3RlbmVycykge1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgbGlzdGVuZXIoaWQsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGZ1dHVyZSBjaGFuZ2VzIHRvIGl0ZW0gc2VsZWN0aW9uLlxuICAgKiBAcmV0dXJuIEZ1bmN0aW9uIHVzZWQgdG8gZGVyZWdpc3RlciBsaXN0ZW5lclxuICAgKi9cbiAgbGlzdGVuKGxpc3RlbmVyOiBVbmlxdWVTZWxlY3Rpb25EaXNwYXRjaGVyTGlzdGVuZXIpOiAoKSA9PiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5wdXNoKGxpc3RlbmVyKTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdGhpcy5saXN0ZW5lcnMgPSB0aGlzLmxpc3RlbmVycy5maWx0ZXIoKHJlZ2lzdGVyZWQ6IFVuaXF1ZVNlbGVjdGlvbkRpc3BhdGNoZXJMaXN0ZW5lcikgPT4ge1xuICAgICAgICByZXR1cm4gbGlzdGVuZXIgIT09IHJlZ2lzdGVyZWQ7XG4gICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5saXN0ZW5lcnMgPSBbXTtcbiAgfVxufVxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Input, Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FngValueAccessorBaseDirective {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.disabled = false;
|
|
6
|
-
this.changed = new Array();
|
|
7
|
-
this.touched = new Array();
|
|
8
|
-
}
|
|
9
|
-
get value() {
|
|
10
|
-
return this.innerValue;
|
|
11
|
-
}
|
|
12
|
-
set value(value) {
|
|
13
|
-
if (value && this.innerValue !== value) {
|
|
14
|
-
this.innerValue = value;
|
|
15
|
-
this.changed.forEach(f => f(value));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
touch() {
|
|
19
|
-
this.touched.forEach(f => f());
|
|
20
|
-
}
|
|
21
|
-
writeValue(value) {
|
|
22
|
-
this.innerValue = value;
|
|
23
|
-
}
|
|
24
|
-
registerOnChange(fn) {
|
|
25
|
-
this.changed.push(fn);
|
|
26
|
-
}
|
|
27
|
-
registerOnTouched(fn) {
|
|
28
|
-
this.touched.push(fn);
|
|
29
|
-
}
|
|
30
|
-
setDisabledState(isDisabled) {
|
|
31
|
-
this.disabled = isDisabled;
|
|
32
|
-
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngValueAccessorBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: FngValueAccessorBaseDirective, inputs: { disabled: "disabled" }, ngImport: i0 }); }
|
|
35
|
-
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngValueAccessorBaseDirective, decorators: [{
|
|
37
|
-
type: Directive
|
|
38
|
-
}], propDecorators: { disabled: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3ItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy92YWx1ZS1hY2Nlc3Nvci1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdqRCxNQUFNLE9BQU8sNkJBQTZCO0lBRDFDO1FBRVcsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUloQixZQUFPLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFDMUMsWUFBTyxHQUFHLElBQUksS0FBSyxFQUFjLENBQUM7S0FnQzdDO0lBOUJDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVE7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQXNCO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFjO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDOzhHQXJDVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsU0FBUzs4QkFFQyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEZuZ1ZhbHVlQWNjZXNzb3JCYXNlRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBpbm5lclZhbHVlOiBUIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VkID0gbmV3IEFycmF5PCh2YWx1ZTogVCkgPT4gdm9pZD4oKTtcbiAgcHJvdGVjdGVkIHRvdWNoZWQgPSBuZXcgQXJyYXk8KCkgPT4gdm9pZD4oKTtcblxuICBnZXQgdmFsdWUoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWx1ZTogVCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAmJiB0aGlzLmlubmVyVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hhbmdlZC5mb3JFYWNoKGYgPT4gZih2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHRvdWNoKCkge1xuICAgIHRoaXMudG91Y2hlZC5mb3JFYWNoKGYgPT4gZigpKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFQpIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogVCkgPT4gdm9pZCkge1xuICAgIHRoaXMuY2hhbmdlZC5wdXNoKGZuKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy50b3VjaGVkLnB1c2goZm4pO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iXX0=
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { FngSafeHtmlPipe } from './../../pipes/safe-html.pipe';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
export class FngAlertComponent {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.data = {};
|
|
9
|
-
this.close = new EventEmitter();
|
|
10
|
-
this.cancel = new EventEmitter();
|
|
11
|
-
this.ok = new EventEmitter();
|
|
12
|
-
}
|
|
13
|
-
onKeyUp(event) {
|
|
14
|
-
event.preventDefault();
|
|
15
|
-
event.stopPropagation();
|
|
16
|
-
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
17
|
-
this.onClose();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
ngAfterViewInit() {
|
|
21
|
-
if (this.closeBtn) {
|
|
22
|
-
this.closeBtn.nativeElement.focus();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
onClose() {
|
|
26
|
-
this.close.emit();
|
|
27
|
-
}
|
|
28
|
-
onOk() {
|
|
29
|
-
this.ok.emit();
|
|
30
|
-
}
|
|
31
|
-
onCancel() {
|
|
32
|
-
this.cancel.emit();
|
|
33
|
-
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngAlertComponent, isStandalone: true, selector: "fng-alert", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data.strong === true,\n 'fwe-modal--warning': data.alertType === 'warning',\n 'fwe-modal--error': data.alertType === 'error',\n 'fwe-modal--info': data.alertType === 'info'\n }\"\n>\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-modal-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">\n {{ data.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n {{ data.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button\n *ngIf=\"data.cancel\"\n type=\"button\"\n aria-label=\"Cancel\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-link]=\"data.strong\"\n (click)=\"onCancel()\"\n >\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg\" [class.fwe-btn-hero]=\"!data.strong\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngAlertComponent, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{ standalone: true, imports: [CommonModule, FngSafeHtmlPipe], selector: 'fng-alert', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal\"\n [ngClass]=\"{\n 'fwe-modal--with-indicator-bar': data.strong === true,\n 'fwe-modal--warning': data.alertType === 'warning',\n 'fwe-modal--error': data.alertType === 'error',\n 'fwe-modal--info': data.alertType === 'info'\n }\"\n>\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-modal-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">\n {{ data.subtitle }}\n </h2>\n <h1 class=\"fwe-modal-h1\">\n {{ data.title }}\n </h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button\n *ngIf=\"data.cancel\"\n type=\"button\"\n aria-label=\"Cancel\"\n class=\"fwe-btn fwe-btn-lg\"\n [class.fwe-btn-link]=\"data.strong\"\n (click)=\"onCancel()\"\n >\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg\" [class.fwe-btn-hero]=\"!data.strong\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
40
|
-
}], propDecorators: { data: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], close: [{
|
|
43
|
-
type: Output
|
|
44
|
-
}], cancel: [{
|
|
45
|
-
type: Output
|
|
46
|
-
}], ok: [{
|
|
47
|
-
type: Output
|
|
48
|
-
}], closeBtn: [{
|
|
49
|
-
type: ViewChild,
|
|
50
|
-
args: ['closeBtn']
|
|
51
|
-
}], onKeyUp: [{
|
|
52
|
-
type: HostListener,
|
|
53
|
-
args: ['window:keyup', ['$event']]
|
|
54
|
-
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL21vZGFscy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBcUIvRCxNQUFNLE9BQU8saUJBQWlCO0lBUjlCO1FBU1csU0FBSSxHQUFpQixFQUFrQixDQUFDO1FBQ3ZDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2hDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLE9BQUUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBK0J4QztJQTFCQyxPQUFPLENBQUMsS0FBb0I7UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBNkIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQzs4R0FsQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsMFRDakM5Qiw0ekNBdUNBLHlERFpZLFlBQVksNE5BQUUsZUFBZTs7MkZBTTVCLGlCQUFpQjtrQkFSN0IsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFlBQzlCLFdBQVcsaUJBR04saUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsSUFBSTtzQkFBWixLQUFLO2dCQUNJLEtBQUs7c0JBQWQsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csRUFBRTtzQkFBWCxNQUFNO2dCQUVnQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBR3JCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZuZ1NhZmVIdG1sUGlwZSB9IGZyb20gJy4vLi4vLi4vcGlwZXMvc2FmZS1odG1sLnBpcGUnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm5nQWxlcnREYXRhIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbiAgYWxlcnRUeXBlOiAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InO1xuICBjYW5jZWw/OiBzdHJpbmc7XG4gIG9rPzogc3RyaW5nO1xuICBzdHJvbmc/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm5nU2FmZUh0bWxQaXBlXSxcbiAgc2VsZWN0b3I6ICdmbmctYWxlcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbGVydC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0FsZXJ0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgTW9kYWw8Rm5nQWxlcnREYXRhLCBhbnk+IHtcbiAgQElucHV0KCkgZGF0YTogRm5nQWxlcnREYXRhID0ge30gYXMgRm5nQWxlcnREYXRhO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgb2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdjbG9zZUJ0bicpIGNsb3NlQnRuOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzprZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzYycgfHwgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmNsb3NlQnRuKSB7XG4gICAgICAodGhpcy5jbG9zZUJ0bi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cblxuICBvbk9rKCkge1xuICAgIHRoaXMub2suZW1pdCgpO1xuICB9XG5cbiAgb25DYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZndlLW1vZGFsXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdmd2UtbW9kYWwtLXdpdGgtaW5kaWNhdG9yLWJhcic6IGRhdGEuc3Ryb25nID09PSB0cnVlLFxuICAgICdmd2UtbW9kYWwtLXdhcm5pbmcnOiBkYXRhLmFsZXJ0VHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICdmd2UtbW9kYWwtLWVycm9yJzogZGF0YS5hbGVydFR5cGUgPT09ICdlcnJvcicsXG4gICAgJ2Z3ZS1tb2RhbC0taW5mbyc6IGRhdGEuYWxlcnRUeXBlID09PSAnaW5mbydcbiAgfVwiXG4+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiICNjbG9zZUJ0biBjbGFzcz1cImZ3ZS1tb2RhbC1jbG9zZS1idG5cIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmd2Utc3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1oZWFkZXJcIj5cbiAgICA8aDIgKm5nSWY9XCJkYXRhLnN1YnRpdGxlXCIgY2xhc3M9XCJmd2UtbW9kYWwtaDJcIj5cbiAgICAgIHt7IGRhdGEuc3VidGl0bGUgfX1cbiAgICA8L2gyPlxuICAgIDxoMSBjbGFzcz1cImZ3ZS1tb2RhbC1oMVwiPlxuICAgICAge3sgZGF0YS50aXRsZSB9fVxuICAgIDwvaDE+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJvZHlcIiBbaW5uZXJIVE1MXT1cImRhdGEuYm9keSB8IGZuZ1NhZmVIdG1sXCI+PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtZm9vdGVyXCIgKm5nSWY9XCJkYXRhLmNhbmNlbCB8fCBkYXRhLm9rXCI+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1idXR0b25zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZGF0YS5jYW5jZWxcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNhbmNlbFwiXG4gICAgICAgIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxnXCJcbiAgICAgICAgW2NsYXNzLmZ3ZS1idG4tbGlua109XCJkYXRhLnN0cm9uZ1wiXG4gICAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcbiAgICAgID5cbiAgICAgICAge3sgZGF0YS5jYW5jZWwgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImRhdGEub2tcIiB0eXBlPVwiYnV0dG9uXCIgYXJpYS1sYWJlbD1cIk9rXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGdcIiBbY2xhc3MuZndlLWJ0bi1oZXJvXT1cIiFkYXRhLnN0cm9uZ1wiIChjbGljayk9XCJvbk9rKClcIj5cbiAgICAgICAge3sgZGF0YS5vayB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { FngSafeHtmlPipe } from './../../pipes/safe-html.pipe';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
export class FngConfirmComponent {
|
|
7
|
-
onKeyUp(event) {
|
|
8
|
-
event.preventDefault();
|
|
9
|
-
event.stopPropagation();
|
|
10
|
-
if (event.key === 'Esc' || event.key === 'Escape') {
|
|
11
|
-
this.onClose();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
constructor(cd) {
|
|
15
|
-
this.cd = cd;
|
|
16
|
-
this.data = {};
|
|
17
|
-
this.close = new EventEmitter();
|
|
18
|
-
this.cancel = new EventEmitter();
|
|
19
|
-
this.ok = new EventEmitter();
|
|
20
|
-
}
|
|
21
|
-
ngAfterViewInit() {
|
|
22
|
-
if (this.closeBtn) {
|
|
23
|
-
this.closeBtn.nativeElement.focus();
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
onClose() {
|
|
27
|
-
this.close.emit();
|
|
28
|
-
}
|
|
29
|
-
onOk() {
|
|
30
|
-
this.ok.emit();
|
|
31
|
-
}
|
|
32
|
-
onCancel() {
|
|
33
|
-
this.cancel.emit();
|
|
34
|
-
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngConfirmComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngConfirmComponent, isStandalone: true, selector: "fng-confirm", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, viewQueries: [{ propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data.large }\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-modal-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg fwe-btn-hero\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
37
|
-
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngConfirmComponent, decorators: [{
|
|
39
|
-
type: Component,
|
|
40
|
-
args: [{ standalone: true, imports: [CommonModule, FngSafeHtmlPipe], selector: 'fng-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal\" [ngClass]=\"{ 'fwe-modal--large': data.large }\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-modal-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <div class=\"fwe-modal-header\">\n <h2 *ngIf=\"data.subtitle\" class=\"fwe-modal-h2\">{{ data.subtitle }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ data.title }}</h1>\n </div>\n <div class=\"fwe-modal-body\" [innerHTML]=\"data.body | fngSafeHtml\"></div>\n <div class=\"fwe-modal-footer\" *ngIf=\"data.cancel || data.ok\">\n <div class=\"fwe-modal-buttons\">\n <button *ngIf=\"data.cancel\" type=\"button\" aria-label=\"Cancel\" class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ data.cancel }}\n </button>\n <button *ngIf=\"data.ok\" type=\"button\" aria-label=\"Ok\" class=\"fwe-btn fwe-btn-lg fwe-btn-hero\" (click)=\"onOk()\">\n {{ data.ok }}\n </button>\n </div>\n </div>\n</div>\n" }]
|
|
41
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
42
|
-
type: Input
|
|
43
|
-
}], close: [{
|
|
44
|
-
type: Output
|
|
45
|
-
}], cancel: [{
|
|
46
|
-
type: Output
|
|
47
|
-
}], ok: [{
|
|
48
|
-
type: Output
|
|
49
|
-
}], closeBtn: [{
|
|
50
|
-
type: ViewChild,
|
|
51
|
-
args: ['closeBtn']
|
|
52
|
-
}], onKeyUp: [{
|
|
53
|
-
type: HostListener,
|
|
54
|
-
args: ['window:keyup', ['$event']]
|
|
55
|
-
}] } });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2NvbmZpcm0vY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFxQi9ELE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsT0FBTyxDQUFDLEtBQW9CO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJoQyxTQUFJLEdBQW1CLEVBQW9CLENBQUM7UUFDM0MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsT0FBRSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFjSyxDQUFDO0lBRTdDLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQTZCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBcENVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDRUQ25DaEMsNDlCQW9CQSx5RERRWSxZQUFZLDROQUFFLGVBQWU7OzJGQU81QixtQkFBbUI7a0JBVC9CLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxZQUM5QixhQUFhLG1CQUdOLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7c0ZBRzVCLElBQUk7c0JBQVosS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEVBQUU7c0JBQVgsTUFBTTtnQkFFZ0IsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUdyQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZuZ1NhZmVIdG1sUGlwZSB9IGZyb20gJy4vLi4vLi4vcGlwZXMvc2FmZS1odG1sLnBpcGUnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm5nQ29uZmlybURhdGEge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZT86IHN0cmluZztcbiAgYm9keTogc3RyaW5nO1xuICBjYW5jZWw/OiBzdHJpbmc7XG4gIG9rPzogc3RyaW5nO1xuICBsYXJnZT86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGbmdTYWZlSHRtbFBpcGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1jb25maXJtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0NvbmZpcm1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBNb2RhbDxGbmdDb25maXJtRGF0YSwgYW55PiB7XG4gIEBJbnB1dCgpIGRhdGE6IEZuZ0NvbmZpcm1EYXRhID0ge30gYXMgRm5nQ29uZmlybURhdGE7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2Nsb3NlQnRuJykgY2xvc2VCdG46IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjJyB8fCBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuY2xvc2VCdG4pIHtcbiAgICAgICh0aGlzLmNsb3NlQnRuLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIG9uT2soKSB7XG4gICAgdGhpcy5vay5lbWl0KCk7XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtbW9kYWxcIiBbbmdDbGFzc109XCJ7ICdmd2UtbW9kYWwtLWxhcmdlJzogZGF0YS5sYXJnZSB9XCI+XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiICNjbG9zZUJ0biBjbGFzcz1cImZ3ZS1tb2RhbC1jbG9zZS1idG5cIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmd2Utc3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1oZWFkZXJcIj5cbiAgICA8aDIgKm5nSWY9XCJkYXRhLnN1YnRpdGxlXCIgY2xhc3M9XCJmd2UtbW9kYWwtaDJcIj57eyBkYXRhLnN1YnRpdGxlIH19PC9oMj5cbiAgICA8aDEgY2xhc3M9XCJmd2UtbW9kYWwtaDFcIj57eyBkYXRhLnRpdGxlIH19PC9oMT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYm9keVwiIFtpbm5lckhUTUxdPVwiZGF0YS5ib2R5IHwgZm5nU2FmZUh0bWxcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1mb290ZXJcIiAqbmdJZj1cImRhdGEuY2FuY2VsIHx8IGRhdGEub2tcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b24gKm5nSWY9XCJkYXRhLmNhbmNlbFwiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2FuY2VsXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGdcIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPlxuICAgICAgICB7eyBkYXRhLmNhbmNlbCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ0lmPVwiZGF0YS5va1wiIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiT2tcIiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1sZyBmd2UtYnRuLWhlcm9cIiAoY2xpY2spPVwib25PaygpXCI+XG4gICAgICAgIHt7IGRhdGEub2sgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class FngCustomModalComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._visible = false;
|
|
8
|
-
this.closeOnBackdrop = false;
|
|
9
|
-
this.large = false;
|
|
10
|
-
/**
|
|
11
|
-
* Emits false on close modal by close, cancel, click outside and close by providing value false to visible
|
|
12
|
-
*/
|
|
13
|
-
this.visibleChange = new EventEmitter();
|
|
14
|
-
this.header = '';
|
|
15
|
-
this.subheader = '';
|
|
16
|
-
this.acknowledgeLabel = 'Ok';
|
|
17
|
-
this.acknowledge = new EventEmitter();
|
|
18
|
-
this.cancelLabel = 'Cancel';
|
|
19
|
-
this.cancel = new EventEmitter();
|
|
20
|
-
this.close = new EventEmitter();
|
|
21
|
-
}
|
|
22
|
-
set visible(value) {
|
|
23
|
-
this._visible = value;
|
|
24
|
-
if (!value && this.visibleChange) {
|
|
25
|
-
this.visibleChange.emit(false);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
get visible() {
|
|
29
|
-
return this._visible;
|
|
30
|
-
}
|
|
31
|
-
closeModal() {
|
|
32
|
-
this.visible = false;
|
|
33
|
-
}
|
|
34
|
-
onClose() {
|
|
35
|
-
if (this.close) {
|
|
36
|
-
this.close.emit();
|
|
37
|
-
}
|
|
38
|
-
this.closeModal();
|
|
39
|
-
}
|
|
40
|
-
onCancel() {
|
|
41
|
-
this.closeModal();
|
|
42
|
-
if (this.cancel) {
|
|
43
|
-
this.cancel.emit();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
onAcknowledge() {
|
|
47
|
-
if (this.acknowledge) {
|
|
48
|
-
this.acknowledge.emit();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
onClickOutside() {
|
|
52
|
-
if (this.closeOnBackdrop) {
|
|
53
|
-
this.onClose();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
onClickInside(event) {
|
|
57
|
-
event.stopPropagation();
|
|
58
|
-
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngCustomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngCustomModalComponent, isStandalone: true, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel", close: "close" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-modal-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngCustomModalComponent, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <button type=\"button\" aria-label=\"Close\" #closeBtn class=\"fwe-modal-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
65
|
-
}], propDecorators: { closeOnBackdrop: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], large: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], visible: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], visibleChange: [{
|
|
72
|
-
type: Output
|
|
73
|
-
}], header: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], subheader: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], acknowledgeLabel: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], acknowledge: [{
|
|
80
|
-
type: Output
|
|
81
|
-
}], cancelLabel: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], cancel: [{
|
|
84
|
-
type: Output
|
|
85
|
-
}], close: [{
|
|
86
|
-
type: Output
|
|
87
|
-
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9tb2RhbHMvY3VzdG9tLW1vZGFsL2N1c3RvbS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2N1c3RvbS1tb2RhbC9jdXN0b20tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVMxRixNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUVUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUV6QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxVQUFLLEdBQVksS0FBSyxDQUFDO1FBWWhDOztXQUVHO1FBQ08sa0JBQWEsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVwRSxXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFFdkIscUJBQWdCLEdBQVcsSUFBSSxDQUFDO1FBQy9CLGdCQUFXLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFFNUQsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDOUIsV0FBTSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXRELFVBQUssR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQW1DaEU7SUE1REMsSUFDSSxPQUFPLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBaUJELFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7OEdBaEVVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHVYQ1ZwQyx1L0JBd0JBLDJDRG5CWSxZQUFZOzsyRkFLWCx1QkFBdUI7a0JBUG5DLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2Isa0JBQWtCLGlCQUViLGlCQUFpQixDQUFDLElBQUk7OEJBSzVCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUVGLE9BQU87c0JBRFYsS0FBSztnQkFjSSxhQUFhO3NCQUF0QixNQUFNO2dCQUVFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUVHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1jdXN0b20tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGbmdDdXN0b21Nb2RhbENvbXBvbmVudCB7XG4gIHByaXZhdGUgX3Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjbG9zZU9uQmFja2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFyZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gdmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlICYmIHRoaXMudmlzaWJsZUNoYW5nZSkge1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICAvKipcbiAgICogRW1pdHMgZmFsc2Ugb24gY2xvc2UgbW9kYWwgYnkgY2xvc2UsIGNhbmNlbCwgY2xpY2sgb3V0c2lkZSBhbmQgY2xvc2UgYnkgcHJvdmlkaW5nIHZhbHVlIGZhbHNlIHRvIHZpc2libGVcbiAgICovXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KCkgaGVhZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc3ViaGVhZGVyOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKSBhY2tub3dsZWRnZUxhYmVsOiBzdHJpbmcgPSAnT2snO1xuICBAT3V0cHV0KCkgYWNrbm93bGVkZ2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASW5wdXQoKSBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCc7XG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZSkge1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgaWYgKHRoaXMuY2FuY2VsKSB7XG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25BY2tub3dsZWRnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZSkge1xuICAgICAgdGhpcy5hY2tub3dsZWRnZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja091dHNpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB7XG4gICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrSW5zaWRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYmFja2Ryb3BcIiAqbmdJZj1cInZpc2libGVcIiAobW91c2Vkb3duKT1cIm9uQ2xpY2tPdXRzaWRlKClcIj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbFwiIFtjbGFzcy5md2UtbW9kYWwtLWxhcmdlXT1cImxhcmdlXCIgKG1vdXNlZG93bik9XCJvbkNsaWNrSW5zaWRlKCRldmVudClcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAjY2xvc2VCdG4gY2xhc3M9XCJmd2UtbW9kYWwtY2xvc2UtYnRuXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmd2Utc3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtaGVhZGVyXCI+XG4gICAgICA8aDIgY2xhc3M9XCJmd2UtbW9kYWwtaDJcIiAqbmdJZj1cInN1YmhlYWRlcj8ubGVuZ3RoXCI+e3sgc3ViaGVhZGVyIH19PC9oMj5cbiAgICAgIDxoMSBjbGFzcz1cImZ3ZS1tb2RhbC1oMVwiPnt7IGhlYWRlciB9fTwvaDE+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1ib2R5XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1mb290ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxnXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgICAgICB7eyBjYW5jZWxMYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1oZXJvIGZ3ZS1idG4tbGdcIiAoY2xpY2spPVwib25BY2tub3dsZWRnZSgpXCI+XG4gICAgICAgICAge3sgYWNrbm93bGVkZ2VMYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|