UNPKG

kwikid-forms

Version:

KwikID's JSON Configuration based Forms Renderer and Builder

76 lines 9.53 kB
import { checkObjectKeyExists, isEmptyValue, setValueToObjectPath } from "kwikid-toolkit"; export function convertFormListConfig(formsList) { const convertFormListConfigTypeForm = (form) => { if (checkObjectKeyExists(form, "formContent")) { if (checkObjectKeyExists(form.formContent, "url")) { form = setValueToObjectPath(form, "props.url", form.formContent.url); delete form.formContent.url; } if (checkObjectKeyExists(form.formContent, "path")) { form = setValueToObjectPath(form, "props.path", form.formContent.path); delete form.formContent.path; } } if (isEmptyValue(form.formContent)) { delete form.formContent; } if (checkObjectKeyExists(form, "title")) { form = setValueToObjectPath(form, "props.title", form.title); delete form.title; } if (!checkObjectKeyExists(form, "hidden")) { form.hidden = false; } if (!checkObjectKeyExists(form, "disabled")) { form.disabled = false; } if (!checkObjectKeyExists(form, "required")) { form.required = true; } if (!checkObjectKeyExists(form, "dependentOn")) { form.dependentOn = []; } return form; }; const convertFormListConfigTypeHtml = (form) => { if (form.type === "html") { form.type = "HTML"; } if (checkObjectKeyExists(form, "htmlContent")) { if (!checkObjectKeyExists(form, "props")) { form.props = { htmlContent: form.htmlContent }; } delete form.htmlContent; } else if (!checkObjectKeyExists(form, "props")) { form.props = { htmlContent: "" }; } if (checkObjectKeyExists(form, "title")) { form = setValueToObjectPath(form, "props.title", form.title); delete form.title; } if (!checkObjectKeyExists(form, "hidden")) { form.hidden = false; } return form; }; return formsList.map((form) => { if (!checkObjectKeyExists(form, "type")) { form.type = "FORM"; } if (checkObjectKeyExists(form, "type")) { if (form.type === "FORM") { form = convertFormListConfigTypeForm(form); } if (form.type === "HTML" || form.type === "html") { form = convertFormListConfigTypeHtml(form); } } return form; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9idWlsZGVyL2J1aWxkZXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLG9CQUFvQixFQUNyQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxTQUFnQjtJQUNwRCxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUU7UUFDbEQsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO2FBQzdCO1lBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNsRCxJQUFJLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2RSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2FBQzlCO1NBQ0Y7UUFDRCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDbEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxHQUFHLG9CQUFvQixDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDckI7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7U0FDdkI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxJQUFTLEVBQUUsRUFBRTtRQUNsRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRztvQkFDWCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQzlCLENBQUM7YUFDSDtZQUNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjthQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRztnQkFDWCxXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1NBQ0g7UUFDRCxJQUFJLG9CQUFvQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN2QyxJQUFJLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztTQUNyQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUNwQjtRQUNELElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQ3RDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ3hCLElBQUksR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QztZQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ2hELElBQUksR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM1QztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjaGVja09iamVjdEtleUV4aXN0cyxcbiAgaXNFbXB0eVZhbHVlLFxuICBzZXRWYWx1ZVRvT2JqZWN0UGF0aFxufSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRGb3JtTGlzdENvbmZpZyhmb3Jtc0xpc3Q6IGFueVtdKTogYW55W10ge1xuICBjb25zdCBjb252ZXJ0Rm9ybUxpc3RDb25maWdUeXBlRm9ybSA9IChmb3JtOiBhbnkpID0+IHtcbiAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJmb3JtQ29udGVudFwiKSkge1xuICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm0uZm9ybUNvbnRlbnQsIFwidXJsXCIpKSB7XG4gICAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0UGF0aChmb3JtLCBcInByb3BzLnVybFwiLCBmb3JtLmZvcm1Db250ZW50LnVybCk7XG4gICAgICAgIGRlbGV0ZSBmb3JtLmZvcm1Db250ZW50LnVybDtcbiAgICAgIH1cbiAgICAgIGlmIChjaGVja09iamVjdEtleUV4aXN0cyhmb3JtLmZvcm1Db250ZW50LCBcInBhdGhcIikpIHtcbiAgICAgICAgZm9ybSA9IHNldFZhbHVlVG9PYmplY3RQYXRoKGZvcm0sIFwicHJvcHMucGF0aFwiLCBmb3JtLmZvcm1Db250ZW50LnBhdGgpO1xuICAgICAgICBkZWxldGUgZm9ybS5mb3JtQ29udGVudC5wYXRoO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNFbXB0eVZhbHVlKGZvcm0uZm9ybUNvbnRlbnQpKSB7XG4gICAgICBkZWxldGUgZm9ybS5mb3JtQ29udGVudDtcbiAgICB9XG4gICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm0sIFwidGl0bGVcIikpIHtcbiAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0UGF0aChmb3JtLCBcInByb3BzLnRpdGxlXCIsIGZvcm0udGl0bGUpO1xuICAgICAgZGVsZXRlIGZvcm0udGl0bGU7XG4gICAgfVxuICAgIGlmICghY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJoaWRkZW5cIikpIHtcbiAgICAgIGZvcm0uaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICghY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJkaXNhYmxlZFwiKSkge1xuICAgICAgZm9ybS5kaXNhYmxlZCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm0sIFwicmVxdWlyZWRcIikpIHtcbiAgICAgIGZvcm0ucmVxdWlyZWQgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm0sIFwiZGVwZW5kZW50T25cIikpIHtcbiAgICAgIGZvcm0uZGVwZW5kZW50T24gPSBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybTtcbiAgfTtcblxuICBjb25zdCBjb252ZXJ0Rm9ybUxpc3RDb25maWdUeXBlSHRtbCA9IChmb3JtOiBhbnkpID0+IHtcbiAgICBpZiAoZm9ybS50eXBlID09PSBcImh0bWxcIikge1xuICAgICAgZm9ybS50eXBlID0gXCJIVE1MXCI7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm0sIFwiaHRtbENvbnRlbnRcIikpIHtcbiAgICAgIGlmICghY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJwcm9wc1wiKSkge1xuICAgICAgICBmb3JtLnByb3BzID0ge1xuICAgICAgICAgIGh0bWxDb250ZW50OiBmb3JtLmh0bWxDb250ZW50XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBkZWxldGUgZm9ybS5odG1sQ29udGVudDtcbiAgICB9IGVsc2UgaWYgKCFjaGVja09iamVjdEtleUV4aXN0cyhmb3JtLCBcInByb3BzXCIpKSB7XG4gICAgICBmb3JtLnByb3BzID0ge1xuICAgICAgICBodG1sQ29udGVudDogXCJcIlxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKGZvcm0sIFwidGl0bGVcIikpIHtcbiAgICAgIGZvcm0gPSBzZXRWYWx1ZVRvT2JqZWN0UGF0aChmb3JtLCBcInByb3BzLnRpdGxlXCIsIGZvcm0udGl0bGUpO1xuICAgICAgZGVsZXRlIGZvcm0udGl0bGU7XG4gICAgfVxuICAgIGlmICghY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJoaWRkZW5cIikpIHtcbiAgICAgIGZvcm0uaGlkZGVuID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmb3JtO1xuICB9O1xuXG4gIHJldHVybiBmb3Jtc0xpc3QubWFwKChmb3JtKSA9PiB7XG4gICAgaWYgKCFjaGVja09iamVjdEtleUV4aXN0cyhmb3JtLCBcInR5cGVcIikpIHtcbiAgICAgIGZvcm0udHlwZSA9IFwiRk9STVwiO1xuICAgIH1cbiAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoZm9ybSwgXCJ0eXBlXCIpKSB7XG4gICAgICBpZiAoZm9ybS50eXBlID09PSBcIkZPUk1cIikge1xuICAgICAgICBmb3JtID0gY29udmVydEZvcm1MaXN0Q29uZmlnVHlwZUZvcm0oZm9ybSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChmb3JtLnR5cGUgPT09IFwiSFRNTFwiIHx8IGZvcm0udHlwZSA9PT0gXCJodG1sXCIpIHtcbiAgICAgICAgZm9ybSA9IGNvbnZlcnRGb3JtTGlzdENvbmZpZ1R5cGVIdG1sKGZvcm0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmb3JtO1xuICB9KTtcbn1cbiJdfQ==