@formql/core
Version:
FormQL - A framework for building dynamic forms
81 lines • 11.3 kB
JavaScript
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';
var FormQLInputComponent = /** @class */ (function () {
function FormQLInputComponent() {
}
FormQLInputComponent_1 = FormQLInputComponent;
FormQLInputComponent.prototype.ngOnInit = function () {
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;
}
}
};
Object.defineProperty(FormQLInputComponent.prototype, "value", {
get: function () {
return this._value;
},
set: function (value) {
this._value = value;
},
enumerable: true,
configurable: true
});
FormQLInputComponent.prototype.writeValue = function (value) {
if (value)
this._value = value;
};
FormQLInputComponent.prototype.registerOnChange = function (fn) { };
FormQLInputComponent.prototype.registerOnTouched = function (fn) { };
var FormQLInputComponent_1;
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\">\n <label [attr.for]=\"field.componentId\"\n [ngClass]=\"{'fql-bundle-label-required': field.rules?.required?.value}\">{{field.label}}</label>\n <div>\n <input *ngIf=\"!mask\" [id]=\"field.componentId\" [type]=\"field.type\"\n [formControl]=\"formControl\" class=\"fql-bundle-field-input\" [tabIndex]=\"field.tabIndex\"\n [attr.disabled]=\"formControl.disabled ? '' : null\">\n <input *ngIf=\"mask\" [textMask]=\"{ mask: mask, guide: false}\" [id]=\"field.componentId\" type=\"text\"\n [formControl]=\"formControl\"\n class=\"fql-bundle-field-input\" [tabIndex]=\"field.tabIndex\"\n [attr.disabled]=\"formControl.disabled ? '' : null\">\n </div>\n </div>",
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(function () { return FormQLInputComponent_1; }),
multi: true
},
{
provide: NG_VALIDATORS,
useExisting: forwardRef(function () { return 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);
return FormQLInputComponent;
}());
export { FormQLInputComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXFsLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bmb3JtcWwvY29yZS8iLCJzb3VyY2VzIjpbImJ1bmRsZS9mb3JtcWwtaW5wdXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWdDM0Q7SUFBQTtJQXNEQSxDQUFDOzZCQXREWSxvQkFBb0I7SUFtQjdCLHVDQUFRLEdBQVI7UUFDSSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDdEQsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDckIsS0FBSyxRQUFRO29CQUNULElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ2xFLE1BQU07Z0JBRU4sS0FBSyxNQUFNO29CQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDakUsTUFBTTtnQkFFTixLQUFLLE1BQU07b0JBQ1AsSUFBSSxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQy9ELE1BQU07YUFDVDtTQUNKO0lBQ0wsQ0FBQztJQUVELHNCQUFJLHVDQUFLO2FBQVQ7WUFFSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQzthQUVELFVBQVUsS0FBVTtZQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDOzs7T0FKQTtJQU1ELHlDQUFVLEdBQVYsVUFBVyxLQUFhO1FBQ3BCLElBQUksS0FBSztZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCwrQ0FBZ0IsR0FBaEIsVUFBaUIsRUFBTyxJQUFTLENBQUM7SUFFbEMsZ0RBQWlCLEdBQWpCLFVBQWtCLEVBQU8sSUFBVSxDQUFDOztJQW5EN0Isa0NBQWEsR0FBRyxzQkFBc0IsQ0FBQztJQUN2QyxvQ0FBZSxHQUFHLElBQUksQ0FBQztJQUN2QiwrQkFBVSxHQUFHO1FBQ0Q7WUFDWCxJQUFJLEVBQUUsVUFBVTtZQUNoQixTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDOUIsR0FBRyxFQUFFLFVBQVU7U0FDbEI7S0FDSixDQUFDO0lBRU87UUFBUixLQUFLLEVBQUU7O3VEQUEyQjtJQUMxQjtRQUFSLEtBQUssRUFBRTtrQ0FBYyxXQUFXOzZEQUFDO0lBYnpCLG9CQUFvQjtRQTVCaEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGNBQWM7WUFFeEIsUUFBUSxFQUFFLDR6QkFZQztZQUNYLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSxzQkFBb0IsRUFBcEIsQ0FBb0IsQ0FBQztvQkFDbkQsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLHNCQUFvQixFQUFwQixDQUFvQixDQUFDO29CQUNuRCxLQUFLLEVBQUUsSUFBSTtpQkFDZDthQUFDOztTQUNULENBQUM7T0FDVyxvQkFBb0IsQ0FzRGhDO0lBQUQsMkJBQUM7Q0FBQSxBQXRERCxJQXNEQztTQXREWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBmb3J3YXJkUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL21vZGVscy9mb3JtLWNvbXBvbmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IGNyZWF0ZU51bWJlck1hc2ssIGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSB9IGZyb20gJ3RleHQtbWFzay1hZGRvbnMnO1xyXG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvaGVscGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtVmFsaWRhdG9yIH0gZnJvbSAnLi4vbW9kZWxzL3J1bGUubW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdmb3JtcWwtaW5wdXQnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybXFsLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZTogYDxkaXYgKm5nSWY9XCJmb3JtQ29udHJvbCE9bnVsbFwiPlxyXG4gICAgICAgIDxsYWJlbCBbYXR0ci5mb3JdPVwiZmllbGQuY29tcG9uZW50SWRcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ZxbC1idW5kbGUtbGFiZWwtcmVxdWlyZWQnOiBmaWVsZC5ydWxlcz8ucmVxdWlyZWQ/LnZhbHVlfVwiPnt7ZmllbGQubGFiZWx9fTwvbGFiZWw+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGlucHV0ICpuZ0lmPVwiIW1hc2tcIiBbaWRdPVwiZmllbGQuY29tcG9uZW50SWRcIiBbdHlwZV09XCJmaWVsZC50eXBlXCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIGNsYXNzPVwiZnFsLWJ1bmRsZS1maWVsZC1pbnB1dFwiIFt0YWJJbmRleF09XCJmaWVsZC50YWJJbmRleFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJmb3JtQ29udHJvbC5kaXNhYmxlZCA/ICcnIDogbnVsbFwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgKm5nSWY9XCJtYXNrXCIgW3RleHRNYXNrXT1cInsgbWFzazogbWFzaywgZ3VpZGU6IGZhbHNlfVwiIFtpZF09XCJmaWVsZC5jb21wb25lbnRJZFwiIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZxbC1idW5kbGUtZmllbGQtaW5wdXRcIiBbdGFiSW5kZXhdPVwiZmllbGQudGFiSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZm9ybUNvbnRyb2wuZGlzYWJsZWQgPyAnJyA6IG51bGxcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5gLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm9ybVFMSW5wdXRDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGb3JtUUxJbnB1dENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1RTElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcblxyXG4gICAgc3RhdGljIGNvbXBvbmVudE5hbWUgPSAnRm9ybVFMSW5wdXRDb21wb25lbnQnO1xyXG4gICAgc3RhdGljIGZvcm1RTENvbXBvbmVudCA9IHRydWU7XHJcbiAgICBzdGF0aWMgdmFsaWRhdG9ycyA9IFtcclxuICAgICAgICA8Rm9ybVZhbGlkYXRvcj57XHJcbiAgICAgICAgICAgIG5hbWU6ICdSZXF1aXJlZCcsXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAga2V5OiAncmVxdWlyZWQnXHJcbiAgICAgICAgfVxyXG4gICAgXTtcclxuXHJcbiAgICBASW5wdXQoKSBmaWVsZDogRm9ybUNvbXBvbmVudDxhbnk+O1xyXG4gICAgQElucHV0KCkgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuICAgIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgbWFzazogYW55O1xyXG5cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5maWVsZCAmJiB0aGlzLmZpZWxkLnRleHRNYXNrICYmIHRoaXMuZmllbGQudHlwZSkge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMuZmllbGQudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hc2sgPSBjcmVhdGVOdW1iZXJNYXNrKEpTT04ucGFyc2UodGhpcy5maWVsZC50ZXh0TWFzaykpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXNrID0gY3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlKHRoaXMuZmllbGQudGV4dE1hc2spO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgY2FzZSAndGV4dCc6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXNrID0gSGVscGVyU2VydmljZS5tYXNrVG9BcnJheSh0aGlzLmZpZWxkLnRleHRNYXNrKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh2YWx1ZSlcclxuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHt9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQgeyB9XHJcbn1cclxuIl19