@firestitch/form 14.0.2 → 16.0.0
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/app/components/confirm-unsaved/confirm-unsaved.component.d.ts +21 -21
- package/app/components/confirm-unsaved/index.d.ts +1 -1
- package/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +22 -22
- package/app/components/form-dialog-actions/index.d.ts +1 -1
- package/app/components/form-template/form-template.component.d.ts +13 -13
- package/app/components/form-template/index.d.ts +1 -1
- package/app/components/form-template-outlet/form-template-outlet.component.d.ts +13 -13
- package/app/components/form-template-outlet/index.d.ts +1 -1
- package/app/components/index.d.ts +4 -4
- package/app/consts/error-messages.const.d.ts +21 -21
- package/app/directives/button.directive.d.ts +35 -35
- package/app/directives/form/form.directive.d.ts +122 -122
- package/app/directives/form/index.d.ts +1 -1
- package/app/directives/form-dialog-close.directive.d.ts +16 -16
- package/app/directives/form-template.directive.d.ts +10 -10
- package/app/directives/index.d.ts +6 -6
- package/app/directives/submit-button.directive.d.ts +6 -6
- package/app/directives/validators/compare.directive.d.ts +15 -15
- package/app/directives/validators/control.directive.d.ts +49 -49
- package/app/directives/validators/daterange.directive.d.ts +13 -13
- package/app/directives/validators/email.directive.d.ts +13 -13
- package/app/directives/validators/emails.directive.d.ts +13 -13
- package/app/directives/validators/function.directive.d.ts +15 -15
- package/app/directives/validators/greater-equal.directive.d.ts +13 -13
- package/app/directives/validators/greater.directive.d.ts +13 -13
- package/app/directives/validators/index.d.ts +22 -22
- package/app/directives/validators/integer.directive.d.ts +13 -13
- package/app/directives/validators/lesser-equal.directive.d.ts +13 -13
- package/app/directives/validators/lesser.directive.d.ts +13 -13
- package/app/directives/validators/max.directive.d.ts +13 -13
- package/app/directives/validators/maxlength.directive.d.ts +13 -13
- package/app/directives/validators/min.directive.d.ts +13 -13
- package/app/directives/validators/minlength.directive.d.ts +13 -13
- package/app/directives/validators/no-fs-validators.directive.d.ts +14 -14
- package/app/directives/validators/numeric.directive.d.ts +13 -13
- package/app/directives/validators/pattern.directive.d.ts +13 -13
- package/app/directives/validators/phone.directive.d.ts +13 -13
- package/app/directives/validators/required.directive.d.ts +16 -16
- package/app/directives/validators/url.directive.d.ts +14 -14
- package/app/directives/validators/validate.directive.d.ts +15 -15
- package/app/enums/confirm-result.d.ts +7 -7
- package/app/enums/form-status.d.ts +10 -10
- package/app/enums/index.d.ts +2 -2
- package/app/fs-form.module.d.ts +44 -44
- package/app/guards/form-deactivate.guard.d.ts +12 -12
- package/app/helpers/confirm-result-continue.d.ts +1 -1
- package/app/helpers/get-active-route.d.ts +2 -2
- package/app/helpers/get-form-errors.d.ts +2 -2
- package/app/helpers/index.d.ts +1 -1
- package/app/helpers/is-enabled.d.ts +1 -1
- package/app/interfaces/async-validator.d.ts +14 -14
- package/app/interfaces/confirm-config.d.ts +7 -7
- package/app/interfaces/confirm-tab-group.d.ts +10 -10
- package/app/interfaces/index.d.ts +4 -4
- package/app/interfaces/submit-event.d.ts +6 -6
- package/app/interfaces/submitted-event.d.ts +7 -7
- package/app/interfaces/validator.d.ts +13 -13
- package/app/providers/validate-messages.provider.d.ts +27 -27
- package/app/services/fsform.service.d.ts +20 -20
- package/app/validators/validators.d.ts +12 -12
- package/esm2022/app/components/confirm-unsaved/confirm-unsaved.component.mjs +51 -0
- package/{esm2020 → esm2022}/app/components/confirm-unsaved/index.mjs +1 -1
- package/esm2022/app/components/form-dialog-actions/form-dialog-actions.component.mjs +79 -0
- package/{esm2020 → esm2022}/app/components/form-dialog-actions/index.mjs +1 -1
- package/esm2022/app/components/form-template/form-template.component.mjs +34 -0
- package/{esm2020 → esm2022}/app/components/form-template/index.mjs +2 -2
- package/esm2022/app/components/form-template-outlet/form-template-outlet.component.mjs +32 -0
- package/{esm2020 → esm2022}/app/components/form-template-outlet/index.mjs +2 -2
- package/{esm2020 → esm2022}/app/components/index.mjs +4 -4
- package/{esm2020 → esm2022}/app/consts/error-messages.const.mjs +21 -21
- package/esm2022/app/directives/button.directive.mjs +172 -0
- package/esm2022/app/directives/form/form.directive.mjs +702 -0
- package/{esm2020 → esm2022}/app/directives/form/index.mjs +1 -1
- package/esm2022/app/directives/form-dialog-close.directive.mjs +57 -0
- package/esm2022/app/directives/form-template.directive.mjs +21 -0
- package/{esm2020 → esm2022}/app/directives/index.mjs +6 -6
- package/{esm2020 → esm2022}/app/directives/submit-button.directive.mjs +14 -14
- package/esm2022/app/directives/validators/compare.directive.mjs +48 -0
- package/esm2022/app/directives/validators/control.directive.mjs +269 -0
- package/esm2022/app/directives/validators/daterange.directive.mjs +42 -0
- package/esm2022/app/directives/validators/email.directive.mjs +42 -0
- package/esm2022/app/directives/validators/emails.directive.mjs +42 -0
- package/esm2022/app/directives/validators/function.directive.mjs +40 -0
- package/esm2022/app/directives/validators/greater-equal.directive.mjs +41 -0
- package/esm2022/app/directives/validators/greater.directive.mjs +41 -0
- package/{esm2020 → esm2022}/app/directives/validators/index.mjs +22 -22
- package/esm2022/app/directives/validators/integer.directive.mjs +40 -0
- package/esm2022/app/directives/validators/lesser-equal.directive.mjs +41 -0
- package/esm2022/app/directives/validators/lesser.directive.mjs +41 -0
- package/esm2022/app/directives/validators/max.directive.mjs +37 -0
- package/esm2022/app/directives/validators/maxlength.directive.mjs +36 -0
- package/esm2022/app/directives/validators/min.directive.mjs +37 -0
- package/esm2022/app/directives/validators/minlength.directive.mjs +36 -0
- package/{esm2020 → esm2022}/app/directives/validators/no-fs-validators.directive.mjs +53 -53
- package/esm2022/app/directives/validators/numeric.directive.mjs +42 -0
- package/esm2022/app/directives/validators/pattern.directive.mjs +36 -0
- package/esm2022/app/directives/validators/phone.directive.mjs +42 -0
- package/esm2022/app/directives/validators/required.directive.mjs +66 -0
- package/esm2022/app/directives/validators/url.directive.mjs +43 -0
- package/esm2022/app/directives/validators/validate.directive.mjs +42 -0
- package/{esm2020 → esm2022}/app/enums/confirm-result.mjs +8 -8
- package/{esm2020 → esm2022}/app/enums/form-status.mjs +11 -11
- package/{esm2020 → esm2022}/app/enums/index.mjs +2 -2
- package/esm2022/app/fs-form.module.mjs +209 -0
- package/esm2022/app/guards/form-deactivate.guard.mjs +44 -0
- package/{esm2020 → esm2022}/app/helpers/confirm-result-continue.mjs +4 -4
- package/{esm2020 → esm2022}/app/helpers/get-active-route.mjs +6 -6
- package/{esm2020 → esm2022}/app/helpers/get-form-errors.mjs +24 -24
- package/{esm2020 → esm2022}/app/helpers/index.mjs +1 -1
- package/{esm2020 → esm2022}/app/helpers/is-enabled.mjs +3 -3
- package/{esm2020 → esm2022}/app/interfaces/async-validator.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/confirm-config.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/confirm-tab-group.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/index.mjs +4 -4
- package/{esm2020 → esm2022}/app/interfaces/submit-event.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/submitted-event.mjs +1 -1
- package/{esm2020 → esm2022}/app/interfaces/validator.mjs +1 -1
- package/{esm2020 → esm2022}/app/providers/validate-messages.provider.mjs +10 -10
- package/esm2022/app/services/fsform.service.mjs +94 -0
- package/{esm2020 → esm2022}/app/validators/validators.mjs +92 -92
- package/{esm2020 → esm2022}/firestitch-form.mjs +4 -4
- package/{esm2020 → esm2022}/public_api.mjs +36 -36
- package/{fesm2020 → fesm2022}/firestitch-form.mjs +2497 -2434
- package/fesm2022/firestitch-form.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/package.json +5 -11
- package/public_api.d.ts +34 -34
- package/esm2020/app/components/confirm-unsaved/confirm-unsaved.component.mjs +0 -44
- package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +0 -75
- package/esm2020/app/components/form-template/form-template.component.mjs +0 -31
- package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +0 -30
- package/esm2020/app/directives/button.directive.mjs +0 -166
- package/esm2020/app/directives/form/form.directive.mjs +0 -689
- package/esm2020/app/directives/form-dialog-close.directive.mjs +0 -54
- package/esm2020/app/directives/form-template.directive.mjs +0 -20
- package/esm2020/app/directives/validators/compare.directive.mjs +0 -47
- package/esm2020/app/directives/validators/control.directive.mjs +0 -258
- package/esm2020/app/directives/validators/daterange.directive.mjs +0 -41
- package/esm2020/app/directives/validators/email.directive.mjs +0 -41
- package/esm2020/app/directives/validators/emails.directive.mjs +0 -41
- package/esm2020/app/directives/validators/function.directive.mjs +0 -41
- package/esm2020/app/directives/validators/greater-equal.directive.mjs +0 -40
- package/esm2020/app/directives/validators/greater.directive.mjs +0 -40
- package/esm2020/app/directives/validators/integer.directive.mjs +0 -39
- package/esm2020/app/directives/validators/lesser-equal.directive.mjs +0 -40
- package/esm2020/app/directives/validators/lesser.directive.mjs +0 -40
- package/esm2020/app/directives/validators/max.directive.mjs +0 -36
- package/esm2020/app/directives/validators/maxlength.directive.mjs +0 -35
- package/esm2020/app/directives/validators/min.directive.mjs +0 -36
- package/esm2020/app/directives/validators/minlength.directive.mjs +0 -35
- package/esm2020/app/directives/validators/numeric.directive.mjs +0 -41
- package/esm2020/app/directives/validators/pattern.directive.mjs +0 -35
- package/esm2020/app/directives/validators/phone.directive.mjs +0 -41
- package/esm2020/app/directives/validators/required.directive.mjs +0 -69
- package/esm2020/app/directives/validators/url.directive.mjs +0 -45
- package/esm2020/app/directives/validators/validate.directive.mjs +0 -43
- package/esm2020/app/fs-form.module.mjs +0 -209
- package/esm2020/app/guards/form-deactivate.guard.mjs +0 -42
- package/esm2020/app/services/fsform.service.mjs +0 -92
- package/fesm2015/firestitch-form.mjs +0 -2579
- package/fesm2015/firestitch-form.mjs.map +0 -1
- package/fesm2020/firestitch-form.mjs.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { AbstractControl, ValidationErrors } from '@angular/forms';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
export declare class FsValidators {
|
|
4
|
-
static email(control: AbstractControl): ValidationErrors | null;
|
|
5
|
-
static emails(control: AbstractControl): ValidationErrors | null;
|
|
6
|
-
static numeric(control: AbstractControl): ValidationErrors | null;
|
|
7
|
-
static integer(control: AbstractControl): ValidationErrors | null;
|
|
8
|
-
static phone(control: AbstractControl): ValidationErrors | null;
|
|
9
|
-
static url(control: AbstractControl, protocolRequired?: boolean): ValidationErrors | null;
|
|
10
|
-
static dateRange(control: AbstractControl): ValidationErrors | null;
|
|
11
|
-
static func(control: AbstractControl, formFunction: any, data: any): Observable<any>;
|
|
12
|
-
}
|
|
1
|
+
import { AbstractControl, ValidationErrors } from '@angular/forms';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export declare class FsValidators {
|
|
4
|
+
static email(control: AbstractControl): ValidationErrors | null;
|
|
5
|
+
static emails(control: AbstractControl): ValidationErrors | null;
|
|
6
|
+
static numeric(control: AbstractControl): ValidationErrors | null;
|
|
7
|
+
static integer(control: AbstractControl): ValidationErrors | null;
|
|
8
|
+
static phone(control: AbstractControl): ValidationErrors | null;
|
|
9
|
+
static url(control: AbstractControl, protocolRequired?: boolean): ValidationErrors | null;
|
|
10
|
+
static dateRange(control: AbstractControl): ValidationErrors | null;
|
|
11
|
+
static func(control: AbstractControl, formFunction: any, data: any): Observable<any>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
import * as i2 from "@angular/material/button";
|
|
7
|
+
import * as i3 from "@firestitch/dialog";
|
|
8
|
+
export class ConfirmUnsavedComponent {
|
|
9
|
+
_data;
|
|
10
|
+
_dialogRef;
|
|
11
|
+
saveLabel;
|
|
12
|
+
discardLabel;
|
|
13
|
+
cancelLabel;
|
|
14
|
+
message;
|
|
15
|
+
title;
|
|
16
|
+
_destroy$ = new Subject();
|
|
17
|
+
constructor(_data, _dialogRef) {
|
|
18
|
+
this._data = _data;
|
|
19
|
+
this._dialogRef = _dialogRef;
|
|
20
|
+
}
|
|
21
|
+
ngOnInit() {
|
|
22
|
+
this.saveLabel = this._data.saveLabel;
|
|
23
|
+
this.discardLabel = this._data.discardLabel;
|
|
24
|
+
this.cancelLabel = this._data.cancelLabel;
|
|
25
|
+
this.message = this._data.message;
|
|
26
|
+
this.title = this._data.title;
|
|
27
|
+
}
|
|
28
|
+
save() {
|
|
29
|
+
this._dialogRef.close('save');
|
|
30
|
+
}
|
|
31
|
+
discard() {
|
|
32
|
+
this._dialogRef.close('discard');
|
|
33
|
+
}
|
|
34
|
+
cancel() {
|
|
35
|
+
this._dialogRef.close(null);
|
|
36
|
+
}
|
|
37
|
+
ngOnDestroy() {
|
|
38
|
+
this._destroy$.next();
|
|
39
|
+
this._destroy$.complete();
|
|
40
|
+
}
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmUnsavedComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfirmUnsavedComponent, selector: "ng-component", ngImport: i0, template: "<fs-dialog>\n <h1 mat-dialog-title>{{title}}</h1>\n <mat-dialog-content>\n {{message}}\n </mat-dialog-content> \n <mat-dialog-actions>\n <button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n fsFormButtonStandalone\n mat-button>\n {{saveLabel}}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n fsFormButtonStandalone\n mat-button>\n {{discardLabel}}\n </button> \n <button\n type=\"button\"\n (click)=\"cancel()\"\n fsFormButtonStandalone\n mat-button>\n {{cancelLabel}}\n </button> \n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.FsDialogComponent, selector: "fs-dialog", inputs: ["mobileMode", "mobileButtonPlacement", "mobileWidth", "mode", "buttonLayout", "dock", "dockable", "fullscreenPercent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmUnsavedComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-dialog>\n <h1 mat-dialog-title>{{title}}</h1>\n <mat-dialog-content>\n {{message}}\n </mat-dialog-content> \n <mat-dialog-actions>\n <button\n type=\"button\"\n color=\"primary\"\n (click)=\"save()\"\n fsFormButtonStandalone\n mat-button>\n {{saveLabel}}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n fsFormButtonStandalone\n mat-button>\n {{discardLabel}}\n </button> \n <button\n type=\"button\"\n (click)=\"cancel()\"\n fsFormButtonStandalone\n mat-button>\n {{cancelLabel}}\n </button> \n </mat-dialog-actions>\n</fs-dialog>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"] }]
|
|
47
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [MAT_DIALOG_DATA]
|
|
50
|
+
}] }, { type: i1.MatDialogRef }]; } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb25maXJtLXVuc2F2ZWQvY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb25maXJtLXVuc2F2ZWQvY29uZmlybS11bnNhdmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUS9CLE1BQU0sT0FBTyx1QkFBdUI7SUFXQztJQUN6QjtJQVZILFNBQVMsQ0FBQztJQUNWLFlBQVksQ0FBQztJQUNiLFdBQVcsQ0FBQztJQUNaLE9BQU8sQ0FBQztJQUNSLEtBQUssQ0FBQztJQUVMLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQ21DLEtBQVUsRUFDbkMsVUFBaUQ7UUFEeEIsVUFBSyxHQUFMLEtBQUssQ0FBSztRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUF1QztJQUN4RCxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt3R0F0Q1UsdUJBQXVCLGtCQVd4QixlQUFlOzRGQVhkLHVCQUF1QixvRENacEMscXJCQThCQTs7NEZEbEJhLHVCQUF1QjtrQkFMbkMsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0tdW5zYXZlZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0tdW5zYXZlZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybVVuc2F2ZWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIHNhdmVMYWJlbDtcbiAgcHVibGljIGRpc2NhcmRMYWJlbDtcbiAgcHVibGljIGNhbmNlbExhYmVsO1xuICBwdWJsaWMgbWVzc2FnZTtcbiAgcHVibGljIHRpdGxlO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwcml2YXRlIF9kYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29uZmlybVVuc2F2ZWRDb21wb25lbnQ+LFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUxhYmVsID0gdGhpcy5fZGF0YS5zYXZlTGFiZWw7XG4gICAgdGhpcy5kaXNjYXJkTGFiZWwgPSB0aGlzLl9kYXRhLmRpc2NhcmRMYWJlbDtcbiAgICB0aGlzLmNhbmNlbExhYmVsID0gdGhpcy5fZGF0YS5jYW5jZWxMYWJlbDtcbiAgICB0aGlzLm1lc3NhZ2UgPSB0aGlzLl9kYXRhLm1lc3NhZ2U7XG4gICAgdGhpcy50aXRsZSA9IHRoaXMuX2RhdGEudGl0bGU7XG4gIH1cblxuICBwdWJsaWMgc2F2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoJ3NhdmUnKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNjYXJkKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgnZGlzY2FyZCcpO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxmcy1kaWFsb2c+XG4gIDxoMSBtYXQtZGlhbG9nLXRpdGxlPnt7dGl0bGV9fTwvaDE+XG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAge3ttZXNzYWdlfX1cbiAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+ICBcbiAgPG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwic2F2ZSgpXCJcbiAgICAgICAgZnNGb3JtQnV0dG9uU3RhbmRhbG9uZVxuICAgICAgICBtYXQtYnV0dG9uPlxuICAgICAge3tzYXZlTGFiZWx9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJkaXNjYXJkKClcIlxuICAgICAgICBmc0Zvcm1CdXR0b25TdGFuZGFsb25lXG4gICAgICAgIG1hdC1idXR0b24+XG4gICAgICB7e2Rpc2NhcmRMYWJlbH19XG4gICAgPC9idXR0b24+ICBcbiAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxuICAgICAgICBmc0Zvcm1CdXR0b25TdGFuZGFsb25lXG4gICAgICAgIG1hdC1idXR0b24+XG4gICAgICB7e2NhbmNlbExhYmVsfX1cbiAgICA8L2J1dHRvbj4gICAgXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuPC9mcy1kaWFsb2c+XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './confirm-unsaved.component';
|
|
1
|
+
export * from './confirm-unsaved.component';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY29uZmlybS11bnNhdmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpcm0tdW5zYXZlZC5jb21wb25lbnQnO1xuXG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional } from '@angular/core';
|
|
2
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { delay, filter, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { FsFormDirective } from '../../directives/form/form.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../directives/form/form.directive";
|
|
8
|
+
import * as i2 from "@angular/material/dialog";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "@angular/material/button";
|
|
11
|
+
import * as i5 from "../../directives/form-dialog-close.directive";
|
|
12
|
+
import * as i6 from "../../directives/button.directive";
|
|
13
|
+
export class FsFormDialogActionsComponent {
|
|
14
|
+
_form;
|
|
15
|
+
_dialogRef;
|
|
16
|
+
_cdRef;
|
|
17
|
+
save = true;
|
|
18
|
+
create = false;
|
|
19
|
+
close = false;
|
|
20
|
+
done = false;
|
|
21
|
+
closeData = null;
|
|
22
|
+
name;
|
|
23
|
+
dirty = false;
|
|
24
|
+
_destroy$ = new Subject();
|
|
25
|
+
constructor(_form, _dialogRef, _cdRef) {
|
|
26
|
+
this._form = _form;
|
|
27
|
+
this._dialogRef = _dialogRef;
|
|
28
|
+
this._cdRef = _cdRef;
|
|
29
|
+
}
|
|
30
|
+
ngOnInit() {
|
|
31
|
+
if (this._form) {
|
|
32
|
+
this._form.ngForm.valueChanges
|
|
33
|
+
.pipe(filter(() => (!this.dirty)), takeUntil(this._destroy$))
|
|
34
|
+
.subscribe(() => {
|
|
35
|
+
this.dirty = this._form.ngForm.dirty;
|
|
36
|
+
this._cdRef.markForCheck();
|
|
37
|
+
});
|
|
38
|
+
this._form.submitted
|
|
39
|
+
.pipe(delay(50), takeUntil(this._destroy$))
|
|
40
|
+
.subscribe(() => {
|
|
41
|
+
this.dirty = false;
|
|
42
|
+
this._cdRef.markForCheck();
|
|
43
|
+
});
|
|
44
|
+
this._form.reseted
|
|
45
|
+
.pipe(takeUntil(this._destroy$))
|
|
46
|
+
.subscribe(() => {
|
|
47
|
+
this.dirty = false;
|
|
48
|
+
this._cdRef.markForCheck();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
ngOnDestroy() {
|
|
53
|
+
this._destroy$.next();
|
|
54
|
+
this._destroy$.complete();
|
|
55
|
+
}
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: i1.FsFormDirective, optional: true }, { token: i2.MatDialogRef, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div class=\"form-buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save || create\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"close-button cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i5.FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }, { kind: "directive", type: i6.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save || create\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n class=\"close-button cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n class=\"close-button\"\n fsFormDialogClose\n [closeData]=\"closeData\"\n [color]=\"dirty ? 'basic' : 'primary'\">\n Close\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"] }]
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.FsFormDirective, decorators: [{
|
|
63
|
+
type: Optional
|
|
64
|
+
}] }, { type: i2.MatDialogRef, decorators: [{
|
|
65
|
+
type: Optional
|
|
66
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { save: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], create: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], close: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], done: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}], closeData: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], name: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}] } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS1kaWFsb2ctYWN0aW9ucy9mb3JtLWRpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBU3ZFLE1BQU0sT0FBTyw0QkFBNEI7SUFjakI7SUFDQTtJQUNaO0lBZE0sSUFBSSxHQUFHLElBQUksQ0FBQztJQUNaLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDZixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNiLFNBQVMsR0FBRyxJQUFJLENBQUM7SUFDakIsSUFBSSxDQUFTO0lBRXRCLEtBQUssR0FBRyxLQUFLLENBQUM7SUFFYixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV4QyxZQUNzQixLQUFzQixFQUN0QixVQUE2QixFQUN6QyxNQUF5QjtRQUZiLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQ3pDLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQ2hDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBRyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWTtpQkFDM0IsSUFBSSxDQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2lCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFFTCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVM7aUJBQ2pCLElBQUksQ0FDSCxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQ1QsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTztpQkFDZixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBdkRVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLDhLQ2hCekMsMjBDQXFEQTs7NEZEckNhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07OzBCQWdCNUMsUUFBUTs7MEJBQ1IsUUFBUTs0RUFiSyxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtZm9ybS1kaWFsb2ctYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzYXZlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JlYXRlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRvbmUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VEYXRhID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgZGlydHkgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybTogRnNGb3JtRGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcclxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgICBcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuX2Zvcm0pIHtcclxuICAgICAgdGhpcy5fZm9ybS5uZ0Zvcm0udmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUoICBcclxuICAgICAgICAgIGZpbHRlcigoKSA9PiAoIXRoaXMuZGlydHkpKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kaXJ0eSA9IHRoaXMuX2Zvcm0ubmdGb3JtLmRpcnR5O1xyXG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9mb3JtLnN1Ym1pdHRlZFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZGVsYXkoNTApLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX2Zvcm0ucmVzZXRlZFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbnNcIiBbbmdDbGFzc109XCJ7ICdzYXZlLWNyZWF0ZSc6IHNhdmUgfHwgY3JlYXRlIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNhdmUgfHwgY3JlYXRlXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbbmFtZV09XCJuYW1lXCI+XG4gICAgICB7e2NyZWF0ZSA/ICdDcmVhdGUnIDogJ1NhdmUnfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2UtYnV0dG9uIGNhbmNlbC1idXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY2xvc2UgJiYgIWRpcnR5ICYmICFjcmVhdGVcIlxuICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJudWxsXCI+XG4gICAgICBDYW5jZWxcbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvbmVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cbiAgICAgIERvbmVcbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNhdmUgfHwgY3JlYXRlXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2xvc2VcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgZnNGb3JtRGlhbG9nQ2xvc2VcbiAgICAgICAgW2Nsb3NlRGF0YV09XCJjbG9zZURhdGFcIlxuICAgICAgICBbY29sb3JdPVwiZGlydHkgPyAnYmFzaWMnIDogJ3ByaW1hcnknXCI+XG4gICAgICBDbG9zZVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzYXZlIHx8IGNyZWF0ZSlcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './form-dialog-actions.component';
|
|
1
|
+
export * from './form-dialog-actions.component';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS1kaWFsb2ctYWN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLWRpYWxvZy1hY3Rpb25zLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, ContentChildren, QueryList, TemplateRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { NgModel } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class FsFormTemplateComponent {
|
|
5
|
+
templateRef;
|
|
6
|
+
formTemplate;
|
|
7
|
+
models;
|
|
8
|
+
ngAfterContentInit() {
|
|
9
|
+
debugger;
|
|
10
|
+
const x = this.models;
|
|
11
|
+
this.models.changes.subscribe((x) => {
|
|
12
|
+
debugger;
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
debugger;
|
|
17
|
+
}
|
|
18
|
+
constructor() { }
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFormTemplateComponent, selector: "fs-form-template", inputs: { formTemplate: "formTemplate" }, queries: [{ propertyName: "models", predicate: NgModel, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["templateRef1"], descendants: true }], ngImport: i0, template: "<ng-template #templateRef1>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormTemplateComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'fs-form-template', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #templateRef1>\n <ng-content></ng-content>\n</ng-template>" }]
|
|
25
|
+
}], ctorParameters: function () { return []; }, propDecorators: { templateRef: [{
|
|
26
|
+
type: ViewChild,
|
|
27
|
+
args: ['templateRef1']
|
|
28
|
+
}], formTemplate: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], models: [{
|
|
31
|
+
type: ContentChildren,
|
|
32
|
+
args: [NgModel, { descendants: true }]
|
|
33
|
+
}] } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS10ZW1wbGF0ZS9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLXRlbXBsYXRlL2Zvcm0tdGVtcGxhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBb0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUXpDLE1BQU0sT0FBTyx1QkFBdUI7SUFHM0IsV0FBVyxDQUFtQjtJQUVyQixZQUFZLENBQU07SUFHM0IsTUFBTSxDQUFxQjtJQUUzQixrQkFBa0I7UUFDdkIsUUFBUSxDQUFDO1FBQ1QsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQyxRQUFRLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sUUFBUSxDQUFDO0lBQ1gsQ0FBQztJQUVELGdCQUVHLENBQUM7d0dBeEJPLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLHlIQU9qQixPQUFPLDZKQ2hCMUIsMEVBRWM7OzRGRE9ELHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTTswRUFLeEMsV0FBVztzQkFEakIsU0FBUzt1QkFBQyxjQUFjO2dCQUdULFlBQVk7c0JBQTNCLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixlQUFlO3VCQUFDLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyQ29udGVudEluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtZm9ybS10ZW1wbGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybVRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYxJykgXG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybVRlbXBsYXRlOiBhbnk7XG4gIFxuICBAQ29udGVudENoaWxkcmVuKE5nTW9kZWwsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgXG4gIHB1YmxpYyBtb2RlbHM6IFF1ZXJ5TGlzdDxOZ01vZGVsPjtcblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGRlYnVnZ2VyO1xuICAgIGNvbnN0IHggPSB0aGlzLm1vZGVscztcbiAgICB0aGlzLm1vZGVscy5jaGFuZ2VzLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgZGVidWdnZXI7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBkZWJ1Z2dlcjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgXG4gICkge31cblxufVxuIiwiPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZjE+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './form-template.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './form-template.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS10ZW1wbGF0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLXRlbXBsYXRlLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, ContentChildren, QueryList } from '@angular/core';
|
|
2
|
+
import { NgModel } from '@angular/forms';
|
|
3
|
+
import { FsFormTemplateComponent } from '../../components';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class FsFormTemplateOutletComponent {
|
|
7
|
+
formTemplate;
|
|
8
|
+
models;
|
|
9
|
+
ngOnChanges(changes) {
|
|
10
|
+
if (changes.formTemplate?.currentValue) {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
ngAfterContentInit() {
|
|
14
|
+
// const x = this.models;
|
|
15
|
+
// this.models.changes.subscribe((x) => {
|
|
16
|
+
// debugger;
|
|
17
|
+
// });
|
|
18
|
+
}
|
|
19
|
+
constructor() { }
|
|
20
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormTemplateOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFormTemplateOutletComponent, selector: "fs-form-template-outlet", inputs: { formTemplate: "formTemplate" }, queries: [{ propertyName: "models", predicate: NgModel, descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n{{formTemplate.templateRef|json}}\n\n<ng-container *ngIf=\"formTemplate\">\n <ng-container [ngTemplateOutlet]=\"formTemplate.templateRef\"></ng-container> \n</ng-container>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
+
}
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFormTemplateOutletComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'fs-form-template-outlet', changeDetection: ChangeDetectionStrategy.OnPush, template: "\n{{formTemplate.templateRef|json}}\n\n<ng-container *ngIf=\"formTemplate\">\n <ng-container [ngTemplateOutlet]=\"formTemplate.templateRef\"></ng-container> \n</ng-container>" }]
|
|
26
|
+
}], ctorParameters: function () { return []; }, propDecorators: { formTemplate: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], models: [{
|
|
29
|
+
type: ContentChildren,
|
|
30
|
+
args: [NgModel, { descendants: true }]
|
|
31
|
+
}] } });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10ZW1wbGF0ZS1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2Zvcm0tdGVtcGxhdGUtb3V0bGV0L2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLXRlbXBsYXRlLW91dGxldC9mb3JtLXRlbXBsYXRlLW91dGxldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUEyRCxNQUFNLGVBQWUsQ0FBQztBQUMvSixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVEzRCxNQUFNLE9BQU8sNkJBQTZCO0lBRXhCLFlBQVksQ0FBMEI7SUFHL0MsTUFBTSxDQUFxQjtJQUVsQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBRyxPQUFPLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRTtTQUN0QztJQUNILENBQUM7SUFFTSxrQkFBa0I7UUFDdkIseUJBQXlCO1FBQ3pCLHlDQUF5QztRQUN6QyxjQUFjO1FBQ2QsTUFBTTtJQUNSLENBQUM7SUFFRCxnQkFFRyxDQUFDO3dHQXJCTyw2QkFBNkI7NEZBQTdCLDZCQUE2QixnSUFJdkIsT0FBTyxxRUNkMUIsaUxBS2U7OzRGREtGLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU07MEVBSS9CLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR0MsTUFBTTtzQkFEWixlQUFlO3VCQUFDLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIEFmdGVyQ29udGVudEluaXQsIFRlbXBsYXRlUmVmLCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGc0Zvcm1UZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZvcm0tdGVtcGxhdGUtb3V0bGV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybVRlbXBsYXRlT3V0bGV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBwdWJsaWMgZm9ybVRlbXBsYXRlOiBGc0Zvcm1UZW1wbGF0ZUNvbXBvbmVudDtcbiAgXG4gIEBDb250ZW50Q2hpbGRyZW4oTmdNb2RlbCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBcbiAgcHVibGljIG1vZGVsczogUXVlcnlMaXN0PE5nTW9kZWw+O1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzLmZvcm1UZW1wbGF0ZT8uY3VycmVudFZhbHVlKSB7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBjb25zdCB4ID0gdGhpcy5tb2RlbHM7XG4gICAgLy8gdGhpcy5tb2RlbHMuY2hhbmdlcy5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAvLyAgIGRlYnVnZ2VyO1xuICAgIC8vIH0pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICBcbiAgKSB7fVxuXG59XG4iLCJcbnt7Zm9ybVRlbXBsYXRlLnRlbXBsYXRlUmVmfGpzb259fVxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZm9ybVRlbXBsYXRlXCI+XG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9ybVRlbXBsYXRlLnRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+IFxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './form-template-outlet.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './form-template-outlet.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS10ZW1wbGF0ZS1vdXRsZXQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS10ZW1wbGF0ZS1vdXRsZXQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './confirm-unsaved';
|
|
2
|
-
export * from './form-dialog-actions';
|
|
3
|
-
export * from './form-template';
|
|
4
|
-
export * from './form-template-outlet';
|
|
1
|
+
export * from './confirm-unsaved';
|
|
2
|
+
export * from './form-dialog-actions';
|
|
3
|
+
export * from './form-template';
|
|
4
|
+
export * from './form-template-outlet';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlybS11bnNhdmVkJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1kaWFsb2ctYWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tdGVtcGxhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtLXRlbXBsYXRlLW91dGxldCc7XG4iXX0=
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export const ERROR_MESSAGES = {
|
|
2
|
-
required: 'This field is required',
|
|
3
|
-
email: 'This is not a valid email address',
|
|
4
|
-
emails: 'Input valid email addresses, comma separated',
|
|
5
|
-
phone: 'Invalid phone number',
|
|
6
|
-
numeric: 'Value should be numeric',
|
|
7
|
-
integer: 'Value should be an integer',
|
|
8
|
-
min: 'Value should not be less than $(1)',
|
|
9
|
-
max: 'Value should not be greater than $(1)',
|
|
10
|
-
minlength: 'Should not be shorter than $(1) characters',
|
|
11
|
-
maxlength: 'Should not be longer than $(1) characters',
|
|
12
|
-
compare: 'Inputs do not match',
|
|
13
|
-
pattern: 'Value should match pattern $(1)',
|
|
14
|
-
dateRange: 'Invalid date range',
|
|
15
|
-
url: 'This is not a valid url',
|
|
16
|
-
urlProtocol: 'Invalid URL. Proper http protocol is required. eg. https://google.com',
|
|
17
|
-
greater: 'Value must be greater than $(1)',
|
|
18
|
-
lesser: 'Value must be less than $(1)',
|
|
19
|
-
greaterEqual: 'Value must be greater than or equal $(1)',
|
|
20
|
-
lesserEqual: 'Value must be less than or equal $(1)',
|
|
21
|
-
};
|
|
1
|
+
export const ERROR_MESSAGES = {
|
|
2
|
+
required: 'This field is required',
|
|
3
|
+
email: 'This is not a valid email address',
|
|
4
|
+
emails: 'Input valid email addresses, comma separated',
|
|
5
|
+
phone: 'Invalid phone number',
|
|
6
|
+
numeric: 'Value should be numeric',
|
|
7
|
+
integer: 'Value should be an integer',
|
|
8
|
+
min: 'Value should not be less than $(1)',
|
|
9
|
+
max: 'Value should not be greater than $(1)',
|
|
10
|
+
minlength: 'Should not be shorter than $(1) characters',
|
|
11
|
+
maxlength: 'Should not be longer than $(1) characters',
|
|
12
|
+
compare: 'Inputs do not match',
|
|
13
|
+
pattern: 'Value should match pattern $(1)',
|
|
14
|
+
dateRange: 'Invalid date range',
|
|
15
|
+
url: 'This is not a valid url',
|
|
16
|
+
urlProtocol: 'Invalid URL. Proper http protocol is required. eg. https://google.com',
|
|
17
|
+
greater: 'Value must be greater than $(1)',
|
|
18
|
+
lesser: 'Value must be less than $(1)',
|
|
19
|
+
greaterEqual: 'Value must be greater than or equal $(1)',
|
|
20
|
+
lesserEqual: 'Value must be less than or equal $(1)',
|
|
21
|
+
};
|
|
22
22
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnN0cy9lcnJvci1tZXNzYWdlcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsUUFBUSxFQUFFLHdCQUF3QjtJQUNsQyxLQUFLLEVBQUUsbUNBQW1DO0lBQzFDLE1BQU0sRUFBRSw4Q0FBOEM7SUFDdEQsS0FBSyxFQUFFLHNCQUFzQjtJQUM3QixPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLE9BQU8sRUFBRSw0QkFBNEI7SUFDckMsR0FBRyxFQUFFLG9DQUFvQztJQUN6QyxHQUFHLEVBQUUsdUNBQXVDO0lBQzVDLFNBQVMsRUFBRSw0Q0FBNEM7SUFDdkQsU0FBUyxFQUFFLDJDQUEyQztJQUN0RCxPQUFPLEVBQUUscUJBQXFCO0lBQzlCLE9BQU8sRUFBRSxpQ0FBaUM7SUFDMUMsU0FBUyxFQUFFLG9CQUFvQjtJQUMvQixHQUFHLEVBQUUseUJBQXlCO0lBQzlCLFdBQVcsRUFBRSx1RUFBdUU7SUFDcEYsT0FBTyxFQUFFLGlDQUFpQztJQUMxQyxNQUFNLEVBQUUsOEJBQThCO0lBQ3RDLFlBQVksRUFBRSwwQ0FBMEM7SUFDeEQsV0FBVyxFQUFFLHVDQUF1QztDQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVSUk9SX01FU1NBR0VTID0ge1xuICByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuICBlbWFpbDogJ1RoaXMgaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzcycsXG4gIGVtYWlsczogJ0lucHV0IHZhbGlkIGVtYWlsIGFkZHJlc3NlcywgY29tbWEgc2VwYXJhdGVkJyxcbiAgcGhvbmU6ICdJbnZhbGlkIHBob25lIG51bWJlcicsXG4gIG51bWVyaWM6ICdWYWx1ZSBzaG91bGQgYmUgbnVtZXJpYycsXG4gIGludGVnZXI6ICdWYWx1ZSBzaG91bGQgYmUgYW4gaW50ZWdlcicsXG4gIG1pbjogJ1ZhbHVlIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuICQoMSknLFxuICBtYXg6ICdWYWx1ZSBzaG91bGQgbm90IGJlIGdyZWF0ZXIgdGhhbiAkKDEpJyxcbiAgbWlubGVuZ3RoOiAnU2hvdWxkIG5vdCBiZSBzaG9ydGVyIHRoYW4gJCgxKSBjaGFyYWN0ZXJzJyxcbiAgbWF4bGVuZ3RoOiAnU2hvdWxkIG5vdCBiZSBsb25nZXIgdGhhbiAkKDEpIGNoYXJhY3RlcnMnLFxuICBjb21wYXJlOiAnSW5wdXRzIGRvIG5vdCBtYXRjaCcsXG4gIHBhdHRlcm46ICdWYWx1ZSBzaG91bGQgbWF0Y2ggcGF0dGVybiAkKDEpJyxcbiAgZGF0ZVJhbmdlOiAnSW52YWxpZCBkYXRlIHJhbmdlJyxcbiAgdXJsOiAnVGhpcyBpcyBub3QgYSB2YWxpZCB1cmwnLFxuICB1cmxQcm90b2NvbDogJ0ludmFsaWQgVVJMLiBQcm9wZXIgaHR0cCBwcm90b2NvbCBpcyByZXF1aXJlZC4gZWcuIGh0dHBzOi8vZ29vZ2xlLmNvbScsXG4gIGdyZWF0ZXI6ICdWYWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAkKDEpJyxcbiAgbGVzc2VyOiAnVmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4gJCgxKScsXG4gIGdyZWF0ZXJFcXVhbDogJ1ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsICQoMSknLFxuICBsZXNzZXJFcXVhbDogJ1ZhbHVlIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsICQoMSknLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Directive, ElementRef, Host, HostBinding, Input, Optional, } from '@angular/core';
|
|
2
|
+
import { MatButton } from '@angular/material/button';
|
|
3
|
+
import { fromEvent, Subject } from 'rxjs';
|
|
4
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { FsFormDirective } from './form/form.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/material/button";
|
|
8
|
+
import * as i2 from "./form/form.directive";
|
|
9
|
+
export class FsButtonDirective {
|
|
10
|
+
_matButton;
|
|
11
|
+
_form;
|
|
12
|
+
_elementRef;
|
|
13
|
+
_cdRef;
|
|
14
|
+
name;
|
|
15
|
+
dirtySubmit = true;
|
|
16
|
+
form;
|
|
17
|
+
transitionStyle = null;
|
|
18
|
+
active = false;
|
|
19
|
+
submit = false;
|
|
20
|
+
_previousDisabled = false;
|
|
21
|
+
_destroy$ = new Subject();
|
|
22
|
+
constructor(_matButton, _form, _elementRef, _cdRef) {
|
|
23
|
+
this._matButton = _matButton;
|
|
24
|
+
this._form = _form;
|
|
25
|
+
this._elementRef = _elementRef;
|
|
26
|
+
this._cdRef = _cdRef;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.submit = this._elementRef.nativeElement.getAttribute('type') === 'submit';
|
|
30
|
+
this.form = this.form || this._form;
|
|
31
|
+
if (this.form) {
|
|
32
|
+
this.form.addButton(this);
|
|
33
|
+
if (this.submit) {
|
|
34
|
+
fromEvent(this.element, 'click')
|
|
35
|
+
.pipe(takeUntil(this._destroy$))
|
|
36
|
+
.subscribe(() => {
|
|
37
|
+
this.active = true;
|
|
38
|
+
});
|
|
39
|
+
if (this.dirtySubmit) {
|
|
40
|
+
if (this.form.dirtySubmitButton) {
|
|
41
|
+
if (!this.form.ngForm.dirty) {
|
|
42
|
+
this.disable();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
this.transitionStyle = 'none';
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
this.transitionStyle = null;
|
|
49
|
+
}, 500);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
disable() {
|
|
54
|
+
if (this._matButton && !this.active) {
|
|
55
|
+
this._previousDisabled = this._matButton.disabled;
|
|
56
|
+
this._matButton.disabled = true;
|
|
57
|
+
this._cdRef.markForCheck();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
enable() {
|
|
61
|
+
if (this._matButton) {
|
|
62
|
+
this._matButton.disabled = false;
|
|
63
|
+
this._matButton.disableRipple = true;
|
|
64
|
+
this._cdRef.markForCheck();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
process() {
|
|
68
|
+
this.setClass('process');
|
|
69
|
+
if (this._matButton) {
|
|
70
|
+
this._matButton.disableRipple = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
success() {
|
|
74
|
+
this.setClass('success');
|
|
75
|
+
if (this._matButton) {
|
|
76
|
+
this._matButton.disableRipple = false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
error() {
|
|
80
|
+
this.setClass('error');
|
|
81
|
+
if (this._matButton) {
|
|
82
|
+
this._matButton.disableRipple = false;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
setClass(cls) {
|
|
86
|
+
const svg = this._getSvg(cls);
|
|
87
|
+
this._resetClass();
|
|
88
|
+
this._disableShadowAnimation();
|
|
89
|
+
this.element.classList.add(`submit-${cls}`);
|
|
90
|
+
this.element.append(svg);
|
|
91
|
+
}
|
|
92
|
+
get element() {
|
|
93
|
+
return this._elementRef.nativeElement;
|
|
94
|
+
}
|
|
95
|
+
resetActive() {
|
|
96
|
+
this.active = false;
|
|
97
|
+
}
|
|
98
|
+
reset() {
|
|
99
|
+
if (!this._previousDisabled) {
|
|
100
|
+
this.enable();
|
|
101
|
+
}
|
|
102
|
+
this.element.querySelectorAll('.svg-icon')
|
|
103
|
+
.forEach((el) => {
|
|
104
|
+
el.remove();
|
|
105
|
+
});
|
|
106
|
+
if (this._matButton) {
|
|
107
|
+
this._matButton.disableRipple = false;
|
|
108
|
+
}
|
|
109
|
+
this._resetClass();
|
|
110
|
+
}
|
|
111
|
+
ngOnDestroy() {
|
|
112
|
+
this._destroy$.next();
|
|
113
|
+
this._destroy$.complete();
|
|
114
|
+
this.form?.removeButton(this);
|
|
115
|
+
}
|
|
116
|
+
_disableShadowAnimation() {
|
|
117
|
+
// .mat-elevation-z2 removes the click shadow animation
|
|
118
|
+
//this.element.classList.add('mat-elevation-z2');
|
|
119
|
+
}
|
|
120
|
+
_resetClass() {
|
|
121
|
+
this.element.classList.remove('submit-success', 'submit-error', 'submit-process', 'mat-elevation-z2');
|
|
122
|
+
}
|
|
123
|
+
_getSvg(type) {
|
|
124
|
+
if (type === 'success') {
|
|
125
|
+
return new DOMParser().parseFromString(`<svg class="svg-icon svg-icon-success" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" viewBox="0 0 38 38" style="enable-background:new 0 0 38 38;" xml:space="preserve" width="38px" height="38px">
|
|
126
|
+
<g>
|
|
127
|
+
<g class="check">
|
|
128
|
+
<g>
|
|
129
|
+
<path d="M29.6,11.9c-0.5-0.5-1.3-0.5-1.8,0L16.3,23.4l-6.1-6.1c-0.5-0.5-1.3-0.5-1.8,0s-0.5,1.3,0,1.8l7,7c0.3,0.3,0.6,0.4,0.9,0.4s0.7-0.1,0.9-0.4l12.4-12.4C30.1,13.2,30.1,12.4,29.6,11.9z"/>
|
|
130
|
+
</g>
|
|
131
|
+
</g>
|
|
132
|
+
</g>
|
|
133
|
+
</svg>`, 'text/xml').firstChild;
|
|
134
|
+
}
|
|
135
|
+
if (type === 'process') {
|
|
136
|
+
return new DOMParser().parseFromString(`<svg class="svg-icon svg-icon-process" width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
|
|
137
|
+
<g fill="none" fill-rule="evenodd">
|
|
138
|
+
<g transform="translate(1 1)" stroke-width="2"><circle stroke-opacity=".5" cx="18" cy="18" r="18"/>
|
|
139
|
+
<path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" type="rotate" from="0 18 18" to="360 18 18" dur=".7s" repeatCount="indefinite"/></path>
|
|
140
|
+
</g>
|
|
141
|
+
</g>
|
|
142
|
+
</svg>`, 'text/xml').firstChild;
|
|
143
|
+
}
|
|
144
|
+
if (type === 'error') {
|
|
145
|
+
return new DOMParser().parseFromString('<svg class="svg-icon svg-icon-error" xmlns="http://www.w3.org/2000/svg" width="38px" height="38px" viewBox="0 0 16 16"><g><path d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z" data-original="#444444" data-old_color="#444444"/><path d="M12.2 10.8l-2.8-2.8 2.8-2.8-1.4-1.4-2.8 2.8-2.8-2.8-1.4 1.4 2.8 2.8-2.8 2.8 1.4 1.4 2.8-2.8 2.8 2.8z"/></g> </svg>', 'text/xml').firstChild;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsButtonDirective, deps: [{ token: i1.MatButton, host: true, optional: true }, { token: i2.FsFormDirective, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
149
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: { name: "name", dirtySubmit: "dirtySubmit", form: "form" }, host: { properties: { "style.transition": "this.transitionStyle" } }, ngImport: i0 });
|
|
150
|
+
}
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsButtonDirective, decorators: [{
|
|
152
|
+
type: Directive,
|
|
153
|
+
args: [{
|
|
154
|
+
selector: '[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])',
|
|
155
|
+
}]
|
|
156
|
+
}], ctorParameters: function () { return [{ type: i1.MatButton, decorators: [{
|
|
157
|
+
type: Optional
|
|
158
|
+
}, {
|
|
159
|
+
type: Host
|
|
160
|
+
}] }, { type: i2.FsFormDirective, decorators: [{
|
|
161
|
+
type: Optional
|
|
162
|
+
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], dirtySubmit: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], form: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], transitionStyle: [{
|
|
169
|
+
type: HostBinding,
|
|
170
|
+
args: ['style.transition']
|
|
171
|
+
}] } });
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixRQUFRLEdBQ2hHLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTXhELE1BQU0sT0FBTyxpQkFBaUI7SUFxQkU7SUFDUjtJQUNaO0lBQ0E7SUFyQkgsSUFBSSxDQUFDO0lBR0wsV0FBVyxHQUFHLElBQUksQ0FBQztJQUduQixJQUFJLENBQWtCO0lBR3RCLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFFdkIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFZCxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFbEMsWUFDOEIsVUFBcUIsRUFDN0IsS0FBc0IsRUFDbEMsV0FBdUIsRUFDdkIsTUFBeUI7UUFITCxlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFdBQU0sR0FBTixNQUFNLENBQW1CO0lBQ2hDLENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFD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QUFPLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDOzs7Ozs7OzthQVFoQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNqQztRQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtZQUN0QixPQUFPLElBQUksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDOzs7Ozs7YUFNaEMsRUFBRSxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUM7U0FDakM7UUFFRCxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDcEIsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQyw4WkFBOFosRUFBRSxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUM7U0FDL2Q7SUFDSCxDQUFDO3dHQXpLVSxpQkFBaUI7NEZBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFIN0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaU1BQWlNO2lCQUM1TTs7MEJBc0JJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFRO3FHQW5CSixJQUFJO3NCQURWLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cblxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hdC1yYWlzZWQtYnV0dG9uXTpub3QoW2ZzRm9ybUJ1dHRvblN0YW5kYWxvbmVdKSxbbWF0LWJ1dHRvbl06bm90KFtmc0Zvcm1CdXR0b25TdGFuZGFsb25lXSksW21hdC1mbGF0LWJ1dHRvbl06bm90KFtmc0Zvcm1CdXR0b25TdGFuZGFsb25lXSksW21hdC1zdHJva2VkLWJ1dHRvbl06bm90KFtmc0Zvcm1CdXR0b25TdGFuZGFsb25lXSknLFxufSlcbmV4cG9ydCBjbGFzcyBGc0J1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbmFtZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGlydHlTdWJtaXQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb3JtOiBGc0Zvcm1EaXJlY3RpdmU7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50cmFuc2l0aW9uJylcbiAgcHVibGljIHRyYW5zaXRpb25TdHlsZSA9IG51bGw7XG5cbiAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuICBwdWJsaWMgc3VibWl0ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcHJldmlvdXNEaXNhYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIF9tYXRCdXR0b246IE1hdEJ1dHRvbixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtOiBGc0Zvcm1EaXJlY3RpdmUsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdWJtaXQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0eXBlJykgPT09ICdzdWJtaXQnO1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybSB8fCB0aGlzLl9mb3JtO1xuXG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLmFkZEJ1dHRvbih0aGlzKTtcblxuICAgICAgaWYodGhpcy5zdWJtaXQpIHtcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudCwgJ2NsaWNrJylcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmRpcnR5U3VibWl0KSB7XG4gICAgICAgICAgaWYgKHRoaXMuZm9ybS5kaXJ0eVN1Ym1pdEJ1dHRvbikge1xuICAgICAgICAgICAgaWYoIXRoaXMuZm9ybS5uZ0Zvcm0uZGlydHkpIHtcbiAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2l0aW9uU3R5bGUgPSAnbm9uZSc7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMudHJhbnNpdGlvblN0eWxlID0gbnVsbDtcbiAgICAgICAgfSwgNTAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGlzYWJsZSgpIHsgICAgXG4gICAgaWYgKHRoaXMuX21hdEJ1dHRvbiAmJiAhdGhpcy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuX3ByZXZpb3VzRGlzYWJsZWQgPSB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZWQ7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7IFxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbmFibGUoKSB7XG4gICAgaWYgKHRoaXMuX21hdEJ1dHRvbikge1xuICAgICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IHRydWU7XG4gICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcHJvY2VzcygpIHtcbiAgICB0aGlzLnNldENsYXNzKCdwcm9jZXNzJyk7XG4gICAgaWYgKHRoaXMuX21hdEJ1dHRvbikge1xuICAgICAgdGhpcy5fbWF0QnV0dG9uLmRpc2FibGVSaXBwbGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdWNjZXNzKCkge1xuICAgIHRoaXMuc2V0Q2xhc3MoJ3N1Y2Nlc3MnKTtcbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlcnJvcigpIHtcbiAgICB0aGlzLnNldENsYXNzKCdlcnJvcicpO1xuICAgIGlmICh0aGlzLl9tYXRCdXR0b24pIHtcbiAgICAgIHRoaXMuX21hdEJ1dHRvbi5kaXNhYmxlUmlwcGxlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldENsYXNzKGNscykge1xuICAgIGNvbnN0IHN2ZyA9IHRoaXMuX2dldFN2ZyhjbHMpO1xuICAgIHRoaXMuX3Jlc2V0Q2xhc3MoKTtcbiAgICB0aGlzLl9kaXNhYmxlU2hhZG93QW5pbWF0aW9uKCk7XG4gICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoYHN1Ym1pdC0ke2Nsc31gKTtcbiAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN2Zyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyByZXNldEFjdGl2ZSgpIHtcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIGlmKCF0aGlzLl9wcmV2aW91c0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgIH1cblxuICAgIHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc3ZnLWljb24nKVxuICAgICAgLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgIGVsLnJlbW92ZSgpO1xuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5fbWF0QnV0dG9uKSB7XG4gICAgICB0aGlzLl9tYXRCdXR0b24uZGlzYWJsZVJpcHBsZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLl9yZXNldENsYXNzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5mb3JtPy5yZW1vdmVCdXR0b24odGhpcyk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlU2hhZG93QW5pbWF0aW9uKCkge1xuICAgIC8vIC5tYXQtZWxldmF0aW9uLXoyIHJlbW92ZXMgdGhlIGNsaWNrIHNoYWRvdyBhbmltYXRpb25cbiAgICAvL3RoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtZWxldmF0aW9uLXoyJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldENsYXNzKCkge1xuICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdzdWJtaXQtc3VjY2VzcycsICdzdWJtaXQtZXJyb3InLCAnc3VibWl0LXByb2Nlc3MnLCAnbWF0LWVsZXZhdGlvbi16MicpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U3ZnKHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICByZXR1cm4gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhgPHN2ZyBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLXN1Y2Nlc3NcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgdmVyc2lvbj1cIjEuMVwiIHg9XCIwcHhcIiB5PVwiMHB4XCIgdmlld0JveD1cIjAgMCAzOCAzOFwiIHN0eWxlPVwiZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzOCAzODtcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHdpZHRoPVwiMzhweFwiIGhlaWdodD1cIjM4cHhcIj5cbiAgICAgIDxnPlxuICAgICAgICA8ZyBjbGFzcz1cImNoZWNrXCI+XG4gICAgICAgICAgPGc+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTI5LjYsMTEuOWMtMC41LTAuNS0xLjMtMC41LTEuOCwwTDE2LjMsMjMuNGwtNi4xLTYuMWMtMC41LTAuNS0xLjMtMC41LTEuOCwwcy0wLjUsMS4zLDAsMS44bDcsN2MwLjMsMC4zLDAuNiwwLjQsMC45LDAuNHMwLjctMC4xLDAuOS0wLjRsMTIuNC0xMi40QzMwLjEsMTMuMiwzMC4xLDEyLjQsMjkuNiwxMS45elwiLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPmAsICd0ZXh0L3htbCcpLmZpcnN0Q2hpbGQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09ICdwcm9jZXNzJykge1xuICAgICAgcmV0dXJuIG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoYDxzdmcgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi1wcm9jZXNzXCIgd2lkdGg9XCIzOFwiIGhlaWdodD1cIjM4XCIgdmlld0JveD1cIjAgMCAzOCAzOFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxnIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxuICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMSAxKVwiIHN0cm9rZS13aWR0aD1cIjJcIj48Y2lyY2xlIHN0cm9rZS1vcGFjaXR5PVwiLjVcIiBjeD1cIjE4XCIgY3k9XCIxOFwiIHI9XCIxOFwiLz5cbiAgICAgICAgICA8cGF0aCBkPVwiTTM2IDE4YzAtOS45NC04LjA2LTE4LTE4LTE4XCI+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiIHR5cGU9XCJyb3RhdGVcIiBmcm9tPVwiMCAxOCAxOFwiIHRvPVwiMzYwIDE4IDE4XCIgZHVyPVwiLjdzXCIgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIvPjwvcGF0aD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPC9zdmc+YCwgJ3RleHQveG1sJykuZmlyc3RDaGlsZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2Vycm9yJykge1xuICAgICAgcmV0dXJuIG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoJzxzdmcgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi1lcnJvclwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjM4cHhcIiBoZWlnaHQ9XCIzOHB4XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxnPjxwYXRoIGQ9XCJNOCAxYzMuOSAwIDcgMy4xIDcgN3MtMy4xIDctNyA3LTctMy4xLTctNyAzLjEtNyA3LTd6TTggMGMtNC40IDAtOCAzLjYtOCA4czMuNiA4IDggOCA4LTMuNiA4LTgtMy42LTgtOC04djB6XCIgZGF0YS1vcmlnaW5hbD1cIiM0NDQ0NDRcIiBkYXRhLW9sZF9jb2xvcj1cIiM0NDQ0NDRcIi8+PHBhdGggZD1cIk0xMi4yIDEwLjhsLTIuOC0yLjggMi44LTIuOC0xLjQtMS40LTIuOCAyLjgtMi44LTIuOC0xLjQgMS40IDIuOCAyLjgtMi44IDIuOCAxLjQgMS40IDIuOC0yLjggMi44IDIuOHpcIi8+PC9nPiA8L3N2Zz4nLCAndGV4dC94bWwnKS5maXJzdENoaWxkO1xuICAgIH1cbiAgfVxufVxuIl19
|