@firestitch/form 18.0.19 → 18.0.21
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/directives/form-base/form-base.directive.d.ts +0 -3
- package/esm2022/app/components/form-dialog-actions/form-dialog-actions.component.mjs +3 -3
- package/esm2022/app/directives/form-base/form-base.directive.mjs +22 -28
- package/fesm2022/firestitch-form.mjs +23 -27
- package/fesm2022/firestitch-form.mjs.map +1 -1
- package/package.json +1 -1
- package/app/services/index.d.ts +0 -1
- package/esm2022/app/services/index.mjs +0 -2
|
@@ -13,10 +13,7 @@ export declare abstract class FsFormBaseDirective implements AfterContentInit, O
|
|
|
13
13
|
private _tabGroups;
|
|
14
14
|
private _buttons;
|
|
15
15
|
private _activeSubmitButton;
|
|
16
|
-
private _currentTabIndex;
|
|
17
|
-
private _tabConfirming;
|
|
18
16
|
private _destroy$;
|
|
19
|
-
private _formService;
|
|
20
17
|
abstract submitting: boolean;
|
|
21
18
|
abstract confirm: ConfirmConfig | boolean;
|
|
22
19
|
ngAfterContentInit(): void;
|
|
@@ -51,11 +51,11 @@ export class FsFormDialogActionsComponent {
|
|
|
51
51
|
this._destroy$.complete();
|
|
52
52
|
}
|
|
53
53
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: i1.FsFormDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div
|
|
54
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div\n class=\"form-buttons\"\n [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=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\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 <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\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 <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: [":host{width:100%}.form-buttons.save-create .close-button{float:right}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i4.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],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
55
55
|
}
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
|
|
57
57
|
type: Component,
|
|
58
|
-
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div
|
|
58
|
+
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"form-buttons\"\n [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=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\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 <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\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 <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: [":host{width:100%}.form-buttons.save-create .close-button{float:right}\n"] }]
|
|
59
59
|
}], ctorParameters: () => [{ type: i1.FsFormDirective, decorators: [{
|
|
60
60
|
type: Optional
|
|
61
61
|
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { save: [{
|
|
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
71
71
|
}], name: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS1kaWFsb2ctYWN0aW9ucy9mb3JtLWRpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUFFLGlCQUFpQixFQUMxQyxTQUFTLEVBQUUsS0FBSyxFQUFxQixRQUFRLEdBQzlDLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQVN2RSxNQUFNLE9BQU8sNEJBQTRCO0lBY2pCO0lBQ1o7SUFiTSxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDZCxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ2IsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNqQixJQUFJLENBQVM7SUFFdEIsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUViLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLFlBQ3NCLEtBQXNCLEVBQ2xDLE1BQXlCO1FBRGIsVUFBSyxHQUFMLEtBQUssQ0FBaUI7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFDaEMsQ0FBQztJQUVHLFFBQVE7UUFDYixJQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVk7aUJBQzNCLElBQUksQ0FDSCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUMzQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjtpQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBRUwsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO2lCQUNqQixJQUFJLENBQ0gsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2lCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFFTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87aUJBQ2YsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2lCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO3VHQXREVSw0QkFBNEI7MkZBQTVCLDRCQUE0Qiw4S0NsQnpDLDh6Q0FpRGM7OzJGRC9CRCw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFnQjVDLFFBQVE7eUVBWkssSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtZm9ybS1kaWFsb2ctYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzYXZlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JlYXRlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRvbmUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VEYXRhID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgZGlydHkgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybTogRnNGb3JtRGlyZWN0aXZlLFxyXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCAgIFxyXG4gICkge31cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5fZm9ybSkge1xyXG4gICAgICB0aGlzLl9mb3JtLm5nRm9ybS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAucGlwZSggIFxyXG4gICAgICAgICAgZmlsdGVyKCgpID0+ICghdGhpcy5kaXJ0eSkpLFxyXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRpcnR5ID0gdGhpcy5fZm9ybS5uZ0Zvcm0uZGlydHk7XHJcbiAgICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX2Zvcm0uc3VibWl0dGVkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICBkZWxheSg1MCksXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5fZm9ybS5yZXNldGVkXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcbiAgICBjbGFzcz1cImZvcm0tYnV0dG9uc1wiXG4gICAgW25nQ2xhc3NdPVwieyAnc2F2ZS1jcmVhdGUnOiBzYXZlIHx8IGNyZWF0ZSB9XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzYXZlIHx8IGNyZWF0ZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiPlxuICAgICAge3sgY3JlYXRlID8gJ0NyZWF0ZScgOiAnU2F2ZScgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJjbG9zZSAmJiAhZGlydHkgJiYgIWNyZWF0ZVwiXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cbiAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvbmVcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cIm51bGxcIj5cbiAgICAgIERvbmVcbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzYXZlIHx8IGNyZWF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjbG9zZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJjbG9zZS1idXR0b25cIlxuICAgICAgICBmc0Zvcm1EaWFsb2dDbG9zZVxuICAgICAgICBbY2xvc2VEYXRhXT1cImNsb3NlRGF0YVwiXG4gICAgICAgIFtjb2xvcl09XCJkaXJ0eSA/ICdiYXNpYycgOiAncHJpbWFyeSdcIj5cbiAgICAgIENsb3NlXG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzYXZlIHx8IGNyZWF0ZSlcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { ChangeDetectorRef, ContentChildren, Directive, inject, Input, NgZone, QueryList, } from '@angular/core';
|
|
2
2
|
import { MatTabGroup } from '@angular/material/tabs';
|
|
3
3
|
import { of, Subject } from 'rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { filter, switchMap, takeUntil, tap } from 'rxjs/operators';
|
|
5
5
|
import { confirmResultContinue } from '../../helpers';
|
|
6
|
-
import { FsForm } from '../../services';
|
|
7
|
-
import { FsFormDirective } from '../form';
|
|
8
6
|
import * as i0 from "@angular/core";
|
|
9
7
|
export class FsFormBaseDirective {
|
|
10
8
|
confirmTabs = true;
|
|
@@ -14,10 +12,7 @@ export class FsFormBaseDirective {
|
|
|
14
12
|
_tabGroups = new QueryList();
|
|
15
13
|
_buttons = new QueryList();
|
|
16
14
|
_activeSubmitButton;
|
|
17
|
-
_currentTabIndex;
|
|
18
|
-
_tabConfirming;
|
|
19
15
|
_destroy$ = new Subject();
|
|
20
|
-
_formService = inject(FsForm);
|
|
21
16
|
ngAfterContentInit() {
|
|
22
17
|
this._registerConfirmTabs();
|
|
23
18
|
}
|
|
@@ -67,32 +62,31 @@ export class FsFormBaseDirective {
|
|
|
67
62
|
});
|
|
68
63
|
}
|
|
69
64
|
_registerConfirmTabGroup(tabGroup) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
.
|
|
73
|
-
.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
65
|
+
const confirmTabGroup = tabGroup;
|
|
66
|
+
if (!confirmTabGroup._originalHandleClick) {
|
|
67
|
+
confirmTabGroup._originalHandleClick = tabGroup._handleClick;
|
|
68
|
+
confirmTabGroup._handlClick$ = new Subject();
|
|
69
|
+
confirmTabGroup._handleClick = (tab, tabHeader, idx) => {
|
|
70
|
+
if (confirmTabGroup._handlClick$.observers.length) {
|
|
71
|
+
confirmTabGroup._handlClick$.next({ tab, tabHeader, idx });
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
confirmTabGroup._originalHandleClick(tab, tabHeader, idx);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
confirmTabGroup._handlClick$
|
|
79
|
+
.pipe(filter(() => !this.submitting), switchMap((event) => {
|
|
80
|
+
if (this.confirm && this.confirmTabs) {
|
|
82
81
|
return this.triggerConfirm()
|
|
83
|
-
.pipe(
|
|
82
|
+
.pipe(tap((result) => {
|
|
84
83
|
if (confirmResultContinue(result)) {
|
|
85
|
-
|
|
86
|
-
return selectedIndex;
|
|
84
|
+
confirmTabGroup.selectedIndex = event.idx;
|
|
87
85
|
}
|
|
88
|
-
return this._currentTabIndex;
|
|
89
|
-
}), delay(50), tap(() => {
|
|
90
|
-
this._tabConfirming = false;
|
|
91
86
|
}));
|
|
92
87
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
this._currentTabIndex = selectedIndex;
|
|
88
|
+
confirmTabGroup._originalHandleClick(event.tab, event.tabHeader, event.idx);
|
|
89
|
+
return of(null);
|
|
96
90
|
}), takeUntil(this._destroy$))
|
|
97
91
|
.subscribe();
|
|
98
92
|
}
|
|
@@ -109,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
109
103
|
type: ContentChildren,
|
|
110
104
|
args: [MatTabGroup, { descendants: true }]
|
|
111
105
|
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9mb3JtLWJhc2UvZm9ybS1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBSTFDLE1BQU0sT0FBZ0IsbUJBQW1CO0lBR2hDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFHbkIsUUFBUSxDQUFjO0lBRW5CLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBR3JDLFVBQVUsR0FBMkIsSUFBSSxTQUFTLEVBQUUsQ0FBQztJQUVyRCxRQUFRLEdBQUcsSUFBSSxTQUFTLEVBQXFCLENBQUM7SUFDOUMsbUJBQW1CLENBQW9CO0lBQ3ZDLGdCQUFnQixDQUFTO0lBQ3pCLGNBQWMsQ0FBVTtJQUN4QixTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNo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QUM7Z0JBQzdCLENBQUMsQ0FBQyxDQUFDO2dCQUVILE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRTtxQkFDekIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUNiLElBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDakMsUUFBUSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7d0JBRXZDLE9BQU8sYUFBYSxDQUFDO29CQUN2QixDQUFDO29CQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQixDQUFDLENBQUMsRUFDRixLQUFLLENBQUMsRUFBRSxDQUFDLEVBQ1QsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDUCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDOUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNOLENBQUM7WUFFRCxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzt1R0FySW1CLG1CQUFtQjsyRkFBbkIsbUJBQW1CLG1IQVd0QixXQUFXOzsyRkFYUixtQkFBbUI7a0JBRHhDLFNBQVM7OEJBSUQsV0FBVztzQkFEakIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBT0UsVUFBVTtzQkFEakIsZUFBZTt1QkFBQyxXQUFXLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0VGFiR3JvdXAgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQ29uZmlybVJlc3VsdCB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IGNvbmZpcm1SZXN1bHRDb250aW51ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgQ29uZmlybUNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnNGb3JtIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgRnNCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2Zvcm0nO1xuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZzRm9ybUJhc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25maXJtVGFicyA9IHRydWU7XG4gIFxuICBASW5wdXQoKVxuICBwdWJsaWMgdGFiR3JvdXA6IE1hdFRhYkdyb3VwO1xuXG4gIHByb3RlY3RlZCBfbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByb3RlY3RlZCBfY2RSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTWF0VGFiR3JvdXAsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgcHJpdmF0ZSBfdGFiR3JvdXBzOiBRdWVyeUxpc3Q8TWF0VGFiR3JvdXA+ID0gbmV3IFF1ZXJ5TGlzdCgpO1xuXG4gIHByaXZhdGUgX2J1dHRvbnMgPSBuZXcgUXVlcnlMaXN0PEZzQnV0dG9uRGlyZWN0aXZlPigpO1xuICBwcml2YXRlIF9hY3RpdmVTdWJtaXRCdXR0b246IEZzQnV0dG9uRGlyZWN0aXZlO1xuICBwcml2YXRlIF9jdXJyZW50VGFiSW5kZXg6IG51bWJlcjtcbiAgcHJpdmF0ZSBfdGFiQ29uZmlybWluZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9mb3JtU2VydmljZSA9IGluamVjdChGc0Zvcm0pO1xuICBcbiAgcHVibGljIGFic3RyYWN0IHN1Ym1pdHRpbmc6IGJvb2xlYW47XG4gIHB1YmxpYyBhYnN0cmFjdCBjb25maXJtOiBDb25maXJtQ29uZmlnIHwgYm9vbGVhbjsgIFxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0ZXJDb25maXJtVGFicygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXN0cm95JCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVzdHJveSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG4gIFxuICBwdWJsaWMgZ2V0IGJ1dHRvbnMoKTogUXVlcnlMaXN0PEZzQnV0dG9uRGlyZWN0aXZlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2J1dHRvbnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZVN1Ym1pdEJ1dHRvbigpOiBGc0J1dHRvbkRpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZVN1Ym1pdEJ1dHRvbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWN0aXZlU3VibWl0QnV0dG9uKGJ1dHRvbjogRnNCdXR0b25EaXJlY3RpdmUpIHtcbiAgICB0aGlzLl9hY3RpdmVTdWJtaXRCdXR0b24gPSBidXR0b247XG4gIH1cblxuICBwdWJsaWMgYWRkQnV0dG9uKGJ1dHRvbjogRnNCdXR0b25EaXJlY3RpdmUpOiB2b2lkIHtcbiAgICB0aGlzLl9idXR0b25zXG4gICAgICAucmVzZXQoXG4gICAgICAgIFtcbiAgICAgICAgICAuLi50aGlzLl9idXR0b25zLnRvQXJyYXkoKSxcbiAgICAgICAgICBidXR0b24sXG4gICAgICAgIF0pO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUJ1dHRvbihidXR0b246IEZzQnV0dG9uRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgaWYodGhpcy5fYWN0aXZlU3VibWl0QnV0dG9uID09PSBidXR0b24pIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVN1Ym1pdEJ1dHRvbiA9IG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5fYnV0dG9ucy5yZXNldChcbiAgICAgIFtcbiAgICAgICAgLi4udGhpcy5fYnV0dG9ucy50b0FycmF5KClcbiAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiAoYnV0dG9uICE9PSBpdGVtKSksXG4gICAgICBdKTtcbiAgfVxuICBcblxuICBwcml2YXRlIF9yZWdpc3RlckNvbmZpcm1UYWJzKCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdGVyQ29uZmlybVRhYkdyb3Vwcyh0aGlzLl90YWJHcm91cHMudG9BcnJheSgpKTtcbiAgICB0aGlzLl90YWJHcm91cHMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fcmVnaXN0ZXJDb25maXJtVGFiR3JvdXBzKHRoaXMuX3RhYkdyb3Vwcy50b0FycmF5KCkpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3RlckNvbmZpcm1UYWJHcm91cHModGFiR3JvdXBzOiBNYXRUYWJHcm91cFtdKTogdm9pZCB7XG4gICAgdGFiR3JvdXBzLmZvckVhY2goKHRhYkdyb3VwOiBNYXRUYWJHcm91cCkgPT4ge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJDb25maXJtVGFiR3JvdXAodGFiR3JvdXApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJDb25maXJtVGFiR3JvdXAodGFiR3JvdXA6IE1hdFRhYkdyb3VwKTogdm9pZCB7XG4gICAgdGhpcy5fY3VycmVudFRhYkluZGV4ID0gdGFiR3JvdXAuc2VsZWN0ZWRJbmRleDtcblxuICAgIHRhYkdyb3VwXG4gICAgICAuc2VsZWN0ZWRJbmRleENoYW5nZVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5fdGFiQ29uZmlybWluZyksXG4gICAgICAgIHN3aXRjaE1hcCgoc2VsZWN0ZWRJbmRleCkgPT4ge1xuICAgICAgICAgIGlmKFxuICAgICAgICAgICAgdGhpcy5jb25maXJtICYmIFxuICAgICAgICAgICAgdGhpcy5jb25maXJtVGFicyAmJiBcbiAgICAgICAgICAgIHRoaXMgaW5zdGFuY2VvZiBGc0Zvcm1EaXJlY3RpdmUgJiYgdGhpcy5fZm9ybVNlcnZpY2UuaGFzQ2hhbmdlcyh0aGlzKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fdGFiQ29uZmlybWluZyA9IHRydWU7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgIFxuICAgICAgICAgICAgICB0YWJHcm91cC5zZWxlY3RlZEluZGV4ID0gdGhpcy5fY3VycmVudFRhYkluZGV4OyBcbiAgICAgICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlckNvbmZpcm0oKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYoY29uZmlybVJlc3VsdENvbnRpbnVlKHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFiR3JvdXAuc2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkSW5kZXg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50VGFiSW5kZXg7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGVsYXkoNTApLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICB0aGlzLl90YWJDb25maXJtaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBcblxuICAgICAgICAgIHJldHVybiBvZihzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoc2VsZWN0ZWRJbmRleCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRUYWJJbmRleCA9IHNlbGVjdGVkSW5kZXg7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG4gIFxuICBwdWJsaWMgYWJzdHJhY3QgdHJpZ2dlclN1Ym1pdCgpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgdHJpZ2dlckNvbmZpcm0oKTogT2JzZXJ2YWJsZTxDb25maXJtUmVzdWx0Pjtcbn1cbiJdfQ==
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGlyZWN0aXZlcy9mb3JtLWJhc2UvZm9ybS1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBVSxXQUFXLEVBQWdCLE1BQU0sd0JBQXdCLENBQUM7QUFFM0UsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdEQsTUFBTSxPQUFnQixtQkFBbUI7SUFHaEMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUduQixRQUFRLENBQWM7SUFFbkIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixNQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFHckMsVUFBVSxHQUEyQixJQUFJLFNBQVMsRUFBRSxDQUFDO0lBRXJELFFBQVEsR0FBRyxJQUFJLFNBQVMsRUFBcUIsQ0FBQztJQUM5QyxtQkFBbUIsQ0FBb0I7SUFDdkMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLakMsa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxXQUFXO1FB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SUFBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFO3FCQUN6QixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO3dCQUNsQyxlQUFlLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7b0JBQzVDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNOLENBQUM7WUFFRCxlQUFlLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU1RSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7dUdBOUhtQixtQkFBbUI7MkZBQW5CLG1CQUFtQixtSEFXdEIsV0FBVzs7MkZBWFIsbUJBQW1CO2tCQUR4QyxTQUFTOzhCQUlELFdBQVc7c0JBRGpCLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxLQUFLO2dCQU9FLFVBQVU7c0JBRGpCLGVBQWU7dUJBQUMsV0FBVyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdFRhYiwgTWF0VGFiR3JvdXAsIE1hdFRhYkhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb25maXJtUmVzdWx0IH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgY29uZmlybVJlc3VsdENvbnRpbnVlIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBDb25maXJtQ29uZmlnLCBDb25maXJtVGFiR3JvdXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZzQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uLmRpcmVjdGl2ZSc7XG5cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRnNGb3JtQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpcm1UYWJzID0gdHJ1ZTtcbiAgXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJHcm91cDogTWF0VGFiR3JvdXA7XG5cbiAgcHJvdGVjdGVkIF9uZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgcHJvdGVjdGVkIF9jZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihNYXRUYWJHcm91cCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIF90YWJHcm91cHM6IFF1ZXJ5TGlzdDxNYXRUYWJHcm91cD4gPSBuZXcgUXVlcnlMaXN0KCk7XG5cbiAgcHJpdmF0ZSBfYnV0dG9ucyA9IG5ldyBRdWVyeUxpc3Q8RnNCdXR0b25EaXJlY3RpdmU+KCk7XG4gIHByaXZhdGUgX2FjdGl2ZVN1Ym1pdEJ1dHRvbjogRnNCdXR0b25EaXJlY3RpdmU7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgXG4gIHB1YmxpYyBhYnN0cmFjdCBzdWJtaXR0aW5nOiBib29sZWFuO1xuICBwdWJsaWMgYWJzdHJhY3QgY29uZmlybTogQ29uZmlybUNvbmZpZyB8IGJvb2xlYW47ICBcblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdGVyQ29uZmlybVRhYnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzdHJveSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3kkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuICBcbiAgcHVibGljIGdldCBidXR0b25zKCk6IFF1ZXJ5TGlzdDxGc0J1dHRvbkRpcmVjdGl2ZT4ge1xuICAgIHJldHVybiB0aGlzLl9idXR0b25zO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVTdWJtaXRCdXR0b24oKTogRnNCdXR0b25EaXJlY3RpdmUge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVTdWJtaXRCdXR0b247XG4gIH1cblxuICBwdWJsaWMgc2V0IGFjdGl2ZVN1Ym1pdEJ1dHRvbihidXR0b246IEZzQnV0dG9uRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5fYWN0aXZlU3VibWl0QnV0dG9uID0gYnV0dG9uO1xuICB9XG5cbiAgcHVibGljIGFkZEJ1dHRvbihidXR0b246IEZzQnV0dG9uRGlyZWN0aXZlKTogdm9pZCB7XG4gICAgdGhpcy5fYnV0dG9uc1xuICAgICAgLnJlc2V0KFxuICAgICAgICBbXG4gICAgICAgICAgLi4udGhpcy5fYnV0dG9ucy50b0FycmF5KCksXG4gICAgICAgICAgYnV0dG9uLFxuICAgICAgICBdKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVCdXR0b24oYnV0dG9uOiBGc0J1dHRvbkRpcmVjdGl2ZSk6IHZvaWQge1xuICAgIGlmKHRoaXMuX2FjdGl2ZVN1Ym1pdEJ1dHRvbiA9PT0gYnV0dG9uKSB7XG4gICAgICB0aGlzLl9hY3RpdmVTdWJtaXRCdXR0b24gPSBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX2J1dHRvbnMucmVzZXQoXG4gICAgICBbXG4gICAgICAgIC4uLnRoaXMuX2J1dHRvbnMudG9BcnJheSgpXG4gICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gKGJ1dHRvbiAhPT0gaXRlbSkpLFxuICAgICAgXSk7XG4gIH1cbiAgXG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJDb25maXJtVGFicygpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWdpc3RlckNvbmZpcm1UYWJHcm91cHModGhpcy5fdGFiR3JvdXBzLnRvQXJyYXkoKSk7XG4gICAgdGhpcy5fdGFiR3JvdXBzLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3JlZ2lzdGVyQ29uZmlybVRhYkdyb3Vwcyh0aGlzLl90YWJHcm91cHMudG9BcnJheSgpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVnaXN0ZXJDb25maXJtVGFiR3JvdXBzKHRhYkdyb3VwczogTWF0VGFiR3JvdXBbXSk6IHZvaWQge1xuICAgIHRhYkdyb3Vwcy5mb3JFYWNoKCh0YWJHcm91cDogTWF0VGFiR3JvdXApID0+IHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyQ29uZmlybVRhYkdyb3VwKHRhYkdyb3VwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZ2lzdGVyQ29uZmlybVRhYkdyb3VwKHRhYkdyb3VwOiBNYXRUYWJHcm91cCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpcm1UYWJHcm91cCA9IHRhYkdyb3VwIGFzIENvbmZpcm1UYWJHcm91cDtcbiAgICBpZiAoIWNvbmZpcm1UYWJHcm91cC5fb3JpZ2luYWxIYW5kbGVDbGljaykge1xuICAgICAgY29uZmlybVRhYkdyb3VwLl9vcmlnaW5hbEhhbmRsZUNsaWNrID0gdGFiR3JvdXAuX2hhbmRsZUNsaWNrO1xuICAgICAgY29uZmlybVRhYkdyb3VwLl9oYW5kbENsaWNrJCA9IG5ldyBTdWJqZWN0PHtcbiAgICAgICAgIHRhYjogTWF0VGFiOyBcbiAgICAgICAgIHRhYkhlYWRlcjogTWF0VGFiSGVhZGVyOyBcbiAgICAgICAgIGlkeDogbnVtYmVyIFxuICAgICAgICB9PigpO1xuXG4gICAgICBjb25maXJtVGFiR3JvdXAuX2hhbmRsZUNsaWNrID0gKHRhYjogTWF0VGFiLCB0YWJIZWFkZXI6IE1hdFRhYkhlYWRlciwgaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGNvbmZpcm1UYWJHcm91cC5faGFuZGxDbGljayQub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbmZpcm1UYWJHcm91cC5faGFuZGxDbGljayQubmV4dCh7IHRhYiwgdGFiSGVhZGVyLCBpZHggfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uZmlybVRhYkdyb3VwLl9vcmlnaW5hbEhhbmRsZUNsaWNrKHRhYiwgdGFiSGVhZGVyLCBpZHgpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbmZpcm1UYWJHcm91cC5faGFuZGxDbGljayRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMuc3VibWl0dGluZyksXG4gICAgICAgIHN3aXRjaE1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZih0aGlzLmNvbmZpcm0gJiYgdGhpcy5jb25maXJtVGFicykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJpZ2dlckNvbmZpcm0oKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpcm1SZXN1bHRDb250aW51ZShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpcm1UYWJHcm91cC5zZWxlY3RlZEluZGV4ID0gZXZlbnQuaWR4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbmZpcm1UYWJHcm91cC5fb3JpZ2luYWxIYW5kbGVDbGljayhldmVudC50YWIsIGV2ZW50LnRhYkhlYWRlciwgZXZlbnQuaWR4KTtcblxuICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbiAgXG4gIFxuICBwdWJsaWMgYWJzdHJhY3QgdHJpZ2dlclN1Ym1pdCgpOiB2b2lkO1xuICBwdWJsaWMgYWJzdHJhY3QgdHJpZ2dlckNvbmZpcm0oKTogT2JzZXJ2YWJsZTxDb25maXJtUmVzdWx0Pjtcbn1cbiJdfQ==
|
|
@@ -12,7 +12,7 @@ import { MAT_DIALOG_DATA, MatDialogModule, MatDialog, MatDialogRef } from '@angu
|
|
|
12
12
|
import * as i2 from '@firestitch/dialog';
|
|
13
13
|
import { FsDialogModule } from '@firestitch/dialog';
|
|
14
14
|
import { Subject, of, BehaviorSubject, throwError, fromEvent, iif, defer, from, isObservable } from 'rxjs';
|
|
15
|
-
import { switchMap, map, catchError, takeUntil, filter,
|
|
15
|
+
import { switchMap, map, catchError, takeUntil, filter, tap, take, mergeMap, delay, first, startWith, mapTo } from 'rxjs/operators';
|
|
16
16
|
import * as i2$1 from '@angular/router';
|
|
17
17
|
import { guid, email, isEmpty, isNumeric, phone, url } from '@firestitch/common';
|
|
18
18
|
import * as i7 from '@firestitch/drawer';
|
|
@@ -253,10 +253,7 @@ class FsFormBaseDirective {
|
|
|
253
253
|
_tabGroups = new QueryList();
|
|
254
254
|
_buttons = new QueryList();
|
|
255
255
|
_activeSubmitButton;
|
|
256
|
-
_currentTabIndex;
|
|
257
|
-
_tabConfirming;
|
|
258
256
|
_destroy$ = new Subject();
|
|
259
|
-
_formService = inject(FsForm);
|
|
260
257
|
ngAfterContentInit() {
|
|
261
258
|
this._registerConfirmTabs();
|
|
262
259
|
}
|
|
@@ -306,32 +303,31 @@ class FsFormBaseDirective {
|
|
|
306
303
|
});
|
|
307
304
|
}
|
|
308
305
|
_registerConfirmTabGroup(tabGroup) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
.
|
|
312
|
-
.
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
306
|
+
const confirmTabGroup = tabGroup;
|
|
307
|
+
if (!confirmTabGroup._originalHandleClick) {
|
|
308
|
+
confirmTabGroup._originalHandleClick = tabGroup._handleClick;
|
|
309
|
+
confirmTabGroup._handlClick$ = new Subject();
|
|
310
|
+
confirmTabGroup._handleClick = (tab, tabHeader, idx) => {
|
|
311
|
+
if (confirmTabGroup._handlClick$.observers.length) {
|
|
312
|
+
confirmTabGroup._handlClick$.next({ tab, tabHeader, idx });
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
confirmTabGroup._originalHandleClick(tab, tabHeader, idx);
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
confirmTabGroup._handlClick$
|
|
320
|
+
.pipe(filter(() => !this.submitting), switchMap((event) => {
|
|
321
|
+
if (this.confirm && this.confirmTabs) {
|
|
321
322
|
return this.triggerConfirm()
|
|
322
|
-
.pipe(
|
|
323
|
+
.pipe(tap((result) => {
|
|
323
324
|
if (confirmResultContinue(result)) {
|
|
324
|
-
|
|
325
|
-
return selectedIndex;
|
|
325
|
+
confirmTabGroup.selectedIndex = event.idx;
|
|
326
326
|
}
|
|
327
|
-
return this._currentTabIndex;
|
|
328
|
-
}), delay(50), tap(() => {
|
|
329
|
-
this._tabConfirming = false;
|
|
330
327
|
}));
|
|
331
328
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
this._currentTabIndex = selectedIndex;
|
|
329
|
+
confirmTabGroup._originalHandleClick(event.tab, event.tabHeader, event.idx);
|
|
330
|
+
return of(null);
|
|
335
331
|
}), takeUntil(this._destroy$))
|
|
336
332
|
.subscribe();
|
|
337
333
|
}
|
|
@@ -1226,11 +1222,11 @@ class FsFormDialogActionsComponent {
|
|
|
1226
1222
|
this._destroy$.complete();
|
|
1227
1223
|
}
|
|
1228
1224
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: FsFormDirective, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1229
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div
|
|
1225
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div\n class=\"form-buttons\"\n [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=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\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 <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\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 <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: [":host{width:100%}.form-buttons.save-create .close-button{float:right}\n"], dependencies: [{ kind: "directive", type: i2$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }, { kind: "directive", type: FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1230
1226
|
}
|
|
1231
1227
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
|
|
1232
1228
|
type: Component,
|
|
1233
|
-
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div
|
|
1229
|
+
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"form-buttons\"\n [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=\"cancel-button\"\n [disabled]=\"close && !dirty && !create\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </ng-container>\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 <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\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 <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: [":host{width:100%}.form-buttons.save-create .close-button{float:right}\n"] }]
|
|
1234
1230
|
}], ctorParameters: () => [{ type: FsFormDirective, decorators: [{
|
|
1235
1231
|
type: Optional
|
|
1236
1232
|
}] }, { type: i0.ChangeDetectorRef }], propDecorators: { save: [{
|