@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,31 +0,0 @@
|
|
|
1
|
-
import { Directive, HostListener, HostBinding } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class FsFormDialogCloseDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.clicked$ = new Subject();
|
|
7
|
-
this.registered = false;
|
|
8
|
-
this.type = 'button';
|
|
9
|
-
}
|
|
10
|
-
click() {
|
|
11
|
-
this.clicked$.next();
|
|
12
|
-
}
|
|
13
|
-
ngOnDestroy() {
|
|
14
|
-
this.clicked$.complete();
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
FsFormDialogCloseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormDialogCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
-
FsFormDialogCloseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsFormDialogCloseDirective, selector: "[fsFormDialogClose],[fs-form-dialog-close]", host: { listeners: { "click": "click($event.target)" }, properties: { "attr.type": "this.type" } }, ngImport: i0 });
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormDialogCloseDirective, decorators: [{
|
|
20
|
-
type: Directive,
|
|
21
|
-
args: [{
|
|
22
|
-
selector: '[fsFormDialogClose],[fs-form-dialog-close]'
|
|
23
|
-
}]
|
|
24
|
-
}], propDecorators: { type: [{
|
|
25
|
-
type: HostBinding,
|
|
26
|
-
args: ['attr.type']
|
|
27
|
-
}], click: [{
|
|
28
|
-
type: HostListener,
|
|
29
|
-
args: ['click', ['$event.target']]
|
|
30
|
-
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9kaXJlY3RpdmVzL2Zvcm0tZGlhbG9nLWNsb3NlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNL0IsTUFBTSxPQUFPLDBCQUEwQjtJQUh2QztRQUtTLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFQSxTQUFJLEdBQUcsUUFBUSxDQUFDO0tBVTNDO0lBUFEsS0FBSztRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzt3SEFkVSwwQkFBMEI7NEdBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUh0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0Q0FBNEM7aUJBQ3ZEOzhCQU0yQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBR2pCLEtBQUs7c0JBRFgsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1EaWFsb2dDbG9zZV0sW2ZzLWZvcm0tZGlhbG9nLWNsb3NlXSdcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtRGlhbG9nQ2xvc2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyBjbGlja2VkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyByZWdpc3RlcmVkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSB0eXBlID0gJ2J1dHRvbic7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcbiAgcHVibGljIGNsaWNrKCkge1xuICAgIHRoaXMuY2xpY2tlZCQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2xpY2tlZCQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './button.directive';
|
|
2
|
-
export * from './submit-button.directive';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3VibWl0LWJ1dHRvbi5kaXJlY3RpdmUnO1xuIl19
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
import { Input, ElementRef, Renderer2, Directive, Injector, Optional, Inject, Self, } from '@angular/core';
|
|
2
|
-
import { NgControl } from '@angular/forms';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { values, keys } from 'lodash-es';
|
|
6
|
-
import { FsFormDirective } from '../form/form.directive';
|
|
7
|
-
import { VALIDATE_MESSAGE_PROVIDER, VALIDATE_MESSAGES } from '../../providers/validate-messages.provider';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
import * as i2 from "../form/form.directive";
|
|
11
|
-
export class FsControlDirective {
|
|
12
|
-
constructor(elementRef, renderer2, injector, _validateMessages, ngControl, formDirective) {
|
|
13
|
-
this.elementRef = elementRef;
|
|
14
|
-
this.renderer2 = renderer2;
|
|
15
|
-
this.injector = injector;
|
|
16
|
-
this._validateMessages = _validateMessages;
|
|
17
|
-
this.ngControl = ngControl;
|
|
18
|
-
this.formDirective = formDirective;
|
|
19
|
-
this.appendMessageClass = 'fs-form-message';
|
|
20
|
-
this.appendLabelClass = 'fs-form-label';
|
|
21
|
-
this.appendErrorClass = 'fs-form-error';
|
|
22
|
-
this.appendHintClass = 'fs-form-hint';
|
|
23
|
-
this.errors = [];
|
|
24
|
-
// protected _validateMessages = { ...ERROR_MESSAGES };
|
|
25
|
-
this._destroy$ = new Subject();
|
|
26
|
-
if (ngControl) {
|
|
27
|
-
this._control = ngControl.control;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
console.error('The element does not have a valid ngModel', this.elementRef.nativeElement);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
set validateMessages(messages) {
|
|
34
|
-
this._validateMessages = Object.assign(Object.assign({}, this._validateMessages), messages);
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this._setupValidators();
|
|
38
|
-
}
|
|
39
|
-
ngOnDestroy() {
|
|
40
|
-
this._destroy$.next();
|
|
41
|
-
this._destroy$.complete();
|
|
42
|
-
}
|
|
43
|
-
ngAfterContentInit() {
|
|
44
|
-
this._subscribeToStatusChagnes();
|
|
45
|
-
}
|
|
46
|
-
_subscribeToStatusChagnes() {
|
|
47
|
-
if (this._control) {
|
|
48
|
-
this._control.statusChanges
|
|
49
|
-
.pipe(takeUntil(this._destroy$))
|
|
50
|
-
.subscribe(this.render.bind(this));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
getMessageSelector() {
|
|
54
|
-
var _a;
|
|
55
|
-
if (this.messageSelector === false) {
|
|
56
|
-
return '';
|
|
57
|
-
}
|
|
58
|
-
if (this.messageSelector) {
|
|
59
|
-
return this.messageSelector;
|
|
60
|
-
}
|
|
61
|
-
else if ((_a = this.formDirective) === null || _a === void 0 ? void 0 : _a.messageSelector) {
|
|
62
|
-
return this.formDirective.messageSelector;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
getHintWrapperSelector() {
|
|
66
|
-
var _a;
|
|
67
|
-
if (this.hintSelector === false) {
|
|
68
|
-
return '';
|
|
69
|
-
}
|
|
70
|
-
if (this.hintSelector) {
|
|
71
|
-
return this.hintSelector;
|
|
72
|
-
}
|
|
73
|
-
else if ((_a = this.formDirective) === null || _a === void 0 ? void 0 : _a.hintSelector) {
|
|
74
|
-
return this.formDirective.hintSelector;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
getWrapperSelector() {
|
|
78
|
-
var _a;
|
|
79
|
-
if (this.wrapperSelector === false) {
|
|
80
|
-
return '';
|
|
81
|
-
}
|
|
82
|
-
if (this.wrapperSelector) {
|
|
83
|
-
return this.wrapperSelector;
|
|
84
|
-
}
|
|
85
|
-
else if ((_a = this.formDirective) === null || _a === void 0 ? void 0 : _a.wrapperSelector) {
|
|
86
|
-
return this.formDirective.wrapperSelector;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
getlabelSelector() {
|
|
90
|
-
var _a;
|
|
91
|
-
if (this.labelSelector === false) {
|
|
92
|
-
return '';
|
|
93
|
-
}
|
|
94
|
-
if (this.labelSelector) {
|
|
95
|
-
return this.labelSelector;
|
|
96
|
-
}
|
|
97
|
-
else if ((_a = this.formDirective) === null || _a === void 0 ? void 0 : _a.labelSelector) {
|
|
98
|
-
return this.formDirective.labelSelector;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
getWrapperElement() {
|
|
102
|
-
const wrapper = this.getWrapper(this.elementRef.nativeElement);
|
|
103
|
-
if (wrapper) {
|
|
104
|
-
return wrapper;
|
|
105
|
-
}
|
|
106
|
-
return this.elementRef.nativeElement;
|
|
107
|
-
}
|
|
108
|
-
/*
|
|
109
|
-
<mat-form-field class="mat-form-field"> <-- Field Wrapper Class. Look for parents from the native element with the matching wrapperSelector. If not found defaults to native element.
|
|
110
|
-
<input>
|
|
111
|
-
<div class="fs-form-message"> <-- Message Selector. Look for the element with class .fs-form-message or messageSelector
|
|
112
|
-
<div class="fs-form-message"></div>
|
|
113
|
-
<div class="fs-form-hint"></div> <-- Hint Selector. Look for the element with class .fs-form-hint or hintSelector
|
|
114
|
-
</div>
|
|
115
|
-
</mat-form-field>
|
|
116
|
-
*/
|
|
117
|
-
render() {
|
|
118
|
-
var _a, _b;
|
|
119
|
-
if (this.ngControl) {
|
|
120
|
-
const renderer = this.renderer2;
|
|
121
|
-
const wrapper = this.getWrapperElement();
|
|
122
|
-
const error = this.ngControl.dirty ? this.getError(this.ngControl) : null;
|
|
123
|
-
const shouldErrorBeRendered = this.ngControl.invalid
|
|
124
|
-
&& (this.ngControl.dirty || ((_b = (_a = this.formDirective) === null || _a === void 0 ? void 0 : _a.ngForm) === null || _b === void 0 ? void 0 : _b.submitted));
|
|
125
|
-
if (shouldErrorBeRendered && error) {
|
|
126
|
-
wrapper.classList.add('ng-invalid', 'ng-dirty');
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
wrapper.classList.remove('ng-invalid');
|
|
130
|
-
}
|
|
131
|
-
if (!this.getMessageSelector()) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
const messageWrapper = wrapper.querySelector(this.getMessageSelector());
|
|
135
|
-
if (!messageWrapper) {
|
|
136
|
-
return console.warn('Failed to locate ' + this.getMessageSelector(), this.elementRef.nativeElement);
|
|
137
|
-
}
|
|
138
|
-
if (this.getlabelSelector()) {
|
|
139
|
-
const labelWrapper = wrapper.querySelector(this.getlabelSelector());
|
|
140
|
-
if (labelWrapper) {
|
|
141
|
-
if (this.appendLabelClass) {
|
|
142
|
-
this.renderer2.addClass(labelWrapper, this.appendLabelClass);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (this.appendMessageClass) {
|
|
147
|
-
renderer.addClass(messageWrapper, this.appendMessageClass);
|
|
148
|
-
}
|
|
149
|
-
if (this.getHintWrapperSelector()) {
|
|
150
|
-
const hint = messageWrapper.querySelector(this.getHintWrapperSelector());
|
|
151
|
-
if (hint) {
|
|
152
|
-
renderer.setStyle(hint, 'display', error ? 'none' : 'block');
|
|
153
|
-
if (this.appendHintClass) {
|
|
154
|
-
renderer.addClass(hint, this.appendHintClass);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
let errorWrapper = wrapper.querySelector('.fs-form-error-target');
|
|
159
|
-
if (errorWrapper) {
|
|
160
|
-
errorWrapper.remove();
|
|
161
|
-
}
|
|
162
|
-
if (!shouldErrorBeRendered || !error) {
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
errorWrapper = renderer.createElement('div');
|
|
166
|
-
renderer.addClass(errorWrapper, 'fs-form-error-target');
|
|
167
|
-
renderer.addClass(errorWrapper, this.appendErrorClass);
|
|
168
|
-
renderer.addClass(errorWrapper, this.appendErrorClass + '-' + error.name);
|
|
169
|
-
const errorText = renderer.createText(error.message);
|
|
170
|
-
renderer.appendChild(errorWrapper, errorText);
|
|
171
|
-
messageWrapper.appendChild(errorWrapper);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
getWrapper(node, count = 0) {
|
|
175
|
-
if (!node || count > 10) {
|
|
176
|
-
return null;
|
|
177
|
-
}
|
|
178
|
-
if (node.parentNode && node.parentNode.querySelector(this.getWrapperSelector())) {
|
|
179
|
-
return node;
|
|
180
|
-
}
|
|
181
|
-
return this.getWrapper(node.parentNode, ++count);
|
|
182
|
-
}
|
|
183
|
-
parseErrorMessage(message, args) {
|
|
184
|
-
values(args)
|
|
185
|
-
.forEach((name) => {
|
|
186
|
-
message = message.replace(/\$\(\d\)/, name);
|
|
187
|
-
});
|
|
188
|
-
return message;
|
|
189
|
-
}
|
|
190
|
-
getError(controlRef) {
|
|
191
|
-
const name = keys(controlRef.control.errors)[0];
|
|
192
|
-
if (!name) {
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
let message = controlRef.control.errors[name];
|
|
196
|
-
if (this._validateMessages[name]) {
|
|
197
|
-
message = this.parseErrorMessage(this._validateMessages[name], message);
|
|
198
|
-
}
|
|
199
|
-
return { name: name, message: message };
|
|
200
|
-
}
|
|
201
|
-
_setupValidators() {
|
|
202
|
-
const control = this._control;
|
|
203
|
-
if (this.validate) {
|
|
204
|
-
const validators = control.validator
|
|
205
|
-
? [control.validator, this.validate.bind(this)]
|
|
206
|
-
: this.validate.bind(this);
|
|
207
|
-
control.setValidators(validators);
|
|
208
|
-
}
|
|
209
|
-
if (this.validateAsync) {
|
|
210
|
-
const asyncValidators = control.asyncValidator
|
|
211
|
-
? [control.asyncValidator, this.validateAsync.bind(this)]
|
|
212
|
-
: this.validateAsync.bind(this);
|
|
213
|
-
control.setAsyncValidators(asyncValidators);
|
|
214
|
-
}
|
|
215
|
-
control.updateValueAndValidity();
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
FsControlDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsControlDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: VALIDATE_MESSAGES, self: true }, { token: i1.NgControl, optional: true }, { token: FsFormDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
219
|
-
FsControlDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: FsControlDirective, selector: "[fsFormControl]", inputs: { wrapperSelector: "wrapperSelector", messageSelector: "messageSelector", hintSelector: "hintSelector", labelSelector: "labelSelector", appendMessageClass: "appendMessageClass", appendLabelClass: "appendLabelClass", appendErrorClass: "appendErrorClass", appendHintClass: "appendHintClass", validateMessages: "validateMessages" }, providers: [
|
|
220
|
-
VALIDATE_MESSAGE_PROVIDER
|
|
221
|
-
], ngImport: i0 });
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsControlDirective, decorators: [{
|
|
223
|
-
type: Directive,
|
|
224
|
-
args: [{
|
|
225
|
-
selector: '[fsFormControl]',
|
|
226
|
-
providers: [
|
|
227
|
-
VALIDATE_MESSAGE_PROVIDER
|
|
228
|
-
],
|
|
229
|
-
}]
|
|
230
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.Injector }, { type: undefined, decorators: [{
|
|
231
|
-
type: Self
|
|
232
|
-
}, {
|
|
233
|
-
type: Inject,
|
|
234
|
-
args: [VALIDATE_MESSAGES]
|
|
235
|
-
}] }, { type: i1.NgControl, decorators: [{
|
|
236
|
-
type: Optional
|
|
237
|
-
}] }, { type: i2.FsFormDirective, decorators: [{
|
|
238
|
-
type: Optional
|
|
239
|
-
}, {
|
|
240
|
-
type: Inject,
|
|
241
|
-
args: [FsFormDirective]
|
|
242
|
-
}] }]; }, propDecorators: { wrapperSelector: [{
|
|
243
|
-
type: Input
|
|
244
|
-
}], messageSelector: [{
|
|
245
|
-
type: Input
|
|
246
|
-
}], hintSelector: [{
|
|
247
|
-
type: Input
|
|
248
|
-
}], labelSelector: [{
|
|
249
|
-
type: Input
|
|
250
|
-
}], appendMessageClass: [{
|
|
251
|
-
type: Input
|
|
252
|
-
}], appendLabelClass: [{
|
|
253
|
-
type: Input
|
|
254
|
-
}], appendErrorClass: [{
|
|
255
|
-
type: Input
|
|
256
|
-
}], appendHintClass: [{
|
|
257
|
-
type: Input
|
|
258
|
-
}], validateMessages: [{
|
|
259
|
-
type: Input
|
|
260
|
-
}] } });
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb250cm9sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsU0FBUyxFQUNULFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksR0FJTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFxQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlFLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLGlCQUFpQixFQUNsQixNQUFNLDRDQUE0QyxDQUFDOzs7O0FBZXBELE1BQU0sT0FBTyxrQkFBa0I7SUF5QjdCLFlBQ1ksVUFBc0IsRUFDdEIsU0FBb0IsRUFDcEIsUUFBa0IsRUFDaUIsaUJBQWlCLEVBQ3hDLFNBQW9CLEVBQ0ssYUFBOEI7UUFMbkUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDaUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFBO1FBQ3hDLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDSyxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUF6QnRFLHVCQUFrQixHQUFHLGlCQUFpQixDQUFDO1FBQ3ZDLHFCQUFnQixHQUFHLGVBQWUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBRyxlQUFl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QUMsVUFBVSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLGNBQWM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFFLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVsQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDN0M7UUFFRCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztnSEEvUVUsa0JBQWtCLDZGQTZCWCxpQkFBaUIsa0VBRWIsZUFBZTtvR0EvQjFCLGtCQUFrQiw0WEFKbEI7UUFDVCx5QkFBeUI7S0FDMUI7NEZBRVUsa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRTt3QkFDVCx5QkFBeUI7cUJBQzFCO2lCQUNGOzswQkE4QkksSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNoQyxRQUFROzswQkFDUixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7NENBN0I1QixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0ssZ0JBQWdCO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgRGlyZWN0aXZlLFxuICBJbmplY3RvcixcbiAgT3B0aW9uYWwsXG4gIEluamVjdCxcbiAgU2VsZixcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyQ29udGVudEluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sLCBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgdmFsdWVzLCBrZXlzIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBWQUxJREFURV9NRVNTQUdFX1BST1ZJREVSLFxuICBWQUxJREFURV9NRVNTQUdFU1xufSBmcm9tICcuLi8uLi9wcm92aWRlcnMvdmFsaWRhdGUtbWVzc2FnZXMucHJvdmlkZXInO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNDb250cm9sRGlyZWN0aXZlIHtcbiAgdmFsaWRhdGU/KGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsO1xuICB2YWxpZGF0ZUFzeW5jPyhjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xufVxuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmc0Zvcm1Db250cm9sXScsXG4gIHByb3ZpZGVyczogW1xuICAgIFZBTElEQVRFX01FU1NBR0VfUFJPVklERVJcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNDb250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHdyYXBwZXJTZWxlY3Rvcjogc3RyaW5nIHwgZmFsc2U7XG4gIEBJbnB1dCgpIG1lc3NhZ2VTZWxlY3Rvcjogc3RyaW5nIHwgZmFsc2U7XG4gIEBJbnB1dCgpIGhpbnRTZWxlY3Rvcjogc3RyaW5nIHwgZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsU2VsZWN0b3I6IHN0cmluZyB8IGZhbHNlO1xuICBASW5wdXQoKSBhcHBlbmRNZXNzYWdlQ2xhc3MgPSAnZnMtZm9ybS1tZXNzYWdlJztcbiAgQElucHV0KCkgYXBwZW5kTGFiZWxDbGFzcyA9ICdmcy1mb3JtLWxhYmVsJztcbiAgQElucHV0KCkgYXBwZW5kRXJyb3JDbGFzcyA9ICdmcy1mb3JtLWVycm9yJztcbiAgQElucHV0KCkgYXBwZW5kSGludENsYXNzID0gJ2ZzLWZvcm0taGludCc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB2YWxpZGF0ZU1lc3NhZ2VzKG1lc3NhZ2VzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgdGhpcy5fdmFsaWRhdGVNZXNzYWdlcyA9IHtcbiAgICAgIC4uLnRoaXMuX3ZhbGlkYXRlTWVzc2FnZXMsXG4gICAgICAuLi5tZXNzYWdlcyxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGVycm9ycyA9IFtdO1xuXG4gIC8vIHByb3RlY3RlZCBfdmFsaWRhdGVNZXNzYWdlcyA9IHsgLi4uRVJST1JfTUVTU0FHRVMgfTtcbiAgcHJvdGVjdGVkIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByb3RlY3RlZCBfY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCByZW5kZXJlcjI6IFJlbmRlcmVyMixcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBTZWxmKCkgQEluamVjdChWQUxJREFURV9NRVNTQUdFUykgcHJvdGVjdGVkIF92YWxpZGF0ZU1lc3NhZ2VzLFxuICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZzRm9ybURpcmVjdGl2ZSkgcHJvdGVjdGVkIGZvcm1EaXJlY3RpdmU6IEZzRm9ybURpcmVjdGl2ZSxcbiAgKSB7XG5cbiAgICBpZiAobmdDb250cm9sKSB7XG4gICAgICB0aGlzLl9jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2w7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBlbGVtZW50IGRvZXMgbm90IGhhdmUgYSB2YWxpZCBuZ01vZGVsJywgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX3NldHVwVmFsaWRhdG9ycygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5fc3Vic2NyaWJlVG9TdGF0dXNDaGFnbmVzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3N1YnNjcmliZVRvU3RhdHVzQ2hhZ25lcygpOnZvaWQge1xuICAgIGlmICh0aGlzLl9jb250cm9sKSB7XG4gICAgICB0aGlzLl9jb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUodGhpcy5yZW5kZXIuYmluZCh0aGlzKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1lc3NhZ2VTZWxlY3RvcigpOiBzdHJpbmcge1xuXG4gICAgaWYgKHRoaXMubWVzc2FnZVNlbGVjdG9yID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1lc3NhZ2VTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVNlbGVjdG9yO1xuXG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm1EaXJlY3RpdmU/Lm1lc3NhZ2VTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpcmVjdGl2ZS5tZXNzYWdlU2VsZWN0b3I7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGdldEhpbnRXcmFwcGVyU2VsZWN0b3IoKTogc3RyaW5nIHtcblxuICAgIGlmICh0aGlzLmhpbnRTZWxlY3RvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oaW50U2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmhpbnRTZWxlY3RvcjtcblxuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtRGlyZWN0aXZlPy5oaW50U2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1EaXJlY3RpdmUuaGludFNlbGVjdG9yO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRXcmFwcGVyU2VsZWN0b3IoKTogc3RyaW5nIHtcblxuICAgIGlmICh0aGlzLndyYXBwZXJTZWxlY3RvciA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy53cmFwcGVyU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLndyYXBwZXJTZWxlY3RvcjtcblxuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtRGlyZWN0aXZlPy53cmFwcGVyU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1EaXJlY3RpdmUud3JhcHBlclNlbGVjdG9yO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRsYWJlbFNlbGVjdG9yKCk6IHN0cmluZyB7XG5cbiAgICBpZiAodGhpcy5sYWJlbFNlbGVjdG9yID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsU2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmxhYmVsU2VsZWN0b3I7XG5cbiAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybURpcmVjdGl2ZT8ubGFiZWxTZWxlY3Rvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybURpcmVjdGl2ZS5sYWJlbFNlbGVjdG9yO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRXcmFwcGVyRWxlbWVudCgpIHtcblxuICAgIGNvbnN0IHdyYXBwZXIgPSB0aGlzLmdldFdyYXBwZXIodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgaWYgKHdyYXBwZXIpIHtcbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIC8qXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwibWF0LWZvcm0tZmllbGRcIj4gIDwtLSBGaWVsZCBXcmFwcGVyIENsYXNzLiBMb29rIGZvciBwYXJlbnRzIGZyb20gdGhlIG5hdGl2ZSBlbGVtZW50IHdpdGggdGhlIG1hdGNoaW5nIHdyYXBwZXJTZWxlY3Rvci4gSWYgbm90IGZvdW5kIGRlZmF1bHRzIHRvIG5hdGl2ZSBlbGVtZW50LlxuICAgICAgPGlucHV0PlxuICAgICAgPGRpdiBjbGFzcz1cImZzLWZvcm0tbWVzc2FnZVwiPiA8LS0gTWVzc2FnZSBTZWxlY3Rvci4gTG9vayBmb3IgdGhlIGVsZW1lbnQgd2l0aCBjbGFzcyAuZnMtZm9ybS1tZXNzYWdlIG9yIG1lc3NhZ2VTZWxlY3RvclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtZm9ybS1tZXNzYWdlXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmcy1mb3JtLWhpbnRcIj48L2Rpdj4gPC0tIEhpbnQgU2VsZWN0b3IuIExvb2sgZm9yIHRoZSBlbGVtZW50IHdpdGggY2xhc3MgLmZzLWZvcm0taGludCBvciBoaW50U2VsZWN0b3JcbiAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICovXG5cbiAgcHJvdGVjdGVkIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlcjI7XG4gICAgICBjb25zdCB3cmFwcGVyID0gdGhpcy5nZXRXcmFwcGVyRWxlbWVudCgpO1xuICAgICAgY29uc3QgZXJyb3IgPSB0aGlzLm5nQ29udHJvbC5kaXJ0eSA/IHRoaXMuZ2V0RXJyb3IodGhpcy5uZ0NvbnRyb2wpIDogbnVsbDtcbiAgICAgIGNvbnN0IHNob3VsZEVycm9yQmVSZW5kZXJlZCA9IHRoaXMubmdDb250cm9sLmludmFsaWRcbiAgICAgICAgJiYgKHRoaXMubmdDb250cm9sLmRpcnR5IHx8IHRoaXMuZm9ybURpcmVjdGl2ZT8ubmdGb3JtPy5zdWJtaXR0ZWQpO1xuXG4gICAgICBpZiAoc2hvdWxkRXJyb3JCZVJlbmRlcmVkICYmIGVycm9yKSB7XG4gICAgICAgIHdyYXBwZXIuY2xhc3NMaXN0LmFkZCgnbmctaW52YWxpZCcsICduZy1kaXJ0eScpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd3JhcHBlci5jbGFzc0xpc3QucmVtb3ZlKCduZy1pbnZhbGlkJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5nZXRNZXNzYWdlU2VsZWN0b3IoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VXcmFwcGVyID0gd3JhcHBlci5xdWVyeVNlbGVjdG9yKHRoaXMuZ2V0TWVzc2FnZVNlbGVjdG9yKCkpO1xuXG4gICAgICBpZiAoIW1lc3NhZ2VXcmFwcGVyKSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oJ0ZhaWxlZCB0byBsb2NhdGUgJyArIHRoaXMuZ2V0TWVzc2FnZVNlbGVjdG9yKCksIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZ2V0bGFiZWxTZWxlY3RvcigpKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsV3JhcHBlciA9IHdyYXBwZXIucXVlcnlTZWxlY3Rvcih0aGlzLmdldGxhYmVsU2VsZWN0b3IoKSk7XG5cbiAgICAgICAgaWYgKGxhYmVsV3JhcHBlcikge1xuICAgICAgICAgIGlmICh0aGlzLmFwcGVuZExhYmVsQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIyLmFkZENsYXNzKGxhYmVsV3JhcHBlciwgdGhpcy5hcHBlbmRMYWJlbENsYXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuYXBwZW5kTWVzc2FnZUNsYXNzKSB7XG4gICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKG1lc3NhZ2VXcmFwcGVyLCB0aGlzLmFwcGVuZE1lc3NhZ2VDbGFzcyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmdldEhpbnRXcmFwcGVyU2VsZWN0b3IoKSkge1xuICAgICAgICBjb25zdCBoaW50ID0gbWVzc2FnZVdyYXBwZXIucXVlcnlTZWxlY3Rvcih0aGlzLmdldEhpbnRXcmFwcGVyU2VsZWN0b3IoKSk7XG5cbiAgICAgICAgaWYgKGhpbnQpIHtcbiAgICAgICAgICByZW5kZXJlci5zZXRTdHlsZShoaW50LCAnZGlzcGxheScsIGVycm9yID8gJ25vbmUnIDogJ2Jsb2NrJyk7XG5cbiAgICAgICAgICBpZiAodGhpcy5hcHBlbmRIaW50Q2xhc3MpIHtcbiAgICAgICAgICAgIHJlbmRlcmVyLmFkZENsYXNzKGhpbnQsIHRoaXMuYXBwZW5kSGludENsYXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGV0IGVycm9yV3JhcHBlciA9IHdyYXBwZXIucXVlcnlTZWxlY3RvcignLmZzLWZvcm0tZXJyb3ItdGFyZ2V0Jyk7XG4gICAgICBpZiAoZXJyb3JXcmFwcGVyKSB7XG4gICAgICAgIGVycm9yV3JhcHBlci5yZW1vdmUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFzaG91bGRFcnJvckJlUmVuZGVyZWQgfHwgIWVycm9yKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZXJyb3JXcmFwcGVyID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICByZW5kZXJlci5hZGRDbGFzcyhlcnJvcldyYXBwZXIsICdmcy1mb3JtLWVycm9yLXRhcmdldCcpO1xuICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MoZXJyb3JXcmFwcGVyLCB0aGlzLmFwcGVuZEVycm9yQ2xhc3MpO1xuICAgICAgcmVuZGVyZXIuYWRkQ2xhc3MoZXJyb3JXcmFwcGVyLCB0aGlzLmFwcGVuZEVycm9yQ2xhc3MgKyAnLScgKyBlcnJvci5uYW1lKTtcblxuICAgICAgY29uc3QgZXJyb3JUZXh0ID0gcmVuZGVyZXIuY3JlYXRlVGV4dChlcnJvci5tZXNzYWdlKTtcblxuICAgICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQoZXJyb3JXcmFwcGVyLCBlcnJvclRleHQpO1xuICAgICAgbWVzc2FnZVdyYXBwZXIuYXBwZW5kQ2hpbGQoZXJyb3JXcmFwcGVyKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0V3JhcHBlcihub2RlLCBjb3VudCA9IDApIHtcblxuICAgIGlmICghbm9kZSB8fCBjb3VudCA+IDEwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5wYXJlbnROb2RlICYmIG5vZGUucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yKHRoaXMuZ2V0V3JhcHBlclNlbGVjdG9yKCkpKSB7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRXcmFwcGVyKG5vZGUucGFyZW50Tm9kZSwgKytjb3VudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvck1lc3NhZ2UobWVzc2FnZSwgYXJncyk6IHN0cmluZyB7XG4gICAgdmFsdWVzKGFyZ3MpXG4gICAgICAuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcJFxcKFxcZFxcKS8sIG5hbWUpO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRFcnJvcihjb250cm9sUmVmKTogeyBuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9IHtcblxuICAgIGNvbnN0IG5hbWUgPSBrZXlzKGNvbnRyb2xSZWYuY29udHJvbC5lcnJvcnMpWzBdO1xuXG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgbWVzc2FnZSA9IGNvbnRyb2xSZWYuY29udHJvbC5lcnJvcnNbbmFtZV07XG5cbiAgICBpZiAodGhpcy5fdmFsaWRhdGVNZXNzYWdlc1tuYW1lXSkge1xuICAgICAgbWVzc2FnZSA9IHRoaXMucGFyc2VFcnJvck1lc3NhZ2UodGhpcy5fdmFsaWRhdGVNZXNzYWdlc1tuYW1lXSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbmFtZTogbmFtZSwgbWVzc2FnZTogbWVzc2FnZSB9O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9jb250cm9sO1xuXG4gICAgaWYgKHRoaXMudmFsaWRhdGUpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBjb250cm9sLnZhbGlkYXRvclxuICAgICAgICA/IFsgY29udHJvbC52YWxpZGF0b3IsIHRoaXMudmFsaWRhdGUuYmluZCh0aGlzKV1cbiAgICAgICAgOiB0aGlzLnZhbGlkYXRlLmJpbmQodGhpcyk7XG5cbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52YWxpZGF0ZUFzeW5jKSB7XG4gICAgICBjb25zdCBhc3luY1ZhbGlkYXRvcnMgPSBjb250cm9sLmFzeW5jVmFsaWRhdG9yXG4gICAgICAgID8gWyBjb250cm9sLmFzeW5jVmFsaWRhdG9yLCB0aGlzLnZhbGlkYXRlQXN5bmMuYmluZCh0aGlzKV1cbiAgICAgICAgOiB0aGlzLnZhbGlkYXRlQXN5bmMuYmluZCh0aGlzKTtcblxuICAgICAgY29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcbiAgICB9XG5cbiAgICBjb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,181 +0,0 @@
|
|
|
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 { FsSubmitButtonDirective } from './directives';
|
|
32
|
-
import * as i0 from "@angular/core";
|
|
33
|
-
export class FsFormModule {
|
|
34
|
-
static forRoot() {
|
|
35
|
-
/**
|
|
36
|
-
* Hack: https://github.com/angular/components/issues/20097
|
|
37
|
-
*/
|
|
38
|
-
ErrorStateMatcher.prototype.isErrorState = (control, form) => {
|
|
39
|
-
return (control === null || control === void 0 ? void 0 : control.invalid) && (control === null || control === void 0 ? void 0 : control.touched) && (control === null || control === void 0 ? void 0 : control.dirty);
|
|
40
|
-
};
|
|
41
|
-
return {
|
|
42
|
-
ngModule: FsFormModule,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
FsFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
47
|
-
FsFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormModule, declarations: [FsFormDirective,
|
|
48
|
-
FsControlDirective,
|
|
49
|
-
FsFormRequiredDirective,
|
|
50
|
-
FsFormMinDirective,
|
|
51
|
-
FsFormMaxDirective,
|
|
52
|
-
FsFormMinLengthDirective,
|
|
53
|
-
FsFormMaxLengthDirective,
|
|
54
|
-
FsFormEmailDirective,
|
|
55
|
-
FsFormEmailsDirective,
|
|
56
|
-
FsFormPhoneDirective,
|
|
57
|
-
FsFormCompareDirective,
|
|
58
|
-
FsFormIntegerDirective,
|
|
59
|
-
FsFormNumericDirective,
|
|
60
|
-
FsFormPatternDirective,
|
|
61
|
-
FsFormFunctionDirective,
|
|
62
|
-
FsFormDateRangeDirective,
|
|
63
|
-
FsFormGreaterDirective,
|
|
64
|
-
FsFormLesserDirective,
|
|
65
|
-
FsFormUrlDirective,
|
|
66
|
-
FsFormDialogCloseDirective,
|
|
67
|
-
FsFormValidateDirective,
|
|
68
|
-
FsFormDialogActionsComponent,
|
|
69
|
-
FsFormNoFsValidatorsDirective,
|
|
70
|
-
FsButtonDirective,
|
|
71
|
-
FsSubmitButtonDirective], imports: [CommonModule,
|
|
72
|
-
FormsModule,
|
|
73
|
-
MatButtonModule,
|
|
74
|
-
MatDialogModule], exports: [FsFormDirective,
|
|
75
|
-
FsControlDirective,
|
|
76
|
-
FsFormRequiredDirective,
|
|
77
|
-
FsFormMinDirective,
|
|
78
|
-
FsFormMaxDirective,
|
|
79
|
-
FsFormMinLengthDirective,
|
|
80
|
-
FsFormMaxLengthDirective,
|
|
81
|
-
FsFormEmailDirective,
|
|
82
|
-
FsFormEmailsDirective,
|
|
83
|
-
FsFormPhoneDirective,
|
|
84
|
-
FsFormCompareDirective,
|
|
85
|
-
FsFormIntegerDirective,
|
|
86
|
-
FsFormNumericDirective,
|
|
87
|
-
FsFormPatternDirective,
|
|
88
|
-
FsFormFunctionDirective,
|
|
89
|
-
FsFormDateRangeDirective,
|
|
90
|
-
FsFormGreaterDirective,
|
|
91
|
-
FsFormLesserDirective,
|
|
92
|
-
FsFormUrlDirective,
|
|
93
|
-
FsFormDialogCloseDirective,
|
|
94
|
-
FsFormValidateDirective,
|
|
95
|
-
FsFormDialogActionsComponent,
|
|
96
|
-
FsFormNoFsValidatorsDirective,
|
|
97
|
-
FsButtonDirective,
|
|
98
|
-
FsSubmitButtonDirective] });
|
|
99
|
-
FsFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormModule, providers: [
|
|
100
|
-
{
|
|
101
|
-
provide: ErrorStateMatcher,
|
|
102
|
-
useClass: ShowOnDirtyErrorStateMatcher,
|
|
103
|
-
},
|
|
104
|
-
], imports: [[
|
|
105
|
-
CommonModule,
|
|
106
|
-
FormsModule,
|
|
107
|
-
MatButtonModule,
|
|
108
|
-
MatDialogModule,
|
|
109
|
-
]] });
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormModule, decorators: [{
|
|
111
|
-
type: NgModule,
|
|
112
|
-
args: [{
|
|
113
|
-
imports: [
|
|
114
|
-
CommonModule,
|
|
115
|
-
FormsModule,
|
|
116
|
-
MatButtonModule,
|
|
117
|
-
MatDialogModule,
|
|
118
|
-
],
|
|
119
|
-
declarations: [
|
|
120
|
-
FsFormDirective,
|
|
121
|
-
FsControlDirective,
|
|
122
|
-
FsFormRequiredDirective,
|
|
123
|
-
FsFormMinDirective,
|
|
124
|
-
FsFormMaxDirective,
|
|
125
|
-
FsFormMinLengthDirective,
|
|
126
|
-
FsFormMaxLengthDirective,
|
|
127
|
-
FsFormEmailDirective,
|
|
128
|
-
FsFormEmailsDirective,
|
|
129
|
-
FsFormPhoneDirective,
|
|
130
|
-
FsFormCompareDirective,
|
|
131
|
-
FsFormIntegerDirective,
|
|
132
|
-
FsFormNumericDirective,
|
|
133
|
-
FsFormPatternDirective,
|
|
134
|
-
FsFormFunctionDirective,
|
|
135
|
-
FsFormDateRangeDirective,
|
|
136
|
-
FsFormGreaterDirective,
|
|
137
|
-
FsFormLesserDirective,
|
|
138
|
-
FsFormUrlDirective,
|
|
139
|
-
FsFormDialogCloseDirective,
|
|
140
|
-
FsFormValidateDirective,
|
|
141
|
-
FsFormDialogActionsComponent,
|
|
142
|
-
FsFormNoFsValidatorsDirective,
|
|
143
|
-
FsButtonDirective,
|
|
144
|
-
FsSubmitButtonDirective,
|
|
145
|
-
],
|
|
146
|
-
exports: [
|
|
147
|
-
FsFormDirective,
|
|
148
|
-
FsControlDirective,
|
|
149
|
-
FsFormRequiredDirective,
|
|
150
|
-
FsFormMinDirective,
|
|
151
|
-
FsFormMaxDirective,
|
|
152
|
-
FsFormMinLengthDirective,
|
|
153
|
-
FsFormMaxLengthDirective,
|
|
154
|
-
FsFormEmailDirective,
|
|
155
|
-
FsFormEmailsDirective,
|
|
156
|
-
FsFormPhoneDirective,
|
|
157
|
-
FsFormCompareDirective,
|
|
158
|
-
FsFormIntegerDirective,
|
|
159
|
-
FsFormNumericDirective,
|
|
160
|
-
FsFormPatternDirective,
|
|
161
|
-
FsFormFunctionDirective,
|
|
162
|
-
FsFormDateRangeDirective,
|
|
163
|
-
FsFormGreaterDirective,
|
|
164
|
-
FsFormLesserDirective,
|
|
165
|
-
FsFormUrlDirective,
|
|
166
|
-
FsFormDialogCloseDirective,
|
|
167
|
-
FsFormValidateDirective,
|
|
168
|
-
FsFormDialogActionsComponent,
|
|
169
|
-
FsFormNoFsValidatorsDirective,
|
|
170
|
-
FsButtonDirective,
|
|
171
|
-
FsSubmitButtonDirective,
|
|
172
|
-
],
|
|
173
|
-
providers: [
|
|
174
|
-
{
|
|
175
|
-
provide: ErrorStateMatcher,
|
|
176
|
-
useClass: ShowOnDirtyErrorStateMatcher,
|
|
177
|
-
},
|
|
178
|
-
],
|
|
179
|
-
}]
|
|
180
|
-
}] });
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMtZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2ZzLWZvcm0ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQW1DLFdBQVcsRUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBRXRGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9B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QUE0Qjt5QkFDdkM7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIEZvcm1zTW9kdWxlLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIsIFNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuaW1wb3J0IHsgRnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvY29udHJvbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtUmVxdWlyZWREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9yZXF1aXJlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWluRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWluLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1NYXhEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9tYXguZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL21pbmxlbmd0aC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTWF4TGVuZ3RoRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbWF4bGVuZ3RoLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1FbWFpbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9lbWFpbHMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVBob25lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcGhvbmUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybUNvbXBhcmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvaW50ZWdlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtTnVtZXJpY0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL251bWVyaWMuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVBhdHRlcm5EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9wYXR0ZXJuLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL2Z1bmN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1HcmVhdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZ3JlYXRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZGF0ZXJhbmdlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9sZXNzZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzRm9ybVVybERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy92YWxpZGF0b3JzL3VybC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRGlhbG9nQ2xvc2VEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZzQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtVmFsaWRhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNGb3JtRGlhbG9nQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEZzRm9ybU5vRnNWYWxpZGF0b3JzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbm8tZnMtdmFsaWRhdG9ycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG5cbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGc0Zvcm1EaXJlY3RpdmUsXG4gICAgRnNDb250cm9sRGlyZWN0aXZlLFxuICAgIEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlLFxuICAgIEZzRm9ybU1pbkRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1NYXhEaXJlY3RpdmUsXG4gICAgRnNGb3JtTWluTGVuZ3RoRGlyZWN0aXZlLFxuICAgIEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1FbWFpbERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUsXG4gICAgRnNGb3JtUGhvbmVEaXJlY3RpdmUsXG4gICAgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSxcbiAgICBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlLFxuICAgIEZzRm9ybU51bWVyaWNEaXJlY3RpdmUsXG4gICAgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUsXG4gICAgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUsXG4gICAgRnNGb3JtVXJsRGlyZWN0aXZlLFxuICAgIEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgIEZzRm9ybVZhbGlkYXRlRGlyZWN0aXZlLFxuICAgIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG4gICAgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUsXG4gICAgRnNCdXR0b25EaXJlY3RpdmUsXG4gICAgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGc0Zvcm1EaXJlY3RpdmUsXG4gICAgRnNDb250cm9sRGlyZWN0aXZlLFxuICAgIEZzRm9ybVJlcXVpcmVkRGlyZWN0aXZlLFxuICAgIEZzRm9ybU1pbkRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1NYXhEaXJlY3RpdmUsXG4gICAgRnNGb3JtTWluTGVuZ3RoRGlyZWN0aXZlLFxuICAgIEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1FbWFpbERpcmVjdGl2ZSxcbiAgICBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUsXG4gICAgRnNGb3JtUGhvbmVEaXJlY3RpdmUsXG4gICAgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSxcbiAgICBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlLFxuICAgIEZzRm9ybU51bWVyaWNEaXJlY3RpdmUsXG4gICAgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1EYXRlUmFuZ2VEaXJlY3RpdmUsXG4gICAgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSxcbiAgICBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUsXG4gICAgRnNGb3JtVXJsRGlyZWN0aXZlLFxuICAgIEZzRm9ybURpYWxvZ0Nsb3NlRGlyZWN0aXZlLFxuICAgIEZzRm9ybVZhbGlkYXRlRGlyZWN0aXZlLFxuICAgIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQsXG4gICAgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUsXG4gICAgRnNCdXR0b25EaXJlY3RpdmUsXG4gICAgRnNTdWJtaXRCdXR0b25EaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVycm9yU3RhdGVNYXRjaGVyLFxuICAgICAgdXNlQ2xhc3M6IFNob3dPbkRpcnR5RXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnNGb3JtTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGc0Zvcm1Nb2R1bGU+IHtcblxuICAgIC8qKlxuICAgICAqIEhhY2s6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvaXNzdWVzLzIwMDk3XG4gICAgICovXG4gICAgRXJyb3JTdGF0ZU1hdGNoZXIucHJvdG90eXBlLmlzRXJyb3JTdGF0ZSA9IChjb250cm9sOiBGb3JtQ29udHJvbCB8IG51bGwsIGZvcm06IEZvcm1Hcm91cERpcmVjdGl2ZSB8IE5nRm9ybSB8IG51bGwpOiBib29sZWFuID0+IHtcbiAgICAgIHJldHVybiBjb250cm9sPy5pbnZhbGlkICYmIGNvbnRyb2w/LnRvdWNoZWQgJiYgY29udHJvbD8uZGlydHk7XG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRnNGb3JtTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { FormGroup } from '@angular/forms';
|
|
2
|
-
export function getFormErrors(control, key) {
|
|
3
|
-
let errors = null;
|
|
4
|
-
if (control.invalid && control.errors) {
|
|
5
|
-
errors = {
|
|
6
|
-
[key]: Object.assign({}, control.errors),
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
if (control instanceof FormGroup) {
|
|
10
|
-
Object.entries(control.controls)
|
|
11
|
-
.forEach(([name, childControl]) => {
|
|
12
|
-
const childErrors = getFormErrors(childControl, name);
|
|
13
|
-
if (childErrors) {
|
|
14
|
-
if (!errors) {
|
|
15
|
-
errors = Object.assign({}, childErrors);
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
Object.assign(errors, childErrors);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
return errors;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZvcm0tZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9oZWxwZXJzL2dldC1mb3JtLWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUc5RSxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQXdCLEVBQUUsR0FBVztJQUNqRSxJQUFJLE1BQU0sR0FBNEIsSUFBSSxDQUFDO0lBRTNDLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ3JDLE1BQU0sR0FBRztZQUNQLENBQUMsR0FBRyxDQUFDLG9CQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUU7U0FDN0IsQ0FBQTtLQUNGO0lBRUQsSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO1FBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUM3QixPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDWCxNQUFNLHFCQUFRLFdBQVcsQ0FBRSxDQUFDO2lCQUM3QjtxQkFBTTtvQkFDTCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztpQkFDcEM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0tBQ047SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1FcnJvcnMoY29udHJvbDogQWJzdHJhY3RDb250cm9sLCBrZXk6IHN0cmluZyk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgbGV0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gIGlmIChjb250cm9sLmludmFsaWQgJiYgY29udHJvbC5lcnJvcnMpIHtcbiAgICBlcnJvcnMgPSB7XG4gICAgICBba2V5XTogeyAuLi5jb250cm9sLmVycm9ycyB9LFxuICAgIH1cbiAgfVxuXG4gIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgT2JqZWN0LmVudHJpZXMoY29udHJvbC5jb250cm9scylcbiAgICAgIC5mb3JFYWNoKChbbmFtZSwgY2hpbGRDb250cm9sXSkgPT4ge1xuICAgICAgICBjb25zdCBjaGlsZEVycm9ycyA9IGdldEZvcm1FcnJvcnMoY2hpbGRDb250cm9sLCBuYW1lKTtcblxuICAgICAgICBpZiAoY2hpbGRFcnJvcnMpIHtcbiAgICAgICAgICBpZiAoIWVycm9ycykge1xuICAgICAgICAgICAgZXJyb3JzID0geyAuLi5jaGlsZEVycm9ycyB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGVycm9ycywgY2hpbGRFcnJvcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuIl19
|
package/esm2015/public_api.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// Modules
|
|
2
|
-
export { FsFormModule } from './app/fs-form.module';
|
|
3
|
-
// Services
|
|
4
|
-
export { FsForm } from './app/services/fsform.service';
|
|
5
|
-
// Directives
|
|
6
|
-
export { FsFormDirective } from './app/directives/form/form.directive';
|
|
7
|
-
export { FsControlDirective } from './app/directives/validators/control.directive';
|
|
8
|
-
export { FsFormRequiredDirective } from './app/directives/validators/required.directive';
|
|
9
|
-
export { FsFormMinDirective } from './app/directives/validators/min.directive';
|
|
10
|
-
export { FsFormMaxDirective } from './app/directives/validators/max.directive';
|
|
11
|
-
export { FsFormMinLengthDirective } from './app/directives/validators/minlength.directive';
|
|
12
|
-
export { FsFormMaxLengthDirective } from './app/directives/validators/maxlength.directive';
|
|
13
|
-
export { FsFormEmailDirective } from './app/directives/validators/email.directive';
|
|
14
|
-
export { FsFormEmailsDirective } from './app/directives/validators/emails.directive';
|
|
15
|
-
export { FsFormPhoneDirective } from './app/directives/validators/phone.directive';
|
|
16
|
-
export { FsFormCompareDirective } from './app/directives/validators/compare.directive';
|
|
17
|
-
export { FsFormIntegerDirective } from './app/directives/validators/integer.directive';
|
|
18
|
-
export { FsFormNumericDirective } from './app/directives/validators/numeric.directive';
|
|
19
|
-
export { FsFormPatternDirective } from './app/directives/validators/pattern.directive';
|
|
20
|
-
export { FsFormFunctionDirective } from './app/directives/validators/function.directive';
|
|
21
|
-
export { FsFormDateRangeDirective } from './app/directives/validators/daterange.directive';
|
|
22
|
-
export { FsFormGreaterDirective } from './app/directives/validators/greater.directive';
|
|
23
|
-
export { FsFormLesserDirective } from './app/directives/validators/lesser.directive';
|
|
24
|
-
export { FsFormUrlDirective } from './app/directives/validators/url.directive';
|
|
25
|
-
export { FsFormDialogCloseDirective } from './app/directives/form-dialog-close.directive';
|
|
26
|
-
export { FsButtonDirective } from './app/directives/button.directive';
|
|
27
|
-
export { FsSubmitButtonDirective } from './app/directives/submit-button.directive';
|
|
28
|
-
export { FsFormValidateDirective } from './app/directives/validators/validate.directive';
|
|
29
|
-
export { FsFormNoFsValidatorsDirective } from './app/directives/validators/no-fs-validators.directive';
|
|
30
|
-
// Components
|
|
31
|
-
export { FsFormDialogActionsComponent } from './app/components/form-dialog-actions/form-dialog-actions.component';
|
|
32
|
-
export { FsValidators } from './app/validators/validators';
|
|
33
|
-
export { FormDeactivateGuard } from './app/guards/form-deactivate.guard';
|
|
34
|
-
// Enums
|
|
35
|
-
export { ConfirmResult } from './app/enums/confirm-result';
|
|
36
|
-
export { FormStatus } from './app/enums/form-status';
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFcEQsV0FBVztBQUNYLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RCxhQUFhO0FBQ2IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRXZHLGFBQWE7QUFDYixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUVsSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFPekUsUUFBUTtBQUNSLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBNb2R1bGVzXG5leHBvcnQgeyBGc0Zvcm1Nb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1mb3JtLm1vZHVsZSc7XG5cbi8vIFNlcnZpY2VzXG5leHBvcnQgeyBGc0Zvcm0gfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9mc2Zvcm0uc2VydmljZSc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCB7IEZzRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS9mb3JtLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0NvbnRyb2xEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvY29udHJvbC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtUmVxdWlyZWREaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvcmVxdWlyZWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1pbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW4uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1heERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9tYXguZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1pbkxlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9taW5sZW5ndGguZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU1heExlbmd0aERpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9tYXhsZW5ndGguZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybUVtYWlsRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2VtYWlsLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1FbWFpbHNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvZW1haWxzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1QaG9uZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9waG9uZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtQ29tcGFyZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9jb21wYXJlLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1JbnRlZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2ludGVnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzRm9ybU51bWVyaWNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbnVtZXJpYy5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtUGF0dGVybkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9wYXR0ZXJuLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1GdW5jdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9mdW5jdGlvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtRGF0ZVJhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy92YWxpZGF0b3JzL2RhdGVyYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtR3JlYXRlckRpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy9ncmVhdGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1MZXNzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbGVzc2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1VcmxEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvdXJsLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1EaWFsb2dDbG9zZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvZm9ybS1kaWFsb2ctY2xvc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZzU3VibWl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9zdWJtaXQtYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBGc0Zvcm1WYWxpZGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYXBwL2RpcmVjdGl2ZXMvdmFsaWRhdG9ycy92YWxpZGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRnNGb3JtTm9Gc1ZhbGlkYXRvcnNEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3ZhbGlkYXRvcnMvbm8tZnMtdmFsaWRhdG9ycy5kaXJlY3RpdmUnO1xuXG4vLyBDb21wb25lbnRzXG5leHBvcnQgeyBGc0Zvcm1EaWFsb2dBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50JztcblxuZXhwb3J0IHsgRnNWYWxpZGF0b3JzIH0gZnJvbSAnLi9hcHAvdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgRm9ybURlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vYXBwL2d1YXJkcy9mb3JtLWRlYWN0aXZhdGUuZ3VhcmQnO1xuXG4vLyBJbnRlcmZhY2VzXG5leHBvcnQgeyBTdWJtaXRFdmVudCB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvc3VibWl0LWV2ZW50JztcbmV4cG9ydCB7IFN1Ym1pdHRlZEV2ZW50IH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9zdWJtaXR0ZWQtZXZlbnQnO1xuZXhwb3J0IHsgQ29uZmlybUNvbmZpZyB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvY29uZmlybS1jb25maWcnO1xuXG4vLyBFbnVtc1xuZXhwb3J0IHsgQ29uZmlybVJlc3VsdCB9IGZyb20gJy4vYXBwL2VudW1zL2NvbmZpcm0tcmVzdWx0JztcbmV4cG9ydCB7IEZvcm1TdGF0dXMgfSBmcm9tICcuL2FwcC9lbnVtcy9mb3JtLXN0YXR1cyc7XG5cblxuIl19
|