@sumaris-net/ngx-components 2.4.118 → 2.4.119
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/esm2020/src/app/admin/users/users.mjs +2 -2
- package/esm2020/src/app/core/account/account.page.mjs +1 -1
- package/esm2020/src/app/core/form/buttons/form-buttons-bar.component.mjs +42 -6
- package/esm2020/src/app/core/form/text-popover/text-popover.component.mjs +2 -2
- package/esm2020/src/app/core/settings/settings.page.mjs +1 -1
- package/esm2020/src/app/core/table/table.class.mjs +2 -1
- package/esm2020/src/app/core/table/testing/table.testing.mjs +1 -1
- package/fesm2015/sumaris-net.ngx-components.mjs +47 -9
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +47 -9
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/core/form/buttons/form-buttons-bar.component.d.ts +14 -2
- package/src/assets/i18n/fr.json +2 -0
|
@@ -9,20 +9,30 @@ import * as i4 from "@ionic/angular";
|
|
|
9
9
|
import * as i5 from "@ngx-translate/core";
|
|
10
10
|
import * as i6 from "@angular/material/icon";
|
|
11
11
|
import * as i7 from "@angular/material/button";
|
|
12
|
-
import * as i8 from "../../../shared/pipes/arrays.pipe";
|
|
13
12
|
export class FormButtonsBarToken {
|
|
14
13
|
}
|
|
15
14
|
export class FormButtonsBarComponent {
|
|
16
15
|
constructor(hotkeys, menu) {
|
|
17
|
-
this.hotkeys = hotkeys;
|
|
18
16
|
this.menu = menu;
|
|
19
17
|
this._subscription = new Subscription();
|
|
20
18
|
this.disabled = false;
|
|
21
19
|
this.disabledCancel = false;
|
|
20
|
+
this.saveButtonColor = 'danger';
|
|
21
|
+
this.backText = 'COMMON.BTN_CLOSE';
|
|
22
|
+
this.cancelText = 'COMMON.BTN_RESET';
|
|
23
|
+
this.nextText = 'COMMON.BTN_NEXT';
|
|
24
|
+
this.showBack = true;
|
|
25
|
+
this.showCancel = true;
|
|
26
|
+
this.showNext = true;
|
|
27
|
+
this.showSave = true;
|
|
28
|
+
this.showSaveAndClose = false;
|
|
29
|
+
this.showSaveAndNext = false;
|
|
22
30
|
this.onCancel = new EventEmitter();
|
|
23
31
|
this.onSave = new EventEmitter();
|
|
24
32
|
this.onNext = new EventEmitter();
|
|
25
33
|
this.onBack = new EventEmitter();
|
|
34
|
+
this.onSaveAndClose = new EventEmitter();
|
|
35
|
+
this.onSaveAndNext = new EventEmitter();
|
|
26
36
|
// Ctrl+S
|
|
27
37
|
this._subscription.add(hotkeys.addShortcut({ keys: 'control.s', description: 'COMMON.BTN_SAVE' })
|
|
28
38
|
.pipe(filter(e => !this.disabled))
|
|
@@ -42,23 +52,45 @@ export class FormButtonsBarComponent {
|
|
|
42
52
|
this.onSave.complete();
|
|
43
53
|
this.onNext.complete();
|
|
44
54
|
this.onBack.complete();
|
|
55
|
+
this.onSaveAndNext.complete();
|
|
56
|
+
this.onSaveAndClose.complete();
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
FormButtonsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormButtonsBarComponent, deps: [{ token: i1.Hotkeys }, { token: i2.MenuService }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
FormButtonsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: { disabled: "disabled", disabledCancel: "disabledCancel", classList: "classList" }, outputs: { onCancel: "onCancel", onSave: "onSave", onNext: "onNext", onBack: "onBack" }, providers: [
|
|
60
|
+
FormButtonsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: { disabled: "disabled", disabledCancel: "disabledCancel", classList: "classList", saveButtonColor: "saveButtonColor", backText: "backText", cancelText: "cancelText", nextText: "nextText", showBack: "showBack", showCancel: "showCancel", showNext: "showNext", showSave: "showSave", showSaveAndClose: "showSaveAndClose", showSaveAndNext: "showSaveAndNext" }, outputs: { onCancel: "onCancel", onSave: "onSave", onNext: "onNext", onBack: "onBack", onSaveAndClose: "onSaveAndClose", onSaveAndNext: "onSaveAndNext" }, providers: [
|
|
49
61
|
{ provide: FormButtonsBarToken, useExisting: FormButtonsBarComponent }
|
|
50
|
-
], ngImport: i0, template: "\n<ion-toolbar [class]=\"classList\">\n <ion-row class=\"ion-no-padding\" nowrap>\n <!-- show menu button -->\n <ion-col size=\"auto\" class=\"hidden-xs hidden-sm\">\n <ion-menu-toggle>\n <button\n mat-icon-button\n color=\"accent\"\n [title]=\"'COMMON.BTN_SHOW_MENU' | translate\"\n (click)=\"menu.toggleSplitPaneWhen()\">\n <mat-icon><span>»</span></mat-icon>\n </button>\n </ion-menu-toggle>\n </ion-col>\n\n <ion-col class=\"app-form-buttons-bar-content\">\n <ng-content></ng-content>\n </ion-col>\n\n <ion-col size=\"auto\" class=\"app-form-buttons-bar-buttons\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!--
|
|
62
|
+
], ngImport: i0, template: "\n<ion-toolbar [class]=\"classList\">\n <ion-row class=\"ion-no-padding\" nowrap>\n <!-- show menu button -->\n <ion-col size=\"auto\" class=\"hidden-xs hidden-sm\">\n <ion-menu-toggle>\n <button\n mat-icon-button\n color=\"accent\"\n [title]=\"'COMMON.BTN_SHOW_MENU' | translate\"\n (click)=\"menu.toggleSplitPaneWhen()\">\n <mat-icon><span>»</span></mat-icon>\n </button>\n </ion-menu-toggle>\n </ion-col>\n\n <ion-col class=\"app-form-buttons-bar-content\">\n <ng-content></ng-content>\n </ion-col>\n\n <ion-col size=\"auto\" class=\"app-form-buttons-bar-buttons\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!-- back -->\n <ion-button fill=\"clear\" color=\"dark\"\n (click)=\"onBack.emit($event)\"\n (keyup.enter)=\"onBack.emit($event)\"\n *ngIf=\"showBack && onBack.observed\"\n class=\"back\">\n <ion-label>{{backText|translate}}</ion-label>\n </ion-button>\n\n <!-- cancel -->\n <ion-button fill=\"clear\" color=\"dark\"\n *ngIf=\"showCancel\"\n (click)=\"onCancel.emit($event)\"\n (keyup.enter)=\"onCancel.emit($event)\"\n [disabled]=\"disabledCancel\"\n class=\"cancel\">\n <ion-icon slot=\"start\" name=\"refresh\"></ion-icon>\n <ion-label>{{cancelText|translate}}</ion-label>\n </ion-button>\n\n <!-- next -->\n <ion-button fill=\"solid\"\n *ngIf=\"showNext && onNext.observed\"\n (click)=\"onNext.emit($event)\"\n (keyup.enter)=\"onNext.emit($event)\"\n class=\"next\">\n <ion-label>{{nextText|translate}}</ion-label>\n <ion-icon slot=\"end\" name=\"arrow-forward\"></ion-icon>\n </ion-button>\n\n <!-- save -->\n <ion-button [fill]=\"disabled ? 'clear' : 'solid'\"\n *ngIf=\"showSave && onSave.observed\"\n (click)=\"onSave.emit($event)\"\n (keyup.enter)=\"onSave.emit($event)\"\n [color]=\"saveButtonColor\"\n [disabled]=\"disabled\"\n class=\"save\">\n <ion-label [innerHTML]=\"'COMMON.BTN_SAVE_WITH_SHORTCUT'|translate\" [title]=\"'COMMON.BTN_SAVE_WITH_SHORTCUT_HELP'|translate\"></ion-label>\n </ion-button>\n\n <!-- save and next -->\n <ion-button [fill]=\"disabled ? 'clear' : 'solid'\"\n *ngIf=\"showSaveAndNext && onSaveAndNext.observed\"\n (click)=\"onSaveAndNext.emit($event)\"\n (keyup.enter)=\"onSaveAndNext.emit($event)\"\n [color]=\"saveButtonColor\"\n [disabled]=\"disabled\"\n class=\"save\">\n <ion-label translate>COMMON.BTN_SAVE_AND_NEXT</ion-label>\n </ion-button>\n\n <!-- save and close -->\n <ion-button [fill]=\"disabled ? 'clear' : 'solid'\"\n *ngIf=\"showSaveAndClose && onSaveAndClose.observed\"\n (click)=\"onSaveAndClose.emit($event)\"\n (keyup.enter)=\"onSaveAndClose.emit($event)\"\n [color]=\"saveButtonColor\"\n [disabled]=\"disabled\"\n class=\"save\">\n <ion-label translate>COMMON.BTN_SAVE_AND_CLOSE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n</ion-toolbar>\n", styles: [":host{width:100%}:host ion-toolbar{height:var(--app-form-buttons-bar-height);padding:0 6px}:host ion-col{padding:0}ion-menu-toggle button{top:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonMenuToggle, selector: "ion-menu-toggle", inputs: ["autoHide", "menu"] }, { kind: "component", type: i4.IonRow, selector: "ion-row" }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
51
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FormButtonsBarComponent, decorators: [{
|
|
52
64
|
type: Component,
|
|
53
65
|
args: [{ selector: 'app-form-buttons-bar', providers: [
|
|
54
66
|
{ provide: FormButtonsBarToken, useExisting: FormButtonsBarComponent }
|
|
55
|
-
], template: "\n<ion-toolbar [class]=\"classList\">\n <ion-row class=\"ion-no-padding\" nowrap>\n <!-- show menu button -->\n <ion-col size=\"auto\" class=\"hidden-xs hidden-sm\">\n <ion-menu-toggle>\n <button\n mat-icon-button\n color=\"accent\"\n [title]=\"'COMMON.BTN_SHOW_MENU' | translate\"\n (click)=\"menu.toggleSplitPaneWhen()\">\n <mat-icon><span>»</span></mat-icon>\n </button>\n </ion-menu-toggle>\n </ion-col>\n\n <ion-col class=\"app-form-buttons-bar-content\">\n <ng-content></ng-content>\n </ion-col>\n\n <ion-col size=\"auto\" class=\"app-form-buttons-bar-buttons\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!--
|
|
67
|
+
], template: "\n<ion-toolbar [class]=\"classList\">\n <ion-row class=\"ion-no-padding\" nowrap>\n <!-- show menu button -->\n <ion-col size=\"auto\" class=\"hidden-xs hidden-sm\">\n <ion-menu-toggle>\n <button\n mat-icon-button\n color=\"accent\"\n [title]=\"'COMMON.BTN_SHOW_MENU' | translate\"\n (click)=\"menu.toggleSplitPaneWhen()\">\n <mat-icon><span>»</span></mat-icon>\n </button>\n </ion-menu-toggle>\n </ion-col>\n\n <ion-col class=\"app-form-buttons-bar-content\">\n <ng-content></ng-content>\n </ion-col>\n\n <ion-col size=\"auto\" class=\"app-form-buttons-bar-buttons\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!-- back -->\n <ion-button fill=\"clear\" color=\"dark\"\n (click)=\"onBack.emit($event)\"\n (keyup.enter)=\"onBack.emit($event)\"\n *ngIf=\"showBack && onBack.observed\"\n class=\"back\">\n <ion-label>{{backText|translate}}</ion-label>\n </ion-button>\n\n <!-- cancel -->\n <ion-button fill=\"clear\" color=\"dark\"\n *ngIf=\"showCancel\"\n (click)=\"onCancel.emit($event)\"\n (keyup.enter)=\"onCancel.emit($event)\"\n [disabled]=\"disabledCancel\"\n class=\"cancel\">\n <ion-icon slot=\"start\" name=\"refresh\"></ion-icon>\n <ion-label>{{cancelText|translate}}</ion-label>\n </ion-button>\n\n <!-- next -->\n <ion-button fill=\"solid\"\n *ngIf=\"showNext && onNext.observed\"\n (click)=\"onNext.emit($event)\"\n (keyup.enter)=\"onNext.emit($event)\"\n class=\"next\">\n <ion-label>{{nextText|translate}}</ion-label>\n <ion-icon slot=\"end\" name=\"arrow-forward\"></ion-icon>\n </ion-button>\n\n <!-- save -->\n <ion-button [fill]=\"disabled ? 'clear' : 'solid'\"\n *ngIf=\"showSave && onSave.observed\"\n (click)=\"onSave.emit($event)\"\n (keyup.enter)=\"onSave.emit($event)\"\n [color]=\"saveButtonColor\"\n [disabled]=\"disabled\"\n class=\"save\">\n <ion-label [innerHTML]=\"'COMMON.BTN_SAVE_WITH_SHORTCUT'|translate\" [title]=\"'COMMON.BTN_SAVE_WITH_SHORTCUT_HELP'|translate\"></ion-label>\n </ion-button>\n\n <!-- save and next -->\n <ion-button [fill]=\"disabled ? 'clear' : 'solid'\"\n *ngIf=\"showSaveAndNext && onSaveAndNext.observed\"\n (click)=\"onSaveAndNext.emit($event)\"\n (keyup.enter)=\"onSaveAndNext.emit($event)\"\n [color]=\"saveButtonColor\"\n [disabled]=\"disabled\"\n class=\"save\">\n <ion-label translate>COMMON.BTN_SAVE_AND_NEXT</ion-label>\n </ion-button>\n\n <!-- save and close -->\n <ion-button [fill]=\"disabled ? 'clear' : 'solid'\"\n *ngIf=\"showSaveAndClose && onSaveAndClose.observed\"\n (click)=\"onSaveAndClose.emit($event)\"\n (keyup.enter)=\"onSaveAndClose.emit($event)\"\n [color]=\"saveButtonColor\"\n [disabled]=\"disabled\"\n class=\"save\">\n <ion-label translate>COMMON.BTN_SAVE_AND_CLOSE</ion-label>\n </ion-button>\n </ion-col>\n </ion-row>\n</ion-toolbar>\n", styles: [":host{width:100%}:host ion-toolbar{height:var(--app-form-buttons-bar-height);padding:0 6px}:host ion-col{padding:0}ion-menu-toggle button{top:4px}\n"] }]
|
|
56
68
|
}], ctorParameters: function () { return [{ type: i1.Hotkeys }, { type: i2.MenuService }]; }, propDecorators: { disabled: [{
|
|
57
69
|
type: Input
|
|
58
70
|
}], disabledCancel: [{
|
|
59
71
|
type: Input
|
|
60
72
|
}], classList: [{
|
|
61
73
|
type: Input
|
|
74
|
+
}], saveButtonColor: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], backText: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], cancelText: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], nextText: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], showBack: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], showCancel: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], showNext: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], showSave: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], showSaveAndClose: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], showSaveAndNext: [{
|
|
93
|
+
type: Input
|
|
62
94
|
}], onCancel: [{
|
|
63
95
|
type: Output
|
|
64
96
|
}], onSave: [{
|
|
@@ -67,5 +99,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
67
99
|
type: Output
|
|
68
100
|
}], onBack: [{
|
|
69
101
|
type: Output
|
|
102
|
+
}], onSaveAndClose: [{
|
|
103
|
+
type: Output
|
|
104
|
+
}], onSaveAndNext: [{
|
|
105
|
+
type: Output
|
|
70
106
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS9idXR0b25zL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vYnV0dG9ucy9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUMsTUFBTSxFQUFNLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFHM0MsTUFBTSxPQUFnQixtQkFBbUI7Q0FLeEM7QUFVRCxNQUFNLE9BQU8sdUJBQXVCO0lBYWxDLFlBQW9CLE9BQWdCLEVBQzNCLElBQWlCO1FBRE4sWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUMzQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBWmxCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBR3RCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ3JDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBQ25DLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUyxDQUFDO1FBTTNDLFNBQVM7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFDLENBQUM7YUFDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBELFNBQVM7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFDLENBQUM7YUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN6RCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ25ELENBQUM7UUFFRixTQUFTO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFDLENBQUM7YUFDMUYsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBRWpDO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7b0hBOUNVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLG9PQUp2QjtRQUNULEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBQztLQUNyRSwwQkNuQkgseXhFQTJEQTsyRkR0Q2EsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHNCQUFzQixhQUdyQjt3QkFDVCxFQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFDO3FCQUNyRTt3SEFNUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG90a2V5c30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2hvdGtleXMvaG90a2V5cy5zZXJ2aWNlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWVudVNlcnZpY2V9IGZyb20gJy4uLy4uL21lbnUvbWVudS5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZvcm1CdXR0b25zQmFyVG9rZW4ge1xuICBhYnN0cmFjdCBvbkNhbmNlbDogRXZlbnRFbWl0dGVyPEV2ZW50PjtcbiAgYWJzdHJhY3Qgb25TYXZlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xuICBhYnN0cmFjdCBvbk5leHQ6IEV2ZW50RW1pdHRlcjxFdmVudD47XG4gIGFic3RyYWN0IG9uQmFjazogRXZlbnRFbWl0dGVyPEV2ZW50Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZvcm0tYnV0dG9ucy1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IEZvcm1CdXR0b25zQmFyVG9rZW4sIHVzZUV4aXN0aW5nOiBGb3JtQnV0dG9uc0JhckNvbXBvbmVudH1cbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUJ1dHRvbnNCYXJDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtQnV0dG9uc0JhclRva2VuLCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZENhbmNlbCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbGFzc0xpc3Q6IHN0cmluZztcblxuICBAT3V0cHV0KCkgb25DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25TYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uTmV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkJhY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG90a2V5czogSG90a2V5cyxcbiAgICBwdWJsaWMgbWVudTogTWVudVNlcnZpY2VcbiAgICApIHtcblxuICAgIC8vIEN0cmwrU1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBob3RrZXlzLmFkZFNob3J0Y3V0KHtrZXlzOiAnY29udHJvbC5zJywgZGVzY3JpcHRpb246ICdDT01NT04uQlROX1NBVkUnfSlcbiAgICAgICAgLnBpcGUoZmlsdGVyKGUgPT4gIXRoaXMuZGlzYWJsZWQpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vblNhdmUuZW1pdChldmVudCkpKTtcblxuICAgIC8vIEN0cmwrWlxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBob3RrZXlzLmFkZFNob3J0Y3V0KHtrZXlzOiAnY29udHJvbC56JywgZGVzY3JpcHRpb246ICdDT01NT04uQlROX1JFU0VUJ30pXG4gICAgICAgIC5waXBlKGZpbHRlcihlID0+ICF0aGlzLmRpc2FibGVkICYmICF0aGlzLmRpc2FibGVkQ2FuY2VsKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub25DYW5jZWwuZW1pdChldmVudCkpXG4gICAgKTtcblxuICAgIC8vIEVzY2FwZVxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBob3RrZXlzLmFkZFNob3J0Y3V0KHtrZXlzOiAnZXNjYXBlJywgZGVzY3JpcHRpb246ICdDT01NT04uQlROX0NMT1NFJywgcHJldmVudERlZmF1bHQ6IGZhbHNlfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKGUgPT4gIWUuZGVmYXVsdFByZXZlbnRlZCksXG4gICAgICAgICAgLy90YXAoKCkgPT4gY29uc29sZS5kZWJ1ZygnW2Zvcm0tYnV0dG9ucy1iYXJdIEVtaXQgYmFjayBldmVudCAoa2V5ZG93bi5lc2NhcGUpJykpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMub25CYWNrLmVtaXQoZXZlbnQpKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uQ2FuY2VsLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblNhdmUuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uTmV4dC5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25CYWNrLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuIiwiXG48aW9uLXRvb2xiYXIgW2NsYXNzXT1cImNsYXNzTGlzdFwiPlxuICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nXCIgbm93cmFwPlxuICAgIDwhLS0gc2hvdyBtZW51IGJ1dHRvbiAtLT5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiIGNsYXNzPVwiaGlkZGVuLXhzIGhpZGRlbi1zbVwiPlxuICAgICAgPGlvbi1tZW51LXRvZ2dsZT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fU0hPV19NRU5VJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlU3BsaXRQYW5lV2hlbigpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPjxzcGFuPiYjeGJiOzwvc3Bhbj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvaW9uLW1lbnUtdG9nZ2xlPlxuICAgIDwvaW9uLWNvbD5cblxuICAgIDxpb24tY29sIGNsYXNzPVwiYXBwLWZvcm0tYnV0dG9ucy1iYXItY29udGVudFwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvaW9uLWNvbD5cblxuICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCIgY2xhc3M9XCJhcHAtZm9ybS1idXR0b25zLWJhci1idXR0b25zXCI+XG5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PWVuZF1cIj48L25nLWNvbnRlbnQ+XG5cbiAgICAgIDwhLS0gY2xvc2UgKGdvIGJhY2spIC0tPlxuICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cIm9uQmFjay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uQmFjay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJvbkJhY2sub2JzZXJ2ZXJzIHwgaXNOb3RFbXB0eUFycmF5XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFja1wiPlxuICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX0NMT1NFPC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDwhLS0gcmVsb2FkIC0tPlxuICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgY29sb3I9XCJkYXJrXCIgKGNsaWNrKT1cIm9uQ2FuY2VsLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25DYW5jZWwuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZENhbmNlbFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbmNlbFwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cInJlZnJlc2hcIj48L2lvbi1pY29uPlxuICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX1JFU0VUPC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDwhLS0gbmV4dCAtLT5cbiAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJzb2xpZFwiIChjbGljayk9XCJvbk5leHQuZW1pdCgkZXZlbnQpXCIgKGtleXVwLmVudGVyKT1cIm9uTmV4dC5lbWl0KCRldmVudClcIiAqbmdJZj1cIm9uTmV4dC5vYnNlcnZlcnMgfCBpc05vdEVtcHR5QXJyYXlcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuZXh0XCI+XG4gICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fTkVYVDwvaW9uLWxhYmVsPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJhcnJvdy1mb3J3YXJkXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBzYXZlIC0tPlxuICAgICAgPGlvbi1idXR0b24gW2ZpbGxdPVwiZGlzYWJsZWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TYXZlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25TYXZlLmVtaXQoJGV2ZW50KVwiIGNvbG9yPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNhdmVcIj5cbiAgICAgICAgPGlvbi1sYWJlbCBbaW5uZXJIVE1MXT1cIidDT01NT04uQlROX1NBVkVfV0lUSF9TSE9SVENVVCd8dHJhbnNsYXRlXCIgW3RpdGxlXT1cIidDT01NT04uQlROX1NBVkVfV0lUSF9TSE9SVENVVF9IRUxQJ3x0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1jb2w+XG4gIDwvaW9uLXJvdz5cbjwvaW9uLXRvb2xiYXI+XG4iXX0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvcmUvZm9ybS9idXR0b25zL2Zvcm0tYnV0dG9ucy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vYnV0dG9ucy9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUMsTUFBTSxFQUFNLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQUkzQyxNQUFNLE9BQWdCLG1CQUFtQjtDQUt4QztBQVVELE1BQU0sT0FBTyx1QkFBdUI7SUE0QmxDLFlBQVksT0FBZ0IsRUFDbkIsSUFBaUI7UUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQTNCbEIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFHdkIsb0JBQWUsR0FBcUIsUUFBUSxDQUFDO1FBRTdDLGFBQVEsR0FBRyxrQkFBa0IsQ0FBQztRQUM5QixlQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFDaEMsYUFBUSxHQUFHLGlCQUFpQixDQUFDO1FBRTdCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXZC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QUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG90a2V5c30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2hvdGtleXMvaG90a2V5cy5zZXJ2aWNlJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWVudVNlcnZpY2V9IGZyb20gJy4uLy4uL21lbnUvbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7UHJlZGVmaW5lZENvbG9yc30gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybUJ1dHRvbnNCYXJUb2tlbiB7XG4gIGFic3RyYWN0IG9uQ2FuY2VsOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xuICBhYnN0cmFjdCBvblNhdmU6IEV2ZW50RW1pdHRlcjxFdmVudD47XG4gIGFic3RyYWN0IG9uTmV4dDogRXZlbnRFbWl0dGVyPEV2ZW50PjtcbiAgYWJzdHJhY3Qgb25CYWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZm9ybS1idXR0b25zLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWJ1dHRvbnMtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1idXR0b25zLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogRm9ybUJ1dHRvbnNCYXJUb2tlbiwgdXNlRXhpc3Rpbmc6IEZvcm1CdXR0b25zQmFyQ29tcG9uZW50fVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQnV0dG9uc0JhckNvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1CdXR0b25zQmFyVG9rZW4sIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkQ2FuY2VsID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsYXNzTGlzdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNhdmVCdXR0b25Db2xvcjogUHJlZGVmaW5lZENvbG9ycyA9ICdkYW5nZXInO1xuXG4gIEBJbnB1dCgpIGJhY2tUZXh0ID0gJ0NPTU1PTi5CVE5fQ0xPU0UnO1xuICBASW5wdXQoKSBjYW5jZWxUZXh0ID0gJ0NPTU1PTi5CVE5fUkVTRVQnO1xuICBASW5wdXQoKSBuZXh0VGV4dCA9ICdDT01NT04uQlROX05FWFQnO1xuXG4gIEBJbnB1dCgpIHNob3dCYWNrID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0NhbmNlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dOZXh0ID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1NhdmUgPSB0cnVlO1xuICBASW5wdXQoKSBzaG93U2F2ZUFuZENsb3NlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dTYXZlQW5kTmV4dCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvbkNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uQmFjayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmVBbmRDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNhdmVBbmROZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBjb25zdHJ1Y3Rvcihob3RrZXlzOiBIb3RrZXlzLFxuICAgIHB1YmxpYyBtZW51OiBNZW51U2VydmljZVxuICAgICkge1xuXG4gICAgLy8gQ3RybCtTXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIGhvdGtleXMuYWRkU2hvcnRjdXQoe2tleXM6ICdjb250cm9sLnMnLCBkZXNjcmlwdGlvbjogJ0NPTU1PTi5CVE5fU0FWRSd9KVxuICAgICAgICAucGlwZShmaWx0ZXIoZSA9PiAhdGhpcy5kaXNhYmxlZCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLm9uU2F2ZS5lbWl0KGV2ZW50KSkpO1xuXG4gICAgLy8gQ3RybCtaXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIGhvdGtleXMuYWRkU2hvcnRjdXQoe2tleXM6ICdjb250cm9sLnonLCBkZXNjcmlwdGlvbjogJ0NPTU1PTi5CVE5fUkVTRVQnfSlcbiAgICAgICAgLnBpcGUoZmlsdGVyKGUgPT4gIXRoaXMuZGlzYWJsZWQgJiYgIXRoaXMuZGlzYWJsZWRDYW5jZWwpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkNhbmNlbC5lbWl0KGV2ZW50KSlcbiAgICApO1xuXG4gICAgLy8gRXNjYXBlXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIGhvdGtleXMuYWRkU2hvcnRjdXQoe2tleXM6ICdlc2NhcGUnLCBkZXNjcmlwdGlvbjogJ0NPTU1PTi5CVE5fQ0xPU0UnLCBwcmV2ZW50RGVmYXVsdDogZmFsc2V9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoZSA9PiAhZS5kZWZhdWx0UHJldmVudGVkKSxcbiAgICAgICAgICAvL3RhcCgoKSA9PiBjb25zb2xlLmRlYnVnKCdbZm9ybS1idXR0b25zLWJhcl0gRW1pdCBiYWNrIGV2ZW50IChrZXlkb3duLmVzY2FwZSknKSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy5vbkJhY2suZW1pdChldmVudCkpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25DYW5jZWwuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2F2ZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25OZXh0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vbkJhY2suY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2F2ZUFuZE5leHQuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2F2ZUFuZENsb3NlLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIlxuPGlvbi10b29sYmFyIFtjbGFzc109XCJjbGFzc0xpc3RcIj5cbiAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiIG5vd3JhcD5cbiAgICA8IS0tIHNob3cgbWVudSBidXR0b24gLS0+XG4gICAgPGlvbi1jb2wgc2l6ZT1cImF1dG9cIiBjbGFzcz1cImhpZGRlbi14cyBoaWRkZW4tc21cIj5cbiAgICAgIDxpb24tbWVudS10b2dnbGU+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX1NIT1dfTUVOVScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJtZW51LnRvZ2dsZVNwbGl0UGFuZVdoZW4oKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj48c3Bhbj4mI3hiYjs8L3NwYW4+PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2lvbi1tZW51LXRvZ2dsZT5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbCBjbGFzcz1cImFwcC1mb3JtLWJ1dHRvbnMtYmFyLWNvbnRlbnRcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2lvbi1jb2w+XG5cbiAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiIGNsYXNzPVwiYXBwLWZvcm0tYnV0dG9ucy1iYXItYnV0dG9uc1wiPlxuXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD1lbmRdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8IS0tIGJhY2sgLS0+XG4gICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQmFjay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uQmFjay5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93QmFjayAmJiBvbkJhY2sub2JzZXJ2ZWRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYWNrXCI+XG4gICAgICAgIDxpb24tbGFiZWw+e3tiYWNrVGV4dHx0cmFuc2xhdGV9fTwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8IS0tIGNhbmNlbCAtLT5cbiAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dDYW5jZWxcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25DYW5jZWwuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZENhbmNlbFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImNhbmNlbFwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cInJlZnJlc2hcIj48L2lvbi1pY29uPlxuICAgICAgICA8aW9uLWxhYmVsPnt7Y2FuY2VsVGV4dHx0cmFuc2xhdGV9fTwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8IS0tIG5leHQgLS0+XG4gICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwic29saWRcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93TmV4dCAmJiBvbk5leHQub2JzZXJ2ZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTmV4dC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uTmV4dC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuZXh0XCI+XG4gICAgICAgIDxpb24tbGFiZWw+e3tuZXh0VGV4dHx0cmFuc2xhdGV9fTwvaW9uLWxhYmVsPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImVuZFwiIG5hbWU9XCJhcnJvdy1mb3J3YXJkXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBzYXZlIC0tPlxuICAgICAgPGlvbi1idXR0b24gW2ZpbGxdPVwiZGlzYWJsZWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dTYXZlICYmIG9uU2F2ZS5vYnNlcnZlZFwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25TYXZlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25TYXZlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwic2F2ZUJ1dHRvbkNvbG9yXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNhdmVcIj5cbiAgICAgICAgPGlvbi1sYWJlbCBbaW5uZXJIVE1MXT1cIidDT01NT04uQlROX1NBVkVfV0lUSF9TSE9SVENVVCd8dHJhbnNsYXRlXCIgW3RpdGxlXT1cIidDT01NT04uQlROX1NBVkVfV0lUSF9TSE9SVENVVF9IRUxQJ3x0cmFuc2xhdGVcIj48L2lvbi1sYWJlbD5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cblxuICAgICAgPCEtLSBzYXZlIGFuZCBuZXh0IC0tPlxuICAgICAgPGlvbi1idXR0b24gW2ZpbGxdPVwiZGlzYWJsZWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dTYXZlQW5kTmV4dCAmJiBvblNhdmVBbmROZXh0Lm9ic2VydmVkXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNhdmVBbmROZXh0LmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25TYXZlQW5kTmV4dC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cInNhdmVCdXR0b25Db2xvclwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYXZlXCI+XG4gICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fU0FWRV9BTkRfTkVYVDwvaW9uLWxhYmVsPlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8IS0tIHNhdmUgYW5kIGNsb3NlIC0tPlxuICAgICAgPGlvbi1idXR0b24gW2ZpbGxdPVwiZGlzYWJsZWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dTYXZlQW5kQ2xvc2UgJiYgb25TYXZlQW5kQ2xvc2Uub2JzZXJ2ZWRcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2F2ZUFuZENsb3NlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25TYXZlQW5kQ2xvc2UuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJzYXZlQnV0dG9uQ29sb3JcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2F2ZVwiPlxuICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX1NBVkVfQU5EX0NMT1NFPC9pb24tbGFiZWw+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tY29sPlxuICA8L2lvbi1yb3c+XG48L2lvbi10b29sYmFyPlxuIl19
|
|
@@ -66,8 +66,8 @@ export class TextPopover {
|
|
|
66
66
|
try {
|
|
67
67
|
const value = this.value;
|
|
68
68
|
this.disable();
|
|
69
|
-
await this.popoverController.dismiss(value);
|
|
70
69
|
this.form.error = null;
|
|
70
|
+
await this.popoverController.dismiss(value);
|
|
71
71
|
}
|
|
72
72
|
catch (err) {
|
|
73
73
|
this.form.error = (err && err.message) || err;
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
143
143
|
}], mobile: [{
|
|
144
144
|
type: Input
|
|
145
145
|
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR2xDLE9BQU8sRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RSxPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBdUN0RixNQUFNLE9BQU8sV0FBVztJQW9EdEIsWUFBc0IsaUJBQW9DLEVBQVksU0FBMkI7UUFBM0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBaEN4RixnQkFBVyxHQUFVLElBQUksQ0FBQztRQUUxQixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLGtCQUFhLEdBQXdCLElBQUksQ0FBQztRQUMxQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXhCLGlC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O3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UG9wb3ZlckNvbnRyb2xsZXIsIFBvcG92ZXJPcHRpb25zfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtUZXh0Rm9ybX0gZnJvbSAnLi90ZXh0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7bG9nRm9ybUVycm9ycywgd2FpdFdoaWxlUGVuZGluZ30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm1zJztcbmltcG9ydCB7VmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Q29sb3IsIE92ZXJsYXlFdmVudERldGFpbH0gZnJvbSAnQGlvbmljL2NvcmUnO1xuaW1wb3J0IHtpc05vdEVtcHR5QXJyYXksIGlzTm90TmlsT3JCbGFuaywgdG9Cb29sZWFufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRQb3BvdmVyT3B0aW9ucyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgZWRpdGluZz86IGJvb2xlYW47XG4gIG11bHRpbGluZT86IGJvb2xlYW47XG4gIGF1dG9IZWlnaHQ/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIGF1dG9mb2N1cz86IGJvb2xlYW47XG4gIHZhbGlkYXRvcj86IFZhbGlkYXRvckZuO1xuICAvLyBIZWFkZXIgc3R1ZmZcbiAgc2hvd0hlYWRlcj86IGJvb2xlYW47XG4gIGhlYWRlckNvbG9yPzogQ29sb3I7XG4gIGhlYWRlckJ1dHRvbnM/OiBUZXh0UG9wb3ZlckJ1dHRvbltdO1xuICAvLyBGb290ZXIgc3R1ZmZcbiAgc2hvd0Zvb3Rlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFBvcG92ZXJCdXR0b24ge1xuICB0ZXh0Pzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IENvbG9yO1xuICBmaWxsPzogJ291dGxpbmUnfCdjbGVhcid8J3NvbGlkJztcbiAgc2lkZT86ICdzdGFydCcgfCAnZW5kJztcbiAgcm9sZT86ICdjYW5jZWwnIHwgc3RyaW5nO1xuICBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBoYW5kbGVyPzogKHZhbHVlOiBzdHJpbmcpID0+IGJvb2xlYW4gfCB2b2lkIHwgUHJvbWlzZTxib29sZWFuIHwgdm9pZD47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZXh0LXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJy4vdGV4dC1wb3BvdmVyLmNvbXBvbmVudC5zY3NzJyxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0UG9wb3ZlciBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBUZXh0UG9wb3Zlck9wdGlvbnMge1xuXG4gIHN0YXRpYyBhc3luYyBzaG93KGN0cmw6IFBvcG92ZXJDb250cm9sbGVyLFxuICAgICAgICAgICAgICAgICAgICBldmVudDogRXZlbnQsXG4gICAgICAgICAgICAgICAgICAgIG9wdHM6IFRleHRQb3BvdmVyT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgcG9wb3Zlck9wdHM/OiBQYXJ0aWFsPFBvcG92ZXJPcHRpb25zPikgOiBQcm9taXNlPE92ZXJsYXlFdmVudERldGFpbD4ge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgY3RybC5jcmVhdGUoe1xuICAgICAgZXZlbnQsXG4gICAgICBjb21wb25lbnQ6IFRleHRQb3BvdmVyLFxuICAgICAgY29tcG9uZW50UHJvcHM6IG9wdHMsXG4gICAgICAuLi5wb3BvdmVyT3B0c1xuICAgIH0pO1xuXG4gICAgYXdhaXQgbW9kYWwucHJlc2VudCgpO1xuICAgIHJldHVybiBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2Zvcm0nLCB7IHN0YXRpYzogdHJ1ZSB9KSBmb3JtOiBUZXh0Rm9ybTtcblxuICBASW5wdXQoKSBzaG93SGVhZGVyOiBib29sZWFuO1xuICBASW5wdXQoKSBoZWFkZXJDb2xvcjogQ29sb3IgPSBudWxsO1xuICBASW5wdXQoKSBzaG93Rm9vdGVyOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nID0gbnVsbDtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBlZGl0aW5nID0gdHJ1ZTtcbiAgQElucHV0KCkgbXVsdGlsaW5lID0gdHJ1ZTtcbiAgQElucHV0KCkgYXV0b0hlaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhMZW5ndGggPSAyMDAwO1xuICBASW5wdXQoKSBhdXRvZm9jdXMgPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IG51bGw7XG4gIEBJbnB1dCgpIGhlYWRlckJ1dHRvbnM6IFRleHRQb3BvdmVyQnV0dG9uW10gPSBudWxsO1xuICBASW5wdXQoKSBtb2JpbGUgPSBmYWxzZTtcblxuICBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZGlzYWJsZWQ7XG4gIH1cblxuICBnZXQgZW5hYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmVuYWJsZWQ7XG4gIH1cblxuICBnZXQgdmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsaWQgfHwgZmFsc2U7XG4gIH1cblxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybT8udmFsdWUudGV4dDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBwb3BvdmVyQ29udHJvbGxlcjogUG9wb3ZlckNvbnRyb2xsZXIsIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93SGVhZGVyID0gdG9Cb29sZWFuKHRoaXMuc2hvd0hlYWRlciwgaXNOb3ROaWxPckJsYW5rKHRoaXMudGl0bGUpIHx8IGlzTm90RW1wdHlBcnJheSh0aGlzLmhlYWRlckJ1dHRvbnMpKTtcbiAgICB0aGlzLnNob3dGb290ZXIgPSB0b0Jvb2xlYW4odGhpcy5zaG93Rm9vdGVyLCAhdGhpcy5tb2JpbGUpO1xuICAgIHRoaXMuZW5hYmxlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmZvcm0uc2V0VmFsdWUoeyB0ZXh0OiB0aGlzLnRleHQgfSksIDApO1xuICB9XG5cbiAgYXN5bmMgb25WYWxpZGF0ZShldmVudDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBhd2FpdCB3YWl0V2hpbGVQZW5kaW5nKHRoaXMuZm9ybSk7XG5cbiAgICBpZiAoIXRoaXMudmFsaWQpIHtcbiAgICAgIGxvZ0Zvcm1FcnJvcnModGhpcy5mb3JtLmNvbnRyb2wpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgIGF3YWl0IHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuZGlzbWlzcyh2YWx1ZSk7XG4gICAgICB0aGlzLmZvcm0uZXJyb3IgPSBudWxsO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5mb3JtLmVycm9yID0gKGVyciAmJiBlcnIubWVzc2FnZSkgfHwgZXJyO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBkaXNhYmxlKCkge1xuICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgaWYgKHRoaXMuZWRpdGluZykgdGhpcy5mb3JtLmVuYWJsZSgpO1xuICB9XG5cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMucG9wb3ZlckNvbnRyb2xsZXIuZGlzbWlzcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjbGlja0J1dHRvbihidXR0b246IFRleHRQb3BvdmVyQnV0dG9uKSB7XG4gICAgaWYgKHR5cGVvZiBidXR0b24uaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnV0dG9uLmhhbmRsZXIodGhpcy52YWx1ZSk7XG4gICAgICAvLyBUT0RPIGNvbW1lbnQgaW50ZXJwcmV0ZXIgbGUgdHJ1ZSA/PyA9PiBmZXJtZXIgb3UgYW5udWxlciBsJ2FjdGlvbiA/XG4gICAgICBpZiAocmVzdWx0ID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3ModGhpcy52YWx1ZSwgYnV0dG9uLnJvbGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3ModGhpcy52YWx1ZSwgYnV0dG9uLnJvbGUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpc1N0YXJ0U2lkZShidXR0b246IFRleHRQb3BvdmVyQnV0dG9uKSB7XG4gICAgcmV0dXJuIGJ1dHRvbj8uc2lkZSA9PT0gJ3N0YXJ0JztcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0VuZFNpZGUoYnV0dG9uOiBUZXh0UG9wb3ZlckJ1dHRvbikge1xuICAgIHJldHVybiBidXR0b24/LnNpZGUgIT09ICdzdGFydCc7XG4gIH1cbn1cbiIsIjxpb24taGVhZGVyICpuZ0lmPVwic2hvd0hlYWRlclwiPlxuICA8aW9uLXRvb2xiYXIgW2NvbG9yXT1cImhlYWRlckNvbG9yXCI+XG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJtb2JpbGUgJiYgZWRpdGluZ1wiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxuICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidDT01NT04uQlROX0NBTkNFTCd8dHJhbnNsYXRlXCI+XG4gICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImFycm93LWJhY2tcIj48L2lvbi1pY29uPlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPGlvbi1idXR0b24gKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBoZWFkZXJCdXR0b25zfGFycmF5RmlsdGVyOiBpc1N0YXJ0U2lkZVwiXG4gICAgICAgICAgICAgICAgICBbZmlsbF09XCJidXR0b24uZmlsbFwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwiYnV0dG9uLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0J1dHRvbihidXR0b24pXCI+XG4gICAgICAgIDxpb24taWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW3Nsb3RdPVwiYnV0dG9uLnRleHQgPyAnc3RhcnQnIDogJ2ljb24tb25seSdcIiBbbmFtZV09XCJidXR0b24uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cImJ1dHRvbi50ZXh0XCI+e3tidXR0b24udGV4dHx0cmFuc2xhdGV9fTwvaW9uLXRleHQ+XG4gICAgICA8L2lvbi1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cblxuICAgIDxpb24tdGl0bGUgKm5nSWY9XCJ0aXRsZVwiPnt7dGl0bGV8dHJhbnNsYXRlfX08L2lvbi10aXRsZT5cblxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCI+XG4gICAgICA8aW9uLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGhlYWRlckJ1dHRvbnN8YXJyYXlGaWx0ZXI6IGlzRW5kU2lkZVwiXG4gICAgICAgICAgICAgICAgICBbZmlsbF09XCJidXR0b24uZmlsbFwiXG4gICAgICAgICAgICAgICAgICBbY29sb3JdPVwiYnV0dG9uLmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0J1dHRvbihidXR0b24pXCI+XG4gICAgICAgIDxpb24taWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW3Nsb3RdPVwiYnV0dG9uLnRleHQgPyAnc3RhcnQnIDogJ2ljb24tb25seSdcIiBbbmFtZV09XCJidXR0b24uaWNvblwiPjwvaW9uLWljb24+XG4gICAgICAgIDxpb24tdGV4dCAqbmdJZj1cImJ1dHRvbi50ZXh0XCI+e3tidXR0b24udGV4dHx0cmFuc2xhdGV9fTwvaW9uLXRleHQ+XG4gICAgICA8L2lvbi1idXR0b24+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2JpbGVcIj5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCJlZGl0aW5nXCIgKGNsaWNrKT1cIm9uVmFsaWRhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9WQUxJREFURV9XSVRIX1NIT1JUQ1VUX0hFTFAnfHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNoZWNrbWFya1wiPjwvaW9uLWljb24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gKm5nSWY9XCIhZWRpdGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9DTE9TRSd8dHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGlvbi1pY29uIHNsb3Q9XCJpY29uLW9ubHlcIiBuYW1lPVwiY2xvc2VcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1idXR0b25zPlxuICA8L2lvbi10b29sYmFyPlxuPC9pb24taGVhZGVyPlxuXG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZ1wiXG4gICAgICAgICAgICAgW2NsYXNzLmhhcy1oZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gICAgICAgICAgICAgY2RrVHJhcEZvY3VzIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCJ0cnVlXCI+XG4gIDxpb24taXRlbSAqbmdJZj1cImZvcm0uZXJyb3JcIiB2aXNpYmxlLXhzIHZpc2libGUtc20gdmlzaWJsZS1tb2JpbGUgbGluZXM9XCJub25lXCI+XG4gICAgPGlvbi1pY29uIGNvbG9yPVwiZGFuZ2VyXCIgc2xvdD1cInN0YXJ0XCIgbmFtZT1cImFsZXJ0LWNpcmNsZVwiPjwvaW9uLWljb24+XG4gICAgPGlvbi1sYWJlbCBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwiZXJyb3JcIiBbaW5uZXJIVE1MXT1cImZvcm0uZXJyb3J8dHJhbnNsYXRlXCI+PC9pb24tbGFiZWw+XG4gIDwvaW9uLWl0ZW0+XG5cbiAgPGFwcC10ZXh0LWZvcm0gI2Zvcm0gW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICAgW211bHRpbGluZV09XCJtdWx0aWxpbmVcIlxuICAgICAgICAgICAgICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgIFthdXRvSGVpZ2h0XT1cImF1dG9IZWlnaHRcIlxuICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cImVkaXRpbmcgJiYgYXV0b2ZvY3VzXCJcbiAgICAgICAgICAgICAgICAgW3ZhbGlkYXRvcl09XCJ2YWxpZGF0b3JcIlxuICAgICAgICAgICAgICAgICAob25TdWJtaXQpPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgPjwvYXBwLXRleHQtZm9ybT5cbjwvaW9uLWNvbnRlbnQ+XG5cbjxpb24tZm9vdGVyICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi1yb3cgY2xhc3M9XCJpb24tbm8tcGFkZGluZ1wiIG5vd3JhcD5cbiAgICAgIDxpb24tY29sPlxuXG4gICAgICA8L2lvbi1jb2w+XG5cbiAgICAgIDxpb24tY29sIHNpemU9XCJhdXRvXCI+XG4gICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwiZGFya1wiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fQ0FOQ0VMPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICBbZmlsbF09XCJkaXNhYmxlZCA/ICdjbGVhcicgOiAnc29saWQnXCJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib25WYWxpZGF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICBjb2xvcj1cInRlcnRpYXJ5XCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9WQUxJREFURV9XSVRIX1NIT1JUQ1VUX0hFTFAnfHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxpb24tbGFiZWwgdHJhbnNsYXRlPkNPTU1PTi5CVE5fVkFMSURBVEU8L2lvbi1sYWJlbD5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9pb24tY29sPlxuICAgIDwvaW9uLXJvdz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWZvb3Rlcj5cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1wb3BvdmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9mb3JtL3RleHQtcG9wb3Zlci90ZXh0LXBvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2Zvcm0vdGV4dC1wb3BvdmVyL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBc0N4RixNQUFNLE9BQU8sV0FBVztJQW9EdEIsWUFBc0IsaUJBQW9DLEVBQVksU0FBMkI7UUFBM0Usc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBaEN4RixnQkFBVyxHQUFVLElBQUksQ0FBQztRQUUxQixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBRXJCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLGtCQUFhLEdBQXdCLElBQUksQ0FBQztRQUMxQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXhCLGlC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O3NCQUFsQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9wb3ZlckNvbnRyb2xsZXIsIFBvcG92ZXJPcHRpb25zIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBUZXh0Rm9ybSB9IGZyb20gJy4vdGV4dC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBsb2dGb3JtRXJyb3JzLCB3YWl0V2hpbGVQZW5kaW5nIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29sb3IsIE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcbmltcG9ydCB7IGlzTm90RW1wdHlBcnJheSwgaXNOb3ROaWxPckJsYW5rLCB0b0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0UG9wb3Zlck9wdGlvbnMge1xuICB0aXRsZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGVkaXRpbmc/OiBib29sZWFuO1xuICBtdWx0aWxpbmU/OiBib29sZWFuO1xuICBhdXRvSGVpZ2h0PzogYm9vbGVhbjtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBhdXRvZm9jdXM/OiBib29sZWFuO1xuICB2YWxpZGF0b3I/OiBWYWxpZGF0b3JGbjtcbiAgLy8gSGVhZGVyIHN0dWZmXG4gIHNob3dIZWFkZXI/OiBib29sZWFuO1xuICBoZWFkZXJDb2xvcj86IENvbG9yO1xuICBoZWFkZXJCdXR0b25zPzogVGV4dFBvcG92ZXJCdXR0b25bXTtcbiAgLy8gRm9vdGVyIHN0dWZmXG4gIHNob3dGb290ZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRQb3BvdmVyQnV0dG9uIHtcbiAgdGV4dD86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgY29sb3I/OiBDb2xvcjtcbiAgZmlsbD86ICdvdXRsaW5lJ3wnY2xlYXInfCdzb2xpZCc7XG4gIHNpZGU/OiAnc3RhcnQnIHwgJ2VuZCc7XG4gIHJvbGU/OiAnY2FuY2VsJyB8IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgaGFuZGxlcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuIHwgdm9pZCB8IFByb21pc2U8Ym9vbGVhbiB8IHZvaWQ+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGV4dC1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW1xuICAgICcuL3RleHQtcG9wb3Zlci5jb21wb25lbnQuc2NzcycsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGV4dFBvcG92ZXIgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgVGV4dFBvcG92ZXJPcHRpb25zIHtcblxuICBzdGF0aWMgYXN5bmMgc2hvdyhjdHJsOiBQb3BvdmVyQ29udHJvbGxlcixcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IEV2ZW50LFxuICAgICAgICAgICAgICAgICAgICBvcHRzOiBUZXh0UG9wb3Zlck9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgIHBvcG92ZXJPcHRzPzogUGFydGlhbDxQb3BvdmVyT3B0aW9ucz4pIDogUHJvbWlzZTxPdmVybGF5RXZlbnREZXRhaWw+IHtcbiAgICBjb25zdCBtb2RhbCA9IGF3YWl0IGN0cmwuY3JlYXRlKHtcbiAgICAgIGV2ZW50LFxuICAgICAgY29tcG9uZW50OiBUZXh0UG9wb3ZlcixcbiAgICAgIGNvbXBvbmVudFByb3BzOiBvcHRzLFxuICAgICAgLi4ucG9wb3Zlck9wdHNcbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgICByZXR1cm4gYXdhaXQgbW9kYWwub25EaWREaXNtaXNzKCk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdmb3JtJywgeyBzdGF0aWM6IHRydWUgfSkgZm9ybTogVGV4dEZvcm07XG5cbiAgQElucHV0KCkgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVhZGVyQ29sb3I6IENvbG9yID0gbnVsbDtcbiAgQElucHV0KCkgc2hvd0Zvb3RlcjogYm9vbGVhbjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9IG51bGw7XG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgQElucHV0KCkgZWRpdGluZyA9IHRydWU7XG4gIEBJbnB1dCgpIG11bHRpbGluZSA9IHRydWU7XG4gIEBJbnB1dCgpIGF1dG9IZWlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4TGVuZ3RoID0gMjAwMDtcbiAgQElucHV0KCkgYXV0b2ZvY3VzID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSBudWxsO1xuICBASW5wdXQoKSBoZWFkZXJCdXR0b25zOiBUZXh0UG9wb3ZlckJ1dHRvbltdID0gbnVsbDtcbiAgQElucHV0KCkgbW9iaWxlID0gZmFsc2U7XG5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IGVuYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5lbmFibGVkO1xuICB9XG5cbiAgZ2V0IHZhbGlkKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0/LnZhbGlkIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmZvcm0/LnZhbHVlLnRleHQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcG9wb3ZlckNvbnRyb2xsZXI6IFBvcG92ZXJDb250cm9sbGVyLCBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0hlYWRlciA9IHRvQm9vbGVhbih0aGlzLnNob3dIZWFkZXIsIGlzTm90TmlsT3JCbGFuayh0aGlzLnRpdGxlKSB8fCBpc05vdEVtcHR5QXJyYXkodGhpcy5oZWFkZXJCdXR0b25zKSk7XG4gICAgdGhpcy5zaG93Rm9vdGVyID0gdG9Cb29sZWFuKHRoaXMuc2hvd0Zvb3RlciwgIXRoaXMubW9iaWxlKTtcbiAgICB0aGlzLmVuYWJsZSgpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5mb3JtLnNldFZhbHVlKHsgdGV4dDogdGhpcy50ZXh0IH0pLCAwKTtcbiAgfVxuXG4gIGFzeW5jIG9uVmFsaWRhdGUoZXZlbnQ6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgYXdhaXQgd2FpdFdoaWxlUGVuZGluZyh0aGlzLmZvcm0pO1xuXG4gICAgaWYgKCF0aGlzLnZhbGlkKSB7XG4gICAgICBsb2dGb3JtRXJyb3JzKHRoaXMuZm9ybS5jb250cm9sKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICB0aGlzLmZvcm0uZXJyb3IgPSBudWxsO1xuICAgICAgYXdhaXQgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZm9ybS5lcnJvciA9IChlcnIgJiYgZXJyLm1lc3NhZ2UpIHx8IGVycjtcbiAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIGlmICh0aGlzLmVkaXRpbmcpIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLnBvcG92ZXJDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY2xpY2tCdXR0b24oYnV0dG9uOiBUZXh0UG9wb3ZlckJ1dHRvbikge1xuICAgIGlmICh0eXBlb2YgYnV0dG9uLmhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1dHRvbi5oYW5kbGVyKHRoaXMudmFsdWUpO1xuICAgICAgLy8gVE9ETyBjb21tZW50IGludGVycHJldGVyIGxlIHRydWUgPz8gPT4gZmVybWVyIG91IGFubnVsZXIgbCdhY3Rpb24gP1xuICAgICAgaWYgKHJlc3VsdCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHRoaXMudmFsdWUsIGJ1dHRvbi5yb2xlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5wb3BvdmVyQ29udHJvbGxlci5kaXNtaXNzKHRoaXMudmFsdWUsIGJ1dHRvbi5yb2xlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNTdGFydFNpZGUoYnV0dG9uOiBUZXh0UG9wb3ZlckJ1dHRvbikge1xuICAgIHJldHVybiBidXR0b24/LnNpZGUgPT09ICdzdGFydCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNFbmRTaWRlKGJ1dHRvbjogVGV4dFBvcG92ZXJCdXR0b24pIHtcbiAgICByZXR1cm4gYnV0dG9uPy5zaWRlICE9PSAnc3RhcnQnO1xuICB9XG59XG4iLCI8aW9uLWhlYWRlciAqbmdJZj1cInNob3dIZWFkZXJcIj5cbiAgPGlvbi10b29sYmFyIFtjb2xvcl09XCJoZWFkZXJDb2xvclwiPlxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cbiAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwibW9iaWxlICYmIGVkaXRpbmdcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ09NTU9OLkJUTl9DQU5DRUwnfHRyYW5zbGF0ZVwiPlxuICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJhcnJvdy1iYWNrXCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDxpb24tYnV0dG9uICpuZ0Zvcj1cImxldCBidXR0b24gb2YgaGVhZGVyQnV0dG9uc3xhcnJheUZpbHRlcjogaXNTdGFydFNpZGVcIlxuICAgICAgICAgICAgICAgICAgW2ZpbGxdPVwiYnV0dG9uLmZpbGxcIlxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tCdXR0b24oYnV0dG9uKVwiPlxuICAgICAgICA8aW9uLWljb24gKm5nSWY9XCJidXR0b24uaWNvblwiIFtzbG90XT1cImJ1dHRvbi50ZXh0ID8gJ3N0YXJ0JyA6ICdpY29uLW9ubHknXCIgW25hbWVdPVwiYnV0dG9uLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICA8aW9uLXRleHQgKm5nSWY9XCJidXR0b24udGV4dFwiPnt7YnV0dG9uLnRleHR8dHJhbnNsYXRlfX08L2lvbi10ZXh0PlxuICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG5cbiAgICA8aW9uLXRpdGxlICpuZ0lmPVwidGl0bGVcIj57e3RpdGxlfHRyYW5zbGF0ZX19PC9pb24tdGl0bGU+XG5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPGlvbi1idXR0b24gKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBoZWFkZXJCdXR0b25zfGFycmF5RmlsdGVyOiBpc0VuZFNpZGVcIlxuICAgICAgICAgICAgICAgICAgW2ZpbGxdPVwiYnV0dG9uLmZpbGxcIlxuICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tCdXR0b24oYnV0dG9uKVwiPlxuICAgICAgICA8aW9uLWljb24gKm5nSWY9XCJidXR0b24uaWNvblwiIFtzbG90XT1cImJ1dHRvbi50ZXh0ID8gJ3N0YXJ0JyA6ICdpY29uLW9ubHknXCIgW25hbWVdPVwiYnV0dG9uLmljb25cIj48L2lvbi1pY29uPlxuICAgICAgICA8aW9uLXRleHQgKm5nSWY9XCJidXR0b24udGV4dFwiPnt7YnV0dG9uLnRleHR8dHJhbnNsYXRlfX08L2lvbi10ZXh0PlxuICAgICAgPC9pb24tYnV0dG9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibW9iaWxlXCI+XG4gICAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiZWRpdGluZ1wiIChjbGljayk9XCJvblZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fVkFMSURBVEVfV0lUSF9TSE9SVENVVF9IRUxQJ3x0cmFuc2xhdGVcIj5cbiAgICAgICAgICA8aW9uLWljb24gc2xvdD1cImljb24tb25seVwiIG5hbWU9XCJjaGVja21hcmtcIj48L2lvbi1pY29uPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uICpuZ0lmPVwiIWVkaXRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fQ0xPU0UnfHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxpb24taWNvbiBzbG90PVwiaWNvbi1vbmx5XCIgbmFtZT1cImNsb3NlXCI+PC9pb24taWNvbj5cbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLXBhZGRpbmdcIlxuICAgICAgICAgICAgIFtjbGFzcy5oYXMtaGVhZGVyXT1cInNob3dIZWFkZXJcIlxuICAgICAgICAgICAgIGNka1RyYXBGb2N1cyBbY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmVdPVwidHJ1ZVwiPlxuICA8aW9uLWl0ZW0gKm5nSWY9XCJmb3JtLmVycm9yXCIgdmlzaWJsZS14cyB2aXNpYmxlLXNtIHZpc2libGUtbW9iaWxlIGxpbmVzPVwibm9uZVwiPlxuICAgIDxpb24taWNvbiBjb2xvcj1cImRhbmdlclwiIHNsb3Q9XCJzdGFydFwiIG5hbWU9XCJhbGVydC1jaXJjbGVcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgY29sb3I9XCJkYW5nZXJcIiBjbGFzcz1cImVycm9yXCIgW2lubmVySFRNTF09XCJmb3JtLmVycm9yfHRyYW5zbGF0ZVwiPjwvaW9uLWxhYmVsPlxuICA8L2lvbi1pdGVtPlxuXG4gIDxhcHAtdGV4dC1mb3JtICNmb3JtIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgIFttdWx0aWxpbmVdPVwibXVsdGlsaW5lXCJcbiAgICAgICAgICAgICAgICAgW21heExlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICAgICBbYXV0b0hlaWdodF09XCJhdXRvSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJlZGl0aW5nICYmIGF1dG9mb2N1c1wiXG4gICAgICAgICAgICAgICAgIFt2YWxpZGF0b3JdPVwidmFsaWRhdG9yXCJcbiAgICAgICAgICAgICAgICAgKG9uU3VibWl0KT1cIm9uVmFsaWRhdGUoJGV2ZW50KVwiXG4gID48L2FwcC10ZXh0LWZvcm0+XG48L2lvbi1jb250ZW50PlxuXG48aW9uLWZvb3RlciAqbmdJZj1cInNob3dGb290ZXJcIj5cbiAgPGlvbi10b29sYmFyPlxuICAgIDxpb24tcm93IGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIiBub3dyYXA+XG4gICAgICA8aW9uLWNvbD5cblxuICAgICAgPC9pb24tY29sPlxuXG4gICAgICA8aW9uLWNvbCBzaXplPVwiYXV0b1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBjb2xvcj1cImRhcmtcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX0NBTkNFTDwvaW9uLWxhYmVsPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgW2ZpbGxdPVwiZGlzYWJsZWQgPyAnY2xlYXInIDogJ3NvbGlkJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVmFsaWRhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9uVmFsaWRhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgY29sb3I9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICBbdGl0bGVdPVwiJ0NPTU1PTi5CVE5fVkFMSURBVEVfV0lUSF9TSE9SVENVVF9IRUxQJ3x0cmFuc2xhdGVcIj5cbiAgICAgICAgICA8aW9uLWxhYmVsIHRyYW5zbGF0ZT5DT01NT04uQlROX1ZBTElEQVRFPC9pb24tbGFiZWw+XG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgIDwvaW9uLWNvbD5cbiAgICA8L2lvbi1yb3c+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1mb290ZXI+XG4iXX0=
|
|
@@ -294,7 +294,7 @@ export class SettingsPage extends AppForm {
|
|
|
294
294
|
SettingsPage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SettingsPage, deps: [{ token: i0.Injector }, { token: i1.PlatformService }, { token: i2.NavController }, { token: i3.LocalSettingsValidatorService }, { token: i2.AlertController }, { token: i4.TranslateService }, { token: i5.UntypedFormBuilder }, { token: i6.AccountService }, { token: i7.LocalSettingsService }, { token: i0.ChangeDetectorRef }, { token: i8.NetworkService }, { token: APP_LOCALES }, { token: APP_SETTINGS_MENU_ITEMS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
295
295
|
SettingsPage.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SettingsPage, selector: "page-settings", providers: [
|
|
296
296
|
{ provide: ValidatorService, useExisting: LocalSettingsValidatorService },
|
|
297
|
-
], usesInheritance: true, ngImport: i0, template: "<app-toolbar [title]=\"'SETTINGS.TITLE'|translate\" color=\"primary\"\n [hasValidate]=\"dirty && !saving\"\n [hasClose]=\"!dirty && !saving\"\n (onValidate)=\"save($event)\"\n (onClose)=\"close($event)\">\n\n <ion-buttons slot=\"end\">\n <!-- options menu -->\n <ion-button [matMenuTriggerFor]=\"optionsMenu\"\n *ngIf=\"!saving\"\n [disabled]=\"saving\">\n <mat-icon slot=\"icon-only\">more_vert</mat-icon>\n </ion-button>\n </ion-buttons>\n</app-toolbar>\n\n<!-- Options menu -->\n<mat-menu #optionsMenu=\"matMenu\">\n <!-- Clear cache -->\n <button mat-menu-item (click)=\"clearCache($event)\">\n <mat-icon><ion-icon name=\"trash-outline\"></ion-icon></mat-icon>\n <ion-label translate>SETTINGS.BTN_CLEAR_CACHE</ion-label>\n </button>\n\n <!-- Reset -->\n <button mat-menu-item\n [disabled]=\"!dirty\"\n (click)=\"cancel($event)\">\n <mat-icon><ion-icon name=\"refresh\"></ion-icon></mat-icon>\n <mat-label translate>COMMON.BTN_RESET</mat-label>\n </button>\n\n <!-- additional items -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of menuItems\">\n <a *ngIf=\"item.path\"\n mat-menu-item\n class=\"{{item.cssClass}} {{item.color}}\"\n (click)=\"executeAction($event, item)\">\n <mat-icon *ngIf=\"item.icon\"><ion-icon [name]=\"item.icon\"></ion-icon></mat-icon>\n <mat-icon *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <mat-label translate>{{item.title}}</mat-label>\n </a>\n <!-- divider -->\n <mat-divider *ngIf=\"!item.path && !item.action\"\n class=\"{{item.cssClass}} {{item.color}}\">\n <mat-label translate>{{item.title}}</mat-label>\n </mat-divider>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ion-content>\n\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save($event)\" class=\"form-container\">\n\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n\n <!-- left margin -->\n <ion-col size=\"0\" size-lg=\"2\"> \n </ion-col>\n\n <ion-col class=\"ion-padding\">\n\n <!-- error -->\n <ion-item *ngIf=\"error\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <p [innerHTML]=\"'SETTINGS.DESCRIPTION'|translate\"></p>\n\n <!-- account inheritance (desktop) -->\n <mat-form-field [hidden]=\"!isLogin\" *ngIf=\"!mobile; else accountInheritanceMobile\">\n <input matInput hidden formControlName=\"accountInheritance\" type=\"text\">\n\n <!-- check box (if desktop) -->\n <mat-checkbox\n *ngIf=\"!mobile; else accountInheritanceMobile\"\n (change)=\"setAccountInheritance($event.checked)\"\n [checked]=\"accountInheritance\">\n <span translate>SETTINGS.INHERIT_FROM_ACCOUNT</span>\n </mat-checkbox>\n\n <mat-error *ngIf=\"form.controls.accountInheritance.hasError('required')\" translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n\n <!-- account inheritance (if mobile) -->\n <ng-template #accountInheritanceMobile>\n <mat-form-field [hidden]=\"!isLogin\">\n <input matInput hidden formControlName=\"accountInheritance\" type=\"text\">\n\n <!-- slide toggle -->\n <ion-text translate>SETTINGS.INHERIT_FROM_ACCOUNT</ion-text>\n <mat-slide-toggle matSuffix\n (change)=\"setAccountInheritance($event.checked)\"\n [checked]=\"accountInheritance\">\n\n </mat-slide-toggle>\n <mat-error *ngIf=\"form.controls.accountInheritance.hasError('required')\" translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <!-- locale -->\n <mat-form-field>\n <mat-select [placeholder]=\"'SETTINGS.LOCALE'|translate\" formControlName=\"locale\" required>\n <mat-option *ngFor=\"let item of locales\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"form.controls.locale.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Network entry -->\n <h3>\n <ion-text translate>SETTINGS.NETWORK_DIVIDER</ion-text>\n </h3>\n\n <!-- Peer address -->\n <mat-form-field>\n <input matInput type=\"text\" [placeholder]=\"'SETTINGS.PEER_URL'|translate\"\n formControlName=\"peerUrl\"\n required>\n\n <button mat-icon-button type=\"button\" matSuffix (click)=\"showSelectPeerModal()\" tabindex=\"-1\"\n [title]=\"'SETTINGS.BTN_CHANGE_PEER'|translate\">\n <mat-icon>search</mat-icon>\n </button>\n\n <mat-error *ngIf=\"form.controls.peerUrl.hasError('required')\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n <mat-error *ngIf=\"form.controls.peerUrl.hasError('peerAlive')\"\n translate>SETTINGS.ERROR.PEER_NOT_REACHABLE\n </mat-error>\n <mat-error *ngIf=\"form.controls.peerUrl.hasError('peerNotCompatible')\"\n translate>SETTINGS.ERROR.PEER_NOT_COMPATIBLE\n </mat-error>\n </mat-form-field>\n\n <!-- Offline mode (if mobile) -->\n <mat-form-field *ngIf=\"mobile\">\n <input matInput hidden formControlName=\"accountInheritance\" type=\"text\">\n\n <!-- slide toggle -->\n <ion-text translate>SETTINGS.OFFLINE_MODE</ion-text>\n <mat-slide-toggle matSuffix\n (change)=\"network.setForceOffline($event.checked)\"\n [checked]=\"network.offline\">\n\n </mat-slide-toggle>\n </mat-form-field>\n\n <!-- Data entry -->\n <h3>\n <ion-text translate>SETTINGS.DATA_ENTRY_DIVIDER</ion-text>\n </h3>\n\n <!-- Usage mode -->\n <mat-form-field>\n <mat-select [placeholder]=\"'SETTINGS.USAGE_MODE'|translate\" formControlName=\"usageMode\"\n required>\n <mat-option *ngFor=\"let item of usageModes\" [value]=\"item\">\n {{'SETTINGS.USAGE_MODES.'+item|translate}}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"form.controls.usageMode.hasError('required')\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n\n <!-- lat/long format-->\n <mat-form-field>\n <mat-select [placeholder]=\"'SETTINGS.LAT_LONG_FORMAT'|translate\" formControlName=\"latLongFormat\"\n required>\n <mat-option *ngFor=\"let item of latLongFormats\" [value]=\"item\">\n {{'COMMON.LAT_LONG.'+item+'_PLACEHOLDER'|translate}}\n </mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"form.controls.latLongFormat.hasError('required')\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n\n <!-- fields options -->\n <ion-grid formArrayName=\"properties\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding ion-align-self-end\" size=\"12\">\n <span class=\"toolbar-spacer\"></span>\n\n <!-- Show more options -->\n <ion-button color=\"light\" *ngIf=\"propertiesForm?.length === 0\"\n [title]=\"'SETTINGS.BTN_SHOW_MORE_HELP'|translate\"\n (click)=\"propertiesFormHelper.add()\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-col>\n </ion-row>\n\n <!-- Fields options -->\n <ng-container *ngFor=\"let propertyForm of propertiesForm?.controls; let i=index\">\n <ion-row class=\"ion-no-padding\" [formGroupName]=\"i\">\n\n <!-- property key -->\n <ion-col class=\"ion-no-padding\">\n <mat-form-field>\n <mat-select formControlName=\"key\"\n [placeholder]=\" 'SETTINGS.PROPERTY_KEY'|translate\">\n <mat-option *ngFor=\"let item of propertyDefinitions\" [value]=\"item.key\">{{ item.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <!-- property value -->\n <ion-col class=\"ion-no-padding\" padding-left>\n <app-form-field *ngIf=\"getPropertyDefinition(i); let definition\"\n floatLabel=\"never\"\n [definition]=\"definition\"\n [formControl]=\"propertyForm|formGetControl:'value'\"\n [placeholder]=\"'SETTINGS.PROPERTY_VALUE' | translate\"\n [required]=\"true\">\n </app-form-field>\n </ion-col>\n <ion-col size=\"2\" class=\"ion-no-padding\">\n <button type=\"button\" mat-icon-button color=\"light\"\n [disabled]=\"loading\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"removePropertyAt(i)\">\n <mat-icon>close</mat-icon>\n </button>\n <button *ngIf=\"propertiesFormHelper.isLast(i)\"\n type=\"button\"\n mat-icon-button\n color=\"light\"\n [disabled]=\"loading\"\n [title]=\"'SETTINGS.BTN_ADD_PROPERTY'|translate\"\n (click)=\"propertiesFormHelper.add()\">\n <mat-icon>add</mat-icon>\n </button>\n </ion-col>\n </ion-row>\n </ng-container>\n </ion-grid>\n </ion-col>\n\n <!-- right margin -->\n <ion-col size=\"0\" size-lg=\"2\"> \n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n </form>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <app-form-buttons-bar (onCancel)=\"cancel()\" (onSave)=\"save($event)\" [disabled]=\"!form.dirty || saving\"></app-form-buttons-bar>\n</ion-footer>\n", dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i5.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i10.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i18.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i19.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i20.ToolbarComponent, selector: "app-toolbar", inputs: ["progressBarMode", "title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "component", type: i21.AppFormField, selector: "app-form-field", inputs: ["definition", "required", "readonly", "disabled", "formControl", "formControlName", "placeholder", "compact", "floatLabel", "tabindex", "autofocus", "clearable", "chipColor", "debug", "class"], outputs: ["keyup.enter"] }, { kind: "component", type: i22.FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: ["disabled", "disabledCancel", "classList"], outputs: ["onCancel", "onSave", "onNext", "onBack"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i23.FormGetControlPipe, name: "formGetControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
297
|
+
], usesInheritance: true, ngImport: i0, template: "<app-toolbar [title]=\"'SETTINGS.TITLE'|translate\" color=\"primary\"\n [hasValidate]=\"dirty && !saving\"\n [hasClose]=\"!dirty && !saving\"\n (onValidate)=\"save($event)\"\n (onClose)=\"close($event)\">\n\n <ion-buttons slot=\"end\">\n <!-- options menu -->\n <ion-button [matMenuTriggerFor]=\"optionsMenu\"\n *ngIf=\"!saving\"\n [disabled]=\"saving\">\n <mat-icon slot=\"icon-only\">more_vert</mat-icon>\n </ion-button>\n </ion-buttons>\n</app-toolbar>\n\n<!-- Options menu -->\n<mat-menu #optionsMenu=\"matMenu\">\n <!-- Clear cache -->\n <button mat-menu-item (click)=\"clearCache($event)\">\n <mat-icon><ion-icon name=\"trash-outline\"></ion-icon></mat-icon>\n <ion-label translate>SETTINGS.BTN_CLEAR_CACHE</ion-label>\n </button>\n\n <!-- Reset -->\n <button mat-menu-item\n [disabled]=\"!dirty\"\n (click)=\"cancel($event)\">\n <mat-icon><ion-icon name=\"refresh\"></ion-icon></mat-icon>\n <mat-label translate>COMMON.BTN_RESET</mat-label>\n </button>\n\n <!-- additional items -->\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of menuItems\">\n <a *ngIf=\"item.path\"\n mat-menu-item\n class=\"{{item.cssClass}} {{item.color}}\"\n (click)=\"executeAction($event, item)\">\n <mat-icon *ngIf=\"item.icon\"><ion-icon [name]=\"item.icon\"></ion-icon></mat-icon>\n <mat-icon *ngIf=\"item.matIcon\">{{item.matIcon}}</mat-icon>\n <mat-label translate>{{item.title}}</mat-label>\n </a>\n <!-- divider -->\n <mat-divider *ngIf=\"!item.path && !item.action\"\n class=\"{{item.cssClass}} {{item.color}}\">\n <mat-label translate>{{item.title}}</mat-label>\n </mat-divider>\n </ng-container>\n </ng-container>\n</mat-menu>\n\n<ion-content>\n\n <form [formGroup]=\"form\" novalidate (ngSubmit)=\"save($event)\" class=\"form-container\">\n\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n\n <!-- left margin -->\n <ion-col size=\"0\" size-lg=\"2\"> \n </ion-col>\n\n <ion-col class=\"ion-padding\">\n\n <!-- error -->\n <ion-item *ngIf=\"error\" lines=\"none\">\n <ion-icon color=\"danger\" slot=\"start\" name=\"alert-circle\"></ion-icon>\n <ion-label color=\"danger\" class=\"error\" [innerHTML]=\"error|translate\"></ion-label>\n </ion-item>\n\n <p [innerHTML]=\"'SETTINGS.DESCRIPTION'|translate\"></p>\n\n <!-- account inheritance (desktop) -->\n <mat-form-field [hidden]=\"!isLogin\" *ngIf=\"!mobile; else accountInheritanceMobile\">\n <input matInput hidden formControlName=\"accountInheritance\" type=\"text\">\n\n <!-- check box (if desktop) -->\n <mat-checkbox\n *ngIf=\"!mobile; else accountInheritanceMobile\"\n (change)=\"setAccountInheritance($event.checked)\"\n [checked]=\"accountInheritance\">\n <span translate>SETTINGS.INHERIT_FROM_ACCOUNT</span>\n </mat-checkbox>\n\n <mat-error *ngIf=\"form.controls.accountInheritance.hasError('required')\" translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n\n <!-- account inheritance (if mobile) -->\n <ng-template #accountInheritanceMobile>\n <mat-form-field [hidden]=\"!isLogin\">\n <input matInput hidden formControlName=\"accountInheritance\" type=\"text\">\n\n <!-- slide toggle -->\n <ion-text translate>SETTINGS.INHERIT_FROM_ACCOUNT</ion-text>\n <mat-slide-toggle matSuffix\n (change)=\"setAccountInheritance($event.checked)\"\n [checked]=\"accountInheritance\">\n\n </mat-slide-toggle>\n <mat-error *ngIf=\"form.controls.accountInheritance.hasError('required')\" translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n </ng-template>\n\n <!-- locale -->\n <mat-form-field>\n <mat-select [placeholder]=\"'SETTINGS.LOCALE'|translate\" formControlName=\"locale\" required>\n <mat-option *ngFor=\"let item of locales\" [value]=\"item.key\">\n {{item.value}}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"form.controls.locale.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Network entry -->\n <h3>\n <ion-text translate>SETTINGS.NETWORK_DIVIDER</ion-text>\n </h3>\n\n <!-- Peer address -->\n <mat-form-field>\n <input matInput type=\"text\" [placeholder]=\"'SETTINGS.PEER_URL'|translate\"\n formControlName=\"peerUrl\"\n required>\n\n <button mat-icon-button type=\"button\" matSuffix (click)=\"showSelectPeerModal()\" tabindex=\"-1\"\n [title]=\"'SETTINGS.BTN_CHANGE_PEER'|translate\">\n <mat-icon>search</mat-icon>\n </button>\n\n <mat-error *ngIf=\"form.controls.peerUrl.hasError('required')\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n <mat-error *ngIf=\"form.controls.peerUrl.hasError('peerAlive')\"\n translate>SETTINGS.ERROR.PEER_NOT_REACHABLE\n </mat-error>\n <mat-error *ngIf=\"form.controls.peerUrl.hasError('peerNotCompatible')\"\n translate>SETTINGS.ERROR.PEER_NOT_COMPATIBLE\n </mat-error>\n </mat-form-field>\n\n <!-- Offline mode (if mobile) -->\n <mat-form-field *ngIf=\"mobile\">\n <input matInput hidden formControlName=\"accountInheritance\" type=\"text\">\n\n <!-- slide toggle -->\n <ion-text translate>SETTINGS.OFFLINE_MODE</ion-text>\n <mat-slide-toggle matSuffix\n (change)=\"network.setForceOffline($event.checked)\"\n [checked]=\"network.offline\">\n\n </mat-slide-toggle>\n </mat-form-field>\n\n <!-- Data entry -->\n <h3>\n <ion-text translate>SETTINGS.DATA_ENTRY_DIVIDER</ion-text>\n </h3>\n\n <!-- Usage mode -->\n <mat-form-field>\n <mat-select [placeholder]=\"'SETTINGS.USAGE_MODE'|translate\" formControlName=\"usageMode\"\n required>\n <mat-option *ngFor=\"let item of usageModes\" [value]=\"item\">\n {{'SETTINGS.USAGE_MODES.'+item|translate}}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"form.controls.usageMode.hasError('required')\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n\n <!-- lat/long format-->\n <mat-form-field>\n <mat-select [placeholder]=\"'SETTINGS.LAT_LONG_FORMAT'|translate\" formControlName=\"latLongFormat\"\n required>\n <mat-option *ngFor=\"let item of latLongFormats\" [value]=\"item\">\n {{'COMMON.LAT_LONG.'+item+'_PLACEHOLDER'|translate}}\n </mat-option>\n </mat-select>\n <mat-error\n *ngIf=\"form.controls.latLongFormat.hasError('required')\"\n translate>ERROR.FIELD_REQUIRED\n </mat-error>\n </mat-form-field>\n\n <!-- fields options -->\n <ion-grid formArrayName=\"properties\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding ion-align-self-end\" size=\"12\">\n <span class=\"toolbar-spacer\"></span>\n\n <!-- Show more options -->\n <ion-button color=\"light\" *ngIf=\"propertiesForm?.length === 0\"\n [title]=\"'SETTINGS.BTN_SHOW_MORE_HELP'|translate\"\n (click)=\"propertiesFormHelper.add()\">\n <ion-label translate>COMMON.BTN_SHOW_MORE</ion-label>\n <mat-icon slot=\"end\">arrow_drop_down</mat-icon>\n </ion-button>\n </ion-col>\n </ion-row>\n\n <!-- Fields options -->\n <ng-container *ngFor=\"let propertyForm of propertiesForm?.controls; let i=index\">\n <ion-row class=\"ion-no-padding\" [formGroupName]=\"i\">\n\n <!-- property key -->\n <ion-col class=\"ion-no-padding\">\n <mat-form-field>\n <mat-select formControlName=\"key\"\n [placeholder]=\" 'SETTINGS.PROPERTY_KEY'|translate\">\n <mat-option *ngFor=\"let item of propertyDefinitions\" [value]=\"item.key\">{{ item.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </ion-col>\n\n <!-- property value -->\n <ion-col class=\"ion-no-padding\" padding-left>\n <app-form-field *ngIf=\"getPropertyDefinition(i); let definition\"\n floatLabel=\"never\"\n [definition]=\"definition\"\n [formControl]=\"propertyForm|formGetControl:'value'\"\n [placeholder]=\"'SETTINGS.PROPERTY_VALUE' | translate\"\n [required]=\"true\">\n </app-form-field>\n </ion-col>\n <ion-col size=\"2\" class=\"ion-no-padding\">\n <button type=\"button\" mat-icon-button color=\"light\"\n [disabled]=\"loading\"\n [title]=\"'COMMON.BTN_DELETE'|translate\"\n (click)=\"removePropertyAt(i)\">\n <mat-icon>close</mat-icon>\n </button>\n <button *ngIf=\"propertiesFormHelper.isLast(i)\"\n type=\"button\"\n mat-icon-button\n color=\"light\"\n [disabled]=\"loading\"\n [title]=\"'SETTINGS.BTN_ADD_PROPERTY'|translate\"\n (click)=\"propertiesFormHelper.add()\">\n <mat-icon>add</mat-icon>\n </button>\n </ion-col>\n </ion-row>\n </ng-container>\n </ion-grid>\n </ion-col>\n\n <!-- right margin -->\n <ion-col size=\"0\" size-lg=\"2\"> \n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n </form>\n</ion-content>\n\n<ion-footer hidden-xs hidden-sm hidden-mobile>\n <app-form-buttons-bar (onCancel)=\"cancel()\" (onSave)=\"save($event)\" [disabled]=\"!form.dirty || saving\"></app-form-buttons-bar>\n</ion-footer>\n", dependencies: [{ kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { kind: "component", type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i2.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonRow, selector: "ion-row" }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i5.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i10.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i13.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i14.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i18.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i19.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i20.ToolbarComponent, selector: "app-toolbar", inputs: ["progressBarMode", "title", "color", "class", "backHref", "defaultBackHref", "hasValidate", "hasClose", "hasSearch", "canGoBack", "canShowMenu"], outputs: ["onValidate", "onClose", "onValidateAndClose", "onBackClick", "onSearch"] }, { kind: "component", type: i21.AppFormField, selector: "app-form-field", inputs: ["definition", "required", "readonly", "disabled", "formControl", "formControlName", "placeholder", "compact", "floatLabel", "tabindex", "autofocus", "clearable", "chipColor", "debug", "class"], outputs: ["keyup.enter"] }, { kind: "component", type: i22.FormButtonsBarComponent, selector: "app-form-buttons-bar", inputs: ["disabled", "disabledCancel", "classList", "saveButtonColor", "backText", "cancelText", "nextText", "showBack", "showCancel", "showNext", "showSave", "showSaveAndClose", "showSaveAndNext"], outputs: ["onCancel", "onSave", "onNext", "onBack", "onSaveAndClose", "onSaveAndNext"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i23.FormGetControlPipe, name: "formGetControl" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
298
298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SettingsPage, decorators: [{
|
|
299
299
|
type: Component,
|
|
300
300
|
args: [{ selector: 'page-settings', providers: [
|