UNPKG

@vendasta/store

Version:

Components and data for Store

62 lines 4.79 kB
/** * @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