@vendasta/store
Version:
Components and data for Store
62 lines • 4.79 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
var FieldService = /** @class */ (function () {
function FieldService() {
}
/**
* @param {?} field
* @return {?}
*/
FieldService.prototype.createFormControl = /**
* @param {?} field
* @return {?}
*/
function (field) {
if (field.required) {
return new FormControl(field.value, Validators.required);
}
else {
return new FormControl(field.value);
}
};
/**
* @param {?} formFields
* @param {?} subscriptions
* @return {?}
*/
FieldService.prototype.toFormGroup = /**
* @param {?} formFields
* @param {?} subscriptions
* @return {?}
*/
function (formFields, subscriptions) {
var _this = this;
/** @type {?} */
var group = {};
formFields.forEach(function (field) {
/** @type {?} */
var formControl;
if (field.controlType === 'checkbox') {
formControl = new FormControl(field.value);
}
else {
formControl = _this.createFormControl(field);
}
group[field.id] = formControl;
if (subscriptions) {
subscriptions.push(formControl.valueChanges.subscribe(function (value) { return (field.value = value); }));
}
});
return new FormGroup(group);
};
FieldService.decorators = [
{ type: Injectable }
];
return FieldService;
}());
export { FieldService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B2ZW5kYXN0YS9zdG9yZS8iLCJzb3VyY2VzIjpbImxpYi9vcmRlci1mb3JtL2ZpZWxkcy9maWVsZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3BFO0lBQUE7SUEwQkEsQ0FBQzs7Ozs7SUF4QkMsd0NBQWlCOzs7O0lBQWpCLFVBQWtCLEtBQXFCO1FBQ3JDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7Ozs7OztJQUVELGtDQUFXOzs7OztJQUFYLFVBQVksVUFBNEIsRUFBRSxhQUE2QjtRQUF2RSxpQkFlQzs7WUFkTyxLQUFLLEdBQVEsRUFBRTtRQUNyQixVQUFVLENBQUMsT0FBTyxDQUFDLFVBQUEsS0FBSzs7Z0JBQ2xCLFdBQXdCO1lBQzVCLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxVQUFVLEVBQUU7Z0JBQ3BDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUM7aUJBQU07Z0JBQ0wsV0FBVyxHQUFHLEtBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM3QztZQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDO1lBQzlCLElBQUksYUFBYSxFQUFFO2dCQUNqQixhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQUEsS0FBSyxJQUFJLE9BQUEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxFQUFyQixDQUFxQixDQUFDLENBQUMsQ0FBQzthQUN4RjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOztnQkF6QkYsVUFBVTs7SUEwQlgsbUJBQUM7Q0FBQSxBQTFCRCxJQTBCQztTQXpCWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSAnLi9maWVsZC1iYXNlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpZWxkU2VydmljZSB7XG4gIGNyZWF0ZUZvcm1Db250cm9sKGZpZWxkOiBGaWVsZEJhc2U8YW55Pik6IEZvcm1Db250cm9sIHtcbiAgICBpZiAoZmllbGQucmVxdWlyZWQpIHtcbiAgICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2woZmllbGQudmFsdWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IEZvcm1Db250cm9sKGZpZWxkLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB0b0Zvcm1Hcm91cChmb3JtRmllbGRzOiBGaWVsZEJhc2U8YW55PltdLCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSk6IEZvcm1Hcm91cCB7XG4gICAgY29uc3QgZ3JvdXA6IGFueSA9IHt9O1xuICAgIGZvcm1GaWVsZHMuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICBsZXQgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICAgICAgaWYgKGZpZWxkLmNvbnRyb2xUeXBlID09PSAnY2hlY2tib3gnKSB7XG4gICAgICAgIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKGZpZWxkLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvcm1Db250cm9sID0gdGhpcy5jcmVhdGVGb3JtQ29udHJvbChmaWVsZCk7XG4gICAgICB9XG4gICAgICBncm91cFtmaWVsZC5pZF0gPSBmb3JtQ29udHJvbDtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25zKSB7XG4gICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaChmb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IChmaWVsZC52YWx1ZSA9IHZhbHVlKSkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKGdyb3VwKTtcbiAgfVxufVxuIl19