UNPKG

@vendasta/store

Version:

Components and data for Store

36 lines 4.47 kB
import { Injectable } from '@angular/core'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import * as i0 from "@angular/core"; export class FieldService { createFormControl(field) { if (field.required) { return new FormControl(field.value, Validators.required); } else { return new FormControl(field.value); } } toFormGroup(formFields, subscriptions) { const group = {}; formFields.forEach((field) => { let 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((value) => (field.value = value))); } }); return new FormGroup(group); } } FieldService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FieldService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); FieldService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FieldService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: FieldService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3RvcmUvc3JjL2xpYi9vcmRlci1mb3JtL2ZpZWxkcy9maWVsZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSXBFLE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLGlCQUFpQixDQUFDLEtBQXFCO1FBQ3JDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsVUFBNEIsRUFBRSxhQUE2QjtRQUNyRSxNQUFNLEtBQUssR0FBUSxFQUFFLENBQUM7UUFDdEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzNCLElBQUksV0FBd0IsQ0FBQztZQUM3QixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssVUFBVSxFQUFFO2dCQUNwQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVDO2lCQUFNO2dCQUNMLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0M7WUFDRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUM5QixJQUFJLGFBQWEsRUFBRTtnQkFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDOzt5R0F4QlUsWUFBWTs2R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tICcuL2ZpZWxkLWJhc2UnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmllbGRTZXJ2aWNlIHtcbiAgY3JlYXRlRm9ybUNvbnRyb2woZmllbGQ6IEZpZWxkQmFzZTxhbnk+KTogRm9ybUNvbnRyb2wge1xuICAgIGlmIChmaWVsZC5yZXF1aXJlZCkge1xuICAgICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbChmaWVsZC52YWx1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgRm9ybUNvbnRyb2woZmllbGQudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHRvRm9ybUdyb3VwKGZvcm1GaWVsZHM6IEZpZWxkQmFzZTxhbnk+W10sIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdKTogRm9ybUdyb3VwIHtcbiAgICBjb25zdCBncm91cDogYW55ID0ge307XG4gICAgZm9ybUZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgbGV0IGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgICAgIGlmIChmaWVsZC5jb250cm9sVHlwZSA9PT0gJ2NoZWNrYm94Jykge1xuICAgICAgICBmb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChmaWVsZC52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3JtQ29udHJvbCA9IHRoaXMuY3JlYXRlRm9ybUNvbnRyb2woZmllbGQpO1xuICAgICAgfVxuICAgICAgZ3JvdXBbZmllbGQuaWRdID0gZm9ybUNvbnRyb2w7XG4gICAgICBpZiAoc3Vic2NyaXB0aW9ucykge1xuICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsdWUpID0+IChmaWVsZC52YWx1ZSA9IHZhbHVlKSkpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKGdyb3VwKTtcbiAgfVxufVxuIl19