ecabs-components 1.0.56-alpha → 1.0.56-beta
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.
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { filter, takeUntil } from 'rxjs';
|
|
1
|
+
import { catchError, filter, from, map, of, shareReplay, takeUntil } from 'rxjs';
|
|
2
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
4
4
|
import { UnsubscribeService } from '../../public-api';
|
|
5
5
|
import ElementBaseComponent from '../base/element-base';
|
|
6
|
+
import { Loader } from '@googlemaps/js-api-loader';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../../public-api";
|
|
8
9
|
import * as i2 from "@angular/common";
|
|
@@ -17,15 +18,16 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
17
18
|
showDeleteItem = false;
|
|
18
19
|
showSuffix = false;
|
|
19
20
|
countryCode = 'MT';
|
|
20
|
-
|
|
21
|
+
apiKey;
|
|
21
22
|
placeResult = new EventEmitter();
|
|
22
23
|
deleteItem = new EventEmitter();
|
|
24
|
+
apiLoaded$;
|
|
23
25
|
val;
|
|
24
26
|
get value() {
|
|
25
27
|
return this.val;
|
|
26
28
|
}
|
|
27
29
|
set value(val) {
|
|
28
|
-
if (this.val !== val) {
|
|
30
|
+
if (val !== undefined && this.val !== val) {
|
|
29
31
|
this.val = val;
|
|
30
32
|
this.onChange(val);
|
|
31
33
|
}
|
|
@@ -38,11 +40,12 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
38
40
|
this.injector = injector;
|
|
39
41
|
}
|
|
40
42
|
ngOnChanges(changes) {
|
|
41
|
-
const { value,
|
|
43
|
+
const { value, apiKey } = changes ?? {};
|
|
42
44
|
if (!value?.firstChange && !value?.currentValue) {
|
|
43
45
|
this.onClean();
|
|
44
46
|
}
|
|
45
|
-
if (
|
|
47
|
+
if (apiKey?.currentValue) {
|
|
48
|
+
this.apiLoaded$ = this.loadGoogleMap(this.apiKey);
|
|
46
49
|
this.apiLoaded$.pipe(takeUntil(this.unsubscribeService.subscription()), filter((value) => !!value))
|
|
47
50
|
.subscribe(() => {
|
|
48
51
|
this.initGoogle();
|
|
@@ -74,7 +77,6 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
74
77
|
}
|
|
75
78
|
onClean() {
|
|
76
79
|
this.value = '';
|
|
77
|
-
this.onTouch();
|
|
78
80
|
}
|
|
79
81
|
initGoogle() {
|
|
80
82
|
const autocomplete = new google.maps.places.Autocomplete(this.getElement(), {
|
|
@@ -99,15 +101,26 @@ export class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
99
101
|
getElement() {
|
|
100
102
|
return this.elementRef.nativeElement.querySelector('.form-field__input');
|
|
101
103
|
}
|
|
104
|
+
loadGoogleMap(apiKey) {
|
|
105
|
+
if (this.apiLoaded$) {
|
|
106
|
+
return this.apiLoaded$;
|
|
107
|
+
}
|
|
108
|
+
const loader = new Loader({
|
|
109
|
+
apiKey: apiKey,
|
|
110
|
+
version: 'weekly',
|
|
111
|
+
libraries: ['places', 'drawing'],
|
|
112
|
+
});
|
|
113
|
+
return from(loader.importLibrary('maps')).pipe(map(() => true), shareReplay(), catchError(() => of(false)));
|
|
114
|
+
}
|
|
102
115
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: i1.UnsubscribeService }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode",
|
|
116
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode", apiKey: "apiKey" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem" }, providers: [
|
|
104
117
|
UnsubscribeService,
|
|
105
118
|
{
|
|
106
119
|
provide: NG_VALUE_ACCESSOR,
|
|
107
120
|
useExisting: EcabsPlaceAutocompleteComponent,
|
|
108
121
|
multi: true,
|
|
109
122
|
},
|
|
110
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
123
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean(); onTouch()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
111
124
|
}
|
|
112
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteComponent, decorators: [{
|
|
113
126
|
type: Component,
|
|
@@ -118,18 +131,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
118
131
|
useExisting: EcabsPlaceAutocompleteComponent,
|
|
119
132
|
multi: true,
|
|
120
133
|
},
|
|
121
|
-
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
134
|
+
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean(); onTouch()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
122
135
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.UnsubscribeService }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { showDeleteItem: [{
|
|
123
136
|
type: Input
|
|
124
137
|
}], showSuffix: [{
|
|
125
138
|
type: Input
|
|
126
139
|
}], countryCode: [{
|
|
127
140
|
type: Input
|
|
128
|
-
}],
|
|
141
|
+
}], apiKey: [{
|
|
129
142
|
type: Input
|
|
130
143
|
}], placeResult: [{
|
|
131
144
|
type: Output
|
|
132
145
|
}], deleteItem: [{
|
|
133
146
|
type: Output
|
|
134
147
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJELE9BQU8sRUFFTCxTQUFTLEVBQWMsWUFBWSxFQUFZLEtBQUssRUFDcEQsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsU0FBUyxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBRXhHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFpQnhELE1BQU0sT0FBTywrQkFDWCxTQUFRLG9CQUFvQjtJQTRCVDtJQUNBO0lBQ0E7SUFDQTtJQTdCVixjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNuQixVQUFVLENBQXNCO0lBRXRCLFdBQVcsR0FHekIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVkLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLEdBQUcsQ0FBVTtJQUViLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFD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bCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBVbnN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuXHJcbmltcG9ydCBQbGFjZVJlc3VsdCA9IGdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZVJlc3VsdDtcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLXBsYWNlLWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcycgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIFVuc3Vic2NyaWJlU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic1BsYWNlQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic1BsYWNlQXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBASW5wdXQoKSBzaG93RGVsZXRlSXRlbSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dTdWZmaXggPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb3VudHJ5Q29kZSA9ICdNVCc7XHJcbiAgQElucHV0KCkgYXBpTG9hZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcGxhY2U6IFBsYWNlUmVzdWx0O1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZGVsZXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgdmFsITogc3RyaW5nO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB0aGlzLnZhbCAhPT0gdmFsICkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlU2VydmljZTogVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyggY2hhbmdlczogU2ltcGxlQ2hhbmdlcyApOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgdmFsdWUsIGFwaUxvYWRlZCQgfSA9IGNoYW5nZXMgPz8ge307XHJcblxyXG4gICAgaWYgKCAhdmFsdWU/LmZpcnN0Q2hhbmdlICYmICF2YWx1ZT8uY3VycmVudFZhbHVlICkge1xyXG4gICAgICB0aGlzLm9uQ2xlYW4oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIGFwaUxvYWRlZCQ/LmN1cnJlbnRWYWx1ZSApIHtcclxuICAgICAgdGhpcy5hcGlMb2FkZWQkLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKCB0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpcHRpb24oKSApLFxyXG4gICAgICAgIGZpbHRlciggKCB2YWx1ZSApID0+ICEhdmFsdWUgKVxyXG4gICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSggKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbml0R29vZ2xlKCk7XHJcbiAgICAgICAgfSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICkgYXMgTmdDb250cm9sO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUl0ZW0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZUl0ZW0uZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhbigpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0R29vZ2xlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXV0b2NvbXBsZXRlID0gbmV3IGdvb2dsZS5tYXBzLnBsYWNlcy5BdXRvY29tcGxldGUoIHRoaXMuZ2V0RWxlbWVudCgpLCB7XHJcbiAgICAgIHR5cGVzOiBbXSxcclxuICAgICAgY29tcG9uZW50UmVzdHJpY3Rpb25zOiB7IGNvdW50cnk6IFsgdGhpcy5jb3VudHJ5Q29kZSBdIH0sXHJcbiAgICAgIGZpZWxkczogWyAnYWRkcmVzc19jb21wb25lbnRzJywgJ2dlb21ldHJ5LmxvY2F0aW9uJyBdLFxyXG4gICAgfSApO1xyXG5cclxuICAgIGF1dG9jb21wbGV0ZS5hZGRMaXN0ZW5lciggJ3BsYWNlX2NoYW5nZWQnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBsYWNlID0gYXV0b2NvbXBsZXRlLmdldFBsYWNlKCk7XHJcblxyXG4gICAgICAgIC8vIHZlcmlmeSByZXN1bHRcclxuICAgICAgICBpZiAoIHBsYWNlLmdlb21ldHJ5ID09PSB1bmRlZmluZWQgfHwgcGxhY2UuZ2VvbWV0cnkgPT09IG51bGwgKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnBsYWNlUmVzdWx0LmVtaXQoIHtcclxuICAgICAgICAgIHBsYWNlOiBwbGFjZSxcclxuICAgICAgICAgIHRleHQ6IHRoaXMuZ2V0RWxlbWVudCgpLnZhbHVlLFxyXG4gICAgICAgIH0gKTtcclxuICAgICAgfSApO1xyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRFbGVtZW50KCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvciggJy5mb3JtLWZpZWxkX19pbnB1dCcgKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsXCJcclxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxyXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXHJcbiAgICAgIHNwZWxsY2hlY2s9XCJvZmZcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS1zdWZmaXhcIiAqbmdJZj1cInNob3dTdWZmaXhcIj5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdWZmaXhcIiAqbmdJZj1cIiFzaG93RGVsZXRlSXRlbSAmJiAhdmFsdWVcIj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN1ZmZpeCBjdXJzb3ItcG9pbnRlciBkZWxldGUtYnV0dG9uXCIgKm5nSWY9XCJzaG93RGVsZXRlSXRlbVwiIChjbGljayk9XCJvbkRlbGV0ZUl0ZW0oKVwiXHJcbiAgICAgICAgPmRlbGV0ZTwvbWF0LWljb25cclxuICAgICAgICA+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3VmZml4IGN1cnNvci1wb2ludGVyXCIgKm5nSWY9XCIhc2hvd0RlbGV0ZUl0ZW0gJiYgdmFsdWVcIiAoY2xpY2spPVwib25DbGVhbigpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1wbGFjZS1hdXRvY29tcGxldGUvZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0YsT0FBTyxFQUVMLFNBQVMsRUFBYyxZQUFZLEVBQVksS0FBSyxFQUNwRCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7QUFlbkQsTUFBTSxPQUFPLCtCQUNYLFNBQVEsb0JBQW9CO0lBNkJUO0lBQ0E7SUFDQTtJQUNBO0lBOUJWLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNuQixXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLE1BQU0sQ0FBUztJQUVMLFdBQVcsR0FHekIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVkLFVBQVUsR0FBRyxJ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LElBQUksQ0FBRSxFQUNqQixXQUFXLEVBQUUsRUFDYixVQUFVLENBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFFLEtBQUssQ0FBRSxDQUFFLENBQ2hDLENBQUM7SUFDSixDQUFDO3dHQXpJVSwrQkFBK0I7NEZBQS9CLCtCQUErQiw0T0FUL0I7WUFDVCxrQkFBa0I7WUFDbEI7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLCtCQUErQjtnQkFDNUMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHNFQzFCSCxxNkJBc0JBOzs0RkRNYSwrQkFBK0I7a0JBYjNDLFNBQVM7K0JBQ0UsMEJBQTBCLGFBR3pCO3dCQUNULGtCQUFrQjt3QkFDbEI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxpQ0FBaUM7NEJBQzVDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhLQUtRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFYSxXQUFXO3NCQUE3QixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBOZ1pvbmUsIE9uQ2hhbmdlcywgT25EZXN0cm95LFxyXG4gIE91dHB1dCwgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcblxyXG5pbXBvcnQgUGxhY2VSZXN1bHQgPSBnb29nbGUubWFwcy5wbGFjZXMuUGxhY2VSZXN1bHQ7XHJcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJ0Bnb29nbGVtYXBzL2pzLWFwaS1sb2FkZXInO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vZWNhYnMtcGxhY2UtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzUGxhY2VBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzUGxhY2VBdXRvY29tcGxldGVDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHNob3dEZWxldGVJdGVtID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd1N1ZmZpeCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlDb2RlID0gJ01UJztcclxuICBASW5wdXQoKSBhcGlLZXk6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHBsYWNlUmVzdWx0OiBFdmVudEVtaXR0ZXI8e1xyXG4gICAgcGxhY2U6IFBsYWNlUmVzdWx0O1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZGVsZXRlSXRlbSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgYXBpTG9hZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICB2YWwhOiBzdHJpbmc7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMudmFsICE9PSB2YWwgKSB7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKCB2YWwgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmVTZXJ2aWNlOiBVbnN1YnNjcmliZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCBjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzICk6IHZvaWQge1xyXG4gICAgY29uc3QgeyB2YWx1ZSwgYXBpS2V5IH0gPSBjaGFuZ2VzID8/IHt9O1xyXG5cclxuICAgIGlmICggIXZhbHVlPy5maXJzdENoYW5nZSAmJiAhdmFsdWU/LmN1cnJlbnRWYWx1ZSApIHtcclxuICAgICAgdGhpcy5vbkNsZWFuKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCBhcGlLZXk/LmN1cnJlbnRWYWx1ZSApIHtcclxuICAgICAgdGhpcy5hcGlMb2FkZWQkID0gdGhpcy5sb2FkR29vZ2xlTWFwKCB0aGlzLmFwaUtleSApO1xyXG5cclxuICAgICAgdGhpcy5hcGlMb2FkZWQkLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKCB0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpcHRpb24oKSApLFxyXG4gICAgICAgIGZpbHRlciggKCB2YWx1ZSApID0+ICEhdmFsdWUgKVxyXG4gICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSggKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pbml0R29vZ2xlKCk7XHJcbiAgICAgICAgfSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICkgYXMgTmdDb250cm9sO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUl0ZW0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlbGV0ZUl0ZW0uZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhbigpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEdvb2dsZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGF1dG9jb21wbGV0ZSA9IG5ldyBnb29nbGUubWFwcy5wbGFjZXMuQXV0b2NvbXBsZXRlKCB0aGlzLmdldEVsZW1lbnQoKSwge1xyXG4gICAgICB0eXBlczogW10sXHJcbiAgICAgIGNvbXBvbmVudFJlc3RyaWN0aW9uczogeyBjb3VudHJ5OiBbIHRoaXMuY291bnRyeUNvZGUgXSB9LFxyXG4gICAgICBmaWVsZHM6IFsgJ2FkZHJlc3NfY29tcG9uZW50cycsICdnZW9tZXRyeS5sb2NhdGlvbicgXSxcclxuICAgIH0gKTtcclxuXHJcbiAgICBhdXRvY29tcGxldGUuYWRkTGlzdGVuZXIoICdwbGFjZV9jaGFuZ2VkJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcclxuICAgICAgICBjb25zdCBwbGFjZSA9IGF1dG9jb21wbGV0ZS5nZXRQbGFjZSgpO1xyXG5cclxuICAgICAgICAvLyB2ZXJpZnkgcmVzdWx0XHJcbiAgICAgICAgaWYgKCBwbGFjZS5nZW9tZXRyeSA9PT0gdW5kZWZpbmVkIHx8IHBsYWNlLmdlb21ldHJ5ID09PSBudWxsICkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5wbGFjZVJlc3VsdC5lbWl0KCB7XHJcbiAgICAgICAgICBwbGFjZTogcGxhY2UsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmdldEVsZW1lbnQoKS52YWx1ZSxcclxuICAgICAgICB9ICk7XHJcbiAgICAgIH0gKTtcclxuICAgIH0gKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RWxlbWVudCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoICcuZm9ybS1maWVsZF9faW5wdXQnICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRHb29nbGVNYXAoIGFwaUtleTogc3RyaW5nICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgaWYgKCB0aGlzLmFwaUxvYWRlZCQgKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaUxvYWRlZCQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbG9hZGVyID0gbmV3IExvYWRlcigge1xyXG4gICAgICBhcGlLZXk6IGFwaUtleSxcclxuICAgICAgdmVyc2lvbjogJ3dlZWtseScsXHJcbiAgICAgIGxpYnJhcmllczogWyAncGxhY2VzJywgJ2RyYXdpbmcnIF0sXHJcbiAgICB9ICk7XHJcblxyXG4gICAgcmV0dXJuIGZyb20oIGxvYWRlci5pbXBvcnRMaWJyYXJ5KCAnbWFwcycgKSApLnBpcGUoXHJcbiAgICAgIG1hcCggKCkgPT4gdHJ1ZSApLFxyXG4gICAgICBzaGFyZVJlcGxheSgpLFxyXG4gICAgICBjYXRjaEVycm9yKCAoKSA9PiBvZiggZmFsc2UgKSApXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWVsZW1lbnQtd3JhcHBlciBbZGF0YV09XCJnZXREYXRhKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXdyYXBwZXIgdy1mdWxsXCI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB3LWZ1bGxcIlxyXG4gICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXHJcbiAgICAgIGF1dG9jYXBpdGFsaXplPVwib2ZmXCJcclxuICAgICAgc3BlbGxjaGVjaz1cIm9mZlwiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAvPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQtLXN1ZmZpeFwiICpuZ0lmPVwic2hvd1N1ZmZpeFwiPlxyXG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInN1ZmZpeFwiICpuZ0lmPVwiIXNob3dEZWxldGVJdGVtICYmICF2YWx1ZVwiPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic3VmZml4IGN1cnNvci1wb2ludGVyIGRlbGV0ZS1idXR0b25cIiAqbmdJZj1cInNob3dEZWxldGVJdGVtXCIgKGNsaWNrKT1cIm9uRGVsZXRlSXRlbSgpXCJcclxuICAgICAgICA+ZGVsZXRlPC9tYXQtaWNvblxyXG4gICAgICAgID5cclxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJzdWZmaXggY3Vyc29yLXBvaW50ZXJcIiAqbmdJZj1cIiFzaG93RGVsZXRlSXRlbSAmJiB2YWx1ZVwiIChjbGljayk9XCJvbkNsZWFuKCk7IG9uVG91Y2goKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
@@ -8,7 +8,7 @@ import * as i2$1 from '@angular/material/icon';
|
|
|
8
8
|
import { MatIconModule } from '@angular/material/icon';
|
|
9
9
|
import * as i3 from '@angular/forms';
|
|
10
10
|
import { NgControl, NG_VALUE_ACCESSOR, FormsModule, UntypedFormControl, ReactiveFormsModule, UntypedFormGroup, Validators } from '@angular/forms';
|
|
11
|
-
import { BehaviorSubject, Subscription, combineLatest, map, debounceTime, Subject, takeUntil, first, filter } from 'rxjs';
|
|
11
|
+
import { BehaviorSubject, Subscription, combineLatest, map, debounceTime, Subject, takeUntil, first, filter, from, shareReplay, catchError, of } from 'rxjs';
|
|
12
12
|
import * as i5 from '@angular/material/legacy-tooltip';
|
|
13
13
|
import { MatLegacyTooltipModule } from '@angular/material/legacy-tooltip';
|
|
14
14
|
import { MatLegacyInputModule } from '@angular/material/legacy-input';
|
|
@@ -49,6 +49,7 @@ import { MAT_LEGACY_DIALOG_DATA, MatLegacyDialogModule } from '@angular/material
|
|
|
49
49
|
import { map as map$1 } from 'rxjs/operators';
|
|
50
50
|
import * as i3$5 from '@angular/platform-browser';
|
|
51
51
|
import { MatSidenavModule } from '@angular/material/sidenav';
|
|
52
|
+
import { Loader } from '@googlemaps/js-api-loader';
|
|
52
53
|
|
|
53
54
|
class EcabsSpinnerComponent {
|
|
54
55
|
size = 'medium';
|
|
@@ -4510,15 +4511,16 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
4510
4511
|
showDeleteItem = false;
|
|
4511
4512
|
showSuffix = false;
|
|
4512
4513
|
countryCode = 'MT';
|
|
4513
|
-
|
|
4514
|
+
apiKey;
|
|
4514
4515
|
placeResult = new EventEmitter();
|
|
4515
4516
|
deleteItem = new EventEmitter();
|
|
4517
|
+
apiLoaded$;
|
|
4516
4518
|
val;
|
|
4517
4519
|
get value() {
|
|
4518
4520
|
return this.val;
|
|
4519
4521
|
}
|
|
4520
4522
|
set value(val) {
|
|
4521
|
-
if (this.val !== val) {
|
|
4523
|
+
if (val !== undefined && this.val !== val) {
|
|
4522
4524
|
this.val = val;
|
|
4523
4525
|
this.onChange(val);
|
|
4524
4526
|
}
|
|
@@ -4531,11 +4533,12 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
4531
4533
|
this.injector = injector;
|
|
4532
4534
|
}
|
|
4533
4535
|
ngOnChanges(changes) {
|
|
4534
|
-
const { value,
|
|
4536
|
+
const { value, apiKey } = changes ?? {};
|
|
4535
4537
|
if (!value?.firstChange && !value?.currentValue) {
|
|
4536
4538
|
this.onClean();
|
|
4537
4539
|
}
|
|
4538
|
-
if (
|
|
4540
|
+
if (apiKey?.currentValue) {
|
|
4541
|
+
this.apiLoaded$ = this.loadGoogleMap(this.apiKey);
|
|
4539
4542
|
this.apiLoaded$.pipe(takeUntil(this.unsubscribeService.subscription()), filter((value) => !!value))
|
|
4540
4543
|
.subscribe(() => {
|
|
4541
4544
|
this.initGoogle();
|
|
@@ -4567,7 +4570,6 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
4567
4570
|
}
|
|
4568
4571
|
onClean() {
|
|
4569
4572
|
this.value = '';
|
|
4570
|
-
this.onTouch();
|
|
4571
4573
|
}
|
|
4572
4574
|
initGoogle() {
|
|
4573
4575
|
const autocomplete = new google.maps.places.Autocomplete(this.getElement(), {
|
|
@@ -4592,15 +4594,26 @@ class EcabsPlaceAutocompleteComponent extends ElementBaseComponent {
|
|
|
4592
4594
|
getElement() {
|
|
4593
4595
|
return this.elementRef.nativeElement.querySelector('.form-field__input');
|
|
4594
4596
|
}
|
|
4597
|
+
loadGoogleMap(apiKey) {
|
|
4598
|
+
if (this.apiLoaded$) {
|
|
4599
|
+
return this.apiLoaded$;
|
|
4600
|
+
}
|
|
4601
|
+
const loader = new Loader({
|
|
4602
|
+
apiKey: apiKey,
|
|
4603
|
+
version: 'weekly',
|
|
4604
|
+
libraries: ['places', 'drawing'],
|
|
4605
|
+
});
|
|
4606
|
+
return from(loader.importLibrary('maps')).pipe(map(() => true), shareReplay(), catchError(() => of(false)));
|
|
4607
|
+
}
|
|
4595
4608
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteComponent, deps: [{ token: i0.NgZone }, { token: UnsubscribeService }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
4596
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode",
|
|
4609
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsPlaceAutocompleteComponent, selector: "ecabs-place-autocomplete", inputs: { showDeleteItem: "showDeleteItem", showSuffix: "showSuffix", countryCode: "countryCode", apiKey: "apiKey" }, outputs: { placeResult: "placeResult", deleteItem: "deleteItem" }, providers: [
|
|
4597
4610
|
UnsubscribeService,
|
|
4598
4611
|
{
|
|
4599
4612
|
provide: NG_VALUE_ACCESSOR,
|
|
4600
4613
|
useExisting: EcabsPlaceAutocompleteComponent,
|
|
4601
4614
|
multi: true,
|
|
4602
4615
|
},
|
|
4603
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
4616
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean(); onTouch()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
4604
4617
|
}
|
|
4605
4618
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsPlaceAutocompleteComponent, decorators: [{
|
|
4606
4619
|
type: Component,
|
|
@@ -4611,14 +4624,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4611
4624
|
useExisting: EcabsPlaceAutocompleteComponent,
|
|
4612
4625
|
multi: true,
|
|
4613
4626
|
},
|
|
4614
|
-
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
4627
|
+
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n class=\"form-field__input w-full\"\r\n autocorrect=\"off\"\r\n autocapitalize=\"off\"\r\n spellcheck=\"off\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <div class=\"form-field__input--suffix\" *ngIf=\"showSuffix\">\r\n <mat-icon class=\"suffix\" *ngIf=\"!showDeleteItem && !value\">search</mat-icon>\r\n <mat-icon class=\"suffix cursor-pointer delete-button\" *ngIf=\"showDeleteItem\" (click)=\"onDeleteItem()\"\r\n >delete</mat-icon\r\n >\r\n <mat-icon class=\"suffix cursor-pointer\" *ngIf=\"!showDeleteItem && value\" (click)=\"onClean(); onTouch()\">close</mat-icon>\r\n </div>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: ["mat-form-field{margin-bottom:0!important}.delete-button{color:var(--color-error)}\n"] }]
|
|
4615
4628
|
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: UnsubscribeService }, { type: i0.ElementRef }, { type: i0.Injector }]; }, propDecorators: { showDeleteItem: [{
|
|
4616
4629
|
type: Input
|
|
4617
4630
|
}], showSuffix: [{
|
|
4618
4631
|
type: Input
|
|
4619
4632
|
}], countryCode: [{
|
|
4620
4633
|
type: Input
|
|
4621
|
-
}],
|
|
4634
|
+
}], apiKey: [{
|
|
4622
4635
|
type: Input
|
|
4623
4636
|
}], placeResult: [{
|
|
4624
4637
|
type: Output
|