ngx-vector-components 4.55.0 → 4.57.0
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/CHANGELOG.md +12 -0
- package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +9 -3
- package/esm2020/lib/utils/mask.util.mjs +6 -1
- package/fesm2015/ngx-vector-components.mjs +14 -3
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +14 -3
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/fields/textarea-field/textarea-field.component.d.ts +3 -1
- package/lib/utils/mask.util.d.ts +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.57.0] (16/02/2023)
|
|
4
|
+
|
|
5
|
+
### Feature
|
|
6
|
+
|
|
7
|
+
- Added cols and rows dynamic in `vector-textarea-field.ts`
|
|
8
|
+
|
|
9
|
+
## [4.56.0] (15/02/2023)
|
|
10
|
+
|
|
11
|
+
### Feature
|
|
12
|
+
|
|
13
|
+
- Added mask in `mask.util.ts`
|
|
14
|
+
|
|
3
15
|
## [4.55.0] (12/02/2023)
|
|
4
16
|
|
|
5
17
|
### Feature
|
|
@@ -7,6 +7,8 @@ export class TextareaFieldComponent {
|
|
|
7
7
|
this.isRequired = false;
|
|
8
8
|
this.label = '';
|
|
9
9
|
this.maxlength = '';
|
|
10
|
+
this.rows = 5;
|
|
11
|
+
this.cols = 10;
|
|
10
12
|
this.blurEvent = new EventEmitter();
|
|
11
13
|
this.enterKeyPress = new EventEmitter();
|
|
12
14
|
this.focusEvent = new EventEmitter();
|
|
@@ -53,16 +55,20 @@ export class TextareaFieldComponent {
|
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
TextareaFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextareaFieldComponent, selector: "vector-textarea-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"
|
|
58
|
+
TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextareaFieldComponent, selector: "vector-textarea-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", rows: "rows", cols: "cols", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: [".input-container{width:100%;position:relative}.input-container .length-control{position:absolute;right:15px;bottom:15px;opacity:.8;font-size:.6rem}\n"], directives: [{ type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }] });
|
|
57
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, decorators: [{
|
|
58
60
|
type: Component,
|
|
59
|
-
args: [{ selector: 'vector-textarea-field', template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"
|
|
61
|
+
args: [{ selector: 'vector-textarea-field', template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: [".input-container{width:100%;position:relative}.input-container .length-control{position:absolute;right:15px;bottom:15px;opacity:.8;font-size:.6rem}\n"] }]
|
|
60
62
|
}], propDecorators: { isRequired: [{
|
|
61
63
|
type: Input
|
|
62
64
|
}], label: [{
|
|
63
65
|
type: Input
|
|
64
66
|
}], maxlength: [{
|
|
65
67
|
type: Input
|
|
68
|
+
}], rows: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], cols: [{
|
|
71
|
+
type: Input
|
|
66
72
|
}], control: [{
|
|
67
73
|
type: Input
|
|
68
74
|
}], blurEvent: [{
|
|
@@ -72,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
72
78
|
}], focusEvent: [{
|
|
73
79
|
type: Output
|
|
74
80
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvdGV4dGFyZWEtZmllbGQvdGV4dGFyZWEtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvdGV4dGFyZWEtZmllbGQvdGV4dGFyZWEtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBT1MsZUFBVSxHQUF3QixLQUFLLENBQUM7UUFFeEMsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFFL0IsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBRWpCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFJbEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBUy9CLGtCQUFhLEdBQUcsRUFBRSxDQUFDO0tBMkM1QjtJQWxEQyxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFJRCxRQUFRLEtBQUksQ0FBQztJQUVOLGVBQWU7UUFDcEIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ2hFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3JDLE9BQU8sbUJBQW1CLENBQUM7YUFDNUI7WUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLG1CQUFtQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUM3RTtZQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3RDLE9BQU8sNkJBQTZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3ZGO1lBRUQsT0FBTyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO1NBQy9HO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxPQUFPLENBQUMsTUFBYTtRQUMxQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBNkIsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7bUhBckVVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBSQ1BuQywrZUFnQkE7MkZEVGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFNMUIsVUFBVTtzQkFEaEIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLElBQUk7c0JBRFYsS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFNBQVM7c0JBRGYsTUFBTTtnQkFHQSxhQUFhO3NCQURuQixNQUFNO2dCQUdBLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci10ZXh0YXJlYS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXhsZW5ndGg6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJvd3M6IG51bWJlciA9IDU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sczogbnVtYmVyID0gMTA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29udHJvbDogYW55O1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBibHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGVudGVyS2V5UHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGZvY3VzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIGlmICghdGhpcy5sYWJlbCkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhpcy5sYWJlbH0ke3RoaXMuaXNSZXF1aXJlZCA/ICcqJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxhc3RCbHVyVmFsdWUgPSAnJztcclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICBwdWJsaWMgZmllbGRFcnJvckxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sICYmIHRoaXMuY29udHJvbC5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcclxuICAgICAgICByZXR1cm4gJ0NhbXBvIG9icmlnYXTDs3Jpbyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XHJcbiAgICAgICAgcmV0dXJuIGBUYW1hbmhvIG3DrW5pbW86ICR7dGhpcy5jb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGh9YDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcclxuICAgICAgICByZXR1cm4gYFRhbWFuaG8gbcOheGltbyBwZXJtaXRpZG86ICR7dGhpcy5jb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGh9YDtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnID8gdGhpcy5jb250cm9sLmVycm9yc1snaW52YWxpZCddIDogJ0NhbXBvIGludsOhbGlkbyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQmx1cigpIHtcclxuICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICBpZiAodGhpcy5sYXN0Qmx1clZhbHVlICE9PSB0aGlzLmNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgdGhpcy5sYXN0Qmx1clZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmJsdXJFdmVudC5lbWl0KHRoaXMuY29udHJvbC52YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRW50ZXJQcmVzcygpIHtcclxuICAgIHRoaXMub25CbHVyKCk7XHJcbiAgICB0aGlzLmVudGVyS2V5UHJlc3MuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRm9jdXMoJGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gJGV2ZW50LnRhcmdldCBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgdGhpcy5mb2N1c0V2ZW50LmVtaXQodGFyZ2V0Py52YWx1ZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgPHRleHRhcmVhXHJcbiAgICBwSW5wdXRUZXh0YXJlYVxyXG4gICAgW3Jvd3NdPVwicm93c1wiXHJcbiAgICBbY29sc109XCJjb2xzXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgIFthdXRvUmVzaXplXT1cImZhbHNlXCJcclxuICAgIChvbkJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgKGtleWRvd24uZW50ZXIpPVwib25FbnRlclByZXNzKClcIlxyXG4gICAgKGNsaWNrKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgPlxyXG4gIDwvdGV4dGFyZWE+XHJcbiAgPHNwYW4gY2xhc3M9XCJsZW5ndGgtY29udHJvbFwiPnt7IGNvbnRyb2w/LnZhbHVlPy5sZW5ndGggfHwgMCB9fSAvIHt7IG1heGxlbmd0aCB9fTwvc3Bhbj5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
@@ -6,6 +6,7 @@ const CELLPHONE_PATTERN = '(##) #####-####';
|
|
|
6
6
|
const PHONE_PATTERN = '(##) ####-####';
|
|
7
7
|
const PLATE_PATTERN = '###-####';
|
|
8
8
|
const HOURS_MINUTES_PATTERN = '##:##';
|
|
9
|
+
const DNI_PATTERN = '##.###.###';
|
|
9
10
|
export class MaskUtil {
|
|
10
11
|
static formatDocument(stringValue) {
|
|
11
12
|
if (!stringValue) {
|
|
@@ -43,6 +44,9 @@ export class MaskUtil {
|
|
|
43
44
|
static formatPlate(stringValue) {
|
|
44
45
|
return this.doMaskString(stringValue, PLATE_PATTERN);
|
|
45
46
|
}
|
|
47
|
+
static formatDni(stringValue) {
|
|
48
|
+
return this.doMaskString(stringValue, DNI_PATTERN);
|
|
49
|
+
}
|
|
46
50
|
static doMaskString(str, pattern) {
|
|
47
51
|
if (!str?.trim()) {
|
|
48
52
|
return '';
|
|
@@ -63,4 +67,5 @@ MaskUtil.PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';
|
|
|
63
67
|
MaskUtil.POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';
|
|
64
68
|
MaskUtil.PLATE_FIELD_PATTERN = 'aaa-9*99';
|
|
65
69
|
MaskUtil.HOURS_MINUTES_FIELD_PATTERN = '99:99';
|
|
66
|
-
|
|
70
|
+
MaskUtil.DNI_FIELD_PATTERN = '99.999.999';
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvdXRpbHMvbWFzay51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDO0FBQzFDLE1BQU0sY0FBYyxHQUFHLDBEQUEwRCxDQUFDO0FBQ2xGLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDO0FBQ3ZDLE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7QUFDNUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7QUFDdkMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBQ2pDLE1BQU0scUJBQXFCLEdBQUcsT0FBTyxDQUFDO0FBQ3RDLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQztBQUVqQyxNQUFNLE9BQU8sUUFBUTtJQVdaLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBbUI7UUFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFtQjtRQUNoRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBbUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFtQjtRQUMzQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztTQUMxRDthQUFNLElBQUksV0FBVyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUN0RDtRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsV0FBbUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQW1CO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBbUI7UUFDekMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFXLEVBQUUsT0FBZ0I7UUFDdEQsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxDQUFDLElBQUksQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sR0FBRyxDQUFDO1NBQ1o7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7QUF2RWEsK0JBQXNCLEdBQUcsZ0JBQWdCLENBQUM7QUFDMUMsZ0NBQXVCLEdBQUcsb0JBQW9CLENBQUM7QUFDL0Msa0NBQXlCLEdBQUcsMERBQTBELENBQUM7QUFDdkYscUNBQTRCLEdBQUcsaUJBQWlCLENBQUM7QUFDakQsaUNBQXdCLEdBQUcsZ0JBQWdCLENBQUM7QUFDNUMsc0NBQTZCLEdBQUcsV0FBVyxDQUFDO0FBQzVDLDRCQUFtQixHQUFHLFVBQVUsQ0FBQztBQUNqQyxvQ0FBMkIsR0FBRyxPQUFPLENBQUM7QUFDdEMsMEJBQWlCLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1BGX1BBVFRFUk4gPSAnIyMjLiMjIy4jIyMtIyMnO1xyXG5jb25zdCBDTlBKX1BBVFRFUk4gPSAnIyMuIyMjLiMjIy8jIyMjLSMjJztcclxuY29uc3QgQk9MRVRPX1BBVFRFUk4gPSAnIyMjIyMuIyMjIyMgIyMjIyMuIyMjIyMjICMjIyMjLiMjIyMjIyAjICMjIyMjIyMjIyMjIyMjICMnO1xyXG5jb25zdCBQT1NUQUxDT0RFX1BBVFRFUk4gPSAnIyMjIyMtIyMjJztcclxuY29uc3QgQ0VMTFBIT05FX1BBVFRFUk4gPSAnKCMjKSAjIyMjIy0jIyMjJztcclxuY29uc3QgUEhPTkVfUEFUVEVSTiA9ICcoIyMpICMjIyMtIyMjIyc7XHJcbmNvbnN0IFBMQVRFX1BBVFRFUk4gPSAnIyMjLSMjIyMnO1xyXG5jb25zdCBIT1VSU19NSU5VVEVTX1BBVFRFUk4gPSAnIyM6IyMnO1xyXG5jb25zdCBETklfUEFUVEVSTiA9ICcjIy4jIyMuIyMjJztcclxuXHJcbmV4cG9ydCBjbGFzcyBNYXNrVXRpbCB7XHJcbiAgcHVibGljIHN0YXRpYyBDUEZfVEVYVF9GSUVMRF9QQVRURVJOID0gJzk5OS45OTkuOTk5LTk5JztcclxuICBwdWJsaWMgc3RhdGljIENOUEpfVEVYVF9GSUVMRF9QQVRURVJOID0gJzk5Ljk5OS45OTkvOTk5OS05OSc7XHJcbiAgcHVibGljIHN0YXRpYyBCT0xFVE9fVEVYVF9GSUVMRF9QQVRURVJOID0gJzk5OTk5Ljk5OTk5IDk5OTk5Ljk5OTk5OSA5OTk5OS45OTk5OTkgOSA5OTk5OTk5OTk5OTk5OSA5JztcclxuICBwdWJsaWMgc3RhdGljIENFTExQSE9ORV9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnKDk5KSA5OTk5OS05OTk5JztcclxuICBwdWJsaWMgc3RhdGljIFBIT05FX1RFWFRfRklFTERfUEFUVEVSTiA9ICcoOTkpIDk5OTktOTk5OSc7XHJcbiAgcHVibGljIHN0YXRpYyBQT1NUQUxDT0RFX1RFWFRfRklFTERfUEFUVEVSTiA9ICc5OTk5OS05OTknO1xyXG4gIHB1YmxpYyBzdGF0aWMgUExBVEVfRklFTERfUEFUVEVSTiA9ICdhYWEtOSo5OSc7XHJcbiAgcHVibGljIHN0YXRpYyBIT1VSU19NSU5VVEVTX0ZJRUxEX1BBVFRFUk4gPSAnOTk6OTknO1xyXG4gIHB1YmxpYyBzdGF0aWMgRE5JX0ZJRUxEX1BBVFRFUk4gPSAnOTkuOTk5Ljk5OSc7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0RG9jdW1lbnQoc3RyaW5nVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKCFzdHJpbmdWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0cmluZ1ZhbHVlLmxlbmd0aCA9PT0gMTEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9NYXNrU3RyaW5nKHN0cmluZ1ZhbHVlLCBDUEZfUEFUVEVSTik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0cmluZ1ZhbHVlLmxlbmd0aCA9PT0gMTQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9NYXNrU3RyaW5nKHN0cmluZ1ZhbHVlLCBDTlBKX1BBVFRFUk4pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzdHJpbmdWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0UG9zdGFsQ29kZShzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIFBPU1RBTENPREVfUEFUVEVSTik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEJvbGV0byhzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIEJPTEVUT19QQVRURVJOKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZm9ybWF0UGhvbmUoc3RyaW5nVmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKCFzdHJpbmdWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0cmluZ1ZhbHVlLmxlbmd0aCA9PT0gMTEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9NYXNrU3RyaW5nKHN0cmluZ1ZhbHVlLCBDRUxMUEhPTkVfUEFUVEVSTik7XHJcbiAgICB9IGVsc2UgaWYgKHN0cmluZ1ZhbHVlLmxlbmd0aCA9PT0gMTApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9NYXNrU3RyaW5nKHN0cmluZ1ZhbHVlLCBQSE9ORV9QQVRURVJOKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RyaW5nVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEhvdXJzTWludXRlcyhzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIEhPVVJTX01JTlVURVNfUEFUVEVSTik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFBsYXRlKHN0cmluZ1ZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgUExBVEVfUEFUVEVSTik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdERuaShzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIEROSV9QQVRURVJOKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZG9NYXNrU3RyaW5nKHN0cjogc3RyaW5nLCBwYXR0ZXJuPzogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXN0cj8udHJpbSgpKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXBhdHRlcm4gfHwgIXBhdHRlcm4uaW5jbHVkZXMoJyMnKSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1V0aWxpemUgdW1hIG3DoXNjYXJhIHbDoWxpZGEuIEV4LjogKCMjKSAjIyMjIy0jIyMjJyk7XHJcbiAgICAgIHJldHVybiBzdHI7XHJcbiAgICB9XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICByZXR1cm4gcGF0dGVybi5yZXBsYWNlKC8jL2csICgpID0+IHN0cltpKytdKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -547,6 +547,7 @@ const CELLPHONE_PATTERN = '(##) #####-####';
|
|
|
547
547
|
const PHONE_PATTERN = '(##) ####-####';
|
|
548
548
|
const PLATE_PATTERN = '###-####';
|
|
549
549
|
const HOURS_MINUTES_PATTERN = '##:##';
|
|
550
|
+
const DNI_PATTERN = '##.###.###';
|
|
550
551
|
class MaskUtil {
|
|
551
552
|
static formatDocument(stringValue) {
|
|
552
553
|
if (!stringValue) {
|
|
@@ -584,6 +585,9 @@ class MaskUtil {
|
|
|
584
585
|
static formatPlate(stringValue) {
|
|
585
586
|
return this.doMaskString(stringValue, PLATE_PATTERN);
|
|
586
587
|
}
|
|
588
|
+
static formatDni(stringValue) {
|
|
589
|
+
return this.doMaskString(stringValue, DNI_PATTERN);
|
|
590
|
+
}
|
|
587
591
|
static doMaskString(str, pattern) {
|
|
588
592
|
if (!(str === null || str === void 0 ? void 0 : str.trim())) {
|
|
589
593
|
return '';
|
|
@@ -603,7 +607,8 @@ MaskUtil.CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';
|
|
|
603
607
|
MaskUtil.PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';
|
|
604
608
|
MaskUtil.POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';
|
|
605
609
|
MaskUtil.PLATE_FIELD_PATTERN = 'aaa-9*99';
|
|
606
|
-
MaskUtil.HOURS_MINUTES_FIELD_PATTERN = '99:99';
|
|
610
|
+
MaskUtil.HOURS_MINUTES_FIELD_PATTERN = '99:99';
|
|
611
|
+
MaskUtil.DNI_FIELD_PATTERN = '99.999.999';
|
|
607
612
|
|
|
608
613
|
class ObjectUtil {
|
|
609
614
|
static getObjectKeys(obj) {
|
|
@@ -3163,6 +3168,8 @@ class TextareaFieldComponent {
|
|
|
3163
3168
|
this.isRequired = false;
|
|
3164
3169
|
this.label = '';
|
|
3165
3170
|
this.maxlength = '';
|
|
3171
|
+
this.rows = 5;
|
|
3172
|
+
this.cols = 10;
|
|
3166
3173
|
this.blurEvent = new EventEmitter();
|
|
3167
3174
|
this.enterKeyPress = new EventEmitter();
|
|
3168
3175
|
this.focusEvent = new EventEmitter();
|
|
@@ -3209,16 +3216,20 @@ class TextareaFieldComponent {
|
|
|
3209
3216
|
}
|
|
3210
3217
|
}
|
|
3211
3218
|
TextareaFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3212
|
-
TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextareaFieldComponent, selector: "vector-textarea-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"
|
|
3219
|
+
TextareaFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TextareaFieldComponent, selector: "vector-textarea-field", inputs: { isRequired: "isRequired", label: "label", maxlength: "maxlength", rows: "rows", cols: "cols", control: "control" }, outputs: { blurEvent: "blurEvent", enterKeyPress: "enterKeyPress", focusEvent: "focusEvent" }, ngImport: i0, template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: [".input-container{width:100%;position:relative}.input-container .length-control{position:absolute;right:15px;bottom:15px;opacity:.8;font-size:.6rem}\n"], directives: [{ type: i2$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$8.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize"], outputs: ["onResize"] }, { type: i2$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2$5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }] });
|
|
3213
3220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TextareaFieldComponent, decorators: [{
|
|
3214
3221
|
type: Component,
|
|
3215
|
-
args: [{ selector: 'vector-textarea-field', template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"
|
|
3222
|
+
args: [{ selector: 'vector-textarea-field', template: "<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n", styles: [".input-container{width:100%;position:relative}.input-container .length-control{position:absolute;right:15px;bottom:15px;opacity:.8;font-size:.6rem}\n"] }]
|
|
3216
3223
|
}], propDecorators: { isRequired: [{
|
|
3217
3224
|
type: Input
|
|
3218
3225
|
}], label: [{
|
|
3219
3226
|
type: Input
|
|
3220
3227
|
}], maxlength: [{
|
|
3221
3228
|
type: Input
|
|
3229
|
+
}], rows: [{
|
|
3230
|
+
type: Input
|
|
3231
|
+
}], cols: [{
|
|
3232
|
+
type: Input
|
|
3222
3233
|
}], control: [{
|
|
3223
3234
|
type: Input
|
|
3224
3235
|
}], blurEvent: [{
|