@firestitch/form 18.0.30 → 18.0.32
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 +3 -0
- package/app/directives/button.directive.d.ts +8 -0
- package/app/directives/confirm-tabs/confirm-tabs.directive.d.ts +32 -0
- package/app/directives/confirm-tabs/index.d.ts +1 -0
- package/app/directives/form/form.directive.d.ts +2 -0
- package/app/directives/form-base/form-base.directive.d.ts +14 -2
- package/app/directives/index.d.ts +1 -0
- package/app/fs-form.module.d.ts +2 -1
- package/app/helpers/index.d.ts +1 -0
- package/app/helpers/within-same-dialog.d.ts +18 -0
- package/esm2022/app/components/form-dialog-actions/form-dialog-actions.component.mjs +20 -9
- package/esm2022/app/directives/button.directive.mjs +15 -3
- package/esm2022/app/directives/confirm-tabs/confirm-tabs.directive.mjs +50 -0
- package/esm2022/app/directives/confirm-tabs/index.mjs +2 -0
- package/esm2022/app/directives/form/form.directive.mjs +12 -3
- package/esm2022/app/directives/form-base/form-base.directive.mjs +19 -5
- package/esm2022/app/directives/index.mjs +2 -1
- package/esm2022/app/fs-form.module.mjs +8 -3
- package/esm2022/app/helpers/index.mjs +2 -1
- package/esm2022/app/helpers/within-same-dialog.mjs +19 -0
- package/esm2022/public_api.mjs +2 -1
- package/fesm2022/firestitch-form.mjs +126 -18
- package/fesm2022/firestitch-form.mjs.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
|
@@ -9,6 +9,7 @@ import { FsFormDialogActionsComponent, } from './components';
|
|
|
9
9
|
import { FsFormGreaterEqualDirective, FsFormLesserEqualDirective, FsFormTemplateDirective, FsSubmitButtonDirective, } from './directives';
|
|
10
10
|
import { FsButtonDirective } from './directives/button.directive';
|
|
11
11
|
import { FsFormDialogCloseDirective } from './directives/form-dialog-close.directive';
|
|
12
|
+
import { FsFormConfirmTabsDirective } from './directives/confirm-tabs/confirm-tabs.directive';
|
|
12
13
|
import { FsFormContainerDirective } from './directives/form-container/form-container.directive';
|
|
13
14
|
import { FsFormDirective } from './directives/form/form.directive';
|
|
14
15
|
import { FsFormCompareDirective } from './directives/validators/compare.directive';
|
|
@@ -83,7 +84,8 @@ export class FsFormModule {
|
|
|
83
84
|
FsFormTemplateDirective,
|
|
84
85
|
FsFormTemplateDirective,
|
|
85
86
|
FsFormTemplateOutletDirective,
|
|
86
|
-
FsFormContainerDirective
|
|
87
|
+
FsFormContainerDirective,
|
|
88
|
+
FsFormConfirmTabsDirective], exports: [FsFormDirective,
|
|
87
89
|
FsControlDirective,
|
|
88
90
|
FsFormRequiredDirective,
|
|
89
91
|
FsFormMinDirective,
|
|
@@ -113,7 +115,8 @@ export class FsFormModule {
|
|
|
113
115
|
FsFormTemplateDirective,
|
|
114
116
|
FsFormTemplateDirective,
|
|
115
117
|
FsFormTemplateOutletDirective,
|
|
116
|
-
FsFormContainerDirective
|
|
118
|
+
FsFormContainerDirective,
|
|
119
|
+
FsFormConfirmTabsDirective] });
|
|
117
120
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormModule, providers: [
|
|
118
121
|
{
|
|
119
122
|
provide: ErrorStateMatcher,
|
|
@@ -168,6 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
168
171
|
FsFormTemplateDirective,
|
|
169
172
|
FsFormTemplateOutletDirective,
|
|
170
173
|
FsFormContainerDirective,
|
|
174
|
+
FsFormConfirmTabsDirective,
|
|
171
175
|
],
|
|
172
176
|
exports: [
|
|
173
177
|
FsFormDirective,
|
|
@@ -201,6 +205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
201
205
|
FsFormTemplateDirective,
|
|
202
206
|
FsFormTemplateOutletDirective,
|
|
203
207
|
FsFormContainerDirective,
|
|
208
|
+
FsFormConfirmTabsDirective,
|
|
204
209
|
],
|
|
205
210
|
providers: [
|
|
206
211
|
{
|
|
@@ -210,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
210
215
|
],
|
|
211
216
|
}]
|
|
212
217
|
}] });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXNCLFdBQVcsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCwyQkFBMkIsRUFBRSwwQkFBMEIsRUFDdkQsdUJBQXVCLEVBQUUsdUJBQXVCLEdBQ2pELE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JB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d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsc0JBQXNCO3dCQUN0QiwyQkFBMkI7d0JBQzNCLHFCQUFxQjt3QkFDckIsMEJBQTBCO3dCQUMxQixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3dCQUN2Qiw0QkFBNEI7d0JBQzVCLDZCQUE2Qjt3QkFDN0IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSw0QkFBNEI7eUJBQ3pDO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyLCBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0RpYWxvZ01vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RpYWxvZyc7XG5cbmltcG9ydCB7XG4gIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBGc0Zvcm1HcmVhdGVyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSwgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1jb250YWluZXIvZm9ybS1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlscy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2dyZWF0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUludGVnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9sZXNzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbmxlbmd0aC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3BhdHRlcm4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVBob25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVVybERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3VybC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgRnNEaWFsb2dNb2R1bGUsXG4gICAgICAgIEZzRm9ybURpcmVjdGl2ZSxcbiAgICAgICAgRnNDb250cm9sRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWluRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NYXhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1FbWFpbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRW1haWxzRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1QaG9uZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTnVtZXJpY0RpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURhdGVSYW5nZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1VcmxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUsXG4gICAgICAgIEZzQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBGc1N1Ym1pdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZU91dGxldERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBGc0Zvcm1EaXJlY3RpdmUsXG4gICAgICAgIEZzQ29udHJvbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUmVxdWlyZWREaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1pbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWF4RGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NaW5MZW5ndGhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRW1haWxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUGhvbmVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUludGVnZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU51bWVyaWNEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUZ1bmN0aW9uRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUdyZWF0ZXJFcXVhbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTGVzc2VyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1MZXNzZXJFcXVhbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVXJsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIEZzRm9ybU5vRnNWYWxpZGF0b3JzRGlyZWN0aXZlLFxuICAgICAgICBGc0J1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEZzRm9ybU1vZHVsZT4ge1xuXG4gICAgLyoqXG4gICAgICogSGFjazogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9pc3N1ZXMvMjAwOTdcbiAgICAgKi9cbiAgICBFcnJvclN0YXRlTWF0Y2hlci5wcm90b3R5cGVcbiAgICAgIC5pc0Vycm9yU3RhdGUgPSAoXG4gICAgICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCB8IG51bGwsXG4gICAgICAgIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwsXG4gICAgICApOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbnRyb2w/LmludmFsaWQgJiYgY29udHJvbD8udG91Y2hlZCAmJiBjb250cm9sPy5kaXJ0eTtcbiAgICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZzRm9ybU1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQXNCLFdBQVcsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQ0wsNEJBQTRCLEdBQzdCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCwyQkFBMkIsRUFBRSwwQkFBMEIsRUFDdkQsdUJBQXVCLEVBQUUsdUJBQXVCLEdBQ2pELE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsd0JB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N0Isd0JBQXdCO3dCQUN4QiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1Qiw2QkFBNkI7d0JBQzdCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2Qix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsNkJBQTZCO3dCQUM3Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDN0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSw0QkFBNEI7eUJBQ3pDO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0sIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IEVycm9yU3RhdGVNYXRjaGVyLCBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBGc0RpYWxvZ01vZHVsZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2RpYWxvZyc7XG5cbmltcG9ydCB7XG4gIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBGc0Zvcm1HcmVhdGVyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSwgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG59IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1Db25maXJtVGFic0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jb25maXJtLXRhYnMvY29uZmlybS10YWJzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1jb250YWluZXIvZm9ybS1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlscy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2dyZWF0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUludGVnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9sZXNzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbmxlbmd0aC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3BhdHRlcm4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVBob25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVVybERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3VybC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS10ZW1wbGF0ZS1vdXRsZXQuZGlyZWN0aXZlJztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgRnNEaWFsb2dNb2R1bGUsXG4gICAgICAgIEZzRm9ybURpcmVjdGl2ZSxcbiAgICAgICAgRnNDb250cm9sRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWluRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NYXhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1FbWFpbERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRW1haWxzRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1QaG9uZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTnVtZXJpY0RpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURhdGVSYW5nZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtR3JlYXRlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUxlc3NlckVxdWFsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1VcmxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUsXG4gICAgICAgIEZzQnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBGc1N1Ym1pdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZU91dGxldERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtQ29udGFpbmVyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1Db25maXJtVGFic0RpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRnNGb3JtRGlyZWN0aXZlLFxuICAgICAgICBGc0NvbnRyb2xEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NaW5EaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybU1heERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTWluTGVuZ3RoRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUVtYWlsRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVBob25lRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1Db21wYXJlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1QYXR0ZXJuRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1HcmVhdGVyRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1HcmVhdGVyRXF1YWxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUxlc3NlckRpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtTGVzc2VyRXF1YWxEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVVybERpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtRGlhbG9nQ2xvc2VEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVZhbGlkYXRlRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1EaWFsb2dBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBGc0Zvcm1Ob0ZzVmFsaWRhdG9yc0RpcmVjdGl2ZSxcbiAgICAgICAgRnNCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIEZzU3VibWl0QnV0dG9uRGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRnNGb3JtVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybVRlbXBsYXRlT3V0bGV0RGlyZWN0aXZlLFxuICAgICAgICBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUsXG4gICAgICAgIEZzRm9ybUNvbmZpcm1UYWJzRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnNGb3JtTW9kdWxlPiB7XG5cbiAgICAvKipcbiAgICAgKiBIYWNrOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8yMDA5N1xuICAgICAqL1xuICAgIEVycm9yU3RhdGVNYXRjaGVyLnByb3RvdHlwZVxuICAgICAgLmlzRXJyb3JTdGF0ZSA9IChcbiAgICAgICAgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sIHwgbnVsbCxcbiAgICAgICAgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCxcbiAgICAgICk6IGJvb2xlYW4gPT4ge1xuICAgICAgICByZXR1cm4gY29udHJvbD8uaW52YWxpZCAmJiBjb250cm9sPy50b3VjaGVkICYmIGNvbnRyb2w/LmRpcnR5O1xuICAgICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNGb3JtTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './confirm-result-continue';
|
|
2
|
-
|
|
2
|
+
export * from './within-same-dialog';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLXJlc3VsdC1jb250aW51ZSc7XG5leHBvcnQgKiBmcm9tICcuL3dpdGhpbi1zYW1lLWRpYWxvZyc7XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether an owner found through DI belongs to the same dialog as whoever found
|
|
3
|
+
* it - and may therefore be joined, or driven by a button.
|
|
4
|
+
*
|
|
5
|
+
* A form set must never span a dialog boundary. Owners are resolved by walking
|
|
6
|
+
* the element injector, and CDK parents a dialog opened with `viewContainerRef`
|
|
7
|
+
* to the opener's injector, so a dialog opened from inside another dialog's form
|
|
8
|
+
* would otherwise register into that form's set: the outer footer would flip to
|
|
9
|
+
* Save the moment the inner dialog opened and would then submit the inner form,
|
|
10
|
+
* while the inner dialog - no longer the owner of its own set - would stop
|
|
11
|
+
* confirming its unsaved changes on backdrop click.
|
|
12
|
+
*
|
|
13
|
+
* Identity of the `MatDialogRef` is the test: everything inside one dialog
|
|
14
|
+
* injects the same instance, and everything outside any dialog gets null.
|
|
15
|
+
*/
|
|
16
|
+
export function withinSameDialog(owner, dialogRef) {
|
|
17
|
+
return !!owner && owner.dialogRef === dialogRef;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aGluLXNhbWUtZGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL3dpdGhpbi1zYW1lLWRpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsS0FBMEIsRUFDMUIsU0FBNEI7SUFFNUIsT0FBTyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgdHlwZSB7IEZzRm9ybUJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2Zvcm0tYmFzZSc7XG5cblxuLyoqXG4gKiBXaGV0aGVyIGFuIG93bmVyIGZvdW5kIHRocm91Z2ggREkgYmVsb25ncyB0byB0aGUgc2FtZSBkaWFsb2cgYXMgd2hvZXZlciBmb3VuZFxuICogaXQgLSBhbmQgbWF5IHRoZXJlZm9yZSBiZSBqb2luZWQsIG9yIGRyaXZlbiBieSBhIGJ1dHRvbi5cbiAqXG4gKiBBIGZvcm0gc2V0IG11c3QgbmV2ZXIgc3BhbiBhIGRpYWxvZyBib3VuZGFyeS4gT3duZXJzIGFyZSByZXNvbHZlZCBieSB3YWxraW5nXG4gKiB0aGUgZWxlbWVudCBpbmplY3RvciwgYW5kIENESyBwYXJlbnRzIGEgZGlhbG9nIG9wZW5lZCB3aXRoIGB2aWV3Q29udGFpbmVyUmVmYFxuICogdG8gdGhlIG9wZW5lcidzIGluamVjdG9yLCBzbyBhIGRpYWxvZyBvcGVuZWQgZnJvbSBpbnNpZGUgYW5vdGhlciBkaWFsb2cncyBmb3JtXG4gKiB3b3VsZCBvdGhlcndpc2UgcmVnaXN0ZXIgaW50byB0aGF0IGZvcm0ncyBzZXQ6IHRoZSBvdXRlciBmb290ZXIgd291bGQgZmxpcCB0b1xuICogU2F2ZSB0aGUgbW9tZW50IHRoZSBpbm5lciBkaWFsb2cgb3BlbmVkIGFuZCB3b3VsZCB0aGVuIHN1Ym1pdCB0aGUgaW5uZXIgZm9ybSxcbiAqIHdoaWxlIHRoZSBpbm5lciBkaWFsb2cgLSBubyBsb25nZXIgdGhlIG93bmVyIG9mIGl0cyBvd24gc2V0IC0gd291bGQgc3RvcFxuICogY29uZmlybWluZyBpdHMgdW5zYXZlZCBjaGFuZ2VzIG9uIGJhY2tkcm9wIGNsaWNrLlxuICpcbiAqIElkZW50aXR5IG9mIHRoZSBgTWF0RGlhbG9nUmVmYCBpcyB0aGUgdGVzdDogZXZlcnl0aGluZyBpbnNpZGUgb25lIGRpYWxvZ1xuICogaW5qZWN0cyB0aGUgc2FtZSBpbnN0YW5jZSwgYW5kIGV2ZXJ5dGhpbmcgb3V0c2lkZSBhbnkgZGlhbG9nIGdldHMgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhpblNhbWVEaWFsb2coXG4gIG93bmVyOiBGc0Zvcm1CYXNlRGlyZWN0aXZlLFxuICBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxhbnk+LFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAhIW93bmVyICYmIG93bmVyLmRpYWxvZ1JlZiA9PT0gZGlhbG9nUmVmO1xufVxuIl19
|
package/esm2022/public_api.mjs
CHANGED
|
@@ -6,6 +6,7 @@ export { FsForm } from './app/services/fsform.service';
|
|
|
6
6
|
export { FsFormGreaterDirective, FsFormGreaterEqualDirective, FsFormLesserEqualDirective, FsFormTemplateDirective } from './app/directives';
|
|
7
7
|
export { FsButtonDirective } from './app/directives/button.directive';
|
|
8
8
|
export { FsFormDialogCloseDirective } from './app/directives/form-dialog-close.directive';
|
|
9
|
+
export { FsFormConfirmTabsDirective } from './app/directives/confirm-tabs/confirm-tabs.directive';
|
|
9
10
|
export { FsFormContainerDirective } from './app/directives/form-container/form-container.directive';
|
|
10
11
|
export { FsFormDirective } from './app/directives/form/form.directive';
|
|
11
12
|
export { FsSubmitButtonDirective } from './app/directives/submit-button.directive';
|
|
@@ -36,4 +37,4 @@ export { FormDeactivateGuard } from './app/guards/form-deactivate.guard';
|
|
|
36
37
|
// Enums
|
|
37
38
|
export { ConfirmResult } from './app/enums/confirm-result';
|
|
38
39
|
export { FormStatus } from './app/enums/form-status';
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsV0FBVztBQUNYLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUksT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRWhHLGFBQWE7QUFDYixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFRekUsUUFBUTtBQUNSLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNb2R1bGVzXG5leHBvcnQgeyBGc0Zvcm1Nb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1mb3JtLm1vZHVsZSc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgeyBGc0Zvcm0gfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9mc2Zvcm0uc2VydmljZSc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCB7IEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsIEZzRm9ybUdyZWF0ZXJFcXVhbERpcmVjdGl2ZSwgRnNGb3JtTGVzc2VyRXF1YWxEaXJlY3RpdmUsIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcyc7XG5leHBvcnQgeyBGc0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUNvbmZpcm1UYWJzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9jb25maXJtLXRhYnMvY29uZmlybS10YWJzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1Db250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2Zvcm0tY29udGFpbmVyL2Zvcm0tY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3N1Ym1pdC1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvY29tcGFyZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2NvbnRyb2wuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybURhdGVSYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlsLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWxzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbGVzc2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NYXhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWluLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1NaW5MZW5ndGhEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWlubGVuZ3RoLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1Ob0ZzVmFsaWRhdG9yc0RpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL251bWVyaWMuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGF0dGVybi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtUGhvbmVEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL3JlcXVpcmVkLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1VcmxEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvdXJsLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtVGVtcGxhdGVPdXRsZXREaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL2Zvcm0tdGVtcGxhdGUtb3V0bGV0LmRpcmVjdGl2ZSc7XG5cbi8vIENvbXBvbmVudHNcbmV4cG9ydCB7IEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzJztcblxuZXhwb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi9hcHAvdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgRm9ybURlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vYXBwL2d1YXJkcy9mb3JtLWRlYWN0aXZhdGUuZ3VhcmQnO1xuXG4vLyBJbnRlcmZhY2VzXG5leHBvcnQgeyBDb25maXJtQ29uZmlnIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9jb25maXJtLWNvbmZpZyc7XG5leHBvcnQgeyBGc0Zvcm1Pd25lciB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvZm9ybS1vd25lcic7XG5leHBvcnQgeyBTdWJtaXRFdmVudCB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvc3VibWl0LWV2ZW50JztcbmV4cG9ydCB7IFN1Ym1pdHRlZEV2ZW50IH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9zdWJtaXR0ZWQtZXZlbnQnO1xuXG4vLyBFbnVtc1xuZXhwb3J0IHsgQ29uZmlybVJlc3VsdCB9IGZyb20gJy4vYXBwL2VudW1zL2NvbmZpcm0tcmVzdWx0JztcbmV4cG9ydCB7IEZvcm1TdGF0dXMgfSBmcm9tICcuL2FwcC9lbnVtcy9mb3JtLXN0YXR1cyc7XG5cblxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { inject, Component, ChangeDetectionStrategy, Injectable, NgZone, ChangeDetectorRef, ElementRef, QueryList, Directive, Input, ContentChildren, EventEmitter, Output, HostBinding, HostListener, InjectionToken, Renderer2, Injector, ViewContainerRef, NgModule } from '@angular/core';
|
|
4
4
|
import { UntypedFormGroup, NgForm, NgControl, Validators, NgModel, FormsModule } from '@angular/forms';
|
|
@@ -59,6 +59,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
59
59
|
], template: "<fs-dialog>\n <h1 mat-dialog-title>\n {{ title }}\n </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 mat-button>\n {{ saveLabel }}\n </button>\n <button\n type=\"button\"\n (click)=\"discard()\"\n mat-button>\n {{ discardLabel }}\n </button>\n <button\n type=\"button\"\n (click)=\"cancel()\"\n mat-button>\n {{ cancelLabel }}\n </button>\n </mat-dialog-actions>\n</fs-dialog>", styles: [":host{width:100%}.form-buttons.save-create .close-button:not(.cancel-button){float:right}\n"] }]
|
|
60
60
|
}] });
|
|
61
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Whether an owner found through DI belongs to the same dialog as whoever found
|
|
64
|
+
* it - and may therefore be joined, or driven by a button.
|
|
65
|
+
*
|
|
66
|
+
* A form set must never span a dialog boundary. Owners are resolved by walking
|
|
67
|
+
* the element injector, and CDK parents a dialog opened with `viewContainerRef`
|
|
68
|
+
* to the opener's injector, so a dialog opened from inside another dialog's form
|
|
69
|
+
* would otherwise register into that form's set: the outer footer would flip to
|
|
70
|
+
* Save the moment the inner dialog opened and would then submit the inner form,
|
|
71
|
+
* while the inner dialog - no longer the owner of its own set - would stop
|
|
72
|
+
* confirming its unsaved changes on backdrop click.
|
|
73
|
+
*
|
|
74
|
+
* Identity of the `MatDialogRef` is the test: everything inside one dialog
|
|
75
|
+
* injects the same instance, and everything outside any dialog gets null.
|
|
76
|
+
*/
|
|
77
|
+
function withinSameDialog(owner, dialogRef) {
|
|
78
|
+
return !!owner && owner.dialogRef === dialogRef;
|
|
79
|
+
}
|
|
80
|
+
|
|
62
81
|
function getFormErrors(control, key) {
|
|
63
82
|
let errors = null;
|
|
64
83
|
if (control.invalid && control.errors) {
|
|
@@ -245,7 +264,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
245
264
|
*/
|
|
246
265
|
class FsFormBaseDirective {
|
|
247
266
|
confirmTabs = true;
|
|
248
|
-
tabGroup;
|
|
249
267
|
confirm = true;
|
|
250
268
|
confirmDialog = true;
|
|
251
269
|
confirmDrawer = true;
|
|
@@ -266,6 +284,13 @@ class FsFormBaseDirective {
|
|
|
266
284
|
_activeSubmitButton;
|
|
267
285
|
_confirmTabGroups = new WeakSet();
|
|
268
286
|
_destroy$ = new Subject();
|
|
287
|
+
/**
|
|
288
|
+
* The dialog this owner lives in, or null outside one. Used to keep a form set
|
|
289
|
+
* from spanning a dialog boundary - see `withinSameDialog`.
|
|
290
|
+
*/
|
|
291
|
+
get dialogRef() {
|
|
292
|
+
return this._dialogRef;
|
|
293
|
+
}
|
|
269
294
|
ngOnInit() {
|
|
270
295
|
this._registerOwnerLifecycle();
|
|
271
296
|
}
|
|
@@ -289,6 +314,16 @@ class FsFormBaseDirective {
|
|
|
289
314
|
set activeSubmitButton(button) {
|
|
290
315
|
this._activeSubmitButton = button;
|
|
291
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Bring a tab group into this owner's unsaved-changes confirm.
|
|
319
|
+
*
|
|
320
|
+
* `_tabGroups` only reaches groups in this owner's projected content, so a group
|
|
321
|
+
* declared inside a child component's own template has to announce itself.
|
|
322
|
+
* `fsFormConfirmTabs` calls this - consumers never call it directly.
|
|
323
|
+
*/
|
|
324
|
+
registerTabGroup(tabGroup) {
|
|
325
|
+
this._registerConfirmTabGroup(tabGroup);
|
|
326
|
+
}
|
|
292
327
|
addButton(button) {
|
|
293
328
|
this._buttons
|
|
294
329
|
.reset([
|
|
@@ -536,14 +571,12 @@ class FsFormBaseDirective {
|
|
|
536
571
|
this._form.removeFormDirective(this._activatedRouteConfig.component);
|
|
537
572
|
}
|
|
538
573
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
539
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsFormBaseDirective, inputs: { confirmTabs: "confirmTabs",
|
|
574
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsFormBaseDirective, inputs: { confirmTabs: "confirmTabs", confirm: "confirm", confirmDialog: "confirmDialog", confirmDrawer: "confirmDrawer", confirmBrowser: "confirmBrowser", shortcuts: "shortcuts", deactivationGuard: "deactivationGuard" }, queries: [{ propertyName: "_tabGroups", predicate: MatTabGroup, descendants: true }], ngImport: i0 });
|
|
540
575
|
}
|
|
541
576
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormBaseDirective, decorators: [{
|
|
542
577
|
type: Directive
|
|
543
578
|
}], propDecorators: { confirmTabs: [{
|
|
544
579
|
type: Input
|
|
545
|
-
}], tabGroup: [{
|
|
546
|
-
type: Input
|
|
547
580
|
}], confirm: [{
|
|
548
581
|
type: Input
|
|
549
582
|
}], confirmDialog: [{
|
|
@@ -764,8 +797,12 @@ class FsFormDirective extends FsFormBaseDirective {
|
|
|
764
797
|
_containerParent = null;
|
|
765
798
|
_dirtyChange$ = new Subject();
|
|
766
799
|
_message = inject(FsMessage);
|
|
767
|
-
|
|
768
|
-
|
|
800
|
+
// Both lookups walk the element injector, which reaches straight through a
|
|
801
|
+
// dialog opened with `viewContainerRef` into whatever opened it. Anything
|
|
802
|
+
// belonging to a different dialog is discarded, so a set never spans two.
|
|
803
|
+
_container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
|
|
804
|
+
_ancestorForm = this
|
|
805
|
+
._ownDialogOnly(inject(FsFormDirective, { optional: true, skipSelf: true }));
|
|
769
806
|
/**
|
|
770
807
|
* Emits whenever the set's dirty state may have moved. Anything outside the
|
|
771
808
|
* form that renders off it - the dialog actions, say - can't watch
|
|
@@ -1158,6 +1195,10 @@ class FsFormDirective extends FsFormBaseDirective {
|
|
|
1158
1195
|
_getOwner() {
|
|
1159
1196
|
return (this.link ? this._container : null) || this.rootForm;
|
|
1160
1197
|
}
|
|
1198
|
+
/** Keeps a DI-resolved owner only when it belongs to this form's dialog. */
|
|
1199
|
+
_ownDialogOnly(owner) {
|
|
1200
|
+
return withinSameDialog(owner, this._dialogRef) ? owner : null;
|
|
1201
|
+
}
|
|
1161
1202
|
_resetButtons() {
|
|
1162
1203
|
this._getOwner()
|
|
1163
1204
|
.buttons.forEach((button) => {
|
|
@@ -1341,8 +1382,9 @@ class FsButtonDirective {
|
|
|
1341
1382
|
_formDisabled = false;
|
|
1342
1383
|
_previousDisabled = false;
|
|
1343
1384
|
_destroy$ = new Subject();
|
|
1344
|
-
|
|
1345
|
-
|
|
1385
|
+
_dialogRef = inject(MatDialogRef, { optional: true });
|
|
1386
|
+
_container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
|
|
1387
|
+
_form = this._ownDialogOnly(inject(FsFormDirective, { optional: true }));
|
|
1346
1388
|
_matButton = inject(MatButton, { optional: true, host: true });
|
|
1347
1389
|
_elementRef = inject(ElementRef);
|
|
1348
1390
|
_cdRef = inject(ChangeDetectorRef);
|
|
@@ -1438,6 +1480,15 @@ class FsButtonDirective {
|
|
|
1438
1480
|
this._destroy$.complete();
|
|
1439
1481
|
this._formBase?.removeButton(this);
|
|
1440
1482
|
}
|
|
1483
|
+
/**
|
|
1484
|
+
* Keeps a DI-resolved owner only when it belongs to this button's dialog. A
|
|
1485
|
+
* dialog opened with `viewContainerRef` resolves through to whatever opened
|
|
1486
|
+
* it, so without this the inner dialog's Save would register with - and
|
|
1487
|
+
* submit - the outer dialog's form set.
|
|
1488
|
+
*/
|
|
1489
|
+
_ownDialogOnly(owner) {
|
|
1490
|
+
return withinSameDialog(owner, this._dialogRef) ? owner : null;
|
|
1491
|
+
}
|
|
1441
1492
|
// Effective disabled combines the consumer-controlled submitDisabled input with
|
|
1442
1493
|
// the form's submit-lifecycle state, so form enable/disable never clobbers an
|
|
1443
1494
|
// explicit [submitDisabled] and the two channels stay independent.
|
|
@@ -1548,8 +1599,12 @@ class FsFormDialogActionsComponent {
|
|
|
1548
1599
|
name;
|
|
1549
1600
|
dirty = false;
|
|
1550
1601
|
_destroy$ = new Subject();
|
|
1551
|
-
|
|
1552
|
-
|
|
1602
|
+
_dialogRef = inject(MatDialogRef, { optional: true });
|
|
1603
|
+
// A dialog opened with `viewContainerRef` resolves through to whatever opened
|
|
1604
|
+
// it, so an owner from another dialog is discarded - these actions belong to
|
|
1605
|
+
// their own dialog's form set and no one else's.
|
|
1606
|
+
_container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
|
|
1607
|
+
_form = this._ownDialogOnly(inject(FsFormDirective, { optional: true }));
|
|
1553
1608
|
_cdRef = inject(ChangeDetectorRef);
|
|
1554
1609
|
/**
|
|
1555
1610
|
* Inside a container these default to whether anything mounted can actually
|
|
@@ -1597,19 +1652,25 @@ class FsFormDialogActionsComponent {
|
|
|
1597
1652
|
this._destroy$.next(null);
|
|
1598
1653
|
this._destroy$.complete();
|
|
1599
1654
|
}
|
|
1655
|
+
/** Keeps a DI-resolved owner only when it belongs to these actions' dialog. */
|
|
1656
|
+
_ownDialogOnly(owner) {
|
|
1657
|
+
return withinSameDialog(owner, this._dialogRef) ? owner : null;
|
|
1658
|
+
}
|
|
1600
1659
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1601
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, isStandalone: true, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" },
|
|
1660
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FsFormDialogActionsComponent, isStandalone: true, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, host: { properties: { "class.save-create": "showSave || create" }, classAttribute: "form-buttons" }, ngImport: i0, template: "@if (showSave || 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}\n@if (showDone) {\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n}\n@if (showSave || create) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n@if (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}\n@if (!(showSave || create)) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}div[class*=fs-delimit]:not([class*=\".middot\"])>:not(:last-child):after{content:\",\\a0\"}div[class*=fs-delimit][class*=\".middot\"]>:not(:last-child):after{content:\"\\a0\\b7\\a0\"}div[class*=fs-delimit]>*{display:inline-flex}:host{display:block;width:100%}:host.save-create .close-button{float:right}@media (max-width: 599px){:host{display:flex;flex-direction:column;flex-wrap:nowrap}:host ::ng-deep button,:host ::ng-deep .mat-button,:host ::ng-deep .mdc-button,:host ::ng-deep .mat-mdc-button-base{width:100%;margin:0 0 4px;margin-inline:0!important}:host ::ng-deep button:last-child,:host ::ng-deep .mat-button:last-child,:host ::ng-deep .mdc-button:last-child,:host ::ng-deep .mat-mdc-button-base:last-child{margin-bottom:0}}\n"], dependencies: [{ kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "submitDisabled"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", inputs: ["closeData"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1602
1661
|
}
|
|
1603
1662
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
|
|
1604
1663
|
type: Component,
|
|
1605
|
-
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true,
|
|
1606
|
-
|
|
1664
|
+
args: [{ selector: 'fs-form-dialog-actions', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
|
|
1665
|
+
'class': 'form-buttons',
|
|
1666
|
+
'[class.save-create]': 'showSave || create',
|
|
1667
|
+
}, imports: [
|
|
1607
1668
|
MatButton,
|
|
1608
1669
|
FsButtonDirective,
|
|
1609
1670
|
MatDialogClose,
|
|
1610
1671
|
NgTemplateOutlet,
|
|
1611
1672
|
FsFormDialogCloseDirective,
|
|
1612
|
-
], template: "
|
|
1673
|
+
], template: "@if (showSave || 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}\n@if (showDone) {\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n}\n@if (showSave || create) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n@if (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}\n@if (!(showSave || create)) {\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", styles: ["@charset \"UTF-8\";@media (max-width: 599px){h1[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-xs*=fs-heading][fs\\.lt-xs*=\".top-none\"]{margin-top:0}}@media (max-width: 1023px){h1[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-sm*=fs-heading][fs\\.lt-sm*=\".top-none\"]{margin-top:0}}@media (max-width: 1439px){h1[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h2[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"],h3[class*=\".top\"][fs\\.lt-md*=fs-heading][fs\\.lt-md*=\".top-none\"]{margin-top:0}}div[class*=fs-delimit]:not([class*=\".middot\"])>:not(:last-child):after{content:\",\\a0\"}div[class*=fs-delimit][class*=\".middot\"]>:not(:last-child):after{content:\"\\a0\\b7\\a0\"}div[class*=fs-delimit]>*{display:inline-flex}:host{display:block;width:100%}:host.save-create .close-button{float:right}@media (max-width: 599px){:host{display:flex;flex-direction:column;flex-wrap:nowrap}:host ::ng-deep button,:host ::ng-deep .mat-button,:host ::ng-deep .mdc-button,:host ::ng-deep .mat-mdc-button-base{width:100%;margin:0 0 4px;margin-inline:0!important}:host ::ng-deep button:last-child,:host ::ng-deep .mat-button:last-child,:host ::ng-deep .mdc-button:last-child,:host ::ng-deep .mat-mdc-button-base:last-child{margin-bottom:0}}\n"] }]
|
|
1613
1674
|
}], propDecorators: { save: [{
|
|
1614
1675
|
type: Input
|
|
1615
1676
|
}], create: [{
|
|
@@ -1624,6 +1685,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
1624
1685
|
type: Input
|
|
1625
1686
|
}] } });
|
|
1626
1687
|
|
|
1688
|
+
/**
|
|
1689
|
+
* Brings a tab group into the enclosing form set's unsaved-changes confirm.
|
|
1690
|
+
*
|
|
1691
|
+
* An owner picks up tab groups with `@ContentChildren(MatTabGroup)`, which reaches
|
|
1692
|
+
* through its own projected content - including lazily mounted tab bodies - but
|
|
1693
|
+
* stops at a child component's view. So a tab group declared inside a child
|
|
1694
|
+
* component's own template is invisible to the dialog that contains it, and
|
|
1695
|
+
* switching between those tabs never prompts even though switching the outer ones
|
|
1696
|
+
* does. That is not a shape worth avoiding: a dialog whose Profile tab is its own
|
|
1697
|
+
* component, with its own tabs inside, is the normal way to keep a large dialog
|
|
1698
|
+
* readable.
|
|
1699
|
+
*
|
|
1700
|
+
* DI does cross the boundary a content query cannot, so put this on the nested
|
|
1701
|
+
* group and it registers itself with the owner above it:
|
|
1702
|
+
*
|
|
1703
|
+
* <mat-tab-group fsFormConfirmTabs [(selected)]="tab">
|
|
1704
|
+
*
|
|
1705
|
+
* Confirming stays gated on the owner's `confirm` and `confirmTabs` inputs, so
|
|
1706
|
+
* this only opts the group in - it never forces a prompt on.
|
|
1707
|
+
*/
|
|
1708
|
+
class FsFormConfirmTabsDirective {
|
|
1709
|
+
_tabGroup = inject(MatTabGroup, { self: true });
|
|
1710
|
+
_dialogRef = inject(MatDialogRef, { optional: true });
|
|
1711
|
+
_container = this._ownDialogOnly(inject(FsFormContainerDirective, { optional: true }));
|
|
1712
|
+
_form = this._ownDialogOnly(inject(FsFormDirective, { optional: true }));
|
|
1713
|
+
ngOnInit() {
|
|
1714
|
+
const owner = this._container || this._form?.rootForm;
|
|
1715
|
+
owner?.registerTabGroup(this._tabGroup);
|
|
1716
|
+
}
|
|
1717
|
+
_ownDialogOnly(owner) {
|
|
1718
|
+
return withinSameDialog(owner, this._dialogRef) ? owner : null;
|
|
1719
|
+
}
|
|
1720
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormConfirmTabsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1721
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: FsFormConfirmTabsDirective, isStandalone: true, selector: "mat-tab-group[fsFormConfirmTabs]", ngImport: i0 });
|
|
1722
|
+
}
|
|
1723
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormConfirmTabsDirective, decorators: [{
|
|
1724
|
+
type: Directive,
|
|
1725
|
+
args: [{
|
|
1726
|
+
selector: 'mat-tab-group[fsFormConfirmTabs]',
|
|
1727
|
+
standalone: true,
|
|
1728
|
+
}]
|
|
1729
|
+
}] });
|
|
1730
|
+
|
|
1627
1731
|
const ERROR_MESSAGES = {
|
|
1628
1732
|
required: 'This field is required',
|
|
1629
1733
|
email: 'This is not a valid email address',
|
|
@@ -2908,7 +3012,8 @@ class FsFormModule {
|
|
|
2908
3012
|
FsFormTemplateDirective,
|
|
2909
3013
|
FsFormTemplateDirective,
|
|
2910
3014
|
FsFormTemplateOutletDirective,
|
|
2911
|
-
FsFormContainerDirective
|
|
3015
|
+
FsFormContainerDirective,
|
|
3016
|
+
FsFormConfirmTabsDirective], exports: [FsFormDirective,
|
|
2912
3017
|
FsControlDirective,
|
|
2913
3018
|
FsFormRequiredDirective,
|
|
2914
3019
|
FsFormMinDirective,
|
|
@@ -2938,7 +3043,8 @@ class FsFormModule {
|
|
|
2938
3043
|
FsFormTemplateDirective,
|
|
2939
3044
|
FsFormTemplateDirective,
|
|
2940
3045
|
FsFormTemplateOutletDirective,
|
|
2941
|
-
FsFormContainerDirective
|
|
3046
|
+
FsFormContainerDirective,
|
|
3047
|
+
FsFormConfirmTabsDirective] });
|
|
2942
3048
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFormModule, providers: [
|
|
2943
3049
|
{
|
|
2944
3050
|
provide: ErrorStateMatcher,
|
|
@@ -2993,6 +3099,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
2993
3099
|
FsFormTemplateDirective,
|
|
2994
3100
|
FsFormTemplateOutletDirective,
|
|
2995
3101
|
FsFormContainerDirective,
|
|
3102
|
+
FsFormConfirmTabsDirective,
|
|
2996
3103
|
],
|
|
2997
3104
|
exports: [
|
|
2998
3105
|
FsFormDirective,
|
|
@@ -3026,6 +3133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
3026
3133
|
FsFormTemplateDirective,
|
|
3027
3134
|
FsFormTemplateOutletDirective,
|
|
3028
3135
|
FsFormContainerDirective,
|
|
3136
|
+
FsFormConfirmTabsDirective,
|
|
3029
3137
|
],
|
|
3030
3138
|
providers: [
|
|
3031
3139
|
{
|
|
@@ -3042,5 +3150,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
3042
3150
|
* Generated bundle index. Do not edit.
|
|
3043
3151
|
*/
|
|
3044
3152
|
|
|
3045
|
-
export { ConfirmResult, FormDeactivateGuard, FormStatus, FsButtonDirective, FsControlDirective, FsForm, FsFormCompareDirective, FsFormContainerDirective, FsFormDateRangeDirective, FsFormDialogActionsComponent, FsFormDialogCloseDirective, FsFormDirective, FsFormEmailDirective, FsFormEmailsDirective, FsFormFunctionDirective, FsFormGreaterDirective, FsFormGreaterEqualDirective, FsFormIntegerDirective, FsFormLesserDirective, FsFormLesserEqualDirective, FsFormMaxDirective, FsFormMaxLengthDirective, FsFormMinDirective, FsFormMinLengthDirective, FsFormModule, FsFormNoFsValidatorsDirective, FsFormNumericDirective, FsFormPatternDirective, FsFormPhoneDirective, FsFormRequiredDirective, FsFormTemplateDirective, FsFormTemplateOutletDirective, FsFormUrlDirective, FsFormValidateDirective, FsSubmitButtonDirective, FsValidators };
|
|
3153
|
+
export { ConfirmResult, FormDeactivateGuard, FormStatus, FsButtonDirective, FsControlDirective, FsForm, FsFormCompareDirective, FsFormConfirmTabsDirective, FsFormContainerDirective, FsFormDateRangeDirective, FsFormDialogActionsComponent, FsFormDialogCloseDirective, FsFormDirective, FsFormEmailDirective, FsFormEmailsDirective, FsFormFunctionDirective, FsFormGreaterDirective, FsFormGreaterEqualDirective, FsFormIntegerDirective, FsFormLesserDirective, FsFormLesserEqualDirective, FsFormMaxDirective, FsFormMaxLengthDirective, FsFormMinDirective, FsFormMinLengthDirective, FsFormModule, FsFormNoFsValidatorsDirective, FsFormNumericDirective, FsFormPatternDirective, FsFormPhoneDirective, FsFormRequiredDirective, FsFormTemplateDirective, FsFormTemplateOutletDirective, FsFormUrlDirective, FsFormValidateDirective, FsSubmitButtonDirective, FsValidators };
|
|
3046
3154
|
//# sourceMappingURL=firestitch-form.mjs.map
|