@firestitch/form 12.5.2 → 13.1.1
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 +22 -23
- package/app/components/form-dialog-actions/index.d.ts +1 -0
- package/app/components/form-template/form-template.component.d.ts +13 -0
- package/app/components/form-template/index.d.ts +1 -0
- package/app/components/form-template-outlet/form-template-outlet.component.d.ts +13 -0
- package/app/components/form-template-outlet/index.d.ts +1 -0
- package/app/components/index.d.ts +3 -0
- package/app/consts/error-messages.const.d.ts +19 -19
- package/app/directives/button.directive.d.ts +35 -35
- package/app/directives/form/form.directive.d.ts +123 -127
- package/app/directives/form/index.d.ts +1 -0
- package/app/directives/form-dialog-close.directive.d.ts +16 -12
- package/app/directives/form-template.directive.d.ts +10 -0
- package/app/directives/index.d.ts +6 -2
- package/app/directives/submit-button.directive.d.ts +6 -6
- package/app/directives/validators/compare.directive.d.ts +15 -15
- package/app/directives/validators/control.directive.d.ts +49 -49
- package/app/directives/validators/daterange.directive.d.ts +13 -13
- package/app/directives/validators/email.directive.d.ts +13 -13
- package/app/directives/validators/emails.directive.d.ts +13 -13
- package/app/directives/validators/function.directive.d.ts +15 -15
- package/app/directives/validators/greater.directive.d.ts +13 -13
- package/app/directives/validators/index.d.ts +20 -0
- package/app/directives/validators/integer.directive.d.ts +13 -13
- package/app/directives/validators/lesser.directive.d.ts +13 -13
- package/app/directives/validators/max.directive.d.ts +13 -13
- package/app/directives/validators/maxlength.directive.d.ts +13 -13
- package/app/directives/validators/min.directive.d.ts +13 -13
- package/app/directives/validators/minlength.directive.d.ts +13 -13
- package/app/directives/validators/no-fs-validators.directive.d.ts +14 -14
- package/app/directives/validators/numeric.directive.d.ts +13 -13
- package/app/directives/validators/pattern.directive.d.ts +13 -13
- package/app/directives/validators/phone.directive.d.ts +13 -13
- package/app/directives/validators/required.directive.d.ts +16 -16
- package/app/directives/validators/url.directive.d.ts +14 -14
- package/app/directives/validators/validate.directive.d.ts +15 -15
- package/app/enums/confirm-result.d.ts +7 -7
- package/app/enums/form-status.d.ts +10 -10
- package/app/fs-form.module.d.ts +40 -37
- package/app/guards/form-deactivate.guard.d.ts +14 -14
- package/app/helpers/confirm-result-continue.d.ts +1 -1
- package/app/helpers/confirm-unsaved.d.ts +5 -5
- package/app/helpers/get-active-route.d.ts +2 -2
- package/app/helpers/get-form-errors.d.ts +2 -2
- package/app/helpers/index.d.ts +2 -2
- package/app/helpers/is-enabled.d.ts +1 -1
- package/app/interfaces/async-validator.d.ts +14 -14
- package/app/interfaces/confirm-config.d.ts +7 -7
- package/app/interfaces/confirm-tab-group.d.ts +10 -10
- package/app/interfaces/index.d.ts +4 -4
- package/app/interfaces/submit-event.d.ts +6 -6
- package/app/interfaces/submitted-event.d.ts +7 -7
- package/app/interfaces/validator.d.ts +13 -13
- package/app/providers/validate-messages.provider.d.ts +25 -25
- package/app/services/fsform.service.d.ts +16 -16
- package/app/validators/validators.d.ts +12 -12
- package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +75 -0
- package/esm2020/app/components/form-dialog-actions/index.mjs +2 -0
- package/esm2020/app/components/form-template/form-template.component.mjs +31 -0
- package/esm2020/app/components/form-template/index.mjs +2 -0
- package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +30 -0
- package/esm2020/app/components/form-template-outlet/index.mjs +2 -0
- package/esm2020/app/components/index.mjs +4 -0
- package/{esm2015/app/consts/error-messages.const.js → esm2020/app/consts/error-messages.const.mjs} +19 -19
- package/{esm2015/app/directives/button.directive.js → esm2020/app/directives/button.directive.mjs} +152 -153
- package/esm2020/app/directives/form/form.directive.mjs +686 -0
- package/esm2020/app/directives/form/index.mjs +2 -0
- package/esm2020/app/directives/form-dialog-close.directive.mjs +54 -0
- package/esm2020/app/directives/form-template.directive.mjs +20 -0
- package/esm2020/app/directives/index.mjs +7 -0
- package/{esm2015/app/directives/submit-button.directive.js → esm2020/app/directives/submit-button.directive.mjs} +14 -14
- package/{esm2015/app/directives/validators/compare.directive.js → esm2020/app/directives/validators/compare.directive.mjs} +49 -49
- package/esm2020/app/directives/validators/control.directive.mjs +259 -0
- package/{esm2015/app/directives/validators/daterange.directive.js → esm2020/app/directives/validators/daterange.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/email.directive.js → esm2020/app/directives/validators/email.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/emails.directive.js → esm2020/app/directives/validators/emails.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/function.directive.js → esm2020/app/directives/validators/function.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/greater.directive.js → esm2020/app/directives/validators/greater.directive.mjs} +40 -40
- package/esm2020/app/directives/validators/index.mjs +21 -0
- package/{esm2015/app/directives/validators/integer.directive.js → esm2020/app/directives/validators/integer.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/lesser.directive.js → esm2020/app/directives/validators/lesser.directive.mjs} +40 -40
- package/{esm2015/app/directives/validators/max.directive.js → esm2020/app/directives/validators/max.directive.mjs} +36 -36
- package/{esm2015/app/directives/validators/maxlength.directive.js → esm2020/app/directives/validators/maxlength.directive.mjs} +35 -35
- package/{esm2015/app/directives/validators/min.directive.js → esm2020/app/directives/validators/min.directive.mjs} +36 -36
- package/{esm2015/app/directives/validators/minlength.directive.js → esm2020/app/directives/validators/minlength.directive.mjs} +35 -35
- package/{esm2015/app/directives/validators/no-fs-validators.directive.js → esm2020/app/directives/validators/no-fs-validators.directive.mjs} +52 -52
- package/{esm2015/app/directives/validators/numeric.directive.js → esm2020/app/directives/validators/numeric.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/pattern.directive.js → esm2020/app/directives/validators/pattern.directive.mjs} +35 -35
- package/{esm2015/app/directives/validators/phone.directive.js → esm2020/app/directives/validators/phone.directive.mjs} +41 -41
- package/{esm2015/app/directives/validators/required.directive.js → esm2020/app/directives/validators/required.directive.mjs} +71 -71
- package/{esm2015/app/directives/validators/url.directive.js → esm2020/app/directives/validators/url.directive.mjs} +47 -47
- package/{esm2015/app/directives/validators/validate.directive.js → esm2020/app/directives/validators/validate.directive.mjs} +43 -43
- package/{esm2015/app/enums/confirm-result.js → esm2020/app/enums/confirm-result.mjs} +8 -8
- package/{esm2015/app/enums/form-status.js → esm2020/app/enums/form-status.mjs} +11 -11
- package/esm2020/app/fs-form.module.mjs +194 -0
- package/{esm2015/app/guards/form-deactivate.guard.js → esm2020/app/guards/form-deactivate.guard.mjs} +45 -45
- package/{esm2015/app/helpers/confirm-result-continue.js → esm2020/app/helpers/confirm-result-continue.mjs} +4 -4
- package/{esm2015/app/helpers/confirm-unsaved.js → esm2020/app/helpers/confirm-unsaved.mjs} +71 -71
- package/{esm2015/app/helpers/get-active-route.js → esm2020/app/helpers/get-active-route.mjs} +6 -6
- package/esm2020/app/helpers/get-form-errors.mjs +25 -0
- package/{esm2015/app/helpers/index.js → esm2020/app/helpers/index.mjs} +2 -2
- package/{esm2015/app/helpers/is-enabled.js → esm2020/app/helpers/is-enabled.mjs} +3 -3
- package/{esm2015/app/interfaces/async-validator.js → esm2020/app/interfaces/async-validator.mjs} +1 -1
- package/{esm2015/app/interfaces/confirm-config.js → esm2020/app/interfaces/confirm-config.mjs} +1 -1
- package/{esm2015/app/interfaces/confirm-tab-group.js → esm2020/app/interfaces/confirm-tab-group.mjs} +1 -1
- package/{esm2015/app/interfaces/index.js → esm2020/app/interfaces/index.mjs} +4 -4
- package/{esm2015/app/interfaces/submit-event.js → esm2020/app/interfaces/submit-event.mjs} +1 -1
- package/{esm2015/app/interfaces/submitted-event.js → esm2020/app/interfaces/submitted-event.mjs} +1 -1
- package/{esm2015/app/interfaces/validator.js → esm2020/app/interfaces/validator.mjs} +1 -1
- package/{esm2015/app/providers/validate-messages.provider.js → esm2020/app/providers/validate-messages.provider.mjs} +11 -11
- package/{esm2015/app/services/fsform.service.js → esm2020/app/services/fsform.service.mjs} +40 -40
- package/{esm2015/app/validators/validators.js → esm2020/app/validators/validators.mjs} +96 -96
- package/{esm2015/firestitch-form.js → esm2020/firestitch-form.mjs} +4 -4
- package/esm2020/public_api.mjs +38 -0
- package/fesm2015/firestitch-form.mjs +2478 -0
- package/fesm2015/firestitch-form.mjs.map +1 -0
- package/{fesm2015/firestitch-form.js → fesm2020/firestitch-form.mjs} +2353 -2299
- package/fesm2020/firestitch-form.mjs.map +1 -0
- package/firestitch-form.d.ts +5 -5
- package/package.json +20 -7
- package/public_api.d.ts +35 -34
- package/bundles/firestitch-form.umd.js +0 -3012
- package/bundles/firestitch-form.umd.js.map +0 -1
- package/esm2015/app/components/form-dialog-actions/form-dialog-actions.component.js +0 -92
- package/esm2015/app/directives/form/form.directive.js +0 -712
- package/esm2015/app/directives/form-dialog-close.directive.js +0 -31
- package/esm2015/app/directives/index.js +0 -3
- package/esm2015/app/directives/validators/control.directive.js +0 -261
- package/esm2015/app/fs-form.module.js +0 -181
- package/esm2015/app/helpers/get-form-errors.js +0 -25
- package/esm2015/public_api.js +0 -37
- package/fesm2015/firestitch-form.js.map +0 -1
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { of } from 'rxjs';
|
|
3
|
-
import { FsControlDirective } from './control.directive';
|
|
4
|
-
import { FsValidators } from '../../validators/validators';
|
|
5
|
-
import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class FsFormValidateDirective extends FsControlDirective {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.validateOnSubmit = false;
|
|
11
|
-
}
|
|
12
|
-
ngOnChanges() {
|
|
13
|
-
this._control.updateValueAndValidity();
|
|
14
|
-
}
|
|
15
|
-
validateAsync(control) {
|
|
16
|
-
if (this.validateOnSubmit && !this.formDirective.validating) {
|
|
17
|
-
return of(null);
|
|
18
|
-
}
|
|
19
|
-
return FsValidators.func(this._control, this.validateFn, this.validateFnData);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
FsFormValidateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
FsFormValidateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
24
|
-
VALIDATE_MESSAGE_PROVIDER
|
|
25
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
-
type: Directive,
|
|
28
|
-
args: [{
|
|
29
|
-
selector: '[validate]',
|
|
30
|
-
providers: [
|
|
31
|
-
VALIDATE_MESSAGE_PROVIDER
|
|
32
|
-
],
|
|
33
|
-
}]
|
|
34
|
-
}], propDecorators: { validateFn: [{
|
|
35
|
-
type: Input,
|
|
36
|
-
args: ['validate']
|
|
37
|
-
}], validateFnData: [{
|
|
38
|
-
type: Input,
|
|
39
|
-
args: ['validateData']
|
|
40
|
-
}], validateOnSubmit: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
import { FsControlDirective } from './control.directive';
|
|
4
|
+
import { FsValidators } from '../../validators/validators';
|
|
5
|
+
import { VALIDATE_MESSAGE_PROVIDER } from '../../providers/validate-messages.provider';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class FsFormValidateDirective extends FsControlDirective {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.validateOnSubmit = false;
|
|
11
|
+
}
|
|
12
|
+
ngOnChanges() {
|
|
13
|
+
this._control.updateValueAndValidity();
|
|
14
|
+
}
|
|
15
|
+
validateAsync(control) {
|
|
16
|
+
if (this.validateOnSubmit && !this.formDirective.validating) {
|
|
17
|
+
return of(null);
|
|
18
|
+
}
|
|
19
|
+
return FsValidators.func(this._control, this.validateFn, this.validateFnData);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
FsFormValidateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFormValidateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
+
FsFormValidateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: FsFormValidateDirective, selector: "[validate]", inputs: { validateFn: ["validate", "validateFn"], validateFnData: ["validateData", "validateFnData"], validateOnSubmit: "validateOnSubmit" }, providers: [
|
|
24
|
+
VALIDATE_MESSAGE_PROVIDER
|
|
25
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFormValidateDirective, decorators: [{
|
|
27
|
+
type: Directive,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: '[validate]',
|
|
30
|
+
providers: [
|
|
31
|
+
VALIDATE_MESSAGE_PROVIDER
|
|
32
|
+
],
|
|
33
|
+
}]
|
|
34
|
+
}], propDecorators: { validateFn: [{
|
|
35
|
+
type: Input,
|
|
36
|
+
args: ['validate']
|
|
37
|
+
}], validateFnData: [{
|
|
38
|
+
type: Input,
|
|
39
|
+
args: ['validateData']
|
|
40
|
+
}], validateOnSubmit: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvdmFsaWRhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRzVELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOztBQVV2RixNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBTi9EOztRQWVTLHFCQUFnQixHQUFHLEtBQUssQ0FBQztLQWNqQztJQVpRLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBd0I7UUFDM0MsSUFBRyxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUMxRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUVELE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7O29IQXJCVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixtTEFKdkI7UUFDVCx5QkFBeUI7S0FDMUI7MkZBRVUsdUJBQXVCO2tCQU5uQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixTQUFTLEVBQUU7d0JBQ1QseUJBQXlCO3FCQUMxQjtpQkFDRjs4QkFJUSxVQUFVO3NCQURoQixLQUFLO3VCQUFDLFVBQVU7Z0JBSVYsY0FBYztzQkFEcEIsS0FBSzt1QkFBQyxjQUFjO2dCQUlkLGdCQUFnQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2NvbnRyb2wuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3ZhbGlkYXRlLW1lc3NhZ2VzLnByb3ZpZGVyJztcbmltcG9ydCB7IEZzQXN5bmNWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FzeW5jLXZhbGlkYXRvcic7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3ZhbGlkYXRlXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUgZXh0ZW5kcyBGc0NvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEZzQXN5bmNWYWxpZGF0b3Ige1xuXG4gIEBJbnB1dCgndmFsaWRhdGUnKVxuICBwdWJsaWMgdmFsaWRhdGVGbjtcblxuICBASW5wdXQoJ3ZhbGlkYXRlRGF0YScpXG4gIHB1YmxpYyB2YWxpZGF0ZUZuRGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdmFsaWRhdGVPblN1Ym1pdCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUFzeW5jKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHwgT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD4ge1xuICAgIGlmKHRoaXMudmFsaWRhdGVPblN1Ym1pdCAmJiAhdGhpcy5mb3JtRGlyZWN0aXZlLnZhbGlkYXRpbmcpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gRnNWYWxpZGF0b3JzLmZ1bmModGhpcy5fY29udHJvbCwgdGhpcy52YWxpZGF0ZUZuLCB0aGlzLnZhbGlkYXRlRm5EYXRhKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export var ConfirmResult;
|
|
2
|
-
(function (ConfirmResult) {
|
|
3
|
-
ConfirmResult["Save"] = "save";
|
|
4
|
-
ConfirmResult["Discard"] = "discard";
|
|
5
|
-
ConfirmResult["Review"] = "review";
|
|
6
|
-
ConfirmResult["Invalid"] = "invalid";
|
|
7
|
-
ConfirmResult["Pristine"] = "pristine";
|
|
8
|
-
})(ConfirmResult || (ConfirmResult = {}));
|
|
1
|
+
export var ConfirmResult;
|
|
2
|
+
(function (ConfirmResult) {
|
|
3
|
+
ConfirmResult["Save"] = "save";
|
|
4
|
+
ConfirmResult["Discard"] = "discard";
|
|
5
|
+
ConfirmResult["Review"] = "review";
|
|
6
|
+
ConfirmResult["Invalid"] = "invalid";
|
|
7
|
+
ConfirmResult["Pristine"] = "pristine";
|
|
8
|
+
})(ConfirmResult || (ConfirmResult = {}));
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1yZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2VudW1zL2NvbmZpcm0tcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBTVg7QUFORCxXQUFZLGFBQWE7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLG9DQUFtQixDQUFBO0lBQ25CLGtDQUFpQixDQUFBO0lBQ2pCLG9DQUFtQixDQUFBO0lBQ25CLHNDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxhQUFhLEtBQWIsYUFBYSxRQU14QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENvbmZpcm1SZXN1bHQge1xuICBTYXZlID0gJ3NhdmUnLFxuICBEaXNjYXJkID0gJ2Rpc2NhcmQnLFxuICBSZXZpZXcgPSAncmV2aWV3JyxcbiAgSW52YWxpZCA9ICdpbnZhbGlkJyxcbiAgUHJpc3RpbmUgPSAncHJpc3RpbmUnLFxufVxuIl19
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export var FormStatus;
|
|
2
|
-
(function (FormStatus) {
|
|
3
|
-
FormStatus["Valid"] = "valid";
|
|
4
|
-
FormStatus["Invalid"] = "invalid";
|
|
5
|
-
FormStatus["Validating"] = "validating";
|
|
6
|
-
FormStatus["Submitting"] = "submitting";
|
|
7
|
-
FormStatus["Submitted"] = "submitted";
|
|
8
|
-
FormStatus["Error"] = "error";
|
|
9
|
-
FormStatus["Success"] = "success";
|
|
10
|
-
FormStatus["Completing"] = "completing";
|
|
11
|
-
})(FormStatus || (FormStatus = {}));
|
|
1
|
+
export var FormStatus;
|
|
2
|
+
(function (FormStatus) {
|
|
3
|
+
FormStatus["Valid"] = "valid";
|
|
4
|
+
FormStatus["Invalid"] = "invalid";
|
|
5
|
+
FormStatus["Validating"] = "validating";
|
|
6
|
+
FormStatus["Submitting"] = "submitting";
|
|
7
|
+
FormStatus["Submitted"] = "submitted";
|
|
8
|
+
FormStatus["Error"] = "error";
|
|
9
|
+
FormStatus["Success"] = "success";
|
|
10
|
+
FormStatus["Completing"] = "completing";
|
|
11
|
+
})(FormStatus || (FormStatus = {}));
|
|
12
12
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2VudW1zL2Zvcm0tc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBU1g7QUFURCxXQUFZLFVBQVU7SUFDcEIsNkJBQWUsQ0FBQTtJQUNmLGlDQUFtQixDQUFBO0lBQ25CLHVDQUF5QixDQUFBO0lBQ3pCLHVDQUF5QixDQUFBO0lBQ3pCLHFDQUF1QixDQUFBO0lBQ3ZCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBVFcsVUFBVSxLQUFWLFVBQVUsUUFTckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBGb3JtU3RhdHVzIHtcbiAgVmFsaWQgPSAndmFsaWQnLFxuICBJbnZhbGlkID0gJ2ludmFsaWQnLFxuICBWYWxpZGF0aW5nID0gJ3ZhbGlkYXRpbmcnLFxuICBTdWJtaXR0aW5nID0gJ3N1Ym1pdHRpbmcnLFxuICBTdWJtaXR0ZWQgPSAnc3VibWl0dGVkJyxcbiAgRXJyb3IgPSAnZXJyb3InLFxuICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICBDb21wbGV0aW5nID0gJ2NvbXBsZXRpbmcnLFxufVxuIl19
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
6
|
+
import { ErrorStateMatcher, ShowOnDirtyErrorStateMatcher } from '@angular/material/core';
|
|
7
|
+
import { FsFormDirective } from './directives/form/form.directive';
|
|
8
|
+
import { FsControlDirective } from './directives/validators/control.directive';
|
|
9
|
+
import { FsFormRequiredDirective } from './directives/validators/required.directive';
|
|
10
|
+
import { FsFormMinDirective } from './directives/validators/min.directive';
|
|
11
|
+
import { FsFormMaxDirective } from './directives/validators/max.directive';
|
|
12
|
+
import { FsFormMinLengthDirective } from './directives/validators/minlength.directive';
|
|
13
|
+
import { FsFormMaxLengthDirective } from './directives/validators/maxlength.directive';
|
|
14
|
+
import { FsFormEmailDirective } from './directives/validators/email.directive';
|
|
15
|
+
import { FsFormEmailsDirective } from './directives/validators/emails.directive';
|
|
16
|
+
import { FsFormPhoneDirective } from './directives/validators/phone.directive';
|
|
17
|
+
import { FsFormCompareDirective } from './directives/validators/compare.directive';
|
|
18
|
+
import { FsFormIntegerDirective } from './directives/validators/integer.directive';
|
|
19
|
+
import { FsFormNumericDirective } from './directives/validators/numeric.directive';
|
|
20
|
+
import { FsFormPatternDirective } from './directives/validators/pattern.directive';
|
|
21
|
+
import { FsFormFunctionDirective } from './directives/validators/function.directive';
|
|
22
|
+
import { FsFormGreaterDirective } from './directives/validators/greater.directive';
|
|
23
|
+
import { FsFormDateRangeDirective } from './directives/validators/daterange.directive';
|
|
24
|
+
import { FsFormLesserDirective } from './directives/validators/lesser.directive';
|
|
25
|
+
import { FsFormUrlDirective } from './directives/validators/url.directive';
|
|
26
|
+
import { FsFormDialogCloseDirective } from './directives/form-dialog-close.directive';
|
|
27
|
+
import { FsButtonDirective } from './directives/button.directive';
|
|
28
|
+
import { FsFormValidateDirective } from './directives/validators/validate.directive';
|
|
29
|
+
import { FsFormDialogActionsComponent } from './components/form-dialog-actions/form-dialog-actions.component';
|
|
30
|
+
import { FsFormNoFsValidatorsDirective } from './directives/validators/no-fs-validators.directive';
|
|
31
|
+
import { FsFormTemplateDirective, FsSubmitButtonDirective } from './directives';
|
|
32
|
+
import { FsFormTemplateComponent, FsFormTemplateOutletComponent } from './components';
|
|
33
|
+
import * as i0 from "@angular/core";
|
|
34
|
+
export class FsFormModule {
|
|
35
|
+
static forRoot() {
|
|
36
|
+
/**
|
|
37
|
+
* Hack: https://github.com/angular/components/issues/20097
|
|
38
|
+
*/
|
|
39
|
+
ErrorStateMatcher.prototype.isErrorState = (control, form) => {
|
|
40
|
+
return control?.invalid && control?.touched && control?.dirty;
|
|
41
|
+
};
|
|
42
|
+
return {
|
|
43
|
+
ngModule: FsFormModule,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
FsFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48
|
+
FsFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFormModule, declarations: [FsFormDirective,
|
|
49
|
+
FsControlDirective,
|
|
50
|
+
FsFormRequiredDirective,
|
|
51
|
+
FsFormMinDirective,
|
|
52
|
+
FsFormMaxDirective,
|
|
53
|
+
FsFormMinLengthDirective,
|
|
54
|
+
FsFormMaxLengthDirective,
|
|
55
|
+
FsFormEmailDirective,
|
|
56
|
+
FsFormEmailsDirective,
|
|
57
|
+
FsFormPhoneDirective,
|
|
58
|
+
FsFormCompareDirective,
|
|
59
|
+
FsFormIntegerDirective,
|
|
60
|
+
FsFormNumericDirective,
|
|
61
|
+
FsFormPatternDirective,
|
|
62
|
+
FsFormFunctionDirective,
|
|
63
|
+
FsFormDateRangeDirective,
|
|
64
|
+
FsFormGreaterDirective,
|
|
65
|
+
FsFormLesserDirective,
|
|
66
|
+
FsFormUrlDirective,
|
|
67
|
+
FsFormDialogCloseDirective,
|
|
68
|
+
FsFormValidateDirective,
|
|
69
|
+
FsFormDialogActionsComponent,
|
|
70
|
+
FsFormNoFsValidatorsDirective,
|
|
71
|
+
FsButtonDirective,
|
|
72
|
+
FsSubmitButtonDirective,
|
|
73
|
+
FsFormTemplateComponent,
|
|
74
|
+
FsFormTemplateDirective,
|
|
75
|
+
FsFormTemplateOutletComponent], imports: [CommonModule,
|
|
76
|
+
FormsModule,
|
|
77
|
+
MatButtonModule,
|
|
78
|
+
MatDialogModule], exports: [FsFormDirective,
|
|
79
|
+
FsControlDirective,
|
|
80
|
+
FsFormRequiredDirective,
|
|
81
|
+
FsFormMinDirective,
|
|
82
|
+
FsFormMaxDirective,
|
|
83
|
+
FsFormMinLengthDirective,
|
|
84
|
+
FsFormMaxLengthDirective,
|
|
85
|
+
FsFormEmailDirective,
|
|
86
|
+
FsFormEmailsDirective,
|
|
87
|
+
FsFormPhoneDirective,
|
|
88
|
+
FsFormCompareDirective,
|
|
89
|
+
FsFormIntegerDirective,
|
|
90
|
+
FsFormNumericDirective,
|
|
91
|
+
FsFormPatternDirective,
|
|
92
|
+
FsFormFunctionDirective,
|
|
93
|
+
FsFormDateRangeDirective,
|
|
94
|
+
FsFormGreaterDirective,
|
|
95
|
+
FsFormLesserDirective,
|
|
96
|
+
FsFormUrlDirective,
|
|
97
|
+
FsFormDialogCloseDirective,
|
|
98
|
+
FsFormValidateDirective,
|
|
99
|
+
FsFormDialogActionsComponent,
|
|
100
|
+
FsFormNoFsValidatorsDirective,
|
|
101
|
+
FsButtonDirective,
|
|
102
|
+
FsSubmitButtonDirective,
|
|
103
|
+
FsFormTemplateComponent,
|
|
104
|
+
FsFormTemplateDirective,
|
|
105
|
+
FsFormTemplateOutletComponent] });
|
|
106
|
+
FsFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFormModule, providers: [
|
|
107
|
+
{
|
|
108
|
+
provide: ErrorStateMatcher,
|
|
109
|
+
useClass: ShowOnDirtyErrorStateMatcher,
|
|
110
|
+
},
|
|
111
|
+
], imports: [[
|
|
112
|
+
CommonModule,
|
|
113
|
+
FormsModule,
|
|
114
|
+
MatButtonModule,
|
|
115
|
+
MatDialogModule,
|
|
116
|
+
]] });
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFormModule, decorators: [{
|
|
118
|
+
type: NgModule,
|
|
119
|
+
args: [{
|
|
120
|
+
imports: [
|
|
121
|
+
CommonModule,
|
|
122
|
+
FormsModule,
|
|
123
|
+
MatButtonModule,
|
|
124
|
+
MatDialogModule,
|
|
125
|
+
],
|
|
126
|
+
declarations: [
|
|
127
|
+
FsFormDirective,
|
|
128
|
+
FsControlDirective,
|
|
129
|
+
FsFormRequiredDirective,
|
|
130
|
+
FsFormMinDirective,
|
|
131
|
+
FsFormMaxDirective,
|
|
132
|
+
FsFormMinLengthDirective,
|
|
133
|
+
FsFormMaxLengthDirective,
|
|
134
|
+
FsFormEmailDirective,
|
|
135
|
+
FsFormEmailsDirective,
|
|
136
|
+
FsFormPhoneDirective,
|
|
137
|
+
FsFormCompareDirective,
|
|
138
|
+
FsFormIntegerDirective,
|
|
139
|
+
FsFormNumericDirective,
|
|
140
|
+
FsFormPatternDirective,
|
|
141
|
+
FsFormFunctionDirective,
|
|
142
|
+
FsFormDateRangeDirective,
|
|
143
|
+
FsFormGreaterDirective,
|
|
144
|
+
FsFormLesserDirective,
|
|
145
|
+
FsFormUrlDirective,
|
|
146
|
+
FsFormDialogCloseDirective,
|
|
147
|
+
FsFormValidateDirective,
|
|
148
|
+
FsFormDialogActionsComponent,
|
|
149
|
+
FsFormNoFsValidatorsDirective,
|
|
150
|
+
FsButtonDirective,
|
|
151
|
+
FsSubmitButtonDirective,
|
|
152
|
+
FsFormTemplateComponent,
|
|
153
|
+
FsFormTemplateDirective,
|
|
154
|
+
FsFormTemplateOutletComponent,
|
|
155
|
+
],
|
|
156
|
+
exports: [
|
|
157
|
+
FsFormDirective,
|
|
158
|
+
FsControlDirective,
|
|
159
|
+
FsFormRequiredDirective,
|
|
160
|
+
FsFormMinDirective,
|
|
161
|
+
FsFormMaxDirective,
|
|
162
|
+
FsFormMinLengthDirective,
|
|
163
|
+
FsFormMaxLengthDirective,
|
|
164
|
+
FsFormEmailDirective,
|
|
165
|
+
FsFormEmailsDirective,
|
|
166
|
+
FsFormPhoneDirective,
|
|
167
|
+
FsFormCompareDirective,
|
|
168
|
+
FsFormIntegerDirective,
|
|
169
|
+
FsFormNumericDirective,
|
|
170
|
+
FsFormPatternDirective,
|
|
171
|
+
FsFormFunctionDirective,
|
|
172
|
+
FsFormDateRangeDirective,
|
|
173
|
+
FsFormGreaterDirective,
|
|
174
|
+
FsFormLesserDirective,
|
|
175
|
+
FsFormUrlDirective,
|
|
176
|
+
FsFormDialogCloseDirective,
|
|
177
|
+
FsFormValidateDirective,
|
|
178
|
+
FsFormDialogActionsComponent,
|
|
179
|
+
FsFormNoFsValidatorsDirective,
|
|
180
|
+
FsButtonDirective,
|
|
181
|
+
FsSubmitButtonDirective,
|
|
182
|
+
FsFormTemplateComponent,
|
|
183
|
+
FsFormTemplateDirective,
|
|
184
|
+
FsFormTemplateOutletComponent,
|
|
185
|
+
],
|
|
186
|
+
providers: [
|
|
187
|
+
{
|
|
188
|
+
provide: ErrorStateMatcher,
|
|
189
|
+
useClass: ShowOnDirtyErrorStateMatcher,
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
}]
|
|
193
|
+
}] });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQW1DLFdBQVcsRUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9B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QzVCLDZCQUE2Qjt3QkFDN0IsaUJBQWlCO3dCQUNqQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7cUJBQzlCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsNEJBQTRCO3lCQUN2QztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciwgU2hvd09uRGlydHlFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5pbXBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb250cm9sLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3JlcXVpcmVkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NaW5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21heC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWluTGVuZ3RoRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWlubGVuZ3RoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9tYXhsZW5ndGguZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUVtYWlsc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlscy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUGhvbmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9waG9uZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2NvbXBhcmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUludGVnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9pbnRlZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3BhdHRlcm4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUZ1bmN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZnVuY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9ncmVhdGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9kYXRlcmFuZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUxlc3NlckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2xlc3Nlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVXJsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvdXJsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLWRpYWxvZy1jbG9zZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3ZhbGlkYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1EaWFsb2dBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZGlhbG9nLWFjdGlvbnMvZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9uby1mcy12YWxpZGF0b3JzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1UZW1wbGF0ZURpcmVjdGl2ZSwgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgRnNGb3JtVGVtcGxhdGVDb21wb25lbnQsIEZzRm9ybVRlbXBsYXRlT3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRnNGb3JtRGlyZWN0aXZlLFxuICAgIEZzQ29udHJvbERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1NaW5EaXJlY3RpdmUsXG4gICAgRnNGb3JtTWF4RGlyZWN0aXZlLFxuICAgIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUsXG4gICAgRnNGb3JtRW1haWxEaXJlY3RpdmUsXG4gICAgRnNGb3JtRW1haWxzRGlyZWN0aXZlLFxuICAgIEZzRm9ybVBob25lRGlyZWN0aXZlLFxuICAgIEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUsXG4gICAgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlLFxuICAgIEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUsXG4gICAgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUsXG4gICAgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlLFxuICAgIEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsXG4gICAgRnNGb3JtTGVzc2VyRGlyZWN0aXZlLFxuICAgIEZzRm9ybVVybERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSxcbiAgICBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSxcbiAgICBGc0Zvcm1EaWFsb2dBY3Rpb25zQ29tcG9uZW50LFxuICAgIEZzRm9ybU5vRnNWYWxpZGF0b3JzRGlyZWN0aXZlLFxuICAgIEZzQnV0dG9uRGlyZWN0aXZlLFxuICAgIEZzU3VibWl0QnV0dG9uRGlyZWN0aXZlLFxuICAgIEZzRm9ybVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEZzRm9ybVRlbXBsYXRlT3V0bGV0Q29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRnNGb3JtRGlyZWN0aXZlLFxuICAgIEZzQ29udHJvbERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1SZXF1aXJlZERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1NaW5EaXJlY3RpdmUsXG4gICAgRnNGb3JtTWF4RGlyZWN0aXZlLFxuICAgIEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1NYXhMZW5ndGhEaXJlY3RpdmUsXG4gICAgRnNGb3JtRW1haWxEaXJlY3RpdmUsXG4gICAgRnNGb3JtRW1haWxzRGlyZWN0aXZlLFxuICAgIEZzRm9ybVBob25lRGlyZWN0aXZlLFxuICAgIEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUsXG4gICAgRnNGb3JtSW50ZWdlckRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1OdW1lcmljRGlyZWN0aXZlLFxuICAgIEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUsXG4gICAgRnNGb3JtRnVuY3Rpb25EaXJlY3RpdmUsXG4gICAgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlLFxuICAgIEZzRm9ybUdyZWF0ZXJEaXJlY3RpdmUsXG4gICAgRnNGb3JtTGVzc2VyRGlyZWN0aXZlLFxuICAgIEZzRm9ybVVybERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSxcbiAgICBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSxcbiAgICBGc0Zvcm1EaWFsb2dBY3Rpb25zQ29tcG9uZW50LFxuICAgIEZzRm9ybU5vRnNWYWxpZGF0b3JzRGlyZWN0aXZlLFxuICAgIEZzQnV0dG9uRGlyZWN0aXZlLFxuICAgIEZzU3VibWl0QnV0dG9uRGlyZWN0aXZlLFxuICAgIEZzRm9ybVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIEZzRm9ybVRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIEZzRm9ybVRlbXBsYXRlT3V0bGV0Q29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICAgIHVzZUNsYXNzOiBTaG93T25EaXJ0eUVycm9yU3RhdGVNYXRjaGVyLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnNGb3JtTW9kdWxlPiB7XG5cbiAgICAvKipcbiAgICAgKiBIYWNrOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8yMDA5N1xuICAgICAqL1xuICAgIEVycm9yU3RhdGVNYXRjaGVyLnByb3RvdHlwZS5pc0Vycm9yU3RhdGUgPSAoY29udHJvbDogRm9ybUNvbnRyb2wgfCBudWxsLCBmb3JtOiBGb3JtR3JvdXBEaXJlY3RpdmUgfCBOZ0Zvcm0gfCBudWxsKTogYm9vbGVhbiA9PiB7XG4gICAgICByZXR1cm4gY29udHJvbD8uaW52YWxpZCAmJiBjb250cm9sPy50b3VjaGVkICYmIGNvbnRyb2w/LmRpcnR5O1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEZzRm9ybU1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
package/{esm2015/app/guards/form-deactivate.guard.js → esm2020/app/guards/form-deactivate.guard.mjs}
RENAMED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
3
|
-
import { FsPrompt } from '@firestitch/prompt';
|
|
4
|
-
import { of } from 'rxjs';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
import { confirmUnsaved } from '../helpers/confirm-unsaved';
|
|
7
|
-
import { confirmResultContinue } from '../helpers';
|
|
8
|
-
import { FsForm } from '../services/fsform.service';
|
|
9
|
-
import { getActiveRoute } from '../helpers/get-active-route';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@firestitch/prompt";
|
|
12
|
-
import * as i2 from "../services/fsform.service";
|
|
13
|
-
import * as i3 from "@angular/router";
|
|
14
|
-
export class FormDeactivateGuard {
|
|
15
|
-
constructor(_prompt, _fsForm, _route) {
|
|
16
|
-
this._prompt = _prompt;
|
|
17
|
-
this._fsForm = _fsForm;
|
|
18
|
-
this._route = _route;
|
|
19
|
-
}
|
|
20
|
-
canDeactivate() {
|
|
21
|
-
const route = getActiveRoute(this._route);
|
|
22
|
-
if (!route) {
|
|
23
|
-
console.error(`Can not find route for FormDeactivateGuard checks`);
|
|
24
|
-
return of(true);
|
|
25
|
-
}
|
|
26
|
-
const directives = this._fsForm.getFormDirectives(route.routeConfig.component);
|
|
27
|
-
if (!Array.isArray(directives) || directives.length === 0) {
|
|
28
|
-
console.error(`Can not find a valid FsFormDirective`);
|
|
29
|
-
return of(true);
|
|
30
|
-
}
|
|
31
|
-
return confirmUnsaved(directives, this._prompt)
|
|
32
|
-
.pipe(map((result) => {
|
|
33
|
-
return confirmResultContinue(result);
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
FormDeactivateGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
FormDeactivateGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
-
type: Injectable,
|
|
41
|
-
args: [{
|
|
42
|
-
providedIn: 'root',
|
|
43
|
-
}]
|
|
44
|
-
}], ctorParameters: function () { return [{ type: i1.FsPrompt }, { type: i2.FsForm }, { type: i3.ActivatedRoute }]; } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { FsPrompt } from '@firestitch/prompt';
|
|
4
|
+
import { of } from 'rxjs';
|
|
5
|
+
import { map } from 'rxjs/operators';
|
|
6
|
+
import { confirmUnsaved } from '../helpers/confirm-unsaved';
|
|
7
|
+
import { confirmResultContinue } from '../helpers';
|
|
8
|
+
import { FsForm } from '../services/fsform.service';
|
|
9
|
+
import { getActiveRoute } from '../helpers/get-active-route';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@firestitch/prompt";
|
|
12
|
+
import * as i2 from "../services/fsform.service";
|
|
13
|
+
import * as i3 from "@angular/router";
|
|
14
|
+
export class FormDeactivateGuard {
|
|
15
|
+
constructor(_prompt, _fsForm, _route) {
|
|
16
|
+
this._prompt = _prompt;
|
|
17
|
+
this._fsForm = _fsForm;
|
|
18
|
+
this._route = _route;
|
|
19
|
+
}
|
|
20
|
+
canDeactivate() {
|
|
21
|
+
const route = getActiveRoute(this._route);
|
|
22
|
+
if (!route) {
|
|
23
|
+
console.error(`Can not find route for FormDeactivateGuard checks`);
|
|
24
|
+
return of(true);
|
|
25
|
+
}
|
|
26
|
+
const directives = this._fsForm.getFormDirectives(route.routeConfig.component);
|
|
27
|
+
if (!Array.isArray(directives) || directives.length === 0) {
|
|
28
|
+
console.error(`Can not find a valid FsFormDirective`);
|
|
29
|
+
return of(true);
|
|
30
|
+
}
|
|
31
|
+
return confirmUnsaved(directives, this._prompt)
|
|
32
|
+
.pipe(map((result) => {
|
|
33
|
+
return confirmResultContinue(result);
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
FormDeactivateGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormDeactivateGuard, deps: [{ token: i1.FsPrompt }, { token: i2.FsForm }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
FormDeactivateGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormDeactivateGuard, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FormDeactivateGuard, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{
|
|
42
|
+
providedIn: 'root',
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.FsPrompt }, { type: i2.FsForm }, { type: i3.ActivatedRoute }]; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kZWFjdGl2YXRlLmd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9ndWFyZHMvZm9ybS1kZWFjdGl2YXRlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7OztBQU03RCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQ1UsT0FBaUIsRUFDakIsT0FBZSxFQUNmLE1BQXNCO1FBRnRCLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQzdCLENBQUM7SUFFSixhQUFhO1FBQ1gsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1lBRW5FLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxVQUFVLEdBQXNCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6RCxPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFFdEQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFFRCxPQUFPLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUM1QyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztnSEEvQlUsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIENhbkRlYWN0aXZhdGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBjb25maXJtVW5zYXZlZCB9IGZyb20gJy4uL2hlbHBlcnMvY29uZmlybS11bnNhdmVkJztcbmltcG9ydCB7IGNvbmZpcm1SZXN1bHRDb250aW51ZSB9IGZyb20gJy4uL2hlbHBlcnMnO1xuaW1wb3J0IHsgRnNGb3JtIH0gZnJvbSAnLi4vc2VydmljZXMvZnNmb3JtLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0QWN0aXZlUm91dGUgfSBmcm9tICcuLi9oZWxwZXJzL2dldC1hY3RpdmUtcm91dGUnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRGVhY3RpdmF0ZUd1YXJkIGltcGxlbWVudHMgQ2FuRGVhY3RpdmF0ZTxhbnk+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9wcm9tcHQ6IEZzUHJvbXB0LFxuICAgIHByaXZhdGUgX2ZzRm9ybTogRnNGb3JtLFxuICAgIHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgKSB7fVxuXG4gIGNhbkRlYWN0aXZhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3Qgcm91dGUgPSBnZXRBY3RpdmVSb3V0ZSh0aGlzLl9yb3V0ZSk7XG5cbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDYW4gbm90IGZpbmQgcm91dGUgZm9yIEZvcm1EZWFjdGl2YXRlR3VhcmQgY2hlY2tzYCk7XG5cbiAgICAgIHJldHVybiBvZih0cnVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBkaXJlY3RpdmVzOiBGc0Zvcm1EaXJlY3RpdmVbXSA9IHRoaXMuX2ZzRm9ybS5nZXRGb3JtRGlyZWN0aXZlcyhyb3V0ZS5yb3V0ZUNvbmZpZy5jb21wb25lbnQpO1xuXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGRpcmVjdGl2ZXMpIHx8IGRpcmVjdGl2ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDYW4gbm90IGZpbmQgYSB2YWxpZCBGc0Zvcm1EaXJlY3RpdmVgKTtcblxuICAgICAgcmV0dXJuIG9mKHRydWUpO1xuICAgIH1cblxuICAgIHJldHVybiBjb25maXJtVW5zYXZlZChkaXJlY3RpdmVzLCB0aGlzLl9wcm9tcHQpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICByZXR1cm4gY29uZmlybVJlc3VsdENvbnRpbnVlKHJlc3VsdCk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ConfirmResult } from '../enums/confirm-result';
|
|
2
|
-
export function confirmResultContinue(result) {
|
|
3
|
-
return result === ConfirmResult.Discard || result === ConfirmResult.Save || result === ConfirmResult.Pristine;
|
|
4
|
-
}
|
|
1
|
+
import { ConfirmResult } from '../enums/confirm-result';
|
|
2
|
+
export function confirmResultContinue(result) {
|
|
3
|
+
return result === ConfirmResult.Discard || result === ConfirmResult.Save || result === ConfirmResult.Pristine;
|
|
4
|
+
}
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1yZXN1bHQtY29udGludWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2hlbHBlcnMvY29uZmlybS1yZXN1bHQtY29udGludWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxNQUFNO0lBQzFDLE9BQU8sTUFBTSxLQUFLLGFBQWEsQ0FBQyxPQUFPLElBQUksTUFBTSxLQUFLLGFBQWEsQ0FBQyxJQUFJLElBQUksTUFBTSxLQUFLLGFBQWEsQ0FBQyxRQUFRLENBQUM7QUFDaEgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpcm1SZXN1bHQgfSBmcm9tICcuLi9lbnVtcy9jb25maXJtLXJlc3VsdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25maXJtUmVzdWx0Q29udGludWUocmVzdWx0KSB7XG4gIHJldHVybiByZXN1bHQgPT09IENvbmZpcm1SZXN1bHQuRGlzY2FyZCB8fCByZXN1bHQgPT09IENvbmZpcm1SZXN1bHQuU2F2ZSB8fCByZXN1bHQgPT09IENvbmZpcm1SZXN1bHQuUHJpc3RpbmU7XG59XG4iXX0=
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { first } from 'rxjs/operators';
|
|
3
|
-
import { ConfirmResult } from '../enums/confirm-result';
|
|
4
|
-
export function confirmUnsaved(directives, prompt) {
|
|
5
|
-
return new Observable(observer => {
|
|
6
|
-
// TODO support for multiple directives per page
|
|
7
|
-
const form = directives[0];
|
|
8
|
-
if (!form.confirm || !form.ngForm.dirty) {
|
|
9
|
-
observer.next(ConfirmResult.Pristine);
|
|
10
|
-
observer.complete();
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
let title = 'You Have Unsaved Changes';
|
|
14
|
-
let message = 'What would you like to do with your changes?';
|
|
15
|
-
let saveLabel = 'Save & Continue';
|
|
16
|
-
let discardLabel = 'Discard Changes & Continue';
|
|
17
|
-
let cancelLabel = 'Review Changes';
|
|
18
|
-
if (typeof form.confirm === 'object') {
|
|
19
|
-
title = form.confirm.title || title;
|
|
20
|
-
message = form.confirm.message || message;
|
|
21
|
-
saveLabel = form.confirm.saveLabel || saveLabel;
|
|
22
|
-
discardLabel = form.confirm.discardLabel || discardLabel;
|
|
23
|
-
cancelLabel = form.confirm.cancelLabel || cancelLabel;
|
|
24
|
-
}
|
|
25
|
-
prompt.confirm({
|
|
26
|
-
title: title,
|
|
27
|
-
template: message,
|
|
28
|
-
dialogConfig: { width: 'auto' },
|
|
29
|
-
buttons: [
|
|
30
|
-
{
|
|
31
|
-
label: saveLabel,
|
|
32
|
-
color: 'primary',
|
|
33
|
-
value: 'save'
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
label: discardLabel,
|
|
37
|
-
value: 'discard'
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
label: cancelLabel,
|
|
41
|
-
cancel: true
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
}).subscribe((value) => {
|
|
45
|
-
if (value === 'discard') {
|
|
46
|
-
observer.next(ConfirmResult.Discard);
|
|
47
|
-
observer.complete();
|
|
48
|
-
form.reset();
|
|
49
|
-
}
|
|
50
|
-
if (value === 'save') {
|
|
51
|
-
form.submitted
|
|
52
|
-
.pipe(first())
|
|
53
|
-
.subscribe(() => {
|
|
54
|
-
observer.next(ConfirmResult.Save);
|
|
55
|
-
observer.complete();
|
|
56
|
-
});
|
|
57
|
-
form.invalid
|
|
58
|
-
.pipe(first())
|
|
59
|
-
.subscribe(() => {
|
|
60
|
-
observer.next(ConfirmResult.Invalid);
|
|
61
|
-
observer.complete();
|
|
62
|
-
});
|
|
63
|
-
form.ngForm.control.markAsPristine();
|
|
64
|
-
form.triggerSubmit({ confirmed: true });
|
|
65
|
-
}
|
|
66
|
-
}, (error) => {
|
|
67
|
-
observer.next(ConfirmResult.Review);
|
|
68
|
-
observer.complete();
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
}
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { first } from 'rxjs/operators';
|
|
3
|
+
import { ConfirmResult } from '../enums/confirm-result';
|
|
4
|
+
export function confirmUnsaved(directives, prompt) {
|
|
5
|
+
return new Observable(observer => {
|
|
6
|
+
// TODO support for multiple directives per page
|
|
7
|
+
const form = directives[0];
|
|
8
|
+
if (!form.confirm || !form.ngForm.dirty) {
|
|
9
|
+
observer.next(ConfirmResult.Pristine);
|
|
10
|
+
observer.complete();
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
let title = 'You Have Unsaved Changes';
|
|
14
|
+
let message = 'What would you like to do with your changes?';
|
|
15
|
+
let saveLabel = 'Save & Continue';
|
|
16
|
+
let discardLabel = 'Discard Changes & Continue';
|
|
17
|
+
let cancelLabel = 'Review Changes';
|
|
18
|
+
if (typeof form.confirm === 'object') {
|
|
19
|
+
title = form.confirm.title || title;
|
|
20
|
+
message = form.confirm.message || message;
|
|
21
|
+
saveLabel = form.confirm.saveLabel || saveLabel;
|
|
22
|
+
discardLabel = form.confirm.discardLabel || discardLabel;
|
|
23
|
+
cancelLabel = form.confirm.cancelLabel || cancelLabel;
|
|
24
|
+
}
|
|
25
|
+
prompt.confirm({
|
|
26
|
+
title: title,
|
|
27
|
+
template: message,
|
|
28
|
+
dialogConfig: { width: 'auto' },
|
|
29
|
+
buttons: [
|
|
30
|
+
{
|
|
31
|
+
label: saveLabel,
|
|
32
|
+
color: 'primary',
|
|
33
|
+
value: 'save'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: discardLabel,
|
|
37
|
+
value: 'discard'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: cancelLabel,
|
|
41
|
+
cancel: true
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}).subscribe((value) => {
|
|
45
|
+
if (value === 'discard') {
|
|
46
|
+
observer.next(ConfirmResult.Discard);
|
|
47
|
+
observer.complete();
|
|
48
|
+
form.reset();
|
|
49
|
+
}
|
|
50
|
+
if (value === 'save') {
|
|
51
|
+
form.submitted
|
|
52
|
+
.pipe(first())
|
|
53
|
+
.subscribe(() => {
|
|
54
|
+
observer.next(ConfirmResult.Save);
|
|
55
|
+
observer.complete();
|
|
56
|
+
});
|
|
57
|
+
form.invalid
|
|
58
|
+
.pipe(first())
|
|
59
|
+
.subscribe(() => {
|
|
60
|
+
observer.next(ConfirmResult.Invalid);
|
|
61
|
+
observer.complete();
|
|
62
|
+
});
|
|
63
|
+
form.ngForm.control.markAsPristine();
|
|
64
|
+
form.triggerSubmit({ confirmed: true });
|
|
65
|
+
}
|
|
66
|
+
}, (error) => {
|
|
67
|
+
observer.next(ConfirmResult.Review);
|
|
68
|
+
observer.complete();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
72
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS11bnNhdmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL2NvbmZpcm0tdW5zYXZlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxVQUE2QixFQUFFLE1BQWdCO0lBQzVFLE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDL0IsZ0RBQWdEO1FBQ2hELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixPQUFPO1NBQ1I7UUFFRCxJQUFJLEtBQUssR0FBRywwQkFBMEIsQ0FBQztRQUN2QyxJQUFJLE9BQU8sR0FBRyw4Q0FBOEMsQ0FBQztRQUM3RCxJQUFJLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztRQUNsQyxJQUFJLFlBQVksR0FBRyw0QkFBNEIsQ0FBQztRQUNoRCxJQUFJLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUVuQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDcEMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQztZQUNwQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDO1lBQzFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7WUFDaEQsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQztZQUN6RCxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDO1NBQ3ZEO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLE9BQU87WUFDakIsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUMvQixPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsS0FBSyxFQUFFLFNBQVM7b0JBQ2hCLEtBQUssRUFBRSxTQUFTO29CQUNoQixLQUFLLEVBQUUsTUFBTTtpQkFDZDtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsWUFBWTtvQkFDbkIsS0FBSyxFQUFFLFNBQVM7aUJBQ2pCO2dCQUNEO29CQUNFLEtBQUssRUFBRSxXQUFXO29CQUNsQixNQUFNLEVBQUUsSUFBSTtpQkFDYjthQUNGO1NBQ0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBRXJCLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3JDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2Q7WUFFRCxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7Z0JBRXBCLElBQUksQ0FBQyxTQUFTO3FCQUNiLElBQUksQ0FDSCxLQUFLLEVBQUUsQ0FDUjtxQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNkLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNsQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxPQUFPO3FCQUNYLElBQUksQ0FDSCxLQUFLLEVBQUUsQ0FDUjtxQkFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO29CQUNkLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNyQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDekM7UUFFSCxDQUFDLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNoQixRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29uZmlybVJlc3VsdCB9IGZyb20gJy4uL2VudW1zL2NvbmZpcm0tcmVzdWx0JztcblxuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlybVVuc2F2ZWQoZGlyZWN0aXZlczogRnNGb3JtRGlyZWN0aXZlW10sIHByb21wdDogRnNQcm9tcHQpOiBPYnNlcnZhYmxlPENvbmZpcm1SZXN1bHQ+IHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcbiAgICAvLyBUT0RPIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRpcmVjdGl2ZXMgcGVyIHBhZ2VcbiAgICBjb25zdCBmb3JtID0gZGlyZWN0aXZlc1swXTtcblxuICAgIGlmICghZm9ybS5jb25maXJtIHx8ICFmb3JtLm5nRm9ybS5kaXJ0eSkge1xuICAgICAgb2JzZXJ2ZXIubmV4dChDb25maXJtUmVzdWx0LlByaXN0aW5lKTtcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHRpdGxlID0gJ1lvdSBIYXZlIFVuc2F2ZWQgQ2hhbmdlcyc7XG4gICAgbGV0IG1lc3NhZ2UgPSAnV2hhdCB3b3VsZCB5b3UgbGlrZSB0byBkbyB3aXRoIHlvdXIgY2hhbmdlcz8nO1xuICAgIGxldCBzYXZlTGFiZWwgPSAnU2F2ZSAmIENvbnRpbnVlJztcbiAgICBsZXQgZGlzY2FyZExhYmVsID0gJ0Rpc2NhcmQgQ2hhbmdlcyAmIENvbnRpbnVlJztcbiAgICBsZXQgY2FuY2VsTGFiZWwgPSAnUmV2aWV3IENoYW5nZXMnO1xuXG4gICAgaWYgKHR5cGVvZiBmb3JtLmNvbmZpcm0gPT09ICdvYmplY3QnKSB7XG4gICAgICB0aXRsZSA9IGZvcm0uY29uZmlybS50aXRsZSB8fCB0aXRsZTtcbiAgICAgIG1lc3NhZ2UgPSBmb3JtLmNvbmZpcm0ubWVzc2FnZSB8fCBtZXNzYWdlO1xuICAgICAgc2F2ZUxhYmVsID0gZm9ybS5jb25maXJtLnNhdmVMYWJlbCB8fCBzYXZlTGFiZWw7XG4gICAgICBkaXNjYXJkTGFiZWwgPSBmb3JtLmNvbmZpcm0uZGlzY2FyZExhYmVsIHx8IGRpc2NhcmRMYWJlbDtcbiAgICAgIGNhbmNlbExhYmVsID0gZm9ybS5jb25maXJtLmNhbmNlbExhYmVsIHx8IGNhbmNlbExhYmVsO1xuICAgIH1cblxuICAgIHByb21wdC5jb25maXJtKHtcbiAgICAgIHRpdGxlOiB0aXRsZSxcbiAgICAgIHRlbXBsYXRlOiBtZXNzYWdlLFxuICAgICAgZGlhbG9nQ29uZmlnOiB7IHdpZHRoOiAnYXV0bycgfSxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiBzYXZlTGFiZWwsXG4gICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICB2YWx1ZTogJ3NhdmUnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogZGlzY2FyZExhYmVsLFxuICAgICAgICAgIHZhbHVlOiAnZGlzY2FyZCdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiBjYW5jZWxMYWJlbCxcbiAgICAgICAgICBjYW5jZWw6IHRydWVcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pLnN1YnNjcmliZSgodmFsdWUpID0+IHtcblxuICAgICAgaWYgKHZhbHVlID09PSAnZGlzY2FyZCcpIHtcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChDb25maXJtUmVzdWx0LkRpc2NhcmQpO1xuICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICBmb3JtLnJlc2V0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gJ3NhdmUnKSB7XG5cbiAgICAgICAgZm9ybS5zdWJtaXR0ZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoQ29uZmlybVJlc3VsdC5TYXZlKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmb3JtLmludmFsaWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQoQ29uZmlybVJlc3VsdC5JbnZhbGlkKTtcbiAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmb3JtLm5nRm9ybS5jb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgIGZvcm0udHJpZ2dlclN1Ym1pdCh7IGNvbmZpcm1lZDogdHJ1ZSB9KTtcbiAgICAgIH1cblxuICAgIH0sIChlcnJvcjogYW55KSA9PiB7XG4gICAgICBvYnNlcnZlci5uZXh0KENvbmZpcm1SZXN1bHQuUmV2aWV3KTtcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|