UNPKG

ucbuilder

Version:

For Developing Applications with multiple form/usercontrols etc.. In Single BrowserWindow...

74 lines (73 loc) 3.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.intenseGenerator = void 0; const objectOpt_1 = require("ucbuilder/global/objectOpt"); const enumAndMore_1 = require("ucbuilder/enumAndMore"); const ResourcesUC_1 = require("ucbuilder/ResourcesUC"); const common_1 = require("ucbuilder/build/common"); //import { createRequire, Module } from 'module'; class intenseGenerator { static generateUC(path, pera, ...args) { let param0 = objectOpt_1.newObjectOpt.copyProps(pera, enumAndMore_1.ucOptions); let row = ResourcesUC_1.ResourcesUC.codefilelist.getObj(path); param0.source.cfInfo = row.codefileObj; let toSend = []; toSend.push(...args, param0); let classObj = row.obj; //Object.values(row.obj)[0] as any; // console.log(toSend); let uc = (new (classObj)(...toSend)); if (uc[0]) uc[0](args); //uc.ucExtends.Events.loaded.fire(); return uc; } static getCnt(cInfo) { } static generateTPT(path, pera, ...args) { //let param0: TptOptions = newObjectOpt.copyProps(pera, TptOptions); let param0 = Object.assign(pera, enumAndMore_1.tptOptions); let row = ResourcesUC_1.ResourcesUC.codefilelist.getObj(path); param0.source.cfInfo = row.codefileObj; if (param0.elementHT == undefined) { let tname = row.codefileObj.name; param0.elementHT = (param0.parentUc == undefined) ? ResourcesUC_1.ResourcesUC.contentHT : param0.parentUc.ucExtends.passElement(`<${tname}></${tname}>`.$()); } args.push(param0); let uc = (new (row.obj)(...args)); return uc; } static parseTPT(val, parentUc) { if (common_1.objectOpt.parse(val, 'Template')) { return val[common_1.propOpt.ATTR.TEMPLETE_DEFAULT]; } else if (common_1.objectOpt.parse(val, 'TemplateNode')) { return val; } else if (common_1.objectOpt.parse(val, 'String')) { let splval = ('' + val).split(";"); let tpt = intenseGenerator.generateTPT(('' + val), { parentUc: parentUc }); let res = (splval.length === 1) ? tpt[common_1.propOpt.ATTR.TEMPLETE_DEFAULT] : tpt[splval[1].trim()]; return res; } } static parseUC(val, parentUc) { if (common_1.objectOpt.parse(val, 'Usercontrol')) { return val; } else if (common_1.objectOpt.parse(val, 'String')) { return intenseGenerator.generateUC(val, { parentUc: parentUc }); } else if (common_1.objectOpt.parse(val, 'HTMLElement')) { let _path = val.getAttribute("x-from"); if (_path != undefined) return intenseGenerator.generateUC(_path, { parentUc: parentUc }); } } } exports.intenseGenerator = intenseGenerator;