angular-bootstrap-italia
Version:
<p align="center"> <h1 align="center">Bootstrap Italia + Angular 9</h1>
30 lines • 4.04 kB
JavaScript
import { __decorate } from "tslib";
import { Injectable } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
let DynamicFormControlService = class DynamicFormControlService {
constructor() { }
toFormGroup(fields, defaultState = null) {
const group = {};
fields.forEach(field => {
let 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);
export { DynamicFormControlService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYm9vdHN0cmFwLWl0YWxpYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0tY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXBFLElBQWEseUJBQXlCLEdBQXRDLE1BQWEseUJBQXlCO0lBQ3BDLGdCQUFnQixDQUFDO0lBRWpCLFdBQVcsQ0FBQyxNQUF1QixFQUFFLGVBQW9CLElBQUk7UUFDM0QsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBRXRCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsSUFBSSxZQUFZLENBQUM7WUFFakIsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO2dCQUNwQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLFlBQVksR0FBRyxFQUFFLENBQUM7YUFDbkI7WUFFRCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDeEM7WUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakMsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUN0RyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0YsQ0FBQTtBQXpCWSx5QkFBeUI7SUFEckMsVUFBVSxFQUFFO0dBQ0EseUJBQXlCLENBeUJyQztTQXpCWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtQmFzZSB9IGZyb20gJy4uL2Zvcm0vZm9ybS1iYXNlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNvbnRyb2xTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICB0b0Zvcm1Hcm91cChmaWVsZHM6IEZvcm1CYXNlPGFueT5bXSwgZGVmYXVsdFN0YXRlOiBhbnkgPSBudWxsKSB7XHJcbiAgICBjb25zdCBncm91cDogYW55ID0ge307XHJcblxyXG4gICAgZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBsZXQgZGVmYXVsdFZhbHVlO1xyXG5cclxuICAgICAgaWYgKHR5cGVvZiBmaWVsZC52YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlID0gJyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChkZWZhdWx0U3RhdGUpIHtcclxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBkZWZhdWx0U3RhdGVbZmllbGQua2V5XTtcclxuICAgICAgfVxyXG5cclxuICAgICAgZ3JvdXBbZmllbGQua2V5XSA9IGZpZWxkLnJlcXVpcmVkID9cclxuICAgICAgICBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogZmllbGQudmFsdWUgfHwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZDogZmllbGQuZGlzYWJsZWQgfSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICAgICAgICA6IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBmaWVsZC52YWx1ZSB8fCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkOiBmaWVsZC5kaXNhYmxlZCB9KTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5ldyBGb3JtR3JvdXAoZ3JvdXApO1xyXG4gIH1cclxufVxyXG4iXX0=