angular-bootstrap-italia
Version:
<p align="center"> <h1 align="center">Bootstrap Italia + Angular 9</h1>
33 lines • 4.23 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
var DynamicFormControlService = /** @class */ (function () {
function DynamicFormControlService() {
}
DynamicFormControlService.prototype.toFormGroup = function (fields, defaultState) {
if (defaultState === void 0) { defaultState = null; }
var group = {};
fields.forEach(function (field) {
var defaultValue;
if (typeof field.value === 'boolean') {
defaultValue = false;
}
else {
defaultValue = '';
}
if (defaultState) {
defaultValue = defaultState[field.key];
}
group[field.key] = field.required ?
new FormControl({ value: field.value || defaultValue, disabled: field.disabled }, Validators.required)
: new FormControl({ value: field.value || defaultValue, disabled: field.disabled });
});
return new FormGroup(group);
};
DynamicFormControlService = __decorate([
Injectable()
], DynamicFormControlService);
return DynamicFormControlService;
}());
export { DynamicFormControlService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYm9vdHN0cmFwLWl0YWxpYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0tY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXBFO0lBQ0U7SUFBZ0IsQ0FBQztJQUVqQiwrQ0FBVyxHQUFYLFVBQVksTUFBdUIsRUFBRSxZQUF3QjtRQUF4Qiw2QkFBQSxFQUFBLG1CQUF3QjtRQUMzRCxJQUFNLEtBQUssR0FBUSxFQUFFLENBQUM7UUFFdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFBLEtBQUs7WUFDbEIsSUFBSSxZQUFZLENBQUM7WUFFakIsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUNwQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLFlBQVksR0FBRyxFQUFFLENBQUM7YUFDbkI7WUFFRCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEM7WUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakMsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUN0RyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBeEJVLHlCQUF5QjtRQURyQyxVQUFVLEVBQUU7T0FDQSx5QkFBeUIsQ0F5QnJDO0lBQUQsZ0NBQUM7Q0FBQSxBQXpCRCxJQXlCQztTQXpCWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtQmFzZSB9IGZyb20gJy4uL2Zvcm0vZm9ybS1iYXNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNvbnRyb2xTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB0b0Zvcm1Hcm91cChmaWVsZHM6IEZvcm1CYXNlPGFueT5bXSwgZGVmYXVsdFN0YXRlOiBhbnkgPSBudWxsKSB7XHJcbiAgICBjb25zdCBncm91cDogYW55ID0ge307XHJcblxyXG4gICAgZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBsZXQgZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgICAgaWYgKHR5cGVvZiBmaWVsZC52YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gJyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkZWZhdWx0U3RhdGUpIHtcclxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBkZWZhdWx0U3RhdGVbZmllbGQua2V5XTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZ3JvdXBbZmllbGQua2V5XSA9IGZpZWxkLnJlcXVpcmVkID9cclxuICAgICAgICBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogZmllbGQudmFsdWUgfHwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZDogZmllbGQuZGlzYWJsZWQgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgICAgICA6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBmaWVsZC52YWx1ZSB8fCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkOiBmaWVsZC5kaXNhYmxlZCB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoZ3JvdXApO1xyXG4gIH1cclxufVxyXG4iXX0=