UNPKG

kwikid-forms

Version:

KwikID's JSON Configuration based Forms Renderer and Builder

44 lines 5.02 kB
import { __decorate } from "tslib"; import { FormControl, FormGroup } from "@angular/forms"; import { isNotEmptyValue, logMethod } from "kwikid-toolkit"; export class KwikIDFormBuilderFormEditorService { createNestedFormGroup(object) { const formGroup = {}; for (const index in object) { if (isNotEmptyValue(index)) { formGroup[index] = new FormControl(object[index]); } } return new FormGroup(formGroup); } downloadJSON(object) { const DATA = JSON.stringify(object); // Convert object to JSON string const type = "application/json"; const FILE_NAME = `${object.key}.json`; const blob = new Blob([DATA], { type }); const url = window.URL.createObjectURL(blob); const link = document.createElement("a"); link.download = FILE_NAME; link.href = url; link.click(); window.URL.revokeObjectURL(url); } copyToClipboard(text) { if (typeof text === "string") { navigator.clipboard.writeText(text); } else { navigator.clipboard.writeText(JSON.stringify(text)); } } } __decorate([ logMethod ], KwikIDFormBuilderFormEditorService.prototype, "createNestedFormGroup", null); __decorate([ logMethod ], KwikIDFormBuilderFormEditorService.prototype, "downloadJSON", null); __decorate([ logMethod ], KwikIDFormBuilderFormEditorService.prototype, "copyToClipboard", null); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5mb3JtLWVkaXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWZvcm1zL3NyYy9saWIvYnVpbGRlci9idWlsZGVyLWZvcm0tZWRpdG9yL2J1aWxkZXIuZm9ybS1lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE1BQU0sT0FBTyxrQ0FBa0M7SUFFN0MscUJBQXFCLENBQUMsTUFBYTtRQUNqQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFckIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7WUFDMUIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNuRDtTQUNGO1FBRUQsT0FBTyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBR0QsWUFBWSxDQUFDLE1BQVc7UUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztRQUNyRSxNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUNoQyxNQUFNLFNBQVMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUV2QyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN4QyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFHRCxlQUFlLENBQUMsSUFBUztRQUN2QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQzthQUFNO1lBQ0wsU0FBUyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztDQUNGO0FBbkNDO0lBREMsU0FBUzsrRUFXVDtBQUdEO0lBREMsU0FBUztzRUFhVDtBQUdEO0lBREMsU0FBUzt5RUFPVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGlzTm90RW1wdHlWYWx1ZSwgbG9nTWV0aG9kIH0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5cbmV4cG9ydCBjbGFzcyBLd2lrSURGb3JtQnVpbGRlckZvcm1FZGl0b3JTZXJ2aWNlIHtcbiAgQGxvZ01ldGhvZFxuICBjcmVhdGVOZXN0ZWRGb3JtR3JvdXAob2JqZWN0OiBhbnlbXSk6IEZvcm1Hcm91cCB7XG4gICAgY29uc3QgZm9ybUdyb3VwID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGluZGV4IGluIG9iamVjdCkge1xuICAgICAgaWYgKGlzTm90RW1wdHlWYWx1ZShpbmRleCkpIHtcbiAgICAgICAgZm9ybUdyb3VwW2luZGV4XSA9IG5ldyBGb3JtQ29udHJvbChvYmplY3RbaW5kZXhdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cChmb3JtR3JvdXApO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBkb3dubG9hZEpTT04ob2JqZWN0OiBhbnkpIHtcbiAgICBjb25zdCBEQVRBID0gSlNPTi5zdHJpbmdpZnkob2JqZWN0KTsgLy8gQ29udmVydCBvYmplY3QgdG8gSlNPTiBzdHJpbmdcbiAgICBjb25zdCB0eXBlID0gXCJhcHBsaWNhdGlvbi9qc29uXCI7XG4gICAgY29uc3QgRklMRV9OQU1FID0gYCR7b2JqZWN0LmtleX0uanNvbmA7XG5cbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW0RBVEFdLCB7IHR5cGUgfSk7XG4gICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgIGxpbmsuZG93bmxvYWQgPSBGSUxFX05BTUU7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBjb3B5VG9DbGlwYm9hcmQodGV4dDogYW55KSB7XG4gICAgaWYgKHR5cGVvZiB0ZXh0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSlNPTi5zdHJpbmdpZnkodGV4dCkpO1xuICAgIH1cbiAgfVxufVxuIl19