@firestitch/form 13.3.9 → 14.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/confirm-unsaved/confirm-unsaved.component.d.ts +21 -21
- package/app/components/confirm-unsaved/index.d.ts +1 -1
- package/app/components/form-dialog-actions/form-dialog-actions.component.d.ts +22 -22
- package/app/components/form-dialog-actions/index.d.ts +1 -1
- package/app/components/form-template/form-template.component.d.ts +13 -13
- package/app/components/form-template/index.d.ts +1 -1
- package/app/components/form-template-outlet/form-template-outlet.component.d.ts +13 -13
- package/app/components/form-template-outlet/index.d.ts +1 -1
- package/app/components/index.d.ts +4 -4
- package/app/consts/error-messages.const.d.ts +21 -21
- package/app/directives/button.directive.d.ts +35 -35
- package/app/directives/form/form.directive.d.ts +122 -122
- package/app/directives/form/index.d.ts +1 -1
- package/app/directives/form-dialog-close.directive.d.ts +16 -16
- package/app/directives/form-template.directive.d.ts +10 -10
- package/app/directives/index.d.ts +6 -6
- package/app/directives/submit-button.directive.d.ts +6 -6
- package/app/directives/validators/compare.directive.d.ts +15 -15
- package/app/directives/validators/control.directive.d.ts +49 -49
- package/app/directives/validators/daterange.directive.d.ts +13 -13
- package/app/directives/validators/email.directive.d.ts +13 -13
- package/app/directives/validators/emails.directive.d.ts +13 -13
- package/app/directives/validators/function.directive.d.ts +15 -15
- package/app/directives/validators/greater-equal.directive.d.ts +13 -13
- package/app/directives/validators/greater.directive.d.ts +13 -13
- package/app/directives/validators/index.d.ts +22 -22
- package/app/directives/validators/integer.directive.d.ts +13 -13
- package/app/directives/validators/lesser-equal.directive.d.ts +13 -13
- package/app/directives/validators/lesser.directive.d.ts +13 -13
- package/app/directives/validators/max.directive.d.ts +13 -13
- package/app/directives/validators/maxlength.directive.d.ts +13 -13
- package/app/directives/validators/min.directive.d.ts +13 -13
- package/app/directives/validators/minlength.directive.d.ts +13 -13
- package/app/directives/validators/no-fs-validators.directive.d.ts +14 -14
- package/app/directives/validators/numeric.directive.d.ts +13 -13
- package/app/directives/validators/pattern.directive.d.ts +13 -13
- package/app/directives/validators/phone.directive.d.ts +13 -13
- package/app/directives/validators/required.directive.d.ts +16 -16
- package/app/directives/validators/url.directive.d.ts +14 -14
- package/app/directives/validators/validate.directive.d.ts +15 -15
- package/app/enums/confirm-result.d.ts +7 -7
- package/app/enums/form-status.d.ts +10 -10
- package/app/enums/index.d.ts +2 -2
- package/app/fs-form.module.d.ts +44 -44
- package/app/guards/form-deactivate.guard.d.ts +12 -12
- package/app/helpers/confirm-result-continue.d.ts +1 -1
- package/app/helpers/get-active-route.d.ts +2 -2
- package/app/helpers/get-form-errors.d.ts +2 -2
- package/app/helpers/index.d.ts +1 -1
- package/app/helpers/is-enabled.d.ts +1 -1
- package/app/interfaces/async-validator.d.ts +14 -14
- package/app/interfaces/confirm-config.d.ts +7 -7
- package/app/interfaces/confirm-tab-group.d.ts +10 -10
- package/app/interfaces/index.d.ts +4 -4
- package/app/interfaces/submit-event.d.ts +6 -6
- package/app/interfaces/submitted-event.d.ts +7 -7
- package/app/interfaces/validator.d.ts +13 -13
- package/app/providers/validate-messages.provider.d.ts +27 -27
- package/app/services/fsform.service.d.ts +20 -20
- package/app/validators/validators.d.ts +12 -12
- package/esm2020/app/components/confirm-unsaved/confirm-unsaved.component.mjs +43 -43
- package/esm2020/app/components/confirm-unsaved/index.mjs +1 -1
- package/esm2020/app/components/form-dialog-actions/form-dialog-actions.component.mjs +74 -74
- package/esm2020/app/components/form-dialog-actions/index.mjs +1 -1
- package/esm2020/app/components/form-template/form-template.component.mjs +31 -31
- package/esm2020/app/components/form-template/index.mjs +2 -2
- package/esm2020/app/components/form-template-outlet/form-template-outlet.component.mjs +30 -30
- package/esm2020/app/components/form-template-outlet/index.mjs +2 -2
- package/esm2020/app/components/index.mjs +4 -4
- package/esm2020/app/consts/error-messages.const.mjs +21 -21
- package/esm2020/app/directives/button.directive.mjs +151 -151
- package/esm2020/app/directives/form/form.directive.mjs +689 -692
- package/esm2020/app/directives/form/index.mjs +1 -1
- package/esm2020/app/directives/form-dialog-close.directive.mjs +53 -53
- package/esm2020/app/directives/form-template.directive.mjs +19 -19
- package/esm2020/app/directives/index.mjs +6 -6
- package/esm2020/app/directives/submit-button.directive.mjs +13 -13
- package/esm2020/app/directives/validators/compare.directive.mjs +46 -46
- package/esm2020/app/directives/validators/control.directive.mjs +257 -257
- package/esm2020/app/directives/validators/daterange.directive.mjs +40 -40
- package/esm2020/app/directives/validators/email.directive.mjs +40 -40
- package/esm2020/app/directives/validators/emails.directive.mjs +40 -40
- package/esm2020/app/directives/validators/function.directive.mjs +40 -40
- package/esm2020/app/directives/validators/greater-equal.directive.mjs +39 -39
- package/esm2020/app/directives/validators/greater.directive.mjs +39 -39
- package/esm2020/app/directives/validators/index.mjs +22 -22
- package/esm2020/app/directives/validators/integer.directive.mjs +38 -38
- package/esm2020/app/directives/validators/lesser-equal.directive.mjs +39 -39
- package/esm2020/app/directives/validators/lesser.directive.mjs +39 -39
- package/esm2020/app/directives/validators/max.directive.mjs +35 -35
- package/esm2020/app/directives/validators/maxlength.directive.mjs +34 -34
- package/esm2020/app/directives/validators/min.directive.mjs +35 -35
- package/esm2020/app/directives/validators/minlength.directive.mjs +34 -34
- package/esm2020/app/directives/validators/no-fs-validators.directive.mjs +52 -52
- package/esm2020/app/directives/validators/numeric.directive.mjs +40 -40
- package/esm2020/app/directives/validators/pattern.directive.mjs +34 -34
- package/esm2020/app/directives/validators/phone.directive.mjs +40 -40
- package/esm2020/app/directives/validators/required.directive.mjs +68 -68
- package/esm2020/app/directives/validators/url.directive.mjs +44 -44
- package/esm2020/app/directives/validators/validate.directive.mjs +42 -42
- package/esm2020/app/enums/confirm-result.mjs +8 -8
- package/esm2020/app/enums/form-status.mjs +11 -11
- package/esm2020/app/enums/index.mjs +2 -2
- package/esm2020/app/fs-form.module.mjs +209 -211
- package/esm2020/app/guards/form-deactivate.guard.mjs +41 -41
- package/esm2020/app/helpers/confirm-result-continue.mjs +4 -4
- package/esm2020/app/helpers/get-active-route.mjs +6 -6
- package/esm2020/app/helpers/get-form-errors.mjs +25 -25
- package/esm2020/app/helpers/index.mjs +1 -1
- package/esm2020/app/helpers/is-enabled.mjs +3 -3
- package/esm2020/app/interfaces/async-validator.mjs +1 -1
- package/esm2020/app/interfaces/confirm-config.mjs +1 -1
- package/esm2020/app/interfaces/confirm-tab-group.mjs +1 -1
- package/esm2020/app/interfaces/index.mjs +4 -4
- package/esm2020/app/interfaces/submit-event.mjs +1 -1
- package/esm2020/app/interfaces/submitted-event.mjs +1 -1
- package/esm2020/app/interfaces/validator.mjs +1 -1
- package/esm2020/app/providers/validate-messages.provider.mjs +10 -10
- package/esm2020/app/services/fsform.service.mjs +91 -91
- package/esm2020/app/validators/validators.mjs +92 -92
- package/esm2020/firestitch-form.mjs +4 -4
- package/esm2020/public_api.mjs +36 -36
- package/fesm2015/firestitch-form.mjs +2457 -2461
- package/fesm2015/firestitch-form.mjs.map +1 -1
- package/fesm2020/firestitch-form.mjs +2443 -2448
- package/fesm2020/firestitch-form.mjs.map +1 -1
- package/{firestitch-form.d.ts → index.d.ts} +5 -5
- package/package.json +3 -3
- package/public_api.d.ts +34 -34
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export function getFormErrors(control, key) {
|
|
3
|
-
let errors = null;
|
|
4
|
-
if (control.invalid && control.errors) {
|
|
5
|
-
errors = {
|
|
6
|
-
[key]: { ...control.errors },
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
if (control instanceof
|
|
10
|
-
Object.entries(control.controls)
|
|
11
|
-
.forEach(([name, childControl]) => {
|
|
12
|
-
const childErrors = getFormErrors(childControl, name);
|
|
13
|
-
if (childErrors) {
|
|
14
|
-
if (!errors) {
|
|
15
|
-
errors = { ...childErrors };
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
Object.assign(errors, childErrors);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
return errors;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { UntypedFormGroup } from '@angular/forms';
|
|
2
|
+
export function getFormErrors(control, key) {
|
|
3
|
+
let errors = null;
|
|
4
|
+
if (control.invalid && control.errors) {
|
|
5
|
+
errors = {
|
|
6
|
+
[key]: { ...control.errors },
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
if (control instanceof UntypedFormGroup) {
|
|
10
|
+
Object.entries(control.controls)
|
|
11
|
+
.forEach(([name, childControl]) => {
|
|
12
|
+
const childErrors = getFormErrors(childControl, name);
|
|
13
|
+
if (childErrors) {
|
|
14
|
+
if (!errors) {
|
|
15
|
+
errors = { ...childErrors };
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
Object.assign(errors, childErrors);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return errors;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZvcm0tZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL2dldC1mb3JtLWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGdCQUFnQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBR3JGLE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBd0IsRUFBRSxHQUFXO0lBQ2pFLElBQUksTUFBTSxHQUE0QixJQUFJLENBQUM7SUFFM0MsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDckMsTUFBTSxHQUFHO1lBQ1AsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRTtTQUM3QixDQUFDO0tBQ0g7SUFFRCxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRTtRQUN2QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7YUFDN0IsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBRXRELElBQUksV0FBVyxFQUFFO2dCQUNmLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztpQkFDN0I7cUJBQU07b0JBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7aUJBQ3BDO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNOO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybUVycm9ycyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsIGtleTogc3RyaW5nKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICBsZXQgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IG51bGw7XG5cbiAgaWYgKGNvbnRyb2wuaW52YWxpZCAmJiBjb250cm9sLmVycm9ycykge1xuICAgIGVycm9ycyA9IHtcbiAgICAgIFtrZXldOiB7IC4uLmNvbnRyb2wuZXJyb3JzIH0sXG4gICAgfTtcbiAgfVxuXG4gIGlmIChjb250cm9sIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xuICAgIE9iamVjdC5lbnRyaWVzKGNvbnRyb2wuY29udHJvbHMpXG4gICAgICAuZm9yRWFjaCgoW25hbWUsIGNoaWxkQ29udHJvbF0pID0+IHtcbiAgICAgICAgY29uc3QgY2hpbGRFcnJvcnMgPSBnZXRGb3JtRXJyb3JzKGNoaWxkQ29udHJvbCwgbmFtZSk7XG5cbiAgICAgICAgaWYgKGNoaWxkRXJyb3JzKSB7XG4gICAgICAgICAgaWYgKCFlcnJvcnMpIHtcbiAgICAgICAgICAgIGVycm9ycyA9IHsgLi4uY2hpbGRFcnJvcnMgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihlcnJvcnMsIGNoaWxkRXJyb3JzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './confirm-result-continue';
|
|
1
|
+
export * from './confirm-result-continue';
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2hlbHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlybS1yZXN1bHQtY29udGludWUnO1xuXG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function isEnabled(value) {
|
|
2
|
-
return value !== 'false' && (value || value === '');
|
|
3
|
-
}
|
|
1
|
+
export function isEnabled(value) {
|
|
2
|
+
return value !== 'false' && (value || value === '');
|
|
3
|
+
}
|
|
4
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZW5hYmxlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvaGVscGVycy9pcy1lbmFibGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNsQyxPQUFPLEtBQUssS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNFbmFibGVkKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHZhbHVlICE9PSAnZmFsc2UnICYmICh2YWx1ZSB8fCB2YWx1ZSA9PT0gJycpO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL2FzeW5jLXZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRnNBc3luY1ZhbGlkYXRvciB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogTWV0aG9kIHRoYXQgcGVyZm9ybXMgYXN5bmMgdmFsaWRhdGlvbiBhZ2FpbnN0IHRoZSBwcm92aWRlZCBjb250cm9sLlxuICAgKlxuICAgKiBAcGFyYW0gY29udHJvbCBUaGUgY29udHJvbCB0byB2YWxpZGF0ZSBhZ2FpbnN0LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugb3Igb2JzZXJ2YWJsZSB0aGF0IHJlc29sdmVzIGEgbWFwIG9mIHZhbGlkYXRpb24gZXJyb3JzXG4gICAqIGlmIHZhbGlkYXRpb24gZmFpbHMsIG90aGVyd2lzZSBudWxsLlxuICAgKi9cbiAgdmFsaWRhdGVBc3luYyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvY29uZmlybS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybUNvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBzYXZlTGFiZWw/OiBzdHJpbmc7XG4gIGRpc2NhcmRMYWJlbD86IHN0cmluZztcbiAgY2FuY2VsTGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS10YWItZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvY29uZmlybS10YWItZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFRhYiwgTWF0VGFiR3JvdXAsIE1hdFRhYkhlYWRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybVRhYkdyb3VwIGV4dGVuZHMgTWF0VGFiR3JvdXAge1xuICBfb3JpZ2luYWxIYW5kbGVDbGljayh0YWI6IE1hdFRhYiwgdGFiSGVhZGVyOiBNYXRUYWJIZWFkZXIsIGluZGV4OiBudW1iZXIpOiB2b2lkO1xuICBfaGFuZGxDbGljayQ6IFN1YmplY3Q8eyB0YWI6IE1hdFRhYjsgdGFiSGVhZGVyOiBNYXRUYWJIZWFkZXI7IGlkeDogbnVtYmVyIH0+O1xufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './submit-event';
|
|
2
|
-
export * from './submitted-event';
|
|
3
|
-
export * from './confirm-config';
|
|
4
|
-
export * from './confirm-tab-group';
|
|
1
|
+
export * from './submit-event';
|
|
2
|
+
export * from './submitted-event';
|
|
3
|
+
export * from './confirm-config';
|
|
4
|
+
export * from './confirm-tab-group';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3VibWl0LWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3VibWl0dGVkLWV2ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlybS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLXRhYi1ncm91cCc7XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL3N1Ym1pdC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWl0RXZlbnQge1xuICBuZ0Zvcm06IE5nRm9ybTtcbiAgc3VibWl0dGVyOiBzdHJpbmc7ICBcbiAgY29uZmlybWVkPzogYm9vbGVhbixcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0dGVkLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL3N1Ym1pdHRlZC1ldmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWl0dGVkRXZlbnQge1xuICBuZ0Zvcm06IE5nRm9ybSxcbiAgc3VibWl0dGVyOiBzdHJpbmcsXG4gIHJlc3BvbnNlOiBhbnksXG4gIGNvbmZpcm1lZD86IGJvb2xlYW4sXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9pbnRlcmZhY2VzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRnNWYWxpZGF0b3Ige1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIE1ldGhvZCB0aGF0IHBlcmZvcm1zIHN5bmNocm9ub3VzIHZhbGlkYXRpb24gYWdhaW5zdCB0aGUgcHJvdmlkZWQgY29udHJvbC5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRyb2wgVGhlIGNvbnRyb2wgdG8gdmFsaWRhdGUgYWdhaW5zdC5cbiAgICpcbiAgICogQHJldHVybnMgQSBtYXAgb2YgdmFsaWRhdGlvbiBlcnJvcnMgaWYgdmFsaWRhdGlvbiBmYWlscyxcbiAgICogb3RoZXJ3aXNlIG51bGwuXG4gICAqL1xuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsO1xuXG59XG4iXX0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { ERROR_MESSAGES } from '../consts/error-messages.const';
|
|
3
|
-
export const VALIDATE_MESSAGES = new InjectionToken('fs.form.validate-messages');
|
|
4
|
-
export const VALIDATE_MESSAGE_PROVIDER = {
|
|
5
|
-
provide: VALIDATE_MESSAGES,
|
|
6
|
-
useFactory: messageProviderFactory,
|
|
7
|
-
};
|
|
8
|
-
export function messageProviderFactory() {
|
|
9
|
-
return { ...ERROR_MESSAGES };
|
|
10
|
-
}
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { ERROR_MESSAGES } from '../consts/error-messages.const';
|
|
3
|
+
export const VALIDATE_MESSAGES = new InjectionToken('fs.form.validate-messages');
|
|
4
|
+
export const VALIDATE_MESSAGE_PROVIDER = {
|
|
5
|
+
provide: VALIDATE_MESSAGES,
|
|
6
|
+
useFactory: messageProviderFactory,
|
|
7
|
+
};
|
|
8
|
+
export function messageProviderFactory() {
|
|
9
|
+
return { ...ERROR_MESSAGES };
|
|
10
|
+
}
|
|
11
11
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3Byb3ZpZGVycy92YWxpZGF0ZS1tZXNzYWdlcy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FDakQsMkJBQTJCLENBQzVCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFVBQVUsRUFBRSxzQkFBc0I7Q0FDbkMsQ0FBQztBQUVGLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7QUFDL0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0cy9lcnJvci1tZXNzYWdlcy5jb25zdCc7XG5cbmV4cG9ydCBjb25zdCBWQUxJREFURV9NRVNTQUdFUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihcbiAgJ2ZzLmZvcm0udmFsaWRhdGUtbWVzc2FnZXMnLFxuKTtcblxuZXhwb3J0IGNvbnN0IFZBTElEQVRFX01FU1NBR0VfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IFZBTElEQVRFX01FU1NBR0VTLFxuICB1c2VGYWN0b3J5OiBtZXNzYWdlUHJvdmlkZXJGYWN0b3J5LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1lc3NhZ2VQcm92aWRlckZhY3RvcnkoKSB7XG4gIHJldHVybiB7IC4uLkVSUk9SX01FU1NBR0VTIH07XG59XG5cbiJdfQ==
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
-
import { merge, of, Subject } from 'rxjs';
|
|
4
|
-
import { filter, first, map, mapTo, switchMap, take } from 'rxjs/operators';
|
|
5
|
-
import { ConfirmUnsavedComponent } from '../components/confirm-unsaved';
|
|
6
|
-
import { ConfirmResult } from '../enums';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/dialog";
|
|
9
|
-
export class FsForm {
|
|
10
|
-
constructor(_dialog) {
|
|
11
|
-
this._dialog = _dialog;
|
|
12
|
-
// value is array for future possibilities of extension
|
|
13
|
-
this._formDirectiveStore = new WeakMap();
|
|
14
|
-
this._eventBus = new Subject();
|
|
15
|
-
}
|
|
16
|
-
// @deprecated
|
|
17
|
-
broadcast(key, data) {
|
|
18
|
-
this._eventBus.next({ key, data });
|
|
19
|
-
}
|
|
20
|
-
// @deprecated
|
|
21
|
-
on(key) {
|
|
22
|
-
return this._eventBus.asObservable()
|
|
23
|
-
.pipe(filter((event) => event.key === key), map((event) => event.data));
|
|
24
|
-
}
|
|
25
|
-
registerFormDirective(routeComponent, directive) {
|
|
26
|
-
const directives = this.getFormDirectives(routeComponent) || [];
|
|
27
|
-
directives.push(directive);
|
|
28
|
-
this._formDirectiveStore.set(routeComponent, directives);
|
|
29
|
-
}
|
|
30
|
-
getFormDirectives(routeComponent) {
|
|
31
|
-
return this._formDirectiveStore.get(routeComponent);
|
|
32
|
-
}
|
|
33
|
-
removeFormDirective(routeComponent) {
|
|
34
|
-
this._formDirectiveStore.delete(routeComponent);
|
|
35
|
-
}
|
|
36
|
-
confirmUnsaved(directives) {
|
|
37
|
-
// TODO support for multiple directives per page
|
|
38
|
-
const form = directives[0];
|
|
39
|
-
if (!form.confirm || !form.ngForm.dirty) {
|
|
40
|
-
return of(ConfirmResult.Pristine);
|
|
41
|
-
}
|
|
42
|
-
let title = 'You Have Unsaved Changes';
|
|
43
|
-
let message = 'What would you like to do with your changes?';
|
|
44
|
-
let saveLabel = 'Save & Continue';
|
|
45
|
-
let discardLabel = 'Discard Changes & Continue';
|
|
46
|
-
let cancelLabel = 'Review Changes';
|
|
47
|
-
if (typeof form.confirm === 'object') {
|
|
48
|
-
title = form.confirm.title || title;
|
|
49
|
-
message = form.confirm.message || message;
|
|
50
|
-
saveLabel = form.confirm.saveLabel || saveLabel;
|
|
51
|
-
discardLabel = form.confirm.discardLabel || discardLabel;
|
|
52
|
-
cancelLabel = form.confirm.cancelLabel || cancelLabel;
|
|
53
|
-
}
|
|
54
|
-
return this._dialog.open(ConfirmUnsavedComponent, {
|
|
55
|
-
data: {
|
|
56
|
-
title,
|
|
57
|
-
message,
|
|
58
|
-
saveLabel,
|
|
59
|
-
discardLabel,
|
|
60
|
-
cancelLabel,
|
|
61
|
-
},
|
|
62
|
-
width: 'auto',
|
|
63
|
-
})
|
|
64
|
-
.afterClosed()
|
|
65
|
-
.pipe(switchMap((result) => {
|
|
66
|
-
if (!result) {
|
|
67
|
-
return of(ConfirmResult.Review);
|
|
68
|
-
}
|
|
69
|
-
if (result === 'discard') {
|
|
70
|
-
form.reset();
|
|
71
|
-
return of(ConfirmResult.Discard);
|
|
72
|
-
}
|
|
73
|
-
if (result === 'save') {
|
|
74
|
-
form.ngForm.control.markAsPristine();
|
|
75
|
-
form.triggerSubmit({ confirmed: true });
|
|
76
|
-
return merge(form.submitted
|
|
77
|
-
.pipe(first(), mapTo(ConfirmResult.Save)), form.invalid
|
|
78
|
-
.pipe(first(), mapTo(ConfirmResult.Invalid)))
|
|
79
|
-
.pipe(take(1));
|
|
80
|
-
}
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
FsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
85
|
-
FsForm.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
-
type: Injectable,
|
|
88
|
-
args: [{
|
|
89
|
-
providedIn: 'root',
|
|
90
|
-
}]
|
|
91
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { merge, of, Subject } from 'rxjs';
|
|
4
|
+
import { filter, first, map, mapTo, switchMap, take } from 'rxjs/operators';
|
|
5
|
+
import { ConfirmUnsavedComponent } from '../components/confirm-unsaved';
|
|
6
|
+
import { ConfirmResult } from '../enums';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/material/dialog";
|
|
9
|
+
export class FsForm {
|
|
10
|
+
constructor(_dialog) {
|
|
11
|
+
this._dialog = _dialog;
|
|
12
|
+
// value is array for future possibilities of extension
|
|
13
|
+
this._formDirectiveStore = new WeakMap();
|
|
14
|
+
this._eventBus = new Subject();
|
|
15
|
+
}
|
|
16
|
+
// @deprecated
|
|
17
|
+
broadcast(key, data) {
|
|
18
|
+
this._eventBus.next({ key, data });
|
|
19
|
+
}
|
|
20
|
+
// @deprecated
|
|
21
|
+
on(key) {
|
|
22
|
+
return this._eventBus.asObservable()
|
|
23
|
+
.pipe(filter((event) => event.key === key), map((event) => event.data));
|
|
24
|
+
}
|
|
25
|
+
registerFormDirective(routeComponent, directive) {
|
|
26
|
+
const directives = this.getFormDirectives(routeComponent) || [];
|
|
27
|
+
directives.push(directive);
|
|
28
|
+
this._formDirectiveStore.set(routeComponent, directives);
|
|
29
|
+
}
|
|
30
|
+
getFormDirectives(routeComponent) {
|
|
31
|
+
return this._formDirectiveStore.get(routeComponent);
|
|
32
|
+
}
|
|
33
|
+
removeFormDirective(routeComponent) {
|
|
34
|
+
this._formDirectiveStore.delete(routeComponent);
|
|
35
|
+
}
|
|
36
|
+
confirmUnsaved(directives) {
|
|
37
|
+
// TODO support for multiple directives per page
|
|
38
|
+
const form = directives[0];
|
|
39
|
+
if (!form.confirm || !form.ngForm.dirty) {
|
|
40
|
+
return of(ConfirmResult.Pristine);
|
|
41
|
+
}
|
|
42
|
+
let title = 'You Have Unsaved Changes';
|
|
43
|
+
let message = 'What would you like to do with your changes?';
|
|
44
|
+
let saveLabel = 'Save & Continue';
|
|
45
|
+
let discardLabel = 'Discard Changes & Continue';
|
|
46
|
+
let cancelLabel = 'Review Changes';
|
|
47
|
+
if (typeof form.confirm === 'object') {
|
|
48
|
+
title = form.confirm.title || title;
|
|
49
|
+
message = form.confirm.message || message;
|
|
50
|
+
saveLabel = form.confirm.saveLabel || saveLabel;
|
|
51
|
+
discardLabel = form.confirm.discardLabel || discardLabel;
|
|
52
|
+
cancelLabel = form.confirm.cancelLabel || cancelLabel;
|
|
53
|
+
}
|
|
54
|
+
return this._dialog.open(ConfirmUnsavedComponent, {
|
|
55
|
+
data: {
|
|
56
|
+
title,
|
|
57
|
+
message,
|
|
58
|
+
saveLabel,
|
|
59
|
+
discardLabel,
|
|
60
|
+
cancelLabel,
|
|
61
|
+
},
|
|
62
|
+
width: 'auto',
|
|
63
|
+
})
|
|
64
|
+
.afterClosed()
|
|
65
|
+
.pipe(switchMap((result) => {
|
|
66
|
+
if (!result) {
|
|
67
|
+
return of(ConfirmResult.Review);
|
|
68
|
+
}
|
|
69
|
+
if (result === 'discard') {
|
|
70
|
+
form.reset();
|
|
71
|
+
return of(ConfirmResult.Discard);
|
|
72
|
+
}
|
|
73
|
+
if (result === 'save') {
|
|
74
|
+
form.ngForm.control.markAsPristine();
|
|
75
|
+
form.triggerSubmit({ confirmed: true });
|
|
76
|
+
return merge(form.submitted
|
|
77
|
+
.pipe(first(), mapTo(ConfirmResult.Save)), form.invalid
|
|
78
|
+
.pipe(first(), mapTo(ConfirmResult.Invalid)))
|
|
79
|
+
.pipe(take(1));
|
|
80
|
+
}
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
FsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsForm, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
85
|
+
FsForm.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsForm, providedIn: 'root' });
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsForm, decorators: [{
|
|
87
|
+
type: Injectable,
|
|
88
|
+
args: [{
|
|
89
|
+
providedIn: 'root',
|
|
90
|
+
}]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
92
92
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnNmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL2ZzZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFXekMsTUFBTSxPQUFPLE1BQU07SUFPakIsWUFDVSxPQUFrQjtRQUFsQixZQUFPLEdBQVAsT0FBTyxDQUFXO1FBTjVCLHVEQUF1RDtRQUMvQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBZ0MsQ0FBQztRQU94RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO0lBQ2pELENBQUM7SUFFRCxjQUFjO0lBQ1AsU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUFVO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDUCxFQUFFLENBQUksR0FBUTtRQUNuQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO2FBQ2pDLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQ3BDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUM5QixDQUFDO0lBQ04sQ0FBQztJQUVNLHFCQUFxQixDQUFDLGNBQXlCLEVBQUUsU0FBMEI7UUFDaEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxjQUFjO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsY0FBYztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTSxjQUFjLENBQ25CLFVBQTZCO1FBRS9CLGdEQUFnRDtRQUM5QyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtZQUN2QyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLEtBQUssR0FBRywwQkFBMEIsQ0FBQztRQUN2QyxJQUFJLE9BQU8sR0FBRyw4Q0FBOEMsQ0FBQztRQUM3RCxJQUFJLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQztRQUNsQyxJQUFJLFlBQVksR0FBRyw0QkFBNEIsQ0FBQztRQUNoRCxJQUFJLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQztRQUVuQyxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7WUFDcEMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQztZQUNwQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDO1lBQzFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7WUFDaEQsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQztZQUN6RCxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDO1NBQ3ZEO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRTtZQUNoRCxJQUFJLEVBQUU7Z0JBQ0osS0FBSztnQkFDTCxPQUFPO2dCQUNQLFNBQVM7Z0JBQ1QsWUFBWTtnQkFDWixXQUFXO2FBQ1o7WUFDRCxLQUFLLEVBQUUsTUFBTTtTQUNkLENBQUM7YUFDQyxXQUFXLEVBQUU7YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkIsSUFBRyxDQUFDLE1BQU0sRUFBRTtnQkFDVixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDakM7WUFFRCxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFFYixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDbEM7WUFFRCxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBRXhDLE9BQU8sS0FBSyxDQUNWLElBQUksQ0FBQyxTQUFTO3FCQUNYLElBQUksQ0FDSCxLQUFLLEVBQUUsRUFDUCxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUMxQixFQUNILElBQUksQ0FBQyxPQUFPO3FCQUNULElBQUksQ0FDSCxLQUFLLEVBQUUsRUFDUCxLQUFLLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUM3QixDQUFDO3FCQUNILElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQzthQUNMO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7O21HQTlHVSxNQUFNO3VHQUFOLE1BQU0sY0FGTCxNQUFNOzJGQUVQLE1BQU07a0JBSGxCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5cbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgbWFwLCBtYXBUbywgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBDb25maXJtVW5zYXZlZENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uZmlybS11bnNhdmVkJztcbmltcG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb25maXJtUmVzdWx0IH0gZnJvbSAnLi4vZW51bXMnO1xuXG5pbnRlcmZhY2UgQnJvYWRjYXN0RXZlbnQge1xuICAgIGtleTogYW55O1xuICAgIGRhdGE/OiBhbnk7XG59XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzRm9ybSB7XG5cbiAgLy8gdmFsdWUgaXMgYXJyYXkgZm9yIGZ1dHVyZSBwb3NzaWJpbGl0aWVzIG9mIGV4dGVuc2lvblxuICBwcml2YXRlIF9mb3JtRGlyZWN0aXZlU3RvcmUgPSBuZXcgV2Vha01hcDxUeXBlPGFueT4sIEZzRm9ybURpcmVjdGl2ZVtdPigpO1xuXG4gIHByaXZhdGUgX2V2ZW50QnVzOiBTdWJqZWN0PEJyb2FkY2FzdEV2ZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7XG4gICAgdGhpcy5fZXZlbnRCdXMgPSBuZXcgU3ViamVjdDxCcm9hZGNhc3RFdmVudD4oKTtcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gIHB1YmxpYyBicm9hZGNhc3Qoa2V5OiBhbnksIGRhdGE/OiBhbnkpIHtcbiAgICB0aGlzLl9ldmVudEJ1cy5uZXh0KHsga2V5LCBkYXRhIH0pO1xuICB9XG5cbiAgLy8gQGRlcHJlY2F0ZWRcbiAgcHVibGljIG9uPFQ+KGtleTogYW55KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50QnVzLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQua2V5ID09PSBrZXkpLFxuICAgICAgICBtYXAoKGV2ZW50KSA9PiA8VD5ldmVudC5kYXRhKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJGb3JtRGlyZWN0aXZlKHJvdXRlQ29tcG9uZW50OiBUeXBlPGFueT4sIGRpcmVjdGl2ZTogRnNGb3JtRGlyZWN0aXZlKSB7XG4gICAgY29uc3QgZGlyZWN0aXZlcyA9IHRoaXMuZ2V0Rm9ybURpcmVjdGl2ZXMocm91dGVDb21wb25lbnQpIHx8IFtdO1xuICAgIGRpcmVjdGl2ZXMucHVzaChkaXJlY3RpdmUpO1xuXG4gICAgdGhpcy5fZm9ybURpcmVjdGl2ZVN0b3JlLnNldChyb3V0ZUNvbXBvbmVudCwgZGlyZWN0aXZlcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Rm9ybURpcmVjdGl2ZXMocm91dGVDb21wb25lbnQpOiBGc0Zvcm1EaXJlY3RpdmVbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1EaXJlY3RpdmVTdG9yZS5nZXQocm91dGVDb21wb25lbnQpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUZvcm1EaXJlY3RpdmUocm91dGVDb21wb25lbnQpIHtcbiAgICB0aGlzLl9mb3JtRGlyZWN0aXZlU3RvcmUuZGVsZXRlKHJvdXRlQ29tcG9uZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtVW5zYXZlZChcbiAgICBkaXJlY3RpdmVzOiBGc0Zvcm1EaXJlY3RpdmVbXSwgXG4gICk6IE9ic2VydmFibGU8Q29uZmlybVJlc3VsdD4ge1xuICAvLyBUT0RPIHN1cHBvcnQgZm9yIG11bHRpcGxlIGRpcmVjdGl2ZXMgcGVyIHBhZ2VcbiAgICBjb25zdCBmb3JtID0gZGlyZWN0aXZlc1swXTtcblxuICAgIGlmICghZm9ybS5jb25maXJtIHx8ICFmb3JtLm5nRm9ybS5kaXJ0eSkge1xuICAgICAgcmV0dXJuIG9mKENvbmZpcm1SZXN1bHQuUHJpc3RpbmUpO1xuICAgIH1cblxuICAgIGxldCB0aXRsZSA9ICdZb3UgSGF2ZSBVbnNhdmVkIENoYW5nZXMnO1xuICAgIGxldCBtZXNzYWdlID0gJ1doYXQgd291bGQgeW91IGxpa2UgdG8gZG8gd2l0aCB5b3VyIGNoYW5nZXM/JztcbiAgICBsZXQgc2F2ZUxhYmVsID0gJ1NhdmUgJiBDb250aW51ZSc7XG4gICAgbGV0IGRpc2NhcmRMYWJlbCA9ICdEaXNjYXJkIENoYW5nZXMgJiBDb250aW51ZSc7XG4gICAgbGV0IGNhbmNlbExhYmVsID0gJ1JldmlldyBDaGFuZ2VzJztcblxuICAgIGlmICh0eXBlb2YgZm9ybS5jb25maXJtID09PSAnb2JqZWN0Jykge1xuICAgICAgdGl0bGUgPSBmb3JtLmNvbmZpcm0udGl0bGUgfHwgdGl0bGU7XG4gICAgICBtZXNzYWdlID0gZm9ybS5jb25maXJtLm1lc3NhZ2UgfHwgbWVzc2FnZTtcbiAgICAgIHNhdmVMYWJlbCA9IGZvcm0uY29uZmlybS5zYXZlTGFiZWwgfHwgc2F2ZUxhYmVsO1xuICAgICAgZGlzY2FyZExhYmVsID0gZm9ybS5jb25maXJtLmRpc2NhcmRMYWJlbCB8fCBkaXNjYXJkTGFiZWw7XG4gICAgICBjYW5jZWxMYWJlbCA9IGZvcm0uY29uZmlybS5jYW5jZWxMYWJlbCB8fCBjYW5jZWxMYWJlbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGlhbG9nLm9wZW4oQ29uZmlybVVuc2F2ZWRDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHNhdmVMYWJlbCxcbiAgICAgICAgZGlzY2FyZExhYmVsLFxuICAgICAgICBjYW5jZWxMYWJlbCxcbiAgICAgIH0sXG4gICAgICB3aWR0aDogJ2F1dG8nLCBcbiAgICB9KVxuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIGlmKCFyZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihDb25maXJtUmVzdWx0LlJldmlldyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIGlmIChyZXN1bHQgPT09ICdkaXNjYXJkJykge1xuICAgICAgICAgICAgZm9ybS5yZXNldCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gb2YoQ29uZmlybVJlc3VsdC5EaXNjYXJkKTsgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gJ3NhdmUnKSB7XG4gICAgICAgICAgICBmb3JtLm5nRm9ybS5jb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgICAgICBmb3JtLnRyaWdnZXJTdWJtaXQoeyBjb25maXJtZWQ6IHRydWUgfSk7XG4gICAgICAgICAgXG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgIGZvcm0uc3VibWl0dGVkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgbWFwVG8oQ29uZmlybVJlc3VsdC5TYXZlKSxcbiAgICAgICAgICAgICAgICApLCBcbiAgICAgICAgICAgICAgZm9ybS5pbnZhbGlkXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgbWFwVG8oQ29uZmlybVJlc3VsdC5JbnZhbGlkKSxcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import { email, isEmpty, isNumeric, phone, url } from '@firestitch/common';
|
|
2
|
-
import { from, isObservable, of, throwError } from 'rxjs';
|
|
3
|
-
import { catchError, mapTo, take } from 'rxjs/operators';
|
|
4
|
-
import { isValid } from 'date-fns';
|
|
5
|
-
import { isObject } from 'lodash-es';
|
|
6
|
-
export class FsValidators {
|
|
7
|
-
static email(control) {
|
|
8
|
-
if (!control.value || email(control.value)) {
|
|
9
|
-
return null;
|
|
10
|
-
}
|
|
11
|
-
return { email: true };
|
|
12
|
-
}
|
|
13
|
-
static emails(control) {
|
|
14
|
-
const model = control.value || '';
|
|
15
|
-
const hasInvalidEmails = model
|
|
16
|
-
.split(',')
|
|
17
|
-
.some((part) => !email(part));
|
|
18
|
-
return hasInvalidEmails ? { email: true } : null;
|
|
19
|
-
}
|
|
20
|
-
static numeric(control) {
|
|
21
|
-
if (isEmpty(control.value) || isNumeric(control.value)) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
return { numeric: true };
|
|
25
|
-
}
|
|
26
|
-
static integer(control) {
|
|
27
|
-
if (!control.value || String(control.value) === '' || (control.value % 1 === 0)) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return { integer: true };
|
|
31
|
-
}
|
|
32
|
-
static phone(control) {
|
|
33
|
-
if (!control.value || phone(control.value)) {
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
36
|
-
return { phone: true };
|
|
37
|
-
}
|
|
38
|
-
static url(control, protocolRequired = false) {
|
|
39
|
-
if (!control.value) {
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
if (!url(control.value)) {
|
|
43
|
-
return { url: true };
|
|
44
|
-
}
|
|
45
|
-
if (protocolRequired) {
|
|
46
|
-
const pattern = new RegExp(/^http(s)?:\/\//gm);
|
|
47
|
-
if (!String(control.value).match(pattern)) {
|
|
48
|
-
return { urlProtocol: true };
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
static dateRange(control) {
|
|
54
|
-
if (!control.value) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
if (isObject(control.value)) {
|
|
58
|
-
const start = control.value.start;
|
|
59
|
-
const end = control.value.end;
|
|
60
|
-
if ((!start && !end) || (isValid(start) && isValid(end))) {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return { dateRange: true };
|
|
65
|
-
}
|
|
66
|
-
static func(control, formFunction, data) {
|
|
67
|
-
let result;
|
|
68
|
-
let stream$;
|
|
69
|
-
try {
|
|
70
|
-
result = formFunction(control, data);
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
const error = err instanceof Error ? err.message : err;
|
|
74
|
-
stream$ = throwError(error);
|
|
75
|
-
}
|
|
76
|
-
if (!stream$) {
|
|
77
|
-
if (result instanceof Promise) {
|
|
78
|
-
stream$ = from(result);
|
|
79
|
-
}
|
|
80
|
-
else if (isObservable(result)) {
|
|
81
|
-
stream$ = result;
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
stream$ = of(null);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return stream$
|
|
88
|
-
.pipe(mapTo(null), catchError((err) => {
|
|
89
|
-
return of({ validationError: err });
|
|
90
|
-
}), take(1));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
1
|
+
import { email, isEmpty, isNumeric, phone, url } from '@firestitch/common';
|
|
2
|
+
import { from, isObservable, of, throwError } from 'rxjs';
|
|
3
|
+
import { catchError, mapTo, take } from 'rxjs/operators';
|
|
4
|
+
import { isValid } from 'date-fns';
|
|
5
|
+
import { isObject } from 'lodash-es';
|
|
6
|
+
export class FsValidators {
|
|
7
|
+
static email(control) {
|
|
8
|
+
if (!control.value || email(control.value)) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return { email: true };
|
|
12
|
+
}
|
|
13
|
+
static emails(control) {
|
|
14
|
+
const model = control.value || '';
|
|
15
|
+
const hasInvalidEmails = model
|
|
16
|
+
.split(',')
|
|
17
|
+
.some((part) => !email(part));
|
|
18
|
+
return hasInvalidEmails ? { email: true } : null;
|
|
19
|
+
}
|
|
20
|
+
static numeric(control) {
|
|
21
|
+
if (isEmpty(control.value) || isNumeric(control.value)) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
return { numeric: true };
|
|
25
|
+
}
|
|
26
|
+
static integer(control) {
|
|
27
|
+
if (!control.value || String(control.value) === '' || (control.value % 1 === 0)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
return { integer: true };
|
|
31
|
+
}
|
|
32
|
+
static phone(control) {
|
|
33
|
+
if (!control.value || phone(control.value)) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return { phone: true };
|
|
37
|
+
}
|
|
38
|
+
static url(control, protocolRequired = false) {
|
|
39
|
+
if (!control.value) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
if (!url(control.value)) {
|
|
43
|
+
return { url: true };
|
|
44
|
+
}
|
|
45
|
+
if (protocolRequired) {
|
|
46
|
+
const pattern = new RegExp(/^http(s)?:\/\//gm);
|
|
47
|
+
if (!String(control.value).match(pattern)) {
|
|
48
|
+
return { urlProtocol: true };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
static dateRange(control) {
|
|
54
|
+
if (!control.value) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
if (isObject(control.value)) {
|
|
58
|
+
const start = control.value.start;
|
|
59
|
+
const end = control.value.end;
|
|
60
|
+
if ((!start && !end) || (isValid(start) && isValid(end))) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return { dateRange: true };
|
|
65
|
+
}
|
|
66
|
+
static func(control, formFunction, data) {
|
|
67
|
+
let result;
|
|
68
|
+
let stream$;
|
|
69
|
+
try {
|
|
70
|
+
result = formFunction(control, data);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
const error = err instanceof Error ? err.message : err;
|
|
74
|
+
stream$ = throwError(error);
|
|
75
|
+
}
|
|
76
|
+
if (!stream$) {
|
|
77
|
+
if (result instanceof Promise) {
|
|
78
|
+
stream$ = from(result);
|
|
79
|
+
}
|
|
80
|
+
else if (isObservable(result)) {
|
|
81
|
+
stream$ = result;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
stream$ = of(null);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return stream$
|
|
88
|
+
.pipe(mapTo(null), catchError((err) => {
|
|
89
|
+
return of({ validationError: err });
|
|
90
|
+
}), take(1));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
93
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvdmFsaWRhdG9ycy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0UsT0FBTyxFQUFjLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHckMsTUFBTSxPQUFPLFlBQVk7SUFFaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUF3QjtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQXdCO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBRWxDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSzthQUMzQixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRWhDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFB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RCxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQUksTUFBTSxZQUFZLE9BQU8sRUFBRTtnQkFDN0IsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN4QjtpQkFBTSxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDL0IsT0FBTyxHQUFHLE1BQU0sQ0FBQzthQUNsQjtpQkFBTTtnQkFDTCxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3BCO1NBQ0Y7UUFFRCxPQUFPLE9BQU87YUFDWCxJQUFJLENBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUNYLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSLENBQUM7SUFDTixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IGVtYWlsLCBpc0VtcHR5LCBpc051bWVyaWMsIHBob25lLCB1cmwgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBpc09ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXBUbywgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNWYWxpZCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuXG5leHBvcnQgY2xhc3MgRnNWYWxpZGF0b3JzIHtcblxuICBwdWJsaWMgc3RhdGljIGVtYWlsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIWNvbnRyb2wudmFsdWUgfHwgZW1haWwoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7IGVtYWlsOiB0cnVlIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtYWlscyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgbW9kZWwgPSBjb250cm9sLnZhbHVlIHx8ICcnO1xuXG4gICAgY29uc3QgaGFzSW52YWxpZEVtYWlscyA9IG1vZGVsXG4gICAgICAuc3BsaXQoJywnKVxuICAgICAgLnNvbWUoKHBhcnQpID0+ICFlbWFpbChwYXJ0KSk7XG5cbiAgICByZXR1cm4gaGFzSW52YWxpZEVtYWlscyA/IHsgZW1haWw6IHRydWUgfSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIG51bWVyaWMoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChpc0VtcHR5KGNvbnRyb2wudmFsdWUpIHx8IGlzTnVtZXJpYyhjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuIFxuICAgIHJldHVybiB7IG51bWVyaWM6IHRydWUgfTtcbiAgICBcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaW50ZWdlcihjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlIHx8IFN0cmluZyhjb250cm9sLnZhbHVlKSA9PT0gJycgfHwgKGNvbnRyb2wudmFsdWUgJSAxID09PSAwKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuIFxuICAgIHJldHVybiB7IGludGVnZXI6IHRydWUgfTtcbiAgICBcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGhvbmUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghY29udHJvbC52YWx1ZSB8fCBwaG9uZShjb250cm9sLnZhbHVlKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgcGhvbmU6IHRydWUgfTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgdXJsKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgcHJvdG9jb2xSZXF1aXJlZCA9IGZhbHNlKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICghY29udHJvbC52YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKCF1cmwoY29udHJvbC52YWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IHVybDogdHJ1ZSB9O1xuICAgIH1cblxuICAgIGlmIChwcm90b2NvbFJlcXVpcmVkKSB7XG4gICAgICBjb25zdCBwYXR0ZXJuID0gbmV3IFJlZ0V4cCgvXmh0dHAocyk/OlxcL1xcLy9nbSk7XG5cbiAgICAgIGlmICghU3RyaW5nKGNvbnRyb2wudmFsdWUpLm1hdGNoKHBhdHRlcm4pKSB7XG4gICAgICAgIHJldHVybiB7IHVybFByb3RvY29sOiB0cnVlIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRhdGVSYW5nZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaXNPYmplY3QoY29udHJvbC52YWx1ZSkpIHtcblxuICAgICAgY29uc3Qgc3RhcnQgPSBjb250cm9sLnZhbHVlLnN0YXJ0O1xuICAgICAgY29uc3QgZW5kID0gY29udHJvbC52YWx1ZS5lbmQ7XG5cbiAgICAgIGlmICgoIXN0YXJ0ICYmICFlbmQpIHx8IChpc1ZhbGlkKHN0YXJ0KSAmJiBpc1ZhbGlkKGVuZCkpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGRhdGVSYW5nZTogdHJ1ZSB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmdW5jKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCwgZm9ybUZ1bmN0aW9uLCBkYXRhOiBhbnkpIHtcbiAgICBsZXQgcmVzdWx0OiB1bmtub3duO1xuICAgIGxldCBzdHJlYW0kOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGZvcm1GdW5jdGlvbihjb250cm9sLCBkYXRhKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IGVycjtcblxuICAgICAgc3RyZWFtJCA9IHRocm93RXJyb3IoZXJyb3IpO1xuICAgIH1cblxuICAgIGlmICghc3RyZWFtJCkge1xuICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgc3RyZWFtJCA9IGZyb20ocmVzdWx0KTtcbiAgICAgIH0gZWxzZSBpZiAoaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcbiAgICAgICAgc3RyZWFtJCA9IHJlc3VsdDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0cmVhbSQgPSBvZihudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RyZWFtJFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcFRvKG51bGwpLFxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICByZXR1cm4gb2YoeyB2YWxpZGF0aW9uRXJyb3I6IGVyciB9KTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZXN0aXRjaC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpcmVzdGl0Y2gtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|