UNPKG

kwikid-forms

Version:

KwikID's JSON Configuration based Forms Renderer and Builder

45 lines 7.05 kB
import { __awaiter, __decorate } from "tslib"; import { FormControl, FormGroup } from "@angular/forms"; import { checkObjectKeyExists, logMethod } from "kwikid-toolkit"; import { Defaults } from "./helpers/form-view.defaults.helper"; import { convertFormFieldValueToKwikUIFormat } from "./helpers/form-view.fields.helper"; import { FormValidation } from "./helpers/form-view.form-validations.helper"; export class KwikIDFormViewService { // 'init' stage of the form createFormGroup(fields, object, takeAction) { return __awaiter(this, void 0, void 0, function* () { const formGroup = new FormGroup({}); for (const field of fields) { if (field.isFormElement) { const defaults = new Defaults(field, Object.assign(Object.assign({}, object), { FORM_FIELDS: fields }), takeAction); let value = ""; if (checkObjectKeyExists(field, "default")) { if (checkObjectKeyExists(field.default, "value")) { value = yield defaults.getFormFieldValue(); } } if (checkObjectKeyExists(field, "default")) { if (checkObjectKeyExists(field.default, "api")) { yield defaults.getFormFieldApiValue(); } } if (checkObjectKeyExists(field, "default")) { if (checkObjectKeyExists(field.default, "options")) { if (field.default.options.triggers.includes("ON_INIT")) { yield defaults.getFormFieldOptions(); } } } value = convertFormFieldValueToKwikUIFormat(field, value); const validators = new FormValidation().getFormFieldValidators(field); formGroup.addControl(field.key, new FormControl({ value, disabled: field.disabled }, { validators })); } } return formGroup; }); } } __decorate([ logMethod ], KwikIDFormViewService.prototype, "createFormGroup", null); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvZm9ybS12aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFFN0UsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQywyQkFBMkI7SUFFckIsZUFBZSxDQUFDLE1BQVcsRUFBRSxNQUFXLEVBQUUsVUFBZTs7WUFDN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQzFCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtvQkFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQzNCLEtBQUssa0NBRUEsTUFBTSxLQUNULFdBQVcsRUFBRSxNQUFNLEtBRXJCLFVBQVUsQ0FDWCxDQUFDO29CQUNGLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDZixJQUFJLG9CQUFvQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRTt3QkFDMUMsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFOzRCQUNoRCxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzt5QkFDNUM7cUJBQ0Y7b0JBRUQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUU7d0JBQzFDLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTs0QkFDOUMsTUFBTSxRQUFRLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzt5QkFDdkM7cUJBQ0Y7b0JBRUQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUU7d0JBQzFDLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsRUFBRTs0QkFDbEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dDQUN0RCxNQUFNLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDOzZCQUN0Qzt5QkFDRjtxQkFDRjtvQkFFRCxLQUFLLEdBQUcsbUNBQW1DLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUUxRCxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUV0RSxTQUFTLENBQUMsVUFBVSxDQUNsQixLQUFLLENBQUMsR0FBRyxFQUNULElBQUksV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUNyRSxDQUFDO2lCQUNIO2FBQ0Y7WUFFRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0tBQUE7Q0FDRjtBQS9DQztJQURDLFNBQVM7NERBK0NUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgY2hlY2tPYmplY3RLZXlFeGlzdHMsIGxvZ01ldGhvZCB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuaW1wb3J0IHsgRGVmYXVsdHMgfSBmcm9tIFwiLi9oZWxwZXJzL2Zvcm0tdmlldy5kZWZhdWx0cy5oZWxwZXJcIjtcbmltcG9ydCB7IGNvbnZlcnRGb3JtRmllbGRWYWx1ZVRvS3dpa1VJRm9ybWF0IH0gZnJvbSBcIi4vaGVscGVycy9mb3JtLXZpZXcuZmllbGRzLmhlbHBlclwiO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb24gfSBmcm9tIFwiLi9oZWxwZXJzL2Zvcm0tdmlldy5mb3JtLXZhbGlkYXRpb25zLmhlbHBlclwiO1xuXG5leHBvcnQgY2xhc3MgS3dpa0lERm9ybVZpZXdTZXJ2aWNlIHtcbiAgLy8gJ2luaXQnIHN0YWdlIG9mIHRoZSBmb3JtXG4gIEBsb2dNZXRob2RcbiAgYXN5bmMgY3JlYXRlRm9ybUdyb3VwKGZpZWxkczogYW55LCBvYmplY3Q6IGFueSwgdGFrZUFjdGlvbjogYW55KSB7XG4gICAgY29uc3QgZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkcykge1xuICAgICAgaWYgKGZpZWxkLmlzRm9ybUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdHMgPSBuZXcgRGVmYXVsdHMoXG4gICAgICAgICAgZmllbGQsXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4ub2JqZWN0LFxuICAgICAgICAgICAgRk9STV9GSUVMRFM6IGZpZWxkc1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdGFrZUFjdGlvblxuICAgICAgICApO1xuICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xuICAgICAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZmllbGQsIFwiZGVmYXVsdFwiKSkge1xuICAgICAgICAgIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhmaWVsZC5kZWZhdWx0LCBcInZhbHVlXCIpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGF3YWl0IGRlZmF1bHRzLmdldEZvcm1GaWVsZFZhbHVlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZpZWxkLCBcImRlZmF1bHRcIikpIHtcbiAgICAgICAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZmllbGQuZGVmYXVsdCwgXCJhcGlcIikpIHtcbiAgICAgICAgICAgIGF3YWl0IGRlZmF1bHRzLmdldEZvcm1GaWVsZEFwaVZhbHVlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZpZWxkLCBcImRlZmF1bHRcIikpIHtcbiAgICAgICAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZmllbGQuZGVmYXVsdCwgXCJvcHRpb25zXCIpKSB7XG4gICAgICAgICAgICBpZiAoZmllbGQuZGVmYXVsdC5vcHRpb25zLnRyaWdnZXJzLmluY2x1ZGVzKFwiT05fSU5JVFwiKSkge1xuICAgICAgICAgICAgICBhd2FpdCBkZWZhdWx0cy5nZXRGb3JtRmllbGRPcHRpb25zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdmFsdWUgPSBjb252ZXJ0Rm9ybUZpZWxkVmFsdWVUb0t3aWtVSUZvcm1hdChmaWVsZCwgdmFsdWUpO1xuXG4gICAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBuZXcgRm9ybVZhbGlkYXRpb24oKS5nZXRGb3JtRmllbGRWYWxpZGF0b3JzKGZpZWxkKTtcblxuICAgICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICAgICBmaWVsZC5rZXksXG4gICAgICAgICAgbmV3IEZvcm1Db250cm9sKHsgdmFsdWUsIGRpc2FibGVkOiBmaWVsZC5kaXNhYmxlZCB9LCB7IHZhbGlkYXRvcnMgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybUdyb3VwO1xuICB9XG59XG4iXX0=