@firestitch/form 15.0.0 → 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/form-dialog-actions/form-dialog-actions.component.d.ts +1 -1
- package/app/components/form-template/form-template.component.d.ts +1 -1
- package/app/components/form-template-outlet/form-template-outlet.component.d.ts +1 -1
- package/app/directives/button.directive.d.ts +1 -1
- package/app/directives/form/form.directive.d.ts +1 -1
- package/app/directives/form-dialog-close.directive.d.ts +1 -1
- package/app/directives/validators/compare.directive.d.ts +1 -1
- package/app/directives/validators/control.directive.d.ts +1 -1
- package/app/directives/validators/daterange.directive.d.ts +1 -1
- package/app/directives/validators/email.directive.d.ts +1 -1
- package/app/directives/validators/emails.directive.d.ts +1 -1
- package/app/directives/validators/function.directive.d.ts +1 -1
- package/app/directives/validators/greater-equal.directive.d.ts +1 -1
- package/app/directives/validators/greater.directive.d.ts +1 -1
- package/app/directives/validators/integer.directive.d.ts +1 -1
- package/app/directives/validators/lesser-equal.directive.d.ts +1 -1
- package/app/directives/validators/lesser.directive.d.ts +1 -1
- package/app/directives/validators/max.directive.d.ts +1 -1
- package/app/directives/validators/maxlength.directive.d.ts +1 -1
- package/app/directives/validators/min.directive.d.ts +1 -1
- package/app/directives/validators/minlength.directive.d.ts +1 -1
- package/app/directives/validators/numeric.directive.d.ts +1 -1
- package/app/directives/validators/pattern.directive.d.ts +1 -1
- package/app/directives/validators/phone.directive.d.ts +1 -1
- package/app/directives/validators/required.directive.d.ts +1 -1
- package/app/directives/validators/url.directive.d.ts +1 -1
- package/app/directives/validators/validate.directive.d.ts +1 -1
- package/app/guards/form-deactivate.guard.d.ts +2 -2
- package/esm2022/app/components/confirm-unsaved/confirm-unsaved.component.mjs +51 -0
- package/esm2022/app/components/form-dialog-actions/form-dialog-actions.component.mjs +79 -0
- package/esm2022/app/components/form-template/form-template.component.mjs +34 -0
- package/esm2022/app/components/form-template-outlet/form-template-outlet.component.mjs +32 -0
- package/esm2022/app/directives/button.directive.mjs +172 -0
- package/esm2022/app/directives/form/form.directive.mjs +702 -0
- 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/submit-button.directive.mjs +4 -4
- 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/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 +6 -6
- 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/esm2022/app/fs-form.module.mjs +209 -0
- package/esm2022/app/guards/form-deactivate.guard.mjs +44 -0
- package/esm2022/app/services/fsform.service.mjs +94 -0
- package/{fesm2020 → fesm2022}/firestitch-form.mjs +354 -291
- package/fesm2022/firestitch-form.mjs.map +1 -0
- package/package.json +5 -11
- 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
- /package/{esm2020 → esm2022}/app/components/confirm-unsaved/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/components/form-dialog-actions/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/components/form-template/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/components/form-template-outlet/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/consts/error-messages.const.mjs +0 -0
- /package/{esm2020 → esm2022}/app/directives/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/directives/validators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/enums/confirm-result.mjs +0 -0
- /package/{esm2020 → esm2022}/app/enums/form-status.mjs +0 -0
- /package/{esm2020 → esm2022}/app/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/confirm-result-continue.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/get-active-route.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/get-form-errors.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/helpers/is-enabled.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/async-validator.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/confirm-config.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/confirm-tab-group.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/index.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/submit-event.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/submitted-event.mjs +0 -0
- /package/{esm2020 → esm2022}/app/interfaces/validator.mjs +0 -0
- /package/{esm2020 → esm2022}/app/providers/validate-messages.provider.mjs +0 -0
- /package/{esm2020 → esm2022}/app/validators/validators.mjs +0 -0
- /package/{esm2020 → esm2022}/firestitch-form.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
|
@@ -18,5 +18,5 @@ export declare class FsFormDialogActionsComponent implements OnInit, OnDestroy {
|
|
|
18
18
|
ngOnInit(): void;
|
|
19
19
|
ngOnDestroy(): void;
|
|
20
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDialogActionsComponent, [{ optional: true; }, { optional: true; }, null]>;
|
|
21
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsFormDialogActionsComponent, "fs-form-dialog-actions", never, { "save": "save"; "create": "create"; "close": "close"; "done": "done"; "closeData": "closeData"; "name": "name"; }, {}, never, ["*"], false, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsFormDialogActionsComponent, "fs-form-dialog-actions", never, { "save": { "alias": "save"; "required": false; }; "create": { "alias": "create"; "required": false; }; "close": { "alias": "close"; "required": false; }; "done": { "alias": "done"; "required": false; }; "closeData": { "alias": "closeData"; "required": false; }; "name": { "alias": "name"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
22
22
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormTemplateComponent implements AfterContentInit {
|
|
|
9
9
|
ngOnInit(): void;
|
|
10
10
|
constructor();
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormTemplateComponent, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateComponent, "fs-form-template", never, { "formTemplate": "formTemplate"; }, {}, ["models"], ["*"], false, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateComponent, "fs-form-template", never, { "formTemplate": { "alias": "formTemplate"; "required": false; }; }, {}, ["models"], ["*"], false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormTemplateOutletComponent implements AfterContentInit,
|
|
|
9
9
|
ngAfterContentInit(): void;
|
|
10
10
|
constructor();
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormTemplateOutletComponent, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateOutletComponent, "fs-form-template-outlet", never, { "formTemplate": "formTemplate"; }, {}, ["models"], never, false, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FsFormTemplateOutletComponent, "fs-form-template-outlet", never, { "formTemplate": { "alias": "formTemplate"; "required": false; }; }, {}, ["models"], never, false, never>;
|
|
13
13
|
}
|
|
@@ -31,5 +31,5 @@ export declare class FsButtonDirective implements OnInit, OnDestroy {
|
|
|
31
31
|
private _resetClass;
|
|
32
32
|
private _getSvg;
|
|
33
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsButtonDirective, [{ optional: true; host: true; }, { optional: true; }, null, null]>;
|
|
34
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsButtonDirective, "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", never, { "name": "name"; "dirtySubmit": "dirtySubmit"; "form": "form"; }, {}, never, never, false, never>;
|
|
34
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsButtonDirective, "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", never, { "name": { "alias": "name"; "required": false; }; "dirtySubmit": { "alias": "dirtySubmit"; "required": false; }; "form": { "alias": "form"; "required": false; }; }, {}, never, never, false, never>;
|
|
35
35
|
}
|
|
@@ -118,5 +118,5 @@ export declare class FsFormDirective implements OnInit, OnDestroy, AfterContentI
|
|
|
118
118
|
private _registerCanDeactivateGuard;
|
|
119
119
|
private _cleanupCanDeactivate;
|
|
120
120
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDirective, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, null]>;
|
|
121
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDirective, "[fsForm]", ["fsForm"], { "wrapperSelector": "wrapperSelector"; "messageSelector": "messageSelector"; "hintSelector": "hintSelector"; "labelSelector": "labelSelector"; "autocomplete": "autocomplete"; "shortcuts": "shortcuts"; "confirm": "confirm"; "confirmDialog": "confirmDialog"; "confirmDrawer": "confirmDrawer"; "confirmBrowser": "confirmBrowser"; "confirmTabs": "confirmTabs"; "dirtySubmitButton": "dirtySubmitButton"; "submit": "submit"; "successDelay": "successDelay"; "errorDelay": "errorDelay"; "tabGroup": "tabGroup"; "deactivationGuard": "deactivationGuard"; }, { "submitEvent": "fsForm"; "invalid": "invalid"; "valid": "valid"; "submitted": "submitted"; "reseted": "reseted"; "cleared": "cleared"; }, ["_tabGroups"], never, false, never>;
|
|
121
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDirective, "[fsForm]", ["fsForm"], { "wrapperSelector": { "alias": "wrapperSelector"; "required": false; }; "messageSelector": { "alias": "messageSelector"; "required": false; }; "hintSelector": { "alias": "hintSelector"; "required": false; }; "labelSelector": { "alias": "labelSelector"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "shortcuts": { "alias": "shortcuts"; "required": false; }; "confirm": { "alias": "confirm"; "required": false; }; "confirmDialog": { "alias": "confirmDialog"; "required": false; }; "confirmDrawer": { "alias": "confirmDrawer"; "required": false; }; "confirmBrowser": { "alias": "confirmBrowser"; "required": false; }; "confirmTabs": { "alias": "confirmTabs"; "required": false; }; "dirtySubmitButton": { "alias": "dirtySubmitButton"; "required": false; }; "submit": { "alias": "submit"; "required": false; }; "successDelay": { "alias": "successDelay"; "required": false; }; "errorDelay": { "alias": "errorDelay"; "required": false; }; "tabGroup": { "alias": "tabGroup"; "required": false; }; "deactivationGuard": { "alias": "deactivationGuard"; "required": false; }; }, { "submitEvent": "fsForm"; "invalid": "invalid"; "valid": "valid"; "submitted": "submitted"; "reseted": "reseted"; "cleared": "cleared"; }, ["_tabGroups"], never, false, never>;
|
|
122
122
|
}
|
|
@@ -12,5 +12,5 @@ export declare class FsFormDialogCloseDirective implements OnDestroy {
|
|
|
12
12
|
closeClick(): void;
|
|
13
13
|
ngOnDestroy(): void;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDialogCloseDirective, [{ optional: true; }, { optional: true; }]>;
|
|
15
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDialogCloseDirective, "[fsFormDialogClose],[fs-form-dialog-close]", never, { "closeData": "closeData"; }, {}, never, never, false, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDialogCloseDirective, "[fsFormDialogClose],[fs-form-dialog-close]", never, { "closeData": { "alias": "closeData"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
16
|
}
|
|
@@ -11,5 +11,5 @@ export declare class FsFormCompareDirective extends FsControlDirective implement
|
|
|
11
11
|
ngAfterViewInit(): void;
|
|
12
12
|
ngOnDestroy(): void;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormCompareDirective, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormCompareDirective, "[fsFormCompare]", never, { "fsFormCompare": "fsFormCompare"; "validationMessage": "fsFormCompareMessage"; }, {}, never, never, false, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormCompareDirective, "[fsFormCompare]", never, { "fsFormCompare": { "alias": "fsFormCompare"; "required": false; }; "validationMessage": { "alias": "fsFormCompareMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
15
|
}
|
|
@@ -45,5 +45,5 @@ export declare class FsControlDirective implements OnInit, AfterContentInit, OnD
|
|
|
45
45
|
};
|
|
46
46
|
private _setupValidators;
|
|
47
47
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsControlDirective, [null, null, null, { self: true; }, { optional: true; }, { optional: true; }]>;
|
|
48
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsControlDirective, "[fsFormControl]", never, { "wrapperSelector": "wrapperSelector"; "messageSelector": "messageSelector"; "hintSelector": "hintSelector"; "labelSelector": "labelSelector"; "appendMessageClass": "appendMessageClass"; "appendLabelClass": "appendLabelClass"; "appendErrorClass": "appendErrorClass"; "appendHintClass": "appendHintClass"; "validateMessages": "validateMessages"; }, {}, never, never, false, never>;
|
|
48
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsControlDirective, "[fsFormControl]", never, { "wrapperSelector": { "alias": "wrapperSelector"; "required": false; }; "messageSelector": { "alias": "messageSelector"; "required": false; }; "hintSelector": { "alias": "hintSelector"; "required": false; }; "labelSelector": { "alias": "labelSelector"; "required": false; }; "appendMessageClass": { "alias": "appendMessageClass"; "required": false; }; "appendLabelClass": { "alias": "appendLabelClass"; "required": false; }; "appendErrorClass": { "alias": "appendErrorClass"; "required": false; }; "appendHintClass": { "alias": "appendHintClass"; "required": false; }; "validateMessages": { "alias": "validateMessages"; "required": false; }; }, {}, never, never, false, never>;
|
|
49
49
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormDateRangeDirective extends FsControlDirective impleme
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormDateRangeDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDateRangeDirective, "[fsFormDateRange]", never, { "fsFormDateRange": "fsFormDateRange"; "validationMessage": "fsFormDateRangeMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormDateRangeDirective, "[fsFormDateRange]", never, { "fsFormDateRange": { "alias": "fsFormDateRange"; "required": false; }; "validationMessage": { "alias": "fsFormDateRangeMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormEmailDirective extends FsControlDirective implements
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormEmailDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailDirective, "[fsFormEmail]", never, { "fsFormEmail": "fsFormEmail"; "validationMessage": "fsFormEmailMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailDirective, "[fsFormEmail]", never, { "fsFormEmail": { "alias": "fsFormEmail"; "required": false; }; "validationMessage": { "alias": "fsFormEmailMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormEmailsDirective extends FsControlDirective implements
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormEmailsDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailsDirective, "[fsFormEmails]", never, { "fsFormEmails": "fsFormEmails"; "validationMessage": "fsFormEmailsMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormEmailsDirective, "[fsFormEmails]", never, { "fsFormEmails": { "alias": "fsFormEmails"; "required": false; }; "validationMessage": { "alias": "fsFormEmailsMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -11,5 +11,5 @@ export declare class FsFormFunctionDirective extends FsControlDirective implemen
|
|
|
11
11
|
ngOnChanges(): void;
|
|
12
12
|
validateAsync(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormFunctionDirective, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormFunctionDirective, "[fsFormFunction]", never, { "fsFormFunction": "fsFormFunction"; "fsFormFunctionData": "fsFormFunctionData"; "validateOnSubmit": "validateOnSubmit"; }, {}, never, never, false, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormFunctionDirective, "[fsFormFunction]", never, { "fsFormFunction": { "alias": "fsFormFunction"; "required": false; }; "fsFormFunctionData": { "alias": "fsFormFunctionData"; "required": false; }; "validateOnSubmit": { "alias": "validateOnSubmit"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
15
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormGreaterEqualDirective extends FsControlDirective impl
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormGreaterEqualDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterEqualDirective, "[fsFormGreaterEqual]", never, { "fsFormGreaterEqual": "fsFormGreaterEqual"; "validationMessage": "fsFormGreaterEqualMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterEqualDirective, "[fsFormGreaterEqual]", never, { "fsFormGreaterEqual": { "alias": "fsFormGreaterEqual"; "required": false; }; "validationMessage": { "alias": "fsFormGreaterEqualMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormGreaterDirective extends FsControlDirective implement
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormGreaterDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterDirective, "[fsFormGreater]", never, { "fsFormGreater": "fsFormGreater"; "validationMessage": "fsFormGreaterMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormGreaterDirective, "[fsFormGreater]", never, { "fsFormGreater": { "alias": "fsFormGreater"; "required": false; }; "validationMessage": { "alias": "fsFormGreaterMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormIntegerDirective extends FsControlDirective implement
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormIntegerDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormIntegerDirective, "[fsFormInteger]", never, { "fsFormInteger": "fsFormInteger"; "validationMessage": "fsFormIntegerMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormIntegerDirective, "[fsFormInteger]", never, { "fsFormInteger": { "alias": "fsFormInteger"; "required": false; }; "validationMessage": { "alias": "fsFormIntegerMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormLesserEqualDirective extends FsControlDirective imple
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormLesserEqualDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserEqualDirective, "[fsFormLesserEqual]", never, { "fsFormLesserEqual": "fsFormLesserEqual"; "validationMessage": "fsFormLesserEqualMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserEqualDirective, "[fsFormLesserEqual]", never, { "fsFormLesserEqual": { "alias": "fsFormLesserEqual"; "required": false; }; "validationMessage": { "alias": "fsFormLesserEqualMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormLesserDirective extends FsControlDirective implements
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormLesserDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserDirective, "[fsFormLesser]", never, { "fsFormLesser": "fsFormLesser"; "validationMessage": "fsFormLesserMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormLesserDirective, "[fsFormLesser]", never, { "fsFormLesser": { "alias": "fsFormLesser"; "required": false; }; "validationMessage": { "alias": "fsFormLesserMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormMaxDirective extends FsControlDirective implements On
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMaxDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxDirective, "[fsFormMax]", never, { "fsFormMax": "fsFormMax"; "validationMessage": "fsFormMaxMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxDirective, "[fsFormMax]", never, { "fsFormMax": { "alias": "fsFormMax"; "required": false; }; "validationMessage": { "alias": "fsFormMaxMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormMaxLengthDirective extends FsControlDirective impleme
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMaxLengthDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxLengthDirective, "[fsFormMaxLength]", never, { "fsFormMaxLength": "fsFormMaxLength"; "validationMessage": "fsFormMaxLengthMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMaxLengthDirective, "[fsFormMaxLength]", never, { "fsFormMaxLength": { "alias": "fsFormMaxLength"; "required": false; }; "validationMessage": { "alias": "fsFormMaxLengthMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormMinDirective extends FsControlDirective implements On
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMinDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinDirective, "[fsFormMin]", never, { "fsFormMin": "fsFormMin"; "validationMessage": "fsFormMinMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinDirective, "[fsFormMin]", never, { "fsFormMin": { "alias": "fsFormMin"; "required": false; }; "validationMessage": { "alias": "fsFormMinMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormMinLengthDirective extends FsControlDirective impleme
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormMinLengthDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinLengthDirective, "[fsFormMinLength]", never, { "fsFormMinLength": "fsFormMinLength"; "validationMessage": "fsFormMinLengthMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormMinLengthDirective, "[fsFormMinLength]", never, { "fsFormMinLength": { "alias": "fsFormMinLength"; "required": false; }; "validationMessage": { "alias": "fsFormMinLengthMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormNumericDirective extends FsControlDirective implement
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormNumericDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormNumericDirective, "[fsFormNumeric]", never, { "fsFormNumeric": "fsFormNumeric"; "validationMessage": "fsFormNumericMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormNumericDirective, "[fsFormNumeric]", never, { "fsFormNumeric": { "alias": "fsFormNumeric"; "required": false; }; "validationMessage": { "alias": "fsFormNumericMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormPatternDirective extends FsControlDirective implement
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormPatternDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPatternDirective, "[fsFormPattern]", never, { "fsFormPattern": "fsFormPattern"; "validationMessage": "fsFormPatternMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPatternDirective, "[fsFormPattern]", never, { "fsFormPattern": { "alias": "fsFormPattern"; "required": false; }; "validationMessage": { "alias": "fsFormPatternMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class FsFormPhoneDirective extends FsControlDirective implements
|
|
|
9
9
|
ngOnChanges(): void;
|
|
10
10
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormPhoneDirective, never>;
|
|
12
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPhoneDirective, "[fsFormPhone]", never, { "fsFormPhone": "fsFormPhone"; "validationMessage": "fsFormPhoneMessage"; }, {}, never, never, false, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormPhoneDirective, "[fsFormPhone]", never, { "fsFormPhone": { "alias": "fsFormPhone"; "required": false; }; "validationMessage": { "alias": "fsFormPhoneMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
13
13
|
}
|
|
@@ -12,5 +12,5 @@ export declare class FsFormRequiredDirective extends FsControlDirective implemen
|
|
|
12
12
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
13
13
|
protected render(): void;
|
|
14
14
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormRequiredDirective, never>;
|
|
15
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormRequiredDirective, "[fsFormRequired],[ngModel][required]", never, { "setFsFormRequired": "fsFormRequired"; "setRequired": "required"; "validationMessage": "fsFormRequiredMessage"; }, {}, never, never, false, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormRequiredDirective, "[fsFormRequired],[ngModel][required]", never, { "setFsFormRequired": { "alias": "fsFormRequired"; "required": false; }; "setRequired": { "alias": "required"; "required": false; }; "validationMessage": { "alias": "fsFormRequiredMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
16
|
}
|
|
@@ -10,5 +10,5 @@ export declare class FsFormUrlDirective extends FsControlDirective implements On
|
|
|
10
10
|
ngOnChanges(): void;
|
|
11
11
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
12
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormUrlDirective, never>;
|
|
13
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormUrlDirective, "[fsFormUrl]", never, { "fsFormUrl": "fsFormUrl"; "fsFormUrlProtocol": "fsFormUrlProtocol"; "validationMessage": "fsFormUrlMessage"; }, {}, never, never, false, never>;
|
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormUrlDirective, "[fsFormUrl]", never, { "fsFormUrl": { "alias": "fsFormUrl"; "required": false; }; "fsFormUrlProtocol": { "alias": "fsFormUrlProtocol"; "required": false; }; "validationMessage": { "alias": "fsFormUrlMessage"; "required": false; }; }, {}, never, never, false, never>;
|
|
14
14
|
}
|
|
@@ -11,5 +11,5 @@ export declare class FsFormValidateDirective extends FsControlDirective implemen
|
|
|
11
11
|
ngOnChanges(): void;
|
|
12
12
|
validateAsync(control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null>;
|
|
13
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<FsFormValidateDirective, never>;
|
|
14
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormValidateDirective, "[validate]", never, { "validateFn": "validate"; "validateFnData": "validateData"; "validateOnSubmit": "validateOnSubmit"; }, {}, never, never, false, never>;
|
|
14
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FsFormValidateDirective, "[validate]", never, { "validateFn": { "alias": "validate"; "required": false; }; "validateFnData": { "alias": "validateData"; "required": false; }; "validateOnSubmit": { "alias": "validateOnSubmit"; "required": false; }; }, {}, never, never, false, never>;
|
|
15
15
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ActivatedRoute
|
|
1
|
+
import { ActivatedRoute } from '@angular/router';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { FsForm } from '../services/fsform.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class FormDeactivateGuard
|
|
5
|
+
export declare class FormDeactivateGuard {
|
|
6
6
|
private _form;
|
|
7
7
|
private _route;
|
|
8
8
|
constructor(_form: FsForm, _route: ActivatedRoute);
|
|
@@ -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=
|
|
@@ -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==
|
|
@@ -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
|
|
@@ -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
|