@formql/core
Version:
FormQL - A framework for building dynamic forms
85 lines • 10.6 kB
JavaScript
var FormQLInputComponent_1;
import { __decorate, __metadata } from "tslib";
import { Component, Input, forwardRef } from '@angular/core';
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, Validators, FormControl } from '@angular/forms';
import { createNumberMask, createAutoCorrectedDatePipe } from 'text-mask-addons';
import { HelperService } from '../services/helper.service';
let FormQLInputComponent = FormQLInputComponent_1 = class FormQLInputComponent {
ngOnInit() {
if (this.field && this.field.textMask && this.field.type) {
switch (this.field.type) {
case 'number':
this.mask = createNumberMask(JSON.parse(this.field.textMask));
break;
case 'date':
this.mask = createAutoCorrectedDatePipe(this.field.textMask);
break;
case 'text':
this.mask = HelperService.maskToArray(this.field.textMask);
break;
}
}
}
get value() {
return this._value;
}
set value(value) {
this._value = value;
}
writeValue(value) {
if (value)
this._value = value;
}
registerOnChange(fn) { }
registerOnTouched(fn) { }
};
FormQLInputComponent.componentName = 'FormQLInputComponent';
FormQLInputComponent.formQLComponent = true;
FormQLInputComponent.validators = [
{
name: 'Required',
validator: Validators.required,
key: 'required'
}
];
__decorate([
Input(),
__metadata("design:type", Object)
], FormQLInputComponent.prototype, "field", void 0);
__decorate([
Input(),
__metadata("design:type", FormControl)
], FormQLInputComponent.prototype, "formControl", void 0);
FormQLInputComponent = FormQLInputComponent_1 = __decorate([
Component({
selector: 'formql-input',
template: `<div *ngIf="formControl!=null">
<label [attr.for]="field.componentId"
[ngClass]="{'fql-bundle-label-required': field.rules?.required?.value}">{{field.label}}</label>
<div>
<input *ngIf="!mask" [id]="field.componentId" [type]="field.type"
[formControl]="formControl" class="fql-bundle-field-input" [tabIndex]="field.tabIndex"
[attr.disabled]="formControl.disabled ? '' : null">
<input *ngIf="mask" [textMask]="{ mask: mask, guide: false}" [id]="field.componentId" type="text"
[formControl]="formControl"
class="fql-bundle-field-input" [tabIndex]="field.tabIndex"
[attr.disabled]="formControl.disabled ? '' : null">
</div>
</div>`,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => FormQLInputComponent_1),
multi: true
},
{
provide: NG_VALIDATORS,
useExisting: forwardRef(() => FormQLInputComponent_1),
multi: true
}
],
styles: [".fql-bundle-field-input{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fql-bundle-checkbox-input{cursor:pointer;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box}.fql-bundle-label-required:after{content:\" *\";color:red}.fql-bundle-field-radio{cursor:pointer}.fql-error-message{text-align:center;padding:20px}.fql-dnd-container-separator{box-shadow:0 -2px 0 #00f}.fql-dnd-container-drop-area{outline:dashed 3px}"]
})
], FormQLInputComponent);
export { FormQLInputComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bmb3JtcWwvY29yZS8iLCJzb3VyY2VzIjpbImJ1bmRsZS9mb3JtcWwtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFnQzNELElBQWEsb0JBQW9CLDRCQUFqQyxNQUFhLG9CQUFvQjtJQW1CN0IsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUN0RCxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUNyQixLQUFLLFFBQVE7b0JBQ1QsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDbEUsTUFBTTtnQkFFTixLQUFLLE1BQU07b0JBQ1AsSUFBSSxDQUFDLElBQUksR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNqRSxNQUFNO2dCQUVOLEtBQUssTUFBTTtvQkFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDL0QsTUFBTTthQUNUO1NBQ0o7SUFDTCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBRUwsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUNwQixJQUFJLEtBQUs7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFFbEMsaUJBQWlCLENBQUMsRUFBTyxJQUFVLENBQUM7Q0FDdkMsQ0FBQTtBQXBEVSxrQ0FBYSxHQUFHLHNCQUFzQixDQUFDO0FBQ3ZDLG9DQUFlLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLCtCQUFVLEdBQUc7SUFDRDtRQUNYLElBQUksRUFBRSxVQUFVO1FBQ2hCLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUTtRQUM5QixHQUFHLEVBQUUsVUFBVTtLQUNsQjtDQUNKLENBQUM7QUFFTztJQUFSLEtBQUssRUFBRTs7bURBQTJCO0FBQzFCO0lBQVIsS0FBSyxFQUFFOzhCQUFjLFdBQVc7eURBQUM7QUFiekIsb0JBQW9CO0lBNUJoQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsY0FBYztRQUV4QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztlQVlDO1FBQ1gsU0FBUyxFQUFFO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBb0IsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDZDtZQUNEO2dCQUNJLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFvQixDQUFDO2dCQUNuRCxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQUM7O0tBQ1QsQ0FBQztHQUNXLG9CQUFvQixDQXNEaEM7U0F0RFksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgZm9yd2FyZFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUywgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1jb21wb25lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBjcmVhdGVOdW1iZXJNYXNrLCBjcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUgfSBmcm9tICd0ZXh0LW1hc2stYWRkb25zJztcclxuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2hlbHBlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybVZhbGlkYXRvciB9IGZyb20gJy4uL21vZGVscy9ydWxlLm1vZGVsJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZm9ybXFsLWlucHV0JyxcclxuICAgIHN0eWxlVXJsczogWycuL2Zvcm1xbC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgdGVtcGxhdGU6IGA8ZGl2ICpuZ0lmPVwiZm9ybUNvbnRyb2whPW51bGxcIj5cclxuICAgICAgICA8bGFiZWwgW2F0dHIuZm9yXT1cImZpZWxkLmNvbXBvbmVudElkXCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydmcWwtYnVuZGxlLWxhYmVsLXJlcXVpcmVkJzogZmllbGQucnVsZXM/LnJlcXVpcmVkPy52YWx1ZX1cIj57e2ZpZWxkLmxhYmVsfX08L2xhYmVsPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxpbnB1dCAqbmdJZj1cIiFtYXNrXCIgW2lkXT1cImZpZWxkLmNvbXBvbmVudElkXCIgW3R5cGVdPVwiZmllbGQudHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBjbGFzcz1cImZxbC1idW5kbGUtZmllbGQtaW5wdXRcIiBbdGFiSW5kZXhdPVwiZmllbGQudGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZm9ybUNvbnRyb2wuZGlzYWJsZWQgPyAnJyA6IG51bGxcIj5cclxuICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwibWFza1wiIFt0ZXh0TWFza109XCJ7IG1hc2s6IG1hc2ssIGd1aWRlOiBmYWxzZX1cIiBbaWRdPVwiZmllbGQuY29tcG9uZW50SWRcIiB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmcWwtYnVuZGxlLWZpZWxkLWlucHV0XCIgW3RhYkluZGV4XT1cImZpZWxkLnRhYkluZGV4XCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImZvcm1Db250cm9sLmRpc2FibGVkID8gJycgOiBudWxsXCI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+YCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1RTElucHV0Q29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9ybVFMSW5wdXRDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtUUxJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xyXG5cclxuICAgIHN0YXRpYyBjb21wb25lbnROYW1lID0gJ0Zvcm1RTElucHV0Q29tcG9uZW50JztcclxuICAgIHN0YXRpYyBmb3JtUUxDb21wb25lbnQgPSB0cnVlO1xyXG4gICAgc3RhdGljIHZhbGlkYXRvcnMgPSBbXHJcbiAgICAgICAgPEZvcm1WYWxpZGF0b3I+e1xyXG4gICAgICAgICAgICBuYW1lOiAnUmVxdWlyZWQnLFxyXG4gICAgICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgIGtleTogJ3JlcXVpcmVkJ1xyXG4gICAgICAgIH1cclxuICAgIF07XHJcblxyXG4gICAgQElucHV0KCkgZmllbGQ6IEZvcm1Db21wb25lbnQ8YW55PjtcclxuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gICAgcHVibGljIG1hc2s6IGFueTtcclxuXHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC50ZXh0TWFzayAmJiB0aGlzLmZpZWxkLnR5cGUpIHtcclxuICAgICAgICAgICAgc3dpdGNoICh0aGlzLmZpZWxkLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXNrID0gY3JlYXRlTnVtYmVyTWFzayhKU09OLnBhcnNlKHRoaXMuZmllbGQudGV4dE1hc2spKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFzayA9IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSh0aGlzLmZpZWxkLnRleHRNYXNrKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFzayA9IEhlbHBlclNlcnZpY2UubWFza1RvQXJyYXkodGhpcy5maWVsZC50ZXh0TWFzayk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXQgdmFsdWUoKTogYW55IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCB2YWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7fVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgfVxyXG59XHJcbiJdfQ==