UNPKG

@skireal/form-builder

Version:
56 lines 7.53 kB
import { __decorate } from "tslib"; import { Injectable } from '@angular/core'; import { defaultFormOptionsObject } from '../constants/form-constants'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; let FormDataService = class FormDataService { constructor() { this.formOptionsFull = new BehaviorSubject(defaultFormOptionsObject); } setFormData(data) { this.formOptionsFull.next(data); } getFormData() { return this.formOptionsFull.asObservable(); } prepareFormData(formData) { const formOptionsFullObject = formData; const formDataSteps = formData.formData.steps; formDataSteps.forEach((stepFormData, index) => { const stepData = []; stepFormData.addedFields.forEach((field) => { var _a, _b, _c; const fieldData = Object.assign({}, field); if ('step' in fieldData) { delete fieldData.step; } if (fieldData.type === 'need-contact') { delete fieldData.options; } const hasNonRequiredValidator = (_a = field.validators) === null || _a === void 0 ? void 0 : _a.some((validator) => validator.type !== 'required'); const hasRequiredValidator = (_b = field.validators) === null || _b === void 0 ? void 0 : _b.some((validator) => validator.type === 'required'); if (hasNonRequiredValidator && !hasRequiredValidator) { (_c = fieldData.validators) === null || _c === void 0 ? void 0 : _c.push({ type: 'required', errormsg: 'This field is required' }); } stepData.push(fieldData); }); formOptionsFullObject.formData.steps[index] = { title: `Step ${index + 1}`, addedFields: stepData, conditionalLogicBlocks: stepFormData.conditionalLogicBlocks }; }); return formOptionsFullObject; } }; FormDataService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormDataService_Factory() { return new FormDataService(); }, token: FormDataService, providedIn: "root" }); FormDataService = __decorate([ Injectable({ providedIn: 'root' }) ], FormDataService); export { FormDataService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2tpcmVhbC9mb3JtLWJ1aWxkZXIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZm9ybS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFLbkQsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZTtJQUE1QjtRQUNVLG9CQUFlLEdBQXFDLElBQUksZUFBZSxDQUM3RSx3QkFBd0IsQ0FDekIsQ0FBQztLQXNESDtJQXBEQyxXQUFXLENBQUMsSUFBcUI7UUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUF5QjtRQUN2QyxNQUFNLHFCQUFxQixHQUFvQixRQUFRLENBQUM7UUFDeEQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFFOUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUM1QyxNQUFNLFFBQVEsR0FBZ0IsRUFBRSxDQUFDO1lBRWpDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7O2dCQUN6QyxNQUFNLFNBQVMscUJBQW1CLEtBQUssQ0FBRSxDQUFDO2dCQUUxQyxJQUFJLE1BQU0sSUFBSSxTQUFTLEVBQUU7b0JBQ3ZCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztpQkFDdkI7Z0JBRUQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtvQkFDckMsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO2lCQUMxQjtnQkFFRCxNQUFNLHVCQUF1QixTQUFHLEtBQUssQ0FBQyxVQUFVLDBDQUFFLElBQUksQ0FDcEQsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUM3QyxDQUFDO2dCQUNGLE1BQU0sb0JBQW9CLFNBQUcsS0FBSyxDQUFDLFVBQVUsMENBQUUsSUFBSSxDQUNqRCxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxVQUFVLENBQzdDLENBQUM7Z0JBRUYsSUFBSSx1QkFBdUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFO29CQUNwRCxNQUFBLFNBQVMsQ0FBQyxVQUFVLDBDQUFFLElBQUksQ0FBQzt3QkFDekIsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7cUJBQ25DLEVBQUU7aUJBQ0o7Z0JBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUVILHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUc7Z0JBQzVDLEtBQUssRUFBRSxRQUFRLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixzQkFBc0IsRUFBRSxZQUFZLENBQUMsc0JBQXNCO2FBQzVELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztDQUNGLENBQUE7O0FBekRZLGVBQWU7SUFIM0IsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQztHQUNXLGVBQWUsQ0F5RDNCO1NBekRZLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZvcm1PcHRpb25zRnVsbCB9IGZyb20gJy4uL21vZGVscy9mb3JtLWNvbnN0cnVjdG9yLm1vZGVsJztcbmltcG9ydCB7IGRlZmF1bHRGb3JtT3B0aW9uc09iamVjdCB9IGZyb20gJy4uL2NvbnN0YW50cy9mb3JtLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybURhdGFTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBmb3JtT3B0aW9uc0Z1bGw6IEJlaGF2aW9yU3ViamVjdDxGb3JtT3B0aW9uc0Z1bGw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtT3B0aW9uc0Z1bGw+KFxuICAgIGRlZmF1bHRGb3JtT3B0aW9uc09iamVjdFxuICApO1xuXG4gIHNldEZvcm1EYXRhKGRhdGE6IEZvcm1PcHRpb25zRnVsbCkge1xuICAgIHRoaXMuZm9ybU9wdGlvbnNGdWxsLm5leHQoZGF0YSk7XG4gIH1cblxuICBnZXRGb3JtRGF0YSgpOiBPYnNlcnZhYmxlPEZvcm1PcHRpb25zRnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmZvcm1PcHRpb25zRnVsbC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByZXBhcmVGb3JtRGF0YShmb3JtRGF0YTogRm9ybU9wdGlvbnNGdWxsKTogRm9ybU9wdGlvbnNGdWxsIHtcbiAgICBjb25zdCBmb3JtT3B0aW9uc0Z1bGxPYmplY3Q6IEZvcm1PcHRpb25zRnVsbCA9IGZvcm1EYXRhO1xuICAgIGNvbnN0IGZvcm1EYXRhU3RlcHMgPSBmb3JtRGF0YS5mb3JtRGF0YS5zdGVwcztcblxuICAgIGZvcm1EYXRhU3RlcHMuZm9yRWFjaCgoc3RlcEZvcm1EYXRhLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3Qgc3RlcERhdGE6IEZvcm1GaWVsZFtdID0gW107XG5cbiAgICAgIHN0ZXBGb3JtRGF0YS5hZGRlZEZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZERhdGE6IEZvcm1GaWVsZCA9IHsgLi4uZmllbGQgfTtcblxuICAgICAgICBpZiAoJ3N0ZXAnIGluIGZpZWxkRGF0YSkge1xuICAgICAgICAgIGRlbGV0ZSBmaWVsZERhdGEuc3RlcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmaWVsZERhdGEudHlwZSA9PT0gJ25lZWQtY29udGFjdCcpIHtcbiAgICAgICAgICBkZWxldGUgZmllbGREYXRhLm9wdGlvbnM7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBoYXNOb25SZXF1aXJlZFZhbGlkYXRvciA9IGZpZWxkLnZhbGlkYXRvcnM/LnNvbWUoXG4gICAgICAgICAgKHZhbGlkYXRvcikgPT4gdmFsaWRhdG9yLnR5cGUgIT09ICdyZXF1aXJlZCdcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGFzUmVxdWlyZWRWYWxpZGF0b3IgPSBmaWVsZC52YWxpZGF0b3JzPy5zb21lKFxuICAgICAgICAgICh2YWxpZGF0b3IpID0+IHZhbGlkYXRvci50eXBlID09PSAncmVxdWlyZWQnXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKGhhc05vblJlcXVpcmVkVmFsaWRhdG9yICYmICFoYXNSZXF1aXJlZFZhbGlkYXRvcikge1xuICAgICAgICAgIGZpZWxkRGF0YS52YWxpZGF0b3JzPy5wdXNoKHtcbiAgICAgICAgICAgIHR5cGU6ICdyZXF1aXJlZCcsXG4gICAgICAgICAgICBlcnJvcm1zZzogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdGVwRGF0YS5wdXNoKGZpZWxkRGF0YSk7XG4gICAgICB9KTtcblxuICAgICAgZm9ybU9wdGlvbnNGdWxsT2JqZWN0LmZvcm1EYXRhLnN0ZXBzW2luZGV4XSA9IHtcbiAgICAgICAgdGl0bGU6IGBTdGVwICR7aW5kZXggKyAxfWAsXG4gICAgICAgIGFkZGVkRmllbGRzOiBzdGVwRGF0YSxcbiAgICAgICAgY29uZGl0aW9uYWxMb2dpY0Jsb2Nrczogc3RlcEZvcm1EYXRhLmNvbmRpdGlvbmFsTG9naWNCbG9ja3NcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZm9ybU9wdGlvbnNGdWxsT2JqZWN0O1xuICB9XG59XG4iXX0=