@firestitch/form 12.4.9 → 12.4.10
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 +23 -23
- package/app/consts/error-messages.const.d.ts +19 -19
- package/app/directives/button.directive.d.ts +35 -34
- package/app/directives/form/form.directive.d.ts +122 -122
- package/app/directives/form-dialog-close.directive.d.ts +12 -12
- package/app/directives/index.d.ts +2 -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 +48 -48
- 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/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 +13 -13
- 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 +37 -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/bundles/firestitch-form.umd.js +2839 -2836
- package/bundles/firestitch-form.umd.js.map +1 -1
- package/esm2015/app/components/form-dialog-actions/form-dialog-actions.component.js +91 -91
- package/esm2015/app/consts/error-messages.const.js +19 -19
- package/esm2015/app/directives/button.directive.js +153 -150
- package/esm2015/app/directives/form/form.directive.js +695 -695
- package/esm2015/app/directives/form-dialog-close.directive.js +30 -30
- package/esm2015/app/directives/index.js +2 -2
- package/esm2015/app/directives/submit-button.directive.js +13 -13
- package/esm2015/app/directives/validators/compare.directive.js +48 -48
- package/esm2015/app/directives/validators/control.directive.js +264 -264
- package/esm2015/app/directives/validators/daterange.directive.js +40 -40
- package/esm2015/app/directives/validators/email.directive.js +40 -40
- package/esm2015/app/directives/validators/emails.directive.js +40 -40
- package/esm2015/app/directives/validators/function.directive.js +40 -40
- package/esm2015/app/directives/validators/greater.directive.js +39 -39
- package/esm2015/app/directives/validators/integer.directive.js +40 -40
- package/esm2015/app/directives/validators/lesser.directive.js +39 -39
- package/esm2015/app/directives/validators/max.directive.js +35 -35
- package/esm2015/app/directives/validators/maxlength.directive.js +34 -34
- package/esm2015/app/directives/validators/min.directive.js +35 -35
- package/esm2015/app/directives/validators/minlength.directive.js +34 -34
- package/esm2015/app/directives/validators/no-fs-validators.directive.js +46 -46
- package/esm2015/app/directives/validators/numeric.directive.js +40 -40
- package/esm2015/app/directives/validators/pattern.directive.js +34 -34
- package/esm2015/app/directives/validators/phone.directive.js +40 -40
- package/esm2015/app/directives/validators/required.directive.js +70 -70
- package/esm2015/app/directives/validators/url.directive.js +46 -46
- package/esm2015/app/directives/validators/validate.directive.js +42 -42
- package/esm2015/app/enums/confirm-result.js +8 -8
- package/esm2015/app/enums/form-status.js +11 -11
- package/esm2015/app/fs-form.module.js +180 -180
- package/esm2015/app/guards/form-deactivate.guard.js +44 -44
- package/esm2015/app/helpers/confirm-result-continue.js +4 -4
- package/esm2015/app/helpers/confirm-unsaved.js +71 -71
- package/esm2015/app/helpers/get-active-route.js +6 -6
- package/esm2015/app/helpers/get-form-errors.js +24 -24
- package/esm2015/app/helpers/index.js +2 -2
- package/esm2015/app/helpers/is-enabled.js +3 -3
- package/esm2015/app/interfaces/async-validator.js +1 -1
- package/esm2015/app/interfaces/confirm-config.js +1 -1
- package/esm2015/app/interfaces/confirm-tab-group.js +1 -1
- package/esm2015/app/interfaces/index.js +4 -4
- package/esm2015/app/interfaces/submit-event.js +1 -1
- package/esm2015/app/interfaces/submitted-event.js +1 -1
- package/esm2015/app/interfaces/validator.js +1 -1
- package/esm2015/app/providers/validate-messages.provider.js +10 -10
- package/esm2015/app/services/fsform.service.js +39 -39
- package/esm2015/app/validators/validators.js +96 -96
- package/esm2015/firestitch-form.js +4 -4
- package/esm2015/public_api.js +36 -36
- package/fesm2015/firestitch-form.js +2276 -2273
- package/fesm2015/firestitch-form.js.map +1 -1
- package/firestitch-form.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +34 -34
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, Optional, ChangeDetectorRef } from '@angular/core';
|
|
2
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { delay, filter, takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { FsFormDirective } from '../../directives/form/form.directive';
|
|
6
|
-
import { ConfirmResult } from '../../enums/confirm-result';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../directives/form/form.directive";
|
|
9
|
-
import * as i2 from "@angular/material/dialog";
|
|
10
|
-
import * as i3 from "@angular/material/button";
|
|
11
|
-
import * as i4 from "@angular/common";
|
|
12
|
-
import * as i5 from "../../directives/button.directive";
|
|
13
|
-
export class FsFormDialogActionsComponent {
|
|
14
|
-
constructor(_form, _dialogRef, _cdRef) {
|
|
15
|
-
this._form = _form;
|
|
16
|
-
this._dialogRef = _dialogRef;
|
|
17
|
-
this._cdRef = _cdRef;
|
|
18
|
-
this.save = true;
|
|
19
|
-
this.create = false;
|
|
20
|
-
this.close = false;
|
|
21
|
-
this.done = false;
|
|
22
|
-
this.closeData = null;
|
|
23
|
-
this.dirty = false;
|
|
24
|
-
this._destroy$ = new Subject();
|
|
25
|
-
}
|
|
26
|
-
ngOnInit() {
|
|
27
|
-
if (this._form) {
|
|
28
|
-
this._form.ngForm.valueChanges
|
|
29
|
-
.pipe(filter(() => (!this.dirty)), takeUntil(this._destroy$))
|
|
30
|
-
.subscribe(() => {
|
|
31
|
-
this.dirty = this._form.ngForm.dirty;
|
|
32
|
-
this._cdRef.markForCheck();
|
|
33
|
-
});
|
|
34
|
-
this._form.submitted
|
|
35
|
-
.pipe(delay(50), takeUntil(this._destroy$))
|
|
36
|
-
.subscribe(() => {
|
|
37
|
-
this.dirty = false;
|
|
38
|
-
this._cdRef.markForCheck();
|
|
39
|
-
});
|
|
40
|
-
this._form.reseted
|
|
41
|
-
.pipe(takeUntil(this._destroy$))
|
|
42
|
-
.subscribe(() => {
|
|
43
|
-
this.dirty = false;
|
|
44
|
-
this._cdRef.markForCheck();
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
closeClick() {
|
|
49
|
-
if (this._form) {
|
|
50
|
-
this._form.triggerConfirm()
|
|
51
|
-
.pipe(filter((confirmResult) => (confirmResult !== ConfirmResult.Review)), takeUntil(this._destroy$))
|
|
52
|
-
.subscribe(() => {
|
|
53
|
-
this._dialogRef.close(this.closeData);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this._dialogRef.close(this.closeData);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
ngOnDestroy() {
|
|
61
|
-
this._destroy$.next();
|
|
62
|
-
this._destroy$.complete();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
FsFormDialogActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: i1.FsFormDirective, optional: true }, { token: i2.MatDialogRef, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
FsFormDialogActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div class=\"buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"close && !dirty && !create\"\n [matDialogClose]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [matDialogClose]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <div class=\"close\" *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n [color]=\"dirty ? 'basic' : 'primary'\"\n (click)=\"closeClick()\">\n Close\n </button>\n </div>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".buttons{display:flex;flex-grow:1;align-items:center}.buttons.save-create .close{display:flex;flex-grow:1;justify-content:flex-end}@media only screen and (max-width: 599px){.buttons{flex-direction:column}}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit"] }, { type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{
|
|
70
|
-
selector: 'fs-form-dialog-actions',
|
|
71
|
-
templateUrl: './form-dialog-actions.component.html',
|
|
72
|
-
styleUrls: ['./form-dialog-actions.component.scss'],
|
|
73
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
74
|
-
}]
|
|
75
|
-
}], ctorParameters: function () { return [{ type: i1.FsFormDirective, decorators: [{
|
|
76
|
-
type: Optional
|
|
77
|
-
}] }, { type: i2.MatDialogRef, decorators: [{
|
|
78
|
-
type: Optional
|
|
79
|
-
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { save: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], create: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], close: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], done: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], closeData: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], name: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}] } });
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, Optional, ChangeDetectorRef } from '@angular/core';
|
|
2
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { delay, filter, takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { FsFormDirective } from '../../directives/form/form.directive';
|
|
6
|
+
import { ConfirmResult } from '../../enums/confirm-result';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../directives/form/form.directive";
|
|
9
|
+
import * as i2 from "@angular/material/dialog";
|
|
10
|
+
import * as i3 from "@angular/material/button";
|
|
11
|
+
import * as i4 from "@angular/common";
|
|
12
|
+
import * as i5 from "../../directives/button.directive";
|
|
13
|
+
export class FsFormDialogActionsComponent {
|
|
14
|
+
constructor(_form, _dialogRef, _cdRef) {
|
|
15
|
+
this._form = _form;
|
|
16
|
+
this._dialogRef = _dialogRef;
|
|
17
|
+
this._cdRef = _cdRef;
|
|
18
|
+
this.save = true;
|
|
19
|
+
this.create = false;
|
|
20
|
+
this.close = false;
|
|
21
|
+
this.done = false;
|
|
22
|
+
this.closeData = null;
|
|
23
|
+
this.dirty = false;
|
|
24
|
+
this._destroy$ = new Subject();
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
if (this._form) {
|
|
28
|
+
this._form.ngForm.valueChanges
|
|
29
|
+
.pipe(filter(() => (!this.dirty)), takeUntil(this._destroy$))
|
|
30
|
+
.subscribe(() => {
|
|
31
|
+
this.dirty = this._form.ngForm.dirty;
|
|
32
|
+
this._cdRef.markForCheck();
|
|
33
|
+
});
|
|
34
|
+
this._form.submitted
|
|
35
|
+
.pipe(delay(50), takeUntil(this._destroy$))
|
|
36
|
+
.subscribe(() => {
|
|
37
|
+
this.dirty = false;
|
|
38
|
+
this._cdRef.markForCheck();
|
|
39
|
+
});
|
|
40
|
+
this._form.reseted
|
|
41
|
+
.pipe(takeUntil(this._destroy$))
|
|
42
|
+
.subscribe(() => {
|
|
43
|
+
this.dirty = false;
|
|
44
|
+
this._cdRef.markForCheck();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
closeClick() {
|
|
49
|
+
if (this._form) {
|
|
50
|
+
this._form.triggerConfirm()
|
|
51
|
+
.pipe(filter((confirmResult) => (confirmResult !== ConfirmResult.Review)), takeUntil(this._destroy$))
|
|
52
|
+
.subscribe(() => {
|
|
53
|
+
this._dialogRef.close(this.closeData);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
this._dialogRef.close(this.closeData);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this._destroy$.next();
|
|
62
|
+
this._destroy$.complete();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
FsFormDialogActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormDialogActionsComponent, deps: [{ token: i1.FsFormDirective, optional: true }, { token: i2.MatDialogRef, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
FsFormDialogActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFormDialogActionsComponent, selector: "fs-form-dialog-actions", inputs: { save: "save", create: "create", close: "close", done: "done", closeData: "closeData", name: "name" }, ngImport: i0, template: "<div class=\"buttons\" [ngClass]=\"{ 'save-create': save || create }\">\n <ng-container *ngIf=\"save\">\n <button\n mat-button\n type=\"submit\"\n color=\"primary\"\n [name]=\"name\">\n {{create ? 'Create' : 'Save'}}\n </button>\n <button\n mat-button\n type=\"button\"\n [disabled]=\"close && !dirty && !create\"\n [matDialogClose]=\"null\">\n Cancel\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"done\">\n <button\n mat-button\n type=\"button\"\n color=\"primary\"\n [matDialogClose]=\"null\">\n Done\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"save || create\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n\n <div class=\"close\" *ngIf=\"close\">\n <button\n mat-button\n type=\"button\"\n [color]=\"dirty ? 'basic' : 'primary'\"\n (click)=\"closeClick()\">\n Close\n </button>\n </div>\n\n <ng-container *ngIf=\"!(save || create)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".buttons{display:flex;flex-grow:1;align-items:center}.buttons.save-create .close{display:flex;flex-grow:1;justify-content:flex-end}@media only screen and (max-width: 599px){.buttons{flex-direction:column}}\n"], components: [{ type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFormDialogActionsComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{
|
|
70
|
+
selector: 'fs-form-dialog-actions',
|
|
71
|
+
templateUrl: './form-dialog-actions.component.html',
|
|
72
|
+
styleUrls: ['./form-dialog-actions.component.scss'],
|
|
73
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
74
|
+
}]
|
|
75
|
+
}], ctorParameters: function () { return [{ type: i1.FsFormDirective, decorators: [{
|
|
76
|
+
type: Optional
|
|
77
|
+
}] }, { type: i2.MatDialogRef, decorators: [{
|
|
78
|
+
type: Optional
|
|
79
|
+
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { save: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], create: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], close: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], done: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], closeData: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], name: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}] } });
|
|
92
92
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2ctYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZm9ybS1kaWFsb2ctYWN0aW9ucy9mb3JtLWRpYWxvZy1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9mb3JtLWRpYWxvZy1hY3Rpb25zL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFTM0QsTUFBTSxPQUFPLDRCQUE0QjtJQWF2QyxZQUNzQixLQUFzQixFQUN0QixVQUE2QixFQUN6QyxNQUF5QjtRQUZiLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQ3pDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBZG5CLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRzFCLFVBQUssR0FBRyxLQUFL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eSwgSW5wdXQsIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGc0Zvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvcm0vZm9ybS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb25maXJtUmVzdWx0IH0gZnJvbSAnLi4vLi4vZW51bXMvY29uZmlybS1yZXN1bHQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZnMtZm9ybS1kaWFsb2ctYWN0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZGlhbG9nLWFjdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZzRm9ybURpYWxvZ0FjdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBzYXZlID0gdHJ1ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JlYXRlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGNsb3NlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGRvbmUgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VEYXRhID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgbmFtZTogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgZGlydHkgPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybTogRnNGb3JtRGlyZWN0aXZlLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcclxuICAgIHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgICBcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuX2Zvcm0pIHtcclxuICAgICAgdGhpcy5fZm9ybS5uZ0Zvcm0udmFsdWVDaGFuZ2VzXHJcbiAgICAgIC5waXBlKCAgXHJcbiAgICAgICAgZmlsdGVyKCgpID0+ICghdGhpcy5kaXJ0eSkpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRoaXMuX2Zvcm0ubmdGb3JtLmRpcnR5O1xyXG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuX2Zvcm0uc3VibWl0dGVkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGRlbGF5KDUwKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLl9mb3JtLnJlc2V0ZWRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBwdWJsaWMgY2xvc2VDbGljaygpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuX2Zvcm0pIHtcclxuICAgICAgdGhpcy5fZm9ybS50cmlnZ2VyQ29uZmlybSgpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGZpbHRlcigoY29uZmlybVJlc3VsdDogQ29uZmlybVJlc3VsdCkgPT4gKGNvbmZpcm1SZXN1bHQgIT09IENvbmZpcm1SZXN1bHQuUmV2aWV3KSksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UodGhpcy5jbG9zZURhdGEpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh0aGlzLmNsb3NlRGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiIFtuZ0NsYXNzXT1cInsgJ3NhdmUtY3JlYXRlJzogc2F2ZSB8fCBjcmVhdGUgfVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZVwiPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiPlxuICAgICAge3tjcmVhdGUgPyAnQ3JlYXRlJyA6ICdTYXZlJ319XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY2xvc2UgJiYgIWRpcnR5ICYmICFjcmVhdGVcIlxuICAgICAgICBbbWF0RGlhbG9nQ2xvc2VdPVwibnVsbFwiPlxuICAgICAgQ2FuY2VsXG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb25lXCI+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbbWF0RGlhbG9nQ2xvc2VdPVwibnVsbFwiPlxuICAgICAgRG9uZVxuICAgIDwvYnV0dG9uPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZSB8fCBjcmVhdGVcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJjbG9zZVwiICpuZ0lmPVwiY2xvc2VcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtjb2xvcl09XCJkaXJ0eSA/ICdiYXNpYycgOiAncHJpbWFyeSdcIlxuICAgICAgICAoY2xpY2spPVwiY2xvc2VDbGljaygpXCI+XG4gICAgICBDbG9zZVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShzYXZlIHx8IGNyZWF0ZSlcIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
export const ERROR_MESSAGES = {
|
|
2
|
-
required: 'This field is required',
|
|
3
|
-
email: 'This is not a valid email address',
|
|
4
|
-
emails: 'Input valid email addresses, comma separated',
|
|
5
|
-
phone: 'Invalid phone number',
|
|
6
|
-
numeric: 'Value should be numeric',
|
|
7
|
-
integer: 'Value should be an integer',
|
|
8
|
-
min: 'Value should not be less than $(1)',
|
|
9
|
-
max: 'Value should not be greater than $(1)',
|
|
10
|
-
minlength: 'Should not be shorter than $(1) characters',
|
|
11
|
-
maxlength: 'Should not be longer than $(1) characters',
|
|
12
|
-
compare: 'Inputs do not match',
|
|
13
|
-
pattern: 'Value should match pattern $(1)',
|
|
14
|
-
dateRange: 'Invalid date range',
|
|
15
|
-
url: 'This is not a valid url',
|
|
16
|
-
urlProtocol: 'Invalid URL. Proper http protocol is required. eg. https://google.com',
|
|
17
|
-
greater: 'Value must be greater than $(1)',
|
|
18
|
-
lesser: 'Value must be less than $(1)',
|
|
19
|
-
};
|
|
1
|
+
export const ERROR_MESSAGES = {
|
|
2
|
+
required: 'This field is required',
|
|
3
|
+
email: 'This is not a valid email address',
|
|
4
|
+
emails: 'Input valid email addresses, comma separated',
|
|
5
|
+
phone: 'Invalid phone number',
|
|
6
|
+
numeric: 'Value should be numeric',
|
|
7
|
+
integer: 'Value should be an integer',
|
|
8
|
+
min: 'Value should not be less than $(1)',
|
|
9
|
+
max: 'Value should not be greater than $(1)',
|
|
10
|
+
minlength: 'Should not be shorter than $(1) characters',
|
|
11
|
+
maxlength: 'Should not be longer than $(1) characters',
|
|
12
|
+
compare: 'Inputs do not match',
|
|
13
|
+
pattern: 'Value should match pattern $(1)',
|
|
14
|
+
dateRange: 'Invalid date range',
|
|
15
|
+
url: 'This is not a valid url',
|
|
16
|
+
urlProtocol: 'Invalid URL. Proper http protocol is required. eg. https://google.com',
|
|
17
|
+
greater: 'Value must be greater than $(1)',
|
|
18
|
+
lesser: 'Value must be less than $(1)',
|
|
19
|
+
};
|
|
20
20
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbnN0cy9lcnJvci1tZXNzYWdlcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsUUFBUSxFQUFFLHdCQUF3QjtJQUNsQyxLQUFLLEVBQUUsbUNBQW1DO0lBQzFDLE1BQU0sRUFBRSw4Q0FBOEM7SUFDdEQsS0FBSyxFQUFFLHNCQUFzQjtJQUM3QixPQUFPLEVBQUUseUJBQXlCO0lBQ2xDLE9BQU8sRUFBRSw0QkFBNEI7SUFDckMsR0FBRyxFQUFFLG9DQUFvQztJQUN6QyxHQUFHLEVBQUUsdUNBQXVDO0lBQzVDLFNBQVMsRUFBRSw0Q0FBNEM7SUFDdkQsU0FBUyxFQUFFLDJDQUEyQztJQUN0RCxPQUFPLEVBQUUscUJBQXFCO0lBQzlCLE9BQU8sRUFBRSxpQ0FBaUM7SUFDMUMsU0FBUyxFQUFFLG9CQUFvQjtJQUMvQixHQUFHLEVBQUUseUJBQXlCO0lBQzlCLFdBQVcsRUFBRSx1RUFBdUU7SUFDcEYsT0FBTyxFQUFFLGlDQUFpQztJQUMxQyxNQUFNLEVBQUUsOEJBQThCO0NBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRVJST1JfTUVTU0FHRVMgPSB7XG4gIHJlcXVpcmVkOiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCcsXG4gIGVtYWlsOiAnVGhpcyBpcyBub3QgYSB2YWxpZCBlbWFpbCBhZGRyZXNzJyxcbiAgZW1haWxzOiAnSW5wdXQgdmFsaWQgZW1haWwgYWRkcmVzc2VzLCBjb21tYSBzZXBhcmF0ZWQnLFxuICBwaG9uZTogJ0ludmFsaWQgcGhvbmUgbnVtYmVyJyxcbiAgbnVtZXJpYzogJ1ZhbHVlIHNob3VsZCBiZSBudW1lcmljJyxcbiAgaW50ZWdlcjogJ1ZhbHVlIHNob3VsZCBiZSBhbiBpbnRlZ2VyJyxcbiAgbWluOiAnVmFsdWUgc2hvdWxkIG5vdCBiZSBsZXNzIHRoYW4gJCgxKScsXG4gIG1heDogJ1ZhbHVlIHNob3VsZCBub3QgYmUgZ3JlYXRlciB0aGFuICQoMSknLFxuICBtaW5sZW5ndGg6ICdTaG91bGQgbm90IGJlIHNob3J0ZXIgdGhhbiAkKDEpIGNoYXJhY3RlcnMnLFxuICBtYXhsZW5ndGg6ICdTaG91bGQgbm90IGJlIGxvbmdlciB0aGFuICQoMSkgY2hhcmFjdGVycycsXG4gIGNvbXBhcmU6ICdJbnB1dHMgZG8gbm90IG1hdGNoJyxcbiAgcGF0dGVybjogJ1ZhbHVlIHNob3VsZCBtYXRjaCBwYXR0ZXJuICQoMSknLFxuICBkYXRlUmFuZ2U6ICdJbnZhbGlkIGRhdGUgcmFuZ2UnLFxuICB1cmw6ICdUaGlzIGlzIG5vdCBhIHZhbGlkIHVybCcsXG4gIHVybFByb3RvY29sOiAnSW52YWxpZCBVUkwuIFByb3BlciBodHRwIHByb3RvY29sIGlzIHJlcXVpcmVkLiBlZy4gaHR0cHM6Ly9nb29nbGUuY29tJyxcbiAgZ3JlYXRlcjogJ1ZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuICQoMSknLFxuICBsZXNzZXI6ICdWYWx1ZSBtdXN0IGJlIGxlc3MgdGhhbiAkKDEpJyxcbn07XG4iXX0=
|