@lcap/nasl 0.3.9-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DEVELOPMENT.md +58 -0
- package/README.md +11 -0
- package/analysis/mergeBlock/README.md +14 -0
- package/analysis/mergeBlock/raw1.json +0 -0
- package/analysis/mergeBlock/raw2.json +2522 -0
- package/analysis/mergeBlock/raw3.json +505 -0
- package/analysis/mergeBlock/req2.json +2219 -0
- package/analysis/mergeBlock/req3.json +462 -0
- package/analysis/mergeBlock/script.js +159 -0
- package/docs/assets/css/main.css +2638 -0
- package/docs/assets/js/main.js +248 -0
- package/docs/assets/js/search.js +1 -0
- package/docs/classes/app_app.app.html +1359 -0
- package/docs/classes/app_service.microservice.html +1572 -0
- package/docs/classes/app_service.service.html +1233 -0
- package/docs/classes/app_service.webservice.html +1635 -0
- package/docs/classes/common_eventemitter.eventemitter.html +387 -0
- package/docs/classes/common_vertex.vertex.html +1086 -0
- package/docs/classes/data_datanode.datanode.html +1157 -0
- package/docs/classes/data_entity.entity.html +1656 -0
- package/docs/classes/data_entityproperty.entityproperty.html +1903 -0
- package/docs/classes/data_enum.enum.html +1402 -0
- package/docs/classes/data_enumitem.enumitem.html +1252 -0
- package/docs/classes/data_interface.interface.html +1673 -0
- package/docs/classes/data_structure.structure.html +1427 -0
- package/docs/classes/data_structureproperty.structureproperty.html +1656 -0
- package/docs/classes/logic_basevariable.basevariable.html +1261 -0
- package/docs/classes/logic_logic.logic.html +1639 -0
- package/docs/classes/logic_logicitem.expressionnode.html +1982 -0
- package/docs/classes/logic_logicitem.logicitem.html +1828 -0
- package/docs/classes/logic_logicitem.logicnode.html +2229 -0
- package/docs/classes/logic_param.param.html +1707 -0
- package/docs/classes/logic_return.return.html +1605 -0
- package/docs/classes/logic_variable.variable.html +1631 -0
- package/docs/classes/nuims_nuims.nuims.html +596 -0
- package/docs/classes/page_attr.attr.html +1335 -0
- package/docs/classes/page_block.block.html +1272 -0
- package/docs/classes/page_directive.directive.html +1350 -0
- package/docs/classes/page_element.element.html +2118 -0
- package/docs/classes/page_event.event.html +1284 -0
- package/docs/classes/page_lifecycle.lifecycle.html +1286 -0
- package/docs/classes/page_page.page.html +1389 -0
- package/docs/classes/page_view.view.html +2299 -0
- package/docs/classes/page_viewparam.viewparam.html +1727 -0
- package/docs/classes/page_viewvariable.viewvariable.html +1668 -0
- package/docs/classes/process_process.process.html +1532 -0
- package/docs/classes/process_processcomponent.processcomponent.html +1589 -0
- package/docs/classes/process_processcomponentattribute.processcomponentattribute.html +1236 -0
- package/docs/classes/process_processcomponentproperty.processcomponentproperty.html +1727 -0
- package/docs/classes/process_processcomponentreturn.processcomponentreturn.html +1704 -0
- package/docs/classes/process_processcomponentvariable.processcomponentvariable.html +1679 -0
- package/docs/classes/process_processinterface.processinterface.html +1462 -0
- package/docs/classes/process_processparam.processparam.html +1778 -0
- package/docs/classes/process_processproperty.processproperty.html +1727 -0
- package/docs/classes/process_processreturn.processreturn.html +1678 -0
- package/docs/enums/app_service.service_type.html +186 -0
- package/docs/enums/data_basictypes.basic_type.html +312 -0
- package/docs/enums/index.level_enum.html +655 -0
- package/docs/enums/logic_logicitem.logic_type.html +441 -0
- package/docs/index.html +313 -0
- package/docs/interfaces/app_service.assetsinfo.html +209 -0
- package/docs/interfaces/common_packagejson.default.html +431 -0
- package/docs/interfaces/data_entity.resolver.html +228 -0
- package/docs/interfaces/data_entityproperty.display.html +214 -0
- package/docs/interfaces/data_schema.arrayschema.html +306 -0
- package/docs/interfaces/data_schema.baseschema.html +361 -0
- package/docs/interfaces/data_schema.basicrefschema.html +362 -0
- package/docs/interfaces/data_schema.basicschema.html +334 -0
- package/docs/interfaces/data_schema.booleanschema.html +306 -0
- package/docs/interfaces/data_schema.enumitemschema.html +225 -0
- package/docs/interfaces/data_schema.enumschema.html +306 -0
- package/docs/interfaces/data_schema.integerschema.html +334 -0
- package/docs/interfaces/data_schema.mapschema.html +320 -0
- package/docs/interfaces/data_schema.numberschema.html +334 -0
- package/docs/interfaces/data_schema.objectschema.html +313 -0
- package/docs/interfaces/data_schema.refschema.html +332 -0
- package/docs/interfaces/data_schema.schema.html +511 -0
- package/docs/interfaces/data_schema.setschema.html +306 -0
- package/docs/interfaces/data_schema.stringschema.html +334 -0
- package/docs/interfaces/history.historyrecord.html +183 -0
- package/docs/interfaces/index.arrayschema.html +261 -0
- package/docs/interfaces/index.baseschema.html +236 -0
- package/docs/interfaces/index.basicrefschema.html +317 -0
- package/docs/interfaces/index.basicschema.html +289 -0
- package/docs/interfaces/index.booleanschema.html +261 -0
- package/docs/interfaces/index.enumitemschema.html +180 -0
- package/docs/interfaces/index.enumschema.html +261 -0
- package/docs/interfaces/index.integerschema.html +289 -0
- package/docs/interfaces/index.mapschema.html +275 -0
- package/docs/interfaces/index.numberschema.html +289 -0
- package/docs/interfaces/index.objectschema.html +261 -0
- package/docs/interfaces/index.refschema.html +287 -0
- package/docs/interfaces/index.schema.html +459 -0
- package/docs/interfaces/index.setschema.html +261 -0
- package/docs/interfaces/index.stringschema.html +289 -0
- package/docs/interfaces/page_element.elementtovueoptions.html +283 -0
- package/docs/interfaces/typecheck.typecheckrecord.html +211 -0
- package/docs/interfaces/utils.inode.html +212 -0
- package/docs/interfaces/utils.inodeinfo.html +295 -0
- package/docs/interfaces/utils_traverse.inode.html +191 -0
- package/docs/interfaces/utils_traverse.inodeinfo.html +274 -0
- package/docs/modules/app_app.html +149 -0
- package/docs/modules/app_service.html +175 -0
- package/docs/modules/cachedata.html +198 -0
- package/docs/modules/common_eventemitter.html +192 -0
- package/docs/modules/common_packagejson.html +132 -0
- package/docs/modules/common_vertex.html +149 -0
- package/docs/modules/config.html +168 -0
- package/docs/modules/data_basictypes.html +271 -0
- package/docs/modules/data_datanode.html +149 -0
- package/docs/modules/data_datatypes.html +196 -0
- package/docs/modules/data_datatypeutils.html +430 -0
- package/docs/modules/data_entity.html +158 -0
- package/docs/modules/data_entityproperty.html +158 -0
- package/docs/modules/data_entityutils.html +342 -0
- package/docs/modules/data_enum.html +149 -0
- package/docs/modules/data_enumitem.html +149 -0
- package/docs/modules/data_interface.html +149 -0
- package/docs/modules/data_schema.html +205 -0
- package/docs/modules/data_structure.html +149 -0
- package/docs/modules/data_structureproperty.html +149 -0
- package/docs/modules/data_systemtypes.html +167 -0
- package/docs/modules/decorators.html +333 -0
- package/docs/modules/eventbus.html +116 -0
- package/docs/modules/generator.html +749 -0
- package/docs/modules/generator_data.html +495 -0
- package/docs/modules/generator_hotreload.html +200 -0
- package/docs/modules/generator_load.html +247 -0
- package/docs/modules/generator_page.html +200 -0
- package/docs/modules/history.html +200 -0
- package/docs/modules/index.html +1163 -0
- package/docs/modules/logic_basevariable.html +238 -0
- package/docs/modules/logic_callinterface.html +116 -0
- package/docs/modules/logic_logic.html +149 -0
- package/docs/modules/logic_logicitem.html +220 -0
- package/docs/modules/logic_param.html +149 -0
- package/docs/modules/logic_return.html +149 -0
- package/docs/modules/logic_tools.html +326 -0
- package/docs/modules/logic_translator.html +158 -0
- package/docs/modules/logic_variable.html +149 -0
- package/docs/modules/nuims_nuims.html +149 -0
- package/docs/modules/page_attr.html +149 -0
- package/docs/modules/page_block.html +149 -0
- package/docs/modules/page_directive.html +149 -0
- package/docs/modules/page_element.html +158 -0
- package/docs/modules/page_event.html +149 -0
- package/docs/modules/page_lifecycle.html +149 -0
- package/docs/modules/page_page.html +149 -0
- package/docs/modules/page_view.html +149 -0
- package/docs/modules/page_viewparam.html +149 -0
- package/docs/modules/page_viewvariable.html +149 -0
- package/docs/modules/process_process.html +149 -0
- package/docs/modules/process_processcomponent.html +149 -0
- package/docs/modules/process_processcomponentattribute.html +149 -0
- package/docs/modules/process_processcomponentproperty.html +149 -0
- package/docs/modules/process_processcomponentreturn.html +149 -0
- package/docs/modules/process_processcomponentvariable.html +149 -0
- package/docs/modules/process_processinterface.html +149 -0
- package/docs/modules/process_processparam.html +149 -0
- package/docs/modules/process_processproperty.html +149 -0
- package/docs/modules/process_processreturn.html +149 -0
- package/docs/modules/typecheck.html +269 -0
- package/docs/modules/utils.html +536 -0
- package/docs/modules/utils_logger.html +172 -0
- package/docs/modules/utils_string.html +347 -0
- package/docs/modules/utils_traverse.html +248 -0
- package/docs/modules.html +377 -0
- package/docs-build/style.css +3 -0
- package/docs-build/typedoc.json +8 -0
- package/index.js +12 -0
- package/module/base.js +11 -0
- package/out/service/app/api.d.ts +75 -0
- package/out/service/app/api.js +87 -0
- package/out/service/app/api.js.map +1 -0
- package/out/service/app/index.d.ts +2 -0
- package/out/service/app/index.js +10 -0
- package/out/service/app/index.js.map +1 -0
- package/out/service/assets/asset.d.ts +104 -0
- package/out/service/assets/asset.js +78 -0
- package/out/service/assets/asset.js.map +1 -0
- package/out/service/assets/block.d.ts +9 -0
- package/out/service/assets/block.js +11 -0
- package/out/service/assets/block.js.map +1 -0
- package/out/service/assets/index.d.ts +2 -0
- package/out/service/assets/index.js +12 -0
- package/out/service/assets/index.js.map +1 -0
- package/out/service/common/findUsage.d.ts +9 -0
- package/out/service/common/findUsage.js +11 -0
- package/out/service/common/findUsage.js.map +1 -0
- package/out/service/common/index.d.ts +2 -0
- package/out/service/common/index.js +12 -0
- package/out/service/common/index.js.map +1 -0
- package/out/service/common/preprocess.d.ts +14 -0
- package/out/service/common/preprocess.js +75 -0
- package/out/service/common/preprocess.js.map +1 -0
- package/out/service/common/schema.d.ts +9 -0
- package/out/service/common/schema.js +12 -0
- package/out/service/common/schema.js.map +1 -0
- package/out/service/create/add.configs.d.ts +1 -0
- package/out/service/create/add.configs.js +68 -0
- package/out/service/create/add.configs.js.map +1 -0
- package/out/service/create/errHandles.d.ts +18 -0
- package/out/service/create/errHandles.js +40 -0
- package/out/service/create/errHandles.js.map +1 -0
- package/out/service/create/index.d.ts +1 -0
- package/out/service/create/index.js +72 -0
- package/out/service/create/index.js.map +1 -0
- package/out/service/data/api.d.ts +36 -0
- package/out/service/data/api.js +36 -0
- package/out/service/data/api.js.map +1 -0
- package/out/service/data/entity.d.ts +135 -0
- package/out/service/data/entity.js +103 -0
- package/out/service/data/entity.js.map +1 -0
- package/out/service/data/enum.d.ts +63 -0
- package/out/service/data/enum.js +55 -0
- package/out/service/data/enum.js.map +1 -0
- package/out/service/data/enumProperty.d.ts +28 -0
- package/out/service/data/enumProperty.js +23 -0
- package/out/service/data/enumProperty.js.map +1 -0
- package/out/service/data/generic.d.ts +9 -0
- package/out/service/data/generic.js +11 -0
- package/out/service/data/generic.js.map +1 -0
- package/out/service/data/index.d.ts +8 -0
- package/out/service/data/index.js +23 -0
- package/out/service/data/index.js.map +1 -0
- package/out/service/data/interface.d.ts +67 -0
- package/out/service/data/interface.js +58 -0
- package/out/service/data/interface.js.map +1 -0
- package/out/service/data/structure.d.ts +92 -0
- package/out/service/data/structure.js +77 -0
- package/out/service/data/structure.js.map +1 -0
- package/out/service/logic/index.d.ts +2 -0
- package/out/service/logic/index.js +14 -0
- package/out/service/logic/index.js.map +1 -0
- package/out/service/logic/logic.d.ts +121 -0
- package/out/service/logic/logic.js +90 -0
- package/out/service/logic/logic.js.map +1 -0
- package/out/service/logic/param.d.ts +37 -0
- package/out/service/logic/param.js +29 -0
- package/out/service/logic/param.js.map +1 -0
- package/out/service/nuims/api.d.ts +264 -0
- package/out/service/nuims/api.js +194 -0
- package/out/service/nuims/api.js.map +1 -0
- package/out/service/nuims/index.d.ts +2 -0
- package/out/service/nuims/index.js +17 -0
- package/out/service/nuims/index.js.map +1 -0
- package/out/service/page/api.d.ts +186 -0
- package/out/service/page/api.js +1376 -0
- package/out/service/page/api.js.map +1 -0
- package/out/service/page/attribute.d.ts +28 -0
- package/out/service/page/attribute.js +23 -0
- package/out/service/page/attribute.js.map +1 -0
- package/out/service/page/directive.d.ts +28 -0
- package/out/service/page/directive.js +23 -0
- package/out/service/page/directive.js.map +1 -0
- package/out/service/page/element.d.ts +36 -0
- package/out/service/page/element.js +36 -0
- package/out/service/page/element.js.map +1 -0
- package/out/service/page/event.d.ts +28 -0
- package/out/service/page/event.js +23 -0
- package/out/service/page/event.js.map +1 -0
- package/out/service/page/index.d.ts +8 -0
- package/out/service/page/index.js +23 -0
- package/out/service/page/index.js.map +1 -0
- package/out/service/page/lifecycle.d.ts +28 -0
- package/out/service/page/lifecycle.js +23 -0
- package/out/service/page/lifecycle.js.map +1 -0
- package/out/service/page/templates.d.ts +14 -0
- package/out/service/page/templates.js +70 -0
- package/out/service/page/templates.js.map +1 -0
- package/out/service/page/view.d.ts +130 -0
- package/out/service/page/view.js +116 -0
- package/out/service/page/view.js.map +1 -0
- package/out/service/process/api.d.ts +136 -0
- package/out/service/process/api.js +95 -0
- package/out/service/process/api.js.map +1 -0
- package/out/service/process/index.d.ts +2 -0
- package/out/service/process/index.js +10 -0
- package/out/service/process/index.js.map +1 -0
- package/out/service/undoredo/api.d.ts +36 -0
- package/out/service/undoredo/api.js +29 -0
- package/out/service/undoredo/api.js.map +1 -0
- package/out/service/undoredo/index.d.ts +2 -0
- package/out/service/undoredo/index.js +10 -0
- package/out/service/undoredo/index.js.map +1 -0
- package/out/service/webFile/api.d.ts +45 -0
- package/out/service/webFile/api.js +35 -0
- package/out/service/webFile/api.js.map +1 -0
- package/out/service/webFile/index.d.ts +3 -0
- package/out/service/webFile/index.js +27 -0
- package/out/service/webFile/index.js.map +1 -0
- package/out/service/webFile/loadCache.d.ts +18 -0
- package/out/service/webFile/loadCache.js +17 -0
- package/out/service/webFile/loadCache.js.map +1 -0
- package/out/test/fixtures/env.d.ts +5 -0
- package/out/test/fixtures/env.js +21 -0
- package/out/test/fixtures/env.js.map +1 -0
- package/out/test/units/app/App.spec.d.ts +1 -0
- package/out/test/units/app/App.spec.js +17 -0
- package/out/test/units/app/App.spec.js.map +1 -0
- package/out/test/units/app/Service.spec.d.ts +1 -0
- package/out/test/units/app/Service.spec.js +24 -0
- package/out/test/units/app/Service.spec.js.map +1 -0
- package/out/test/units/common/Vertex.spec.d.ts +1 -0
- package/out/test/units/common/Vertex.spec.js +44 -0
- package/out/test/units/common/Vertex.spec.js.map +1 -0
- package/out/test/units/config.spec.d.ts +1 -0
- package/out/test/units/config.spec.js +12 -0
- package/out/test/units/config.spec.js.map +1 -0
- package/out/test/units/data/Entity.spec.d.ts +1 -0
- package/out/test/units/data/Entity.spec.js +12 -0
- package/out/test/units/data/Entity.spec.js.map +1 -0
- package/out/test/units/login.spec.d.ts +1 -0
- package/out/test/units/login.spec.js +12 -0
- package/out/test/units/login.spec.js.map +1 -0
- package/out/test/units/page/Block.spec.d.ts +1 -0
- package/out/test/units/page/Block.spec.js +34 -0
- package/out/test/units/page/Block.spec.js.map +1 -0
- package/out/test/units/page/Element.spec.d.ts +1 -0
- package/out/test/units/page/Element.spec.js +44 -0
- package/out/test/units/page/Element.spec.js.map +1 -0
- package/out/test/units/temp/temp.spec.d.ts +1 -0
- package/out/test/units/temp/temp.spec.js +68 -0
- package/out/test/units/temp/temp.spec.js.map +1 -0
- package/out/types/app/App.d.ts +135 -0
- package/out/types/app/App.js +304 -0
- package/out/types/app/App.js.map +1 -0
- package/out/types/app/History.d.ts +36 -0
- package/out/types/app/History.js +365 -0
- package/out/types/app/History.js.map +1 -0
- package/out/types/app/Service.d.ts +247 -0
- package/out/types/app/Service.js +846 -0
- package/out/types/app/Service.js.map +1 -0
- package/out/types/cacheData.d.ts +4 -0
- package/out/types/cacheData.js +34 -0
- package/out/types/cacheData.js.map +1 -0
- package/out/types/common/ComponentAPI.d.ts +110 -0
- package/out/types/common/ComponentAPI.js +3 -0
- package/out/types/common/ComponentAPI.js.map +1 -0
- package/out/types/common/EventEmitter.d.ts +29 -0
- package/out/types/common/EventEmitter.js +66 -0
- package/out/types/common/EventEmitter.js.map +1 -0
- package/out/types/common/PackageJSON.d.ts +32 -0
- package/out/types/common/PackageJSON.js +3 -0
- package/out/types/common/PackageJSON.js.map +1 -0
- package/out/types/common/Vertex.d.ts +125 -0
- package/out/types/common/Vertex.js +283 -0
- package/out/types/common/Vertex.js.map +1 -0
- package/out/types/config.d.ts +24 -0
- package/out/types/config.js +22 -0
- package/out/types/config.js.map +1 -0
- package/out/types/data/DataNode.d.ts +24 -0
- package/out/types/data/DataNode.js +52 -0
- package/out/types/data/DataNode.js.map +1 -0
- package/out/types/data/Entity.d.ts +121 -0
- package/out/types/data/Entity.js +528 -0
- package/out/types/data/Entity.js.map +1 -0
- package/out/types/data/EntityIndex.d.ts +87 -0
- package/out/types/data/EntityIndex.js +262 -0
- package/out/types/data/EntityIndex.js.map +1 -0
- package/out/types/data/EntityProperty.d.ts +191 -0
- package/out/types/data/EntityProperty.js +568 -0
- package/out/types/data/EntityProperty.js.map +1 -0
- package/out/types/data/Enum.d.ts +92 -0
- package/out/types/data/Enum.js +262 -0
- package/out/types/data/Enum.js.map +1 -0
- package/out/types/data/EnumItem.d.ts +57 -0
- package/out/types/data/EnumItem.js +170 -0
- package/out/types/data/EnumItem.js.map +1 -0
- package/out/types/data/GlobalLogicNode.d.ts +44 -0
- package/out/types/data/GlobalLogicNode.js +194 -0
- package/out/types/data/GlobalLogicNode.js.map +1 -0
- package/out/types/data/Interface.d.ts +153 -0
- package/out/types/data/Interface.js +480 -0
- package/out/types/data/Interface.js.map +1 -0
- package/out/types/data/Schema.d.ts +121 -0
- package/out/types/data/Schema.js +3 -0
- package/out/types/data/Schema.js.map +1 -0
- package/out/types/data/Structure.d.ts +104 -0
- package/out/types/data/Structure.js +319 -0
- package/out/types/data/Structure.js.map +1 -0
- package/out/types/data/StructureProperty.d.ts +134 -0
- package/out/types/data/StructureProperty.js +380 -0
- package/out/types/data/StructureProperty.js.map +1 -0
- package/out/types/data/basicTypes.d.ts +25 -0
- package/out/types/data/basicTypes.js +77 -0
- package/out/types/data/basicTypes.js.map +1 -0
- package/out/types/data/dataTypeUtils.d.ts +94 -0
- package/out/types/data/dataTypeUtils.js +441 -0
- package/out/types/data/dataTypeUtils.js.map +1 -0
- package/out/types/data/dataTypes.d.ts +21 -0
- package/out/types/data/dataTypes.js +64 -0
- package/out/types/data/dataTypes.js.map +1 -0
- package/out/types/data/entityUtils.d.ts +164 -0
- package/out/types/data/entityUtils.js +632 -0
- package/out/types/data/entityUtils.js.map +1 -0
- package/out/types/data/genBlock/builtInFunctions.json +545 -0
- package/out/types/data/genBlock/genCallComponentLogic.d.ts +20 -0
- package/out/types/data/genBlock/genCallComponentLogic.js +32 -0
- package/out/types/data/genBlock/genCallComponentLogic.js.map +1 -0
- package/out/types/data/genBlock/genCallInterface.d.ts +41 -0
- package/out/types/data/genBlock/genCallInterface.js +86 -0
- package/out/types/data/genBlock/genCallInterface.js.map +1 -0
- package/out/types/data/genBlock/genCreateBlock.d.ts +10 -0
- package/out/types/data/genBlock/genCreateBlock.js +313 -0
- package/out/types/data/genBlock/genCreateBlock.js.map +1 -0
- package/out/types/data/genBlock/genCurdBlock.d.ts +4 -0
- package/out/types/data/genBlock/genCurdBlock.js +648 -0
- package/out/types/data/genBlock/genCurdBlock.js.map +1 -0
- package/out/types/data/genBlock/genEnumSelectBlock.d.ts +10 -0
- package/out/types/data/genBlock/genEnumSelectBlock.js +23 -0
- package/out/types/data/genBlock/genEnumSelectBlock.js.map +1 -0
- package/out/types/data/genBlock/genGetBlock.d.ts +6 -0
- package/out/types/data/genBlock/genGetBlock.js +151 -0
- package/out/types/data/genBlock/genGetBlock.js.map +1 -0
- package/out/types/data/genBlock/genGridViewBlock.d.ts +136 -0
- package/out/types/data/genBlock/genGridViewBlock.js +263 -0
- package/out/types/data/genBlock/genGridViewBlock.js.map +1 -0
- package/out/types/data/genBlock/genListViewBlock.d.ts +63 -0
- package/out/types/data/genBlock/genListViewBlock.js +110 -0
- package/out/types/data/genBlock/genListViewBlock.js.map +1 -0
- package/out/types/data/genBlock/genQueryComponent.d.ts +316 -0
- package/out/types/data/genBlock/genQueryComponent.js +470 -0
- package/out/types/data/genBlock/genQueryComponent.js.map +1 -0
- package/out/types/data/genBlock/genSelectBlock.d.ts +63 -0
- package/out/types/data/genBlock/genSelectBlock.js +106 -0
- package/out/types/data/genBlock/genSelectBlock.js.map +1 -0
- package/out/types/data/genBlock/genTableBlock.d.ts +136 -0
- package/out/types/data/genBlock/genTableBlock.js +255 -0
- package/out/types/data/genBlock/genTableBlock.js.map +1 -0
- package/out/types/data/genBlock/genUpdateBlock.d.ts +6 -0
- package/out/types/data/genBlock/genUpdateBlock.js +384 -0
- package/out/types/data/genBlock/genUpdateBlock.js.map +1 -0
- package/out/types/data/genBlock/index.d.ts +15 -0
- package/out/types/data/genBlock/index.js +29 -0
- package/out/types/data/genBlock/index.js.map +1 -0
- package/out/types/data/genBlock/utils.d.ts +92 -0
- package/out/types/data/genBlock/utils.js +187 -0
- package/out/types/data/genBlock/utils.js.map +1 -0
- package/out/types/data/genericTypes.d.ts +40 -0
- package/out/types/data/genericTypes.js +145 -0
- package/out/types/data/genericTypes.js.map +1 -0
- package/out/types/data/systemTypes.d.ts +9 -0
- package/out/types/data/systemTypes.js +1516 -0
- package/out/types/data/systemTypes.js.map +1 -0
- package/out/types/decorators/index.d.ts +25 -0
- package/out/types/decorators/index.js +57 -0
- package/out/types/decorators/index.js.map +1 -0
- package/out/types/eventBus.d.ts +1 -0
- package/out/types/eventBus.js +5 -0
- package/out/types/eventBus.js.map +1 -0
- package/out/types/generator/data.d.ts +36 -0
- package/out/types/generator/data.js +197 -0
- package/out/types/generator/data.js.map +1 -0
- package/out/types/generator/hotReload.d.ts +12 -0
- package/out/types/generator/hotReload.js +39 -0
- package/out/types/generator/hotReload.js.map +1 -0
- package/out/types/generator/index.d.ts +4 -0
- package/out/types/generator/index.js +17 -0
- package/out/types/generator/index.js.map +1 -0
- package/out/types/generator/load.d.ts +8 -0
- package/out/types/generator/load.js +92 -0
- package/out/types/generator/load.js.map +1 -0
- package/out/types/generator/page.d.ts +11 -0
- package/out/types/generator/page.js +42 -0
- package/out/types/generator/page.js.map +1 -0
- package/out/types/history.d.ts +10 -0
- package/out/types/history.js +13 -0
- package/out/types/history.js.map +1 -0
- package/out/types/index.d.ts +142 -0
- package/out/types/index.js +221 -0
- package/out/types/index.js.map +1 -0
- package/out/types/logic/BaseVariable.d.ts +75 -0
- package/out/types/logic/BaseVariable.js +159 -0
- package/out/types/logic/BaseVariable.js.map +1 -0
- package/out/types/logic/CallInterface.d.ts +1 -0
- package/out/types/logic/CallInterface.js +9 -0
- package/out/types/logic/CallInterface.js.map +1 -0
- package/out/types/logic/Logic.d.ts +148 -0
- package/out/types/logic/Logic.js +481 -0
- package/out/types/logic/Logic.js.map +1 -0
- package/out/types/logic/LogicItem.d.ts +319 -0
- package/out/types/logic/LogicItem.js +1278 -0
- package/out/types/logic/LogicItem.js.map +1 -0
- package/out/types/logic/Param.d.ts +85 -0
- package/out/types/logic/Param.js +357 -0
- package/out/types/logic/Param.js.map +1 -0
- package/out/types/logic/Return.d.ts +73 -0
- package/out/types/logic/Return.js +326 -0
- package/out/types/logic/Return.js.map +1 -0
- package/out/types/logic/Variable.d.ts +72 -0
- package/out/types/logic/Variable.js +317 -0
- package/out/types/logic/Variable.js.map +1 -0
- package/out/types/logic/expressions/BinaryExpression.d.ts +27 -0
- package/out/types/logic/expressions/BinaryExpression.js +56 -0
- package/out/types/logic/expressions/BinaryExpression.js.map +1 -0
- package/out/types/logic/expressions/BooleanLiteral.d.ts +19 -0
- package/out/types/logic/expressions/BooleanLiteral.js +42 -0
- package/out/types/logic/expressions/BooleanLiteral.js.map +1 -0
- package/out/types/logic/expressions/Identifier.d.ts +28 -0
- package/out/types/logic/expressions/Identifier.js +57 -0
- package/out/types/logic/expressions/Identifier.js.map +1 -0
- package/out/types/logic/expressions/LogicalExpression.d.ts +27 -0
- package/out/types/logic/expressions/LogicalExpression.js +56 -0
- package/out/types/logic/expressions/LogicalExpression.js.map +1 -0
- package/out/types/logic/expressions/MemberExpression.d.ts +23 -0
- package/out/types/logic/expressions/MemberExpression.js +52 -0
- package/out/types/logic/expressions/MemberExpression.js.map +1 -0
- package/out/types/logic/expressions/NullLiteral.d.ts +15 -0
- package/out/types/logic/expressions/NullLiteral.js +35 -0
- package/out/types/logic/expressions/NullLiteral.js.map +1 -0
- package/out/types/logic/expressions/NumericLiteral.d.ts +19 -0
- package/out/types/logic/expressions/NumericLiteral.js +42 -0
- package/out/types/logic/expressions/NumericLiteral.js.map +1 -0
- package/out/types/logic/expressions/StringLiteral.d.ts +19 -0
- package/out/types/logic/expressions/StringLiteral.js +42 -0
- package/out/types/logic/expressions/StringLiteral.js.map +1 -0
- package/out/types/logic/expressions/UnaryExpression.d.ts +23 -0
- package/out/types/logic/expressions/UnaryExpression.js +49 -0
- package/out/types/logic/expressions/UnaryExpression.js.map +1 -0
- package/out/types/logic/expressions/Unparsed.d.ts +19 -0
- package/out/types/logic/expressions/Unparsed.js +42 -0
- package/out/types/logic/expressions/Unparsed.js.map +1 -0
- package/out/types/logic/nodes/AssignmentExpression.d.ts +23 -0
- package/out/types/logic/nodes/AssignmentExpression.js +49 -0
- package/out/types/logic/nodes/AssignmentExpression.js.map +1 -0
- package/out/types/logic/nodes/BuiltInFuncParam.d.ts +27 -0
- package/out/types/logic/nodes/BuiltInFuncParam.js +56 -0
- package/out/types/logic/nodes/BuiltInFuncParam.js.map +1 -0
- package/out/types/logic/nodes/BuiltInFunction.d.ts +24 -0
- package/out/types/logic/nodes/BuiltInFunction.js +55 -0
- package/out/types/logic/nodes/BuiltInFunction.js.map +1 -0
- package/out/types/logic/nodes/CallConsoleLog.d.ts +19 -0
- package/out/types/logic/nodes/CallConsoleLog.js +42 -0
- package/out/types/logic/nodes/CallConsoleLog.js.map +1 -0
- package/out/types/logic/nodes/CallGraphQL.d.ts +28 -0
- package/out/types/logic/nodes/CallGraphQL.js +56 -0
- package/out/types/logic/nodes/CallGraphQL.js.map +1 -0
- package/out/types/logic/nodes/CallInterParam.d.ts +23 -0
- package/out/types/logic/nodes/CallInterParam.js +49 -0
- package/out/types/logic/nodes/CallInterParam.js.map +1 -0
- package/out/types/logic/nodes/CallInterface.d.ts +24 -0
- package/out/types/logic/nodes/CallInterface.js +49 -0
- package/out/types/logic/nodes/CallInterface.js.map +1 -0
- package/out/types/logic/nodes/CallLogic.d.ts +24 -0
- package/out/types/logic/nodes/CallLogic.js +55 -0
- package/out/types/logic/nodes/CallLogic.js.map +1 -0
- package/out/types/logic/nodes/CallMessageShow.d.ts +27 -0
- package/out/types/logic/nodes/CallMessageShow.js +56 -0
- package/out/types/logic/nodes/CallMessageShow.js.map +1 -0
- package/out/types/logic/nodes/Comment.d.ts +19 -0
- package/out/types/logic/nodes/Comment.js +42 -0
- package/out/types/logic/nodes/Comment.js.map +1 -0
- package/out/types/logic/nodes/CronJob.d.ts +19 -0
- package/out/types/logic/nodes/CronJob.js +42 -0
- package/out/types/logic/nodes/CronJob.js.map +1 -0
- package/out/types/logic/nodes/DBQuery.d.ts +19 -0
- package/out/types/logic/nodes/DBQuery.js +42 -0
- package/out/types/logic/nodes/DBQuery.js.map +1 -0
- package/out/types/logic/nodes/Destination.d.ts +32 -0
- package/out/types/logic/nodes/Destination.js +73 -0
- package/out/types/logic/nodes/Destination.js.map +1 -0
- package/out/types/logic/nodes/DestinationParam.d.ts +24 -0
- package/out/types/logic/nodes/DestinationParam.js +49 -0
- package/out/types/logic/nodes/DestinationParam.js.map +1 -0
- package/out/types/logic/nodes/End.d.ts +15 -0
- package/out/types/logic/nodes/End.js +36 -0
- package/out/types/logic/nodes/End.js.map +1 -0
- package/out/types/logic/nodes/ForEachStatement.d.ts +40 -0
- package/out/types/logic/nodes/ForEachStatement.js +77 -0
- package/out/types/logic/nodes/ForEachStatement.js.map +1 -0
- package/out/types/logic/nodes/IfStatement.d.ts +27 -0
- package/out/types/logic/nodes/IfStatement.js +56 -0
- package/out/types/logic/nodes/IfStatement.js.map +1 -0
- package/out/types/logic/nodes/JSBlock.d.ts +19 -0
- package/out/types/logic/nodes/JSBlock.js +46 -0
- package/out/types/logic/nodes/JSBlock.js.map +1 -0
- package/out/types/logic/nodes/JSONDeserialize.d.ts +19 -0
- package/out/types/logic/nodes/JSONDeserialize.js +42 -0
- package/out/types/logic/nodes/JSONDeserialize.js.map +1 -0
- package/out/types/logic/nodes/JSONSerialize.d.ts +19 -0
- package/out/types/logic/nodes/JSONSerialize.js +42 -0
- package/out/types/logic/nodes/JSONSerialize.js.map +1 -0
- package/out/types/logic/nodes/ProcessOutcome.d.ts +27 -0
- package/out/types/logic/nodes/ProcessOutcome.js +56 -0
- package/out/types/logic/nodes/ProcessOutcome.js.map +1 -0
- package/out/types/logic/nodes/Start.d.ts +15 -0
- package/out/types/logic/nodes/Start.js +35 -0
- package/out/types/logic/nodes/Start.js.map +1 -0
- package/out/types/logic/nodes/SwitchCase.d.ts +23 -0
- package/out/types/logic/nodes/SwitchCase.js +49 -0
- package/out/types/logic/nodes/SwitchCase.js.map +1 -0
- package/out/types/logic/nodes/SwitchStatement.d.ts +20 -0
- package/out/types/logic/nodes/SwitchStatement.js +42 -0
- package/out/types/logic/nodes/SwitchStatement.js.map +1 -0
- package/out/types/logic/nodes/TypeNote.d.ts +19 -0
- package/out/types/logic/nodes/TypeNote.js +42 -0
- package/out/types/logic/nodes/TypeNote.js.map +1 -0
- package/out/types/logic/nodes/WhileStatement.d.ts +23 -0
- package/out/types/logic/nodes/WhileStatement.js +49 -0
- package/out/types/logic/nodes/WhileStatement.js.map +1 -0
- package/out/types/logic/tools.d.ts +15 -0
- package/out/types/logic/tools.js +164 -0
- package/out/types/logic/tools.js.map +1 -0
- package/out/types/logic/translator.d.ts +1 -0
- package/out/types/logic/translator.js +595 -0
- package/out/types/logic/translator.js.map +1 -0
- package/out/types/login.d.ts +7 -0
- package/out/types/login.js +39 -0
- package/out/types/login.js.map +1 -0
- package/out/types/nuims/Nuims.d.ts +128 -0
- package/out/types/nuims/Nuims.js +439 -0
- package/out/types/nuims/Nuims.js.map +1 -0
- package/out/types/page/Attr.d.ts +79 -0
- package/out/types/page/Attr.js +217 -0
- package/out/types/page/Attr.js.map +1 -0
- package/out/types/page/Block.d.ts +65 -0
- package/out/types/page/Block.js +82 -0
- package/out/types/page/Block.js.map +1 -0
- package/out/types/page/Directive.d.ts +78 -0
- package/out/types/page/Directive.js +202 -0
- package/out/types/page/Directive.js.map +1 -0
- package/out/types/page/Element.d.ts +239 -0
- package/out/types/page/Element.js +1322 -0
- package/out/types/page/Element.js.map +1 -0
- package/out/types/page/Event.d.ts +63 -0
- package/out/types/page/Event.js +212 -0
- package/out/types/page/Event.js.map +1 -0
- package/out/types/page/Lifecycle.d.ts +58 -0
- package/out/types/page/Lifecycle.js +192 -0
- package/out/types/page/Lifecycle.js.map +1 -0
- package/out/types/page/Page.d.ts +90 -0
- package/out/types/page/Page.js +379 -0
- package/out/types/page/Page.js.map +1 -0
- package/out/types/page/View.d.ts +235 -0
- package/out/types/page/View.js +1065 -0
- package/out/types/page/View.js.map +1 -0
- package/out/types/page/ViewParam.d.ts +72 -0
- package/out/types/page/ViewParam.js +277 -0
- package/out/types/page/ViewParam.js.map +1 -0
- package/out/types/page/ViewVariable.d.ts +73 -0
- package/out/types/page/ViewVariable.js +287 -0
- package/out/types/page/ViewVariable.js.map +1 -0
- package/out/types/process/Process.d.ts +118 -0
- package/out/types/process/Process.js +357 -0
- package/out/types/process/Process.js.map +1 -0
- package/out/types/process/ProcessComponent.d.ts +133 -0
- package/out/types/process/ProcessComponent.js +339 -0
- package/out/types/process/ProcessComponent.js.map +1 -0
- package/out/types/process/ProcessComponentAttribute.d.ts +63 -0
- package/out/types/process/ProcessComponentAttribute.js +163 -0
- package/out/types/process/ProcessComponentAttribute.js.map +1 -0
- package/out/types/process/ProcessComponentProperty.d.ts +37 -0
- package/out/types/process/ProcessComponentProperty.js +81 -0
- package/out/types/process/ProcessComponentProperty.js.map +1 -0
- package/out/types/process/ProcessComponentReturn.d.ts +77 -0
- package/out/types/process/ProcessComponentReturn.js +260 -0
- package/out/types/process/ProcessComponentReturn.js.map +1 -0
- package/out/types/process/ProcessComponentVariable.d.ts +78 -0
- package/out/types/process/ProcessComponentVariable.js +252 -0
- package/out/types/process/ProcessComponentVariable.js.map +1 -0
- package/out/types/process/ProcessInterface.d.ts +112 -0
- package/out/types/process/ProcessInterface.js +227 -0
- package/out/types/process/ProcessInterface.js.map +1 -0
- package/out/types/process/ProcessParam.d.ts +77 -0
- package/out/types/process/ProcessParam.js +259 -0
- package/out/types/process/ProcessParam.js.map +1 -0
- package/out/types/process/ProcessProperty.d.ts +37 -0
- package/out/types/process/ProcessProperty.js +81 -0
- package/out/types/process/ProcessProperty.js.map +1 -0
- package/out/types/process/ProcessReturn.d.ts +73 -0
- package/out/types/process/ProcessReturn.js +237 -0
- package/out/types/process/ProcessReturn.js.map +1 -0
- package/out/types/typeCheck.d.ts +30 -0
- package/out/types/typeCheck.js +81 -0
- package/out/types/typeCheck.js.map +1 -0
- package/out/types/utils/index.d.ts +25 -0
- package/out/types/utils/index.js +81 -0
- package/out/types/utils/index.js.map +1 -0
- package/out/types/utils/logger.d.ts +3 -0
- package/out/types/utils/logger.js +14 -0
- package/out/types/utils/logger.js.map +1 -0
- package/out/types/utils/string.d.ts +34 -0
- package/out/types/utils/string.js +62 -0
- package/out/types/utils/string.js.map +1 -0
- package/out/types/utils/traverse.d.ts +35 -0
- package/out/types/utils/traverse.js +126 -0
- package/out/types/utils/traverse.js.map +1 -0
- package/package.json +64 -0
- package/spec/conceptMap.json +3310 -0
- package/spec/spec.yaml +416 -0
- package/spec-build/index.ts +98 -0
- package/src/routes.map.js +5 -0
- package/src/service/app/api.js +84 -0
- package/src/service/app/index.d.tmp +16 -0
- package/src/service/app/index.js +6 -0
- package/src/service/assets/asset.js +76 -0
- package/src/service/assets/block.js +8 -0
- package/src/service/assets/index.js +7 -0
- package/src/service/common/findUsage.js +8 -0
- package/src/service/common/index.js +6 -0
- package/src/service/common/preprocess.js +54 -0
- package/src/service/common/schema.js +9 -0
- package/src/service/create/add.configs.js +66 -0
- package/src/service/create/errHandles.js +42 -0
- package/src/service/create/index.js +74 -0
- package/src/service/data/api.js +33 -0
- package/src/service/data/entity.js +101 -0
- package/src/service/data/enum.js +53 -0
- package/src/service/data/enumProperty.js +20 -0
- package/src/service/data/generic.js +8 -0
- package/src/service/data/index.js +18 -0
- package/src/service/data/interface.js +56 -0
- package/src/service/data/structure.js +75 -0
- package/src/service/logic/index.js +11 -0
- package/src/service/logic/logic.js +88 -0
- package/src/service/logic/param.js +26 -0
- package/src/service/nuims/api.js +192 -0
- package/src/service/nuims/index.js +13 -0
- package/src/service/page/api.js +1374 -0
- package/src/service/page/attribute.js +20 -0
- package/src/service/page/directive.js +20 -0
- package/src/service/page/element.js +34 -0
- package/src/service/page/event.js +20 -0
- package/src/service/page/index.js +19 -0
- package/src/service/page/lifecycle.js +20 -0
- package/src/service/page/templates.ts +72 -0
- package/src/service/page/view.js +116 -0
- package/src/service/process/api.js +92 -0
- package/src/service/process/index.js +6 -0
- package/src/service/undoredo/api.js +26 -0
- package/src/service/undoredo/index.js +6 -0
- package/src/service/webFile/api.js +32 -0
- package/src/service/webFile/index.d.tmp +62 -0
- package/src/service/webFile/index.js +23 -0
- package/src/service/webFile/loadCache.js +14 -0
- package/src/test/fixtures/env.ts +21 -0
- package/src/test/units/app/App.spec.ts +16 -0
- package/src/test/units/app/Service.spec.ts +31 -0
- package/src/test/units/common/Vertex.spec.ts +25 -0
- package/src/test/units/data/Entity.spec.ts +10 -0
- package/src/test/units/login.spec.ts +10 -0
- package/src/test/units/page/Block.spec.ts +15 -0
- package/src/test/units/page/Element.spec.ts +45 -0
- package/src/test/units/page/example.dashboard.html +46 -0
- package/src/test/units/page/example.view1.html +63 -0
- package/src/test/units/temp/temp.spec.ts +66 -0
- package/src/types/app/App.ts +267 -0
- package/src/types/app/History.ts +388 -0
- package/src/types/app/Service.ts +920 -0
- package/src/types/cacheData.ts +33 -0
- package/src/types/common/ComponentAPI.ts +103 -0
- package/src/types/common/EventEmitter.ts +56 -0
- package/src/types/common/PackageJSON.ts +22 -0
- package/src/types/common/Vertex.ts +265 -0
- package/src/types/config.ts +22 -0
- package/src/types/data/DataNode.ts +37 -0
- package/src/types/data/Entity.ts +516 -0
- package/src/types/data/EntityIndex.ts +238 -0
- package/src/types/data/EntityProperty.ts +507 -0
- package/src/types/data/Enum.ts +235 -0
- package/src/types/data/EnumItem.ts +156 -0
- package/src/types/data/GlobalLogicNode.ts +201 -0
- package/src/types/data/Interface.ts +435 -0
- package/src/types/data/Schema.ts +133 -0
- package/src/types/data/Structure.ts +300 -0
- package/src/types/data/StructureProperty.ts +332 -0
- package/src/types/data/basicTypes.ts +76 -0
- package/src/types/data/dataTypeUtils.ts +426 -0
- package/src/types/data/dataTypes.ts +68 -0
- package/src/types/data/entityUtils.ts +681 -0
- package/src/types/data/genBlock/builtInFunctions.json +545 -0
- package/src/types/data/genBlock/genCallComponentLogic.ts +28 -0
- package/src/types/data/genBlock/genCallInterface.ts +87 -0
- package/src/types/data/genBlock/genCreateBlock.ts +306 -0
- package/src/types/data/genBlock/genCurdBlock.ts +654 -0
- package/src/types/data/genBlock/genEnumSelectBlock.ts +21 -0
- package/src/types/data/genBlock/genGetBlock.ts +160 -0
- package/src/types/data/genBlock/genGridViewBlock.ts +305 -0
- package/src/types/data/genBlock/genListViewBlock.ts +130 -0
- package/src/types/data/genBlock/genQueryComponent.ts +492 -0
- package/src/types/data/genBlock/genSelectBlock.ts +123 -0
- package/src/types/data/genBlock/genTableBlock.ts +300 -0
- package/src/types/data/genBlock/genUpdateBlock.ts +391 -0
- package/src/types/data/genBlock/index.ts +18 -0
- package/src/types/data/genBlock/utils.ts +214 -0
- package/src/types/data/genericTypes.ts +147 -0
- package/src/types/data/systemTypes.ts +1515 -0
- package/src/types/decorators/index.ts +52 -0
- package/src/types/generator/data.ts +206 -0
- package/src/types/generator/hotReload.ts +31 -0
- package/src/types/generator/index.ts +4 -0
- package/src/types/generator/load.ts +97 -0
- package/src/types/generator/page.ts +37 -0
- package/src/types/history.ts +14 -0
- package/src/types/index.ts +161 -0
- package/src/types/logic/BaseVariable.ts +130 -0
- package/src/types/logic/Logic.ts +442 -0
- package/src/types/logic/LogicItem.ts +1257 -0
- package/src/types/logic/Param.ts +328 -0
- package/src/types/logic/Return.ts +305 -0
- package/src/types/logic/Variable.ts +294 -0
- package/src/types/logic/expressions/BinaryExpression.ts +35 -0
- package/src/types/logic/expressions/BooleanLiteral.ts +25 -0
- package/src/types/logic/expressions/Identifier.ts +36 -0
- package/src/types/logic/expressions/LogicalExpression.ts +35 -0
- package/src/types/logic/expressions/MemberExpression.ts +33 -0
- package/src/types/logic/expressions/NullLiteral.ts +20 -0
- package/src/types/logic/expressions/NumericLiteral.ts +25 -0
- package/src/types/logic/expressions/StringLiteral.ts +25 -0
- package/src/types/logic/expressions/UnaryExpression.ts +30 -0
- package/src/types/logic/expressions/Unparsed.ts +25 -0
- package/src/types/logic/nodes/AssignmentExpression.ts +30 -0
- package/src/types/logic/nodes/BuiltInFuncParam.ts +35 -0
- package/src/types/logic/nodes/BuiltInFunction.ts +39 -0
- package/src/types/logic/nodes/CallConsoleLog.ts +25 -0
- package/src/types/logic/nodes/CallGraphQL.ts +36 -0
- package/src/types/logic/nodes/CallInterParam.ts +30 -0
- package/src/types/logic/nodes/CallInterface.ts +31 -0
- package/src/types/logic/nodes/CallLogic.ts +39 -0
- package/src/types/logic/nodes/CallMessageShow.ts +35 -0
- package/src/types/logic/nodes/Comment.ts +25 -0
- package/src/types/logic/nodes/CronJob.ts +25 -0
- package/src/types/logic/nodes/DBQuery.ts +25 -0
- package/src/types/logic/nodes/Destination.ts +52 -0
- package/src/types/logic/nodes/DestinationParam.ts +31 -0
- package/src/types/logic/nodes/End.ts +21 -0
- package/src/types/logic/nodes/ForEachStatement.ts +52 -0
- package/src/types/logic/nodes/IfStatement.ts +35 -0
- package/src/types/logic/nodes/JSBlock.ts +29 -0
- package/src/types/logic/nodes/JSONDeserialize.ts +25 -0
- package/src/types/logic/nodes/JSONSerialize.ts +25 -0
- package/src/types/logic/nodes/ProcessOutcome.ts +35 -0
- package/src/types/logic/nodes/Start.ts +20 -0
- package/src/types/logic/nodes/SwitchCase.ts +30 -0
- package/src/types/logic/nodes/SwitchStatement.ts +26 -0
- package/src/types/logic/nodes/TypeNote.ts +25 -0
- package/src/types/logic/nodes/WhileStatement.ts +30 -0
- package/src/types/logic/tools.js +170 -0
- package/src/types/logic/translator.js +636 -0
- package/src/types/logic/translator_backup.js +643 -0
- package/src/types/login.ts +36 -0
- package/src/types/nuims/Nuims.ts +493 -0
- package/src/types/page/Attr.ts +217 -0
- package/src/types/page/Block.ts +103 -0
- package/src/types/page/Directive.ts +208 -0
- package/src/types/page/Element.ts +1320 -0
- package/src/types/page/Event.ts +191 -0
- package/src/types/page/Lifecycle.ts +172 -0
- package/src/types/page/Page.ts +363 -0
- package/src/types/page/View.ts +1089 -0
- package/src/types/page/ViewParam.ts +265 -0
- package/src/types/page/ViewVariable.ts +274 -0
- package/src/types/process/Process.ts +306 -0
- package/src/types/process/ProcessComponent.ts +276 -0
- package/src/types/process/ProcessComponentAttribute.ts +131 -0
- package/src/types/process/ProcessComponentProperty.ts +68 -0
- package/src/types/process/ProcessComponentReturn.ts +235 -0
- package/src/types/process/ProcessComponentVariable.ts +225 -0
- package/src/types/process/ProcessInterface.ts +175 -0
- package/src/types/process/ProcessParam.ts +234 -0
- package/src/types/process/ProcessProperty.ts +69 -0
- package/src/types/process/ProcessReturn.ts +210 -0
- package/src/types/typeCheck.ts +109 -0
- package/src/types/utils/index.ts +82 -0
- package/src/types/utils/logger.ts +8 -0
- package/src/types/utils/string.ts +56 -0
- package/src/types/utils/traverse.ts +160 -0
- package/src/views/components/lcap-json-view/README.md +80 -0
- package/src/views/components/lcap-json-view/index.js +9 -0
- package/src/views/components/lcap-json-view/index.vue +61 -0
- package/src/views/components/lcap-json-view/node.vue +328 -0
- package/src/views/components/lcap-json-view/utils.js +41 -0
- package/src/views/examples/index.vue +44 -0
- package/src/views/examples/logic.json +1576 -0
- package/src/views/index.vue +28 -0
- package/src/views/specification/README.md +10 -0
- package/src/views/specification/conceptTree.js +1179 -0
- package/src/views/specification/index.vue +255 -0
- package/src/views/theme.css +138 -0
- package/tsconfig.json +34 -0
|
@@ -0,0 +1,1322 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
+
if (mod && mod.__esModule) return mod;
|
|
22
|
+
var result = {};
|
|
23
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
+
__setModuleDefault(result, mod);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.Element = void 0;
|
|
29
|
+
// import stringify = require('json-stringify-safe');
|
|
30
|
+
const decorators_1 = require("../decorators");
|
|
31
|
+
const __1 = require("..");
|
|
32
|
+
const compiler = __importStar(require("vue-template-compiler"));
|
|
33
|
+
const json5 = __importStar(require("json5"));
|
|
34
|
+
const page_1 = require("../../service/page");
|
|
35
|
+
const cacheData_1 = require("../cacheData");
|
|
36
|
+
const babelParser = __importStar(require("@babel/parser"));
|
|
37
|
+
const lodash_1 = require("lodash");
|
|
38
|
+
/**
|
|
39
|
+
* 前端页面元素
|
|
40
|
+
* @example
|
|
41
|
+
* <u-input size="small" v-model="value" @change="onChange"></u-input>
|
|
42
|
+
*/
|
|
43
|
+
class Element extends __1.Vertex {
|
|
44
|
+
/**
|
|
45
|
+
* @param source 需要合并的部分参数
|
|
46
|
+
*/
|
|
47
|
+
constructor(source) {
|
|
48
|
+
super();
|
|
49
|
+
/**
|
|
50
|
+
* 概念类型
|
|
51
|
+
*/
|
|
52
|
+
this.level = __1.LEVEL_ENUM.element;
|
|
53
|
+
/**
|
|
54
|
+
* 元素类型
|
|
55
|
+
* 去除了 expression 和 text,目前只有一种节点类型
|
|
56
|
+
*/
|
|
57
|
+
this.type = 0;
|
|
58
|
+
/**
|
|
59
|
+
* 元素 Id
|
|
60
|
+
*/
|
|
61
|
+
this.id = undefined;
|
|
62
|
+
/**
|
|
63
|
+
* 元素标签
|
|
64
|
+
*/
|
|
65
|
+
this.tag = undefined;
|
|
66
|
+
/**
|
|
67
|
+
* 元素名称
|
|
68
|
+
* 用户可以自定义
|
|
69
|
+
* Vue 中的 ref
|
|
70
|
+
*/
|
|
71
|
+
this.name = undefined;
|
|
72
|
+
/**
|
|
73
|
+
* 属性列表
|
|
74
|
+
* 和原来的 attrsList 不同,注意区分
|
|
75
|
+
*/
|
|
76
|
+
this.attrList = [];
|
|
77
|
+
/**
|
|
78
|
+
* 事件列表
|
|
79
|
+
*/
|
|
80
|
+
this.eventList = [];
|
|
81
|
+
/**
|
|
82
|
+
* 指令列表
|
|
83
|
+
*/
|
|
84
|
+
this.directiveList = [];
|
|
85
|
+
/**
|
|
86
|
+
* 插槽目标
|
|
87
|
+
* @example
|
|
88
|
+
* 'cell'
|
|
89
|
+
*/
|
|
90
|
+
this.slotTarget = undefined;
|
|
91
|
+
/**
|
|
92
|
+
* 插槽 scope 表达式
|
|
93
|
+
* @example
|
|
94
|
+
* 'scope'
|
|
95
|
+
*/
|
|
96
|
+
this.slotScope = undefined;
|
|
97
|
+
/**
|
|
98
|
+
* 静态 class 名
|
|
99
|
+
* 不计划支持动态 class
|
|
100
|
+
*/
|
|
101
|
+
this.staticClass = undefined;
|
|
102
|
+
/**
|
|
103
|
+
* 静态 style
|
|
104
|
+
* 不计划支持动态样式
|
|
105
|
+
*/
|
|
106
|
+
this.staticStyle = undefined;
|
|
107
|
+
/**
|
|
108
|
+
* 当前节点路径,只在前端动态计算后使用
|
|
109
|
+
*/
|
|
110
|
+
this.nodePath = undefined;
|
|
111
|
+
/**
|
|
112
|
+
* 所在父元素 Id
|
|
113
|
+
*/
|
|
114
|
+
this.parentId = undefined;
|
|
115
|
+
/**
|
|
116
|
+
* 所在位置
|
|
117
|
+
*/
|
|
118
|
+
this._posIndex = undefined;
|
|
119
|
+
/**
|
|
120
|
+
* 所在父元素
|
|
121
|
+
*/
|
|
122
|
+
this.parent = undefined;
|
|
123
|
+
/**
|
|
124
|
+
* 所在父元素 Id
|
|
125
|
+
*/
|
|
126
|
+
this.viewId = undefined;
|
|
127
|
+
/**
|
|
128
|
+
* 所在子页面
|
|
129
|
+
*/
|
|
130
|
+
this.view = undefined;
|
|
131
|
+
/**
|
|
132
|
+
* 子元素
|
|
133
|
+
*/
|
|
134
|
+
this.children = [];
|
|
135
|
+
source && this.assign(source);
|
|
136
|
+
// 为了给生成的节点使用
|
|
137
|
+
// !this.id && this.assign({ id: uuidv4() });
|
|
138
|
+
// this.assign({ id: 'temp-' + uuidv4() });
|
|
139
|
+
}
|
|
140
|
+
assign(source) {
|
|
141
|
+
['attrList', 'eventList', 'directiveList', 'children'].forEach((key) => {
|
|
142
|
+
if (source[key] === null)
|
|
143
|
+
delete source[key];
|
|
144
|
+
});
|
|
145
|
+
super.assign(source);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* 添加元素
|
|
149
|
+
*/
|
|
150
|
+
async create(none, actionOptions) {
|
|
151
|
+
if (actionOptions?.actionMode === __1.ACTION_MODE.local) {
|
|
152
|
+
this.view && this.view.emit('local-change');
|
|
153
|
+
return this;
|
|
154
|
+
}
|
|
155
|
+
__1.config.defaultApp?.emit('saving');
|
|
156
|
+
try {
|
|
157
|
+
if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
|
|
158
|
+
const body = this.toJSON();
|
|
159
|
+
body.parentId = this.parent && this.parent.id;
|
|
160
|
+
body._posIndex = this.parent && this.parent.children.indexOf(this);
|
|
161
|
+
__1.utils.logger.debug('添加元素', body);
|
|
162
|
+
const result = await page_1.elementService.create({
|
|
163
|
+
headers: {
|
|
164
|
+
appId: __1.config.defaultApp?.id,
|
|
165
|
+
operationAction: 'Element.create',
|
|
166
|
+
operationDesc: `添加组件"${this.getElementTitle()}"`,
|
|
167
|
+
},
|
|
168
|
+
body,
|
|
169
|
+
});
|
|
170
|
+
// Nuims createResource
|
|
171
|
+
// Element 对应资源增删在 undo/redo 情况下可能存在权限丢失的情况
|
|
172
|
+
// 暂时只增不减
|
|
173
|
+
// new Nuims({
|
|
174
|
+
// domainName: this.view.page.service.app.name,
|
|
175
|
+
// element: this,
|
|
176
|
+
// }).createResource();
|
|
177
|
+
this.deepPick(result, ['id', 'parentId', 'elementId']);
|
|
178
|
+
// attr,directive,event的id,exprssion需要合并
|
|
179
|
+
this.attrList.forEach((attr, index) => {
|
|
180
|
+
attr.deepPick(result.attrList[index], ['id', 'expression']);
|
|
181
|
+
});
|
|
182
|
+
this.directiveList.forEach((directive, index) => {
|
|
183
|
+
directive.deepPick(result.directiveList[index], ['id', 'expression']);
|
|
184
|
+
});
|
|
185
|
+
this.eventList.forEach((event, index) => {
|
|
186
|
+
event.deepPick(result.eventList[index], ['id']);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
this.view && this.view.emit('change');
|
|
190
|
+
if (actionOptions?.loadHistory !== false) {
|
|
191
|
+
await __1.config.defaultApp?.history.load(actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo && {
|
|
192
|
+
operationAction: 'Element.create',
|
|
193
|
+
operationBeforeImage: null,
|
|
194
|
+
operationAfterImage: JSON.parse(JSON.stringify(this)),
|
|
195
|
+
operationDesc: `添加组件"${this.getElementTitle()}"`,
|
|
196
|
+
});
|
|
197
|
+
__1.config.defaultApp?.emit('saved');
|
|
198
|
+
}
|
|
199
|
+
return this;
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
if (this.view) {
|
|
203
|
+
await this.view.load();
|
|
204
|
+
this.view.emit('change');
|
|
205
|
+
__1.config.defaultApp?.emit('saved');
|
|
206
|
+
}
|
|
207
|
+
throw err;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* 删除元素
|
|
212
|
+
*/
|
|
213
|
+
async delete(none, actionOptions) {
|
|
214
|
+
if (actionOptions?.actionMode === __1.ACTION_MODE.local) {
|
|
215
|
+
const index = this.parent.children.indexOf(this);
|
|
216
|
+
~index && this.parent.children.splice(index, 1);
|
|
217
|
+
this.view && this.view.emit('local-change');
|
|
218
|
+
return this;
|
|
219
|
+
}
|
|
220
|
+
__1.config.defaultApp?.emit('saving');
|
|
221
|
+
if (!this.parent)
|
|
222
|
+
throw Error('该元素为根节点!');
|
|
223
|
+
if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
|
|
224
|
+
if (this.id) {
|
|
225
|
+
try {
|
|
226
|
+
await page_1.elementService.delete({
|
|
227
|
+
headers: {
|
|
228
|
+
appId: __1.config.defaultApp?.id,
|
|
229
|
+
operationAction: 'Element.delete',
|
|
230
|
+
operationDesc: `删除组件"${this.getElementTitle()}"`,
|
|
231
|
+
},
|
|
232
|
+
query: {
|
|
233
|
+
id: this.id,
|
|
234
|
+
},
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
await __1.config.defaultApp?.history.load();
|
|
239
|
+
throw err;
|
|
240
|
+
}
|
|
241
|
+
// Nuims deleteResource
|
|
242
|
+
// Element 对应资源增删在 undo/redo 情况下可能存在权限丢失的情况
|
|
243
|
+
// 暂时只增不减
|
|
244
|
+
// new Nuims({
|
|
245
|
+
// domainName: this.view.page.service.app.name,
|
|
246
|
+
// element: this,
|
|
247
|
+
// }).deleteResources();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const index = this.parent.children.indexOf(this);
|
|
251
|
+
~index && this.parent.children.splice(index, 1);
|
|
252
|
+
this.destroy();
|
|
253
|
+
this.view && this.view.emit('change');
|
|
254
|
+
if (actionOptions?.loadHistory !== false) {
|
|
255
|
+
await __1.config.defaultApp?.history.load(actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo && {
|
|
256
|
+
operationAction: 'Element.delete',
|
|
257
|
+
operationBeforeImage: JSON.parse(JSON.stringify(this)),
|
|
258
|
+
operationAfterImage: null,
|
|
259
|
+
operationDesc: `删除组件"${this.getElementTitle()}"`,
|
|
260
|
+
});
|
|
261
|
+
__1.config.defaultApp?.emit('saved');
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* 修改元素
|
|
266
|
+
*/
|
|
267
|
+
async update(source, actionOptions) {
|
|
268
|
+
__1.config.defaultApp?.emit('saving');
|
|
269
|
+
source && this.assign(source);
|
|
270
|
+
try {
|
|
271
|
+
if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
|
|
272
|
+
const body = this.toPlainJSON();
|
|
273
|
+
__1.utils.logger.debug('修改组件', body);
|
|
274
|
+
await page_1.elementService.update({
|
|
275
|
+
headers: {
|
|
276
|
+
appId: __1.config.defaultApp?.id,
|
|
277
|
+
operationAction: actionOptions?.actionName || 'Element.update',
|
|
278
|
+
operationDesc: actionOptions?.actionDesc || `修改组件"${this.getElementTitle()}"`,
|
|
279
|
+
},
|
|
280
|
+
body,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
this.view && this.view.emit('change');
|
|
284
|
+
await __1.config.defaultApp?.history.load(actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo && {
|
|
285
|
+
operationAction: 'Element.update',
|
|
286
|
+
operationBeforeImage: null,
|
|
287
|
+
operationAfterImage: null,
|
|
288
|
+
operationDesc: `修改组件"${this.getElementTitle()}"`,
|
|
289
|
+
});
|
|
290
|
+
__1.config.defaultApp?.emit('saved');
|
|
291
|
+
return this;
|
|
292
|
+
}
|
|
293
|
+
catch (err) {
|
|
294
|
+
if (this.view) {
|
|
295
|
+
await this.view.load();
|
|
296
|
+
this.view.emit('change');
|
|
297
|
+
__1.config.defaultApp?.emit('saved');
|
|
298
|
+
}
|
|
299
|
+
throw err;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
async move(options, actionOptions) {
|
|
303
|
+
try {
|
|
304
|
+
if (!options.parentId)
|
|
305
|
+
return;
|
|
306
|
+
__1.config.defaultApp?.emit('element.moving');
|
|
307
|
+
const index = this.parent.children.indexOf(this);
|
|
308
|
+
~index && this.parent.children.splice(index, 1);
|
|
309
|
+
const parent = cacheData_1.vertexsMap.get(options.parentId);
|
|
310
|
+
parent.children.splice(options._posIndex, 0, this);
|
|
311
|
+
this.assign({
|
|
312
|
+
parent,
|
|
313
|
+
parentId: options.parentId,
|
|
314
|
+
_posIndex: options._posIndex,
|
|
315
|
+
});
|
|
316
|
+
if (actionOptions?.actionMode !== __1.ACTION_MODE.undoRedo) {
|
|
317
|
+
await this.update(undefined, {
|
|
318
|
+
actionName: 'Element.move',
|
|
319
|
+
actionDesc: `移动组件"${this.getElementTitle()}"`,
|
|
320
|
+
});
|
|
321
|
+
this.view.attachNodePath();
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
this.view.attachNodePath();
|
|
325
|
+
this.view && this.view.emit('change');
|
|
326
|
+
await __1.config.defaultApp?.history.load();
|
|
327
|
+
}
|
|
328
|
+
__1.config.defaultApp?.emit('element.moved');
|
|
329
|
+
}
|
|
330
|
+
catch (err) {
|
|
331
|
+
if (this.view) {
|
|
332
|
+
await this.view.load();
|
|
333
|
+
this.view.emit('change');
|
|
334
|
+
}
|
|
335
|
+
throw err;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* 添加元素副本
|
|
340
|
+
* 在所在父节点的后面添加一个相同的元素
|
|
341
|
+
*/
|
|
342
|
+
async duplicate() {
|
|
343
|
+
const code = this.toVue();
|
|
344
|
+
const index = this.parent.children.indexOf(this);
|
|
345
|
+
const newNode = Element.fromHTML(code, this.parent, this.view);
|
|
346
|
+
const mergeExpression = (originList, newList) => {
|
|
347
|
+
newList.forEach((item) => {
|
|
348
|
+
const originItem = originList.find((originItem) => originItem.name === item.name);
|
|
349
|
+
if (originItem && originItem.expression) {
|
|
350
|
+
// item.expression可能为空
|
|
351
|
+
const expression = lodash_1.cloneDeep(originItem.expression);
|
|
352
|
+
Object.assign(item, { expression, value: '' });
|
|
353
|
+
Object.assign(item.expression, { id: '' });
|
|
354
|
+
__1.utils.traverse((current) => {
|
|
355
|
+
delete current.node.editable;
|
|
356
|
+
delete current.node.index;
|
|
357
|
+
delete current.node.parentAttr;
|
|
358
|
+
delete current.node.parentId;
|
|
359
|
+
delete current.node.id;
|
|
360
|
+
}, { node: item.expression }, { mode: 'anyObject' });
|
|
361
|
+
}
|
|
362
|
+
});
|
|
363
|
+
};
|
|
364
|
+
// 遍历合并
|
|
365
|
+
const traverseMergeNode = (origiNode, newNode) => {
|
|
366
|
+
const originalStack = [];
|
|
367
|
+
const newStack = [];
|
|
368
|
+
originalStack.push(origiNode);
|
|
369
|
+
newStack.push(newNode);
|
|
370
|
+
let originalTempNode;
|
|
371
|
+
let newTempNode;
|
|
372
|
+
while (originalStack.length) {
|
|
373
|
+
originalTempNode = originalStack.pop();
|
|
374
|
+
newTempNode = newStack.pop();
|
|
375
|
+
if (newTempNode) {
|
|
376
|
+
mergeExpression(originalTempNode.attrList, newTempNode.attrList);
|
|
377
|
+
mergeExpression(originalTempNode.directiveList, newTempNode.directiveList);
|
|
378
|
+
newTempNode.eventList.forEach((event) => {
|
|
379
|
+
const originEvent = originalTempNode.eventList.find((eventTemp) => eventTemp.name === event.name);
|
|
380
|
+
if (originEvent) {
|
|
381
|
+
Object.assign(event, {
|
|
382
|
+
logicId: originEvent.logicId,
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
if (originalTempNode.children.length) {
|
|
387
|
+
for (let i = originalTempNode.children.length - 1; i >= 0; i--) {
|
|
388
|
+
originalStack.push(originalTempNode.children[i]);
|
|
389
|
+
newStack.push(newTempNode.children[i]);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
};
|
|
395
|
+
traverseMergeNode(this, newNode);
|
|
396
|
+
~index && this.parent.children.splice(index + 1, 0, newNode);
|
|
397
|
+
this.parent.children.forEach((item, index) => {
|
|
398
|
+
item._posIndex = index;
|
|
399
|
+
});
|
|
400
|
+
try {
|
|
401
|
+
await newNode.create();
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
~index && this.parent.children.splice(index + 1, 1);
|
|
405
|
+
this.parent.children.forEach((item, index) => {
|
|
406
|
+
item._posIndex = index;
|
|
407
|
+
});
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* 添加子元素
|
|
412
|
+
* @param child
|
|
413
|
+
*/
|
|
414
|
+
addChild(child, actionOptions) {
|
|
415
|
+
if (typeof child === 'string') {
|
|
416
|
+
child = Element.fromHTML(child, this, this.view);
|
|
417
|
+
}
|
|
418
|
+
if (lodash_1.isPlainObject(child)) {
|
|
419
|
+
child = Element.from(child, this, this.view);
|
|
420
|
+
}
|
|
421
|
+
if (!this.children.includes(child)) {
|
|
422
|
+
const index = child._posIndex === undefined ? this.children.length : child._posIndex;
|
|
423
|
+
this.children.splice(index, 0, child);
|
|
424
|
+
}
|
|
425
|
+
return child.create(undefined, actionOptions);
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* 删除子元素
|
|
429
|
+
* @param child
|
|
430
|
+
*/
|
|
431
|
+
removeChild(child, actionOptions) {
|
|
432
|
+
if (lodash_1.isPlainObject(child)) {
|
|
433
|
+
child = this.children.find((item) => item.id === child.id);
|
|
434
|
+
}
|
|
435
|
+
return child.delete(undefined, actionOptions);
|
|
436
|
+
}
|
|
437
|
+
getElementTitle() {
|
|
438
|
+
const currentNode = __1.config.allNodesAPI?.[this.tag];
|
|
439
|
+
return currentNode?.title || this.tag;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* 设置组件名称
|
|
443
|
+
*/
|
|
444
|
+
async setName(name) {
|
|
445
|
+
const oldName = this.name;
|
|
446
|
+
this.assign({ name });
|
|
447
|
+
await this.update(undefined, {
|
|
448
|
+
actionDesc: `设置组件"${this.getElementTitle()}"的名称为"${name}"`,
|
|
449
|
+
});
|
|
450
|
+
// 同步权限
|
|
451
|
+
new __1.Nuims({
|
|
452
|
+
domainName: this.view.page.service.app.name,
|
|
453
|
+
element: this,
|
|
454
|
+
}).editResourceFromResourceValue(oldName ? `${this.view.tempPath}/${oldName}` : null);
|
|
455
|
+
this.view && this.view.emit('change');
|
|
456
|
+
if (this.view && this.view.page && this.view.page.service) {
|
|
457
|
+
this.view.page.service.emit('vertexIdToNameChange', this.id, this.name);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* 添加组件属性
|
|
462
|
+
*/
|
|
463
|
+
async addAttr(attr, actionOptions) {
|
|
464
|
+
if (lodash_1.isPlainObject(attr)) {
|
|
465
|
+
attr = __1.Attr.from(attr, this);
|
|
466
|
+
}
|
|
467
|
+
if (!this.attrList.includes(attr))
|
|
468
|
+
this.attrList.push(attr);
|
|
469
|
+
await attr.create(undefined, Object.assign({
|
|
470
|
+
actionDesc: `添加组件"${this.getElementTitle()}"属性"${attr.name}"`,
|
|
471
|
+
}, actionOptions));
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* 删除组件属性
|
|
475
|
+
*/
|
|
476
|
+
async deleteAttr(attr, actionOptions) {
|
|
477
|
+
if (!attr)
|
|
478
|
+
throw Error(`该组件"${this.getElementTitle()}"没有属性"${attr.name}"`);
|
|
479
|
+
if (lodash_1.isPlainObject(attr))
|
|
480
|
+
attr = this.attrList.find((item) => item.id === attr.id);
|
|
481
|
+
await attr.delete(undefined, Object.assign({
|
|
482
|
+
actionDesc: `删除组件"${this.getElementTitle()}"属性"${attr.name}"`,
|
|
483
|
+
}, actionOptions));
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* 获取组件属性
|
|
487
|
+
*/
|
|
488
|
+
getAttr(name) {
|
|
489
|
+
return this.attrList.find((attr) => attr.name === name);
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* 设置组件属性
|
|
493
|
+
*/
|
|
494
|
+
async setAttr(name, type, value) {
|
|
495
|
+
let attr = this.getAttr(name);
|
|
496
|
+
//
|
|
497
|
+
if (value === undefined) {
|
|
498
|
+
}
|
|
499
|
+
else {
|
|
500
|
+
if (typeof value !== 'string')
|
|
501
|
+
value = JSON.stringify(value);
|
|
502
|
+
if (attr) {
|
|
503
|
+
attr.assign({
|
|
504
|
+
type,
|
|
505
|
+
value,
|
|
506
|
+
});
|
|
507
|
+
await attr.update(undefined, {
|
|
508
|
+
actionDesc: `设置组件"${this.getElementTitle()}"属性"${attr.name}"的值为"${attr.value}"`,
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
attr = __1.Attr.from({
|
|
513
|
+
name,
|
|
514
|
+
type,
|
|
515
|
+
value,
|
|
516
|
+
elementId: this.id,
|
|
517
|
+
}, this);
|
|
518
|
+
await attr.create(undefined, {
|
|
519
|
+
actionDesc: `设置组件"${this.getElementTitle()}"属性"${attr.name}"的值为"${attr.value}"`,
|
|
520
|
+
});
|
|
521
|
+
this.attrList.push(attr);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
this.view && this.view.emit('change');
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* 添加组件事件
|
|
528
|
+
*/
|
|
529
|
+
async addEvent(data, actionOptions) {
|
|
530
|
+
// (data as any).element = this;
|
|
531
|
+
let event = new __1.Event(data);
|
|
532
|
+
await event.create(undefined, Object.assign({
|
|
533
|
+
actionDesc: `添加组件"${this.getElementTitle()}"事件"${event.name}"`,
|
|
534
|
+
}, actionOptions));
|
|
535
|
+
event = __1.Event.from(event, this);
|
|
536
|
+
this.eventList.push(event);
|
|
537
|
+
this.view && this.view.emit('change');
|
|
538
|
+
await __1.config.defaultApp?.history.load();
|
|
539
|
+
__1.config.defaultApp?.emit('saved');
|
|
540
|
+
return event;
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* 删除组件属性
|
|
544
|
+
*/
|
|
545
|
+
async deleteEvent(event, actionOptions) {
|
|
546
|
+
if (!event)
|
|
547
|
+
throw Error(`该组件"${this.getElementTitle()}"没有事件"${event.name}"`);
|
|
548
|
+
if (lodash_1.isPlainObject(event))
|
|
549
|
+
event = this.eventList.find((item) => item.id === event.id);
|
|
550
|
+
await event.delete(undefined, Object.assign({
|
|
551
|
+
actionDesc: `删除组件"${this.getElementTitle()}"事件"${event.name}"`,
|
|
552
|
+
}, actionOptions));
|
|
553
|
+
const index = this.eventList.indexOf(event);
|
|
554
|
+
~index && this.eventList.splice(index, 1);
|
|
555
|
+
this.view && this.view.emit('change');
|
|
556
|
+
await __1.config.defaultApp?.history.load();
|
|
557
|
+
__1.config.defaultApp?.emit('saved');
|
|
558
|
+
}
|
|
559
|
+
/**
|
|
560
|
+
* 添加组件指令
|
|
561
|
+
*/
|
|
562
|
+
async addDirective(data, actionOptions) {
|
|
563
|
+
// (data as any).element = this;
|
|
564
|
+
const directive = new __1.Directive(data);
|
|
565
|
+
await directive.create(undefined, Object.assign({
|
|
566
|
+
actionDesc: `添加组件"${this.getElementTitle()}"指令"${directive.name}"`,
|
|
567
|
+
}, actionOptions));
|
|
568
|
+
this.directiveList.push(__1.Directive.from(directive, this));
|
|
569
|
+
this.view && this.view.emit('change');
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* 删除组件属性
|
|
573
|
+
*/
|
|
574
|
+
async deleteDirective(directive, actionOptions) {
|
|
575
|
+
if (!directive)
|
|
576
|
+
throw Error(`该组件"${this.getElementTitle()}"没有指令"${directive.name}"`);
|
|
577
|
+
if (lodash_1.isPlainObject(directive))
|
|
578
|
+
directive = this.directiveList.find((item) => item.id === directive.id);
|
|
579
|
+
await directive.delete(undefined, Object.assign({
|
|
580
|
+
actionDesc: `删除组件"${this.getElementTitle()}"属性"${directive.name}"`,
|
|
581
|
+
}, actionOptions));
|
|
582
|
+
const index = this.directiveList.indexOf(directive);
|
|
583
|
+
~index && this.directiveList.splice(index, 1);
|
|
584
|
+
this.view && this.view.emit('change');
|
|
585
|
+
}
|
|
586
|
+
/**
|
|
587
|
+
* 转换成 Vue 的模板格式
|
|
588
|
+
*/
|
|
589
|
+
toVue(options) {
|
|
590
|
+
options = Object.assign({
|
|
591
|
+
indentStyle: 'space',
|
|
592
|
+
tabSize: 4,
|
|
593
|
+
indentLevel: 0,
|
|
594
|
+
aslIdAttr: false,
|
|
595
|
+
nodePathAttr: false,
|
|
596
|
+
getExtraParts: () => [],
|
|
597
|
+
attrFormat: (attr, element, defaultResult) => defaultResult,
|
|
598
|
+
}, options);
|
|
599
|
+
const tabString = ' '.repeat(options.tabSize * options.indentLevel);
|
|
600
|
+
const insideTabString = ' '.repeat(options.tabSize * (options.indentLevel + 1));
|
|
601
|
+
let shouldIndent = true;
|
|
602
|
+
const content = !this.children ? '' : this.children.map((element) => {
|
|
603
|
+
const childOptions = Object.assign({}, options);
|
|
604
|
+
childOptions.indentLevel++;
|
|
605
|
+
return (shouldIndent ? '\n' + insideTabString : '') + element.toVue(childOptions);
|
|
606
|
+
}).join('');
|
|
607
|
+
if (!content.length)
|
|
608
|
+
shouldIndent = false;
|
|
609
|
+
const parts = [];
|
|
610
|
+
if (options.aslIdAttr) {
|
|
611
|
+
if (options.aslIdAttr === true)
|
|
612
|
+
options.aslIdAttr = 'asl-id';
|
|
613
|
+
parts.push(`${options.aslIdAttr}="${this.id}"`);
|
|
614
|
+
}
|
|
615
|
+
if (options.nodePathAttr) {
|
|
616
|
+
// 注入 asl 的 node-path
|
|
617
|
+
parts.push(`vusion-node-path="${this.nodePath}"`);
|
|
618
|
+
}
|
|
619
|
+
this.slotTarget && parts.push(`#${this.slotTarget}` + (this.slotScope ? `="${this.slotScope}"` : ''));
|
|
620
|
+
this.name && parts.push(`ref="${this.name}"`);
|
|
621
|
+
this.staticClass && parts.push(`class="${this.staticClass}"`);
|
|
622
|
+
this.staticStyle && parts.push(`style="${this.staticStyle}"`);
|
|
623
|
+
const { finalCode } = options;
|
|
624
|
+
[].concat(this.attrList, this.directiveList, this.eventList)
|
|
625
|
+
.forEach((attr) => {
|
|
626
|
+
const result = options.attrFormat(attr, this, attr.toVue(this, finalCode));
|
|
627
|
+
result && parts.push(result);
|
|
628
|
+
});
|
|
629
|
+
options.getExtraParts(this).forEach((part) => parts.push(part));
|
|
630
|
+
let partsLength = 0;
|
|
631
|
+
let partsString = '';
|
|
632
|
+
parts.forEach((part) => {
|
|
633
|
+
if (partsLength >= 120 || part.length >= 120) {
|
|
634
|
+
partsString += '\n' + tabString + ' '.repeat(3); // ' '.repeat(el.tag.length + 1);
|
|
635
|
+
partsLength = 0;
|
|
636
|
+
}
|
|
637
|
+
partsString += ' ' + part;
|
|
638
|
+
partsLength += part.length;
|
|
639
|
+
});
|
|
640
|
+
return `<${this.tag}${partsString.length ? partsString : ''}>` + content + (shouldIndent ? '\n' + tabString : '') + `</${this.tag}>`;
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* 转换成设计器中使用的 Vue 文件
|
|
644
|
+
* @param options
|
|
645
|
+
*/
|
|
646
|
+
toDesignerVue(options) {
|
|
647
|
+
options = Object.assign({
|
|
648
|
+
nodePathAttr: true,
|
|
649
|
+
attrFormat: (attr, el, defaultResult) => {
|
|
650
|
+
if (attr.level === __1.LEVEL_ENUM.event || attr.level === __1.LEVEL_ENUM.directive)
|
|
651
|
+
return false;
|
|
652
|
+
if (attr.level === __1.LEVEL_ENUM.attr) {
|
|
653
|
+
const api = __1.config.allNodesAPI[el.tag];
|
|
654
|
+
const apiOfAttr = api && api.attrs && api.attrs.find((_attr) => _attr.name === attr.name);
|
|
655
|
+
if (apiOfAttr && apiOfAttr['designer-value']) {
|
|
656
|
+
const designerValue = apiOfAttr['designer-value'].replace(/"/g, '\'');
|
|
657
|
+
try {
|
|
658
|
+
json5.parse(designerValue);
|
|
659
|
+
return `:${attr.name}="${designerValue}"`;
|
|
660
|
+
}
|
|
661
|
+
catch (e) {
|
|
662
|
+
return `${attr.name}="${designerValue}"`;
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
if (attr.type === 'dynamic'
|
|
666
|
+
&& !(el.tag === 'u-cascade-select' && attr.name === 'categories'))
|
|
667
|
+
return defaultResult.replace(/:?(\w+)(?:.*?)="(.*)"/, (m, name, value) => {
|
|
668
|
+
try {
|
|
669
|
+
const tempValue = json5.parse(value);
|
|
670
|
+
if (typeof tempValue === 'boolean' || typeof tempValue === 'number') { // 简单类型走属性
|
|
671
|
+
return `:${name}="${value.replace(/"/g, '\'')}"`;
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
catch (e) {
|
|
675
|
+
if (apiOfAttr && !apiOfAttr.type.includes('string'))
|
|
676
|
+
return '';
|
|
677
|
+
}
|
|
678
|
+
return `${name}="{{ ${value.replace(/"/g, '\'')} }}"`;
|
|
679
|
+
});
|
|
680
|
+
else
|
|
681
|
+
return defaultResult;
|
|
682
|
+
}
|
|
683
|
+
return false;
|
|
684
|
+
},
|
|
685
|
+
getExtraParts: (el) => {
|
|
686
|
+
const parts = [];
|
|
687
|
+
const api = __1.config.allNodesAPI[el.tag];
|
|
688
|
+
const emptySlot = api && api.slots && api.slots.find((slot) => slot.name === 'default' && slot['empty-background']);
|
|
689
|
+
if (!el.children.length && emptySlot) {
|
|
690
|
+
let addEmpty = true;
|
|
691
|
+
if (el.tag === 'u-grid-view'
|
|
692
|
+
|| el.tag === 'u-list-view'
|
|
693
|
+
|| el.tag === 'van-list-view') {
|
|
694
|
+
const hasDataSource = el.attrList.find((attr) => attr.name === 'data-source');
|
|
695
|
+
addEmpty = !hasDataSource;
|
|
696
|
+
}
|
|
697
|
+
addEmpty && parts.push(`vusion-empty-background="${emptySlot['empty-background']}"`);
|
|
698
|
+
}
|
|
699
|
+
return parts;
|
|
700
|
+
},
|
|
701
|
+
}, options);
|
|
702
|
+
return this.toVue(options);
|
|
703
|
+
}
|
|
704
|
+
/**
|
|
705
|
+
* 同 toVue 方法
|
|
706
|
+
* @param options 缩进等选项
|
|
707
|
+
*/
|
|
708
|
+
toHTML(options) {
|
|
709
|
+
return this.toVue(options);
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* 根据标签查找元素
|
|
713
|
+
* @param tag
|
|
714
|
+
*/
|
|
715
|
+
findElementByTag(tag) {
|
|
716
|
+
if (this.tag === tag)
|
|
717
|
+
return this;
|
|
718
|
+
else {
|
|
719
|
+
for (const child of this.children) {
|
|
720
|
+
const result = child.findElementByTag(tag);
|
|
721
|
+
if (result)
|
|
722
|
+
return result;
|
|
723
|
+
}
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* 根据属性查找元素
|
|
728
|
+
* @param name
|
|
729
|
+
* @param value
|
|
730
|
+
*/
|
|
731
|
+
findElementByAttr(name, value) {
|
|
732
|
+
if (this.attrList.find((attr) => attr.name === name && attr.value === value))
|
|
733
|
+
return this;
|
|
734
|
+
else {
|
|
735
|
+
for (const child of this.children) {
|
|
736
|
+
const result = child.findElementByAttr(name, value);
|
|
737
|
+
if (result)
|
|
738
|
+
return result;
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
/**
|
|
743
|
+
* 从 Vue 的 ASTNode 转换成 ASL 元素
|
|
744
|
+
* @param astNode Vue 的 ASTNode
|
|
745
|
+
*/
|
|
746
|
+
static _fromASTNode(astNode, context) {
|
|
747
|
+
// 临时处理组件的 text
|
|
748
|
+
//h5-mock
|
|
749
|
+
if (['u-text', 'van-text', 'u-link', 'u-button', 'u-label', 'u-radio', 'u-checkbox', 'u-navbar-item', 'u-sidebar-item', 'u-menu-item'].includes(astNode.tag)
|
|
750
|
+
&& astNode.children.length === 1 && astNode.children[0].type === 3) {
|
|
751
|
+
astNode.attrs = astNode.attrs || [];
|
|
752
|
+
astNode.attrs.push({ name: 'text', value: JSON.stringify(astNode.children[0].text) });
|
|
753
|
+
astNode.children = [];
|
|
754
|
+
}
|
|
755
|
+
// 将 scopedSlots 合并到 children 中
|
|
756
|
+
if (astNode.scopedSlots) {
|
|
757
|
+
astNode.children = astNode.children || [];
|
|
758
|
+
Object.keys(astNode.scopedSlots).forEach((key) => {
|
|
759
|
+
if (!astNode.children.find((child) => key === child.slotTarget))
|
|
760
|
+
astNode.children.unshift(astNode.scopedSlots[key]);
|
|
761
|
+
});
|
|
762
|
+
delete astNode.scopedSlots;
|
|
763
|
+
}
|
|
764
|
+
// 提示不支持的字段
|
|
765
|
+
[
|
|
766
|
+
'component', 'inlineTemplate', 'pre', 'ns',
|
|
767
|
+
'transition', 'transitionOnAppear', 'transitionMode',
|
|
768
|
+
'slotName', 'classBinding', 'styleBinding',
|
|
769
|
+
].forEach((key) => {
|
|
770
|
+
if (astNode[key])
|
|
771
|
+
console.warn(`[warn] Element NASL unsupports '${key}' field in node `, astNode);
|
|
772
|
+
});
|
|
773
|
+
let element;
|
|
774
|
+
if (astNode.type === 1) {
|
|
775
|
+
if (astNode.tag === 'router-view') {
|
|
776
|
+
if (__1.config.scope === 'h5') {
|
|
777
|
+
astNode.tag = 'van-router-view';
|
|
778
|
+
}
|
|
779
|
+
else {
|
|
780
|
+
astNode.tag = 'u-router-view';
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
// if (astNode.tag === 'template')
|
|
784
|
+
// astNode.tag = 'div';
|
|
785
|
+
element = new Element({
|
|
786
|
+
tag: astNode.tag,
|
|
787
|
+
name: astNode.attrsMap.ref,
|
|
788
|
+
staticClass: astNode.attrsMap.class,
|
|
789
|
+
staticStyle: astNode.attrsMap.style,
|
|
790
|
+
slotTarget: astNode.slotTarget && json5.parse(astNode.slotTarget),
|
|
791
|
+
slotScope: astNode.slotScope === '_empty_' ? '' : astNode.slotScope,
|
|
792
|
+
children: astNode.children,
|
|
793
|
+
});
|
|
794
|
+
astNode.attrs && astNode.attrs.forEach((oldAttr) => {
|
|
795
|
+
let attr;
|
|
796
|
+
if (oldAttr.value === '""' && oldAttr.end - oldAttr.start === oldAttr.name.length) {
|
|
797
|
+
attr = __1.Attr.from({
|
|
798
|
+
type: 'static',
|
|
799
|
+
name: oldAttr.name,
|
|
800
|
+
value: 'true',
|
|
801
|
+
}, element);
|
|
802
|
+
}
|
|
803
|
+
else {
|
|
804
|
+
try {
|
|
805
|
+
const tmp = json5.parse(oldAttr.value);
|
|
806
|
+
attr = __1.Attr.from({
|
|
807
|
+
type: typeof tmp === 'string' ? 'string' : 'static',
|
|
808
|
+
name: oldAttr.name,
|
|
809
|
+
value: typeof tmp === 'string' ? tmp : oldAttr.value,
|
|
810
|
+
}, element);
|
|
811
|
+
}
|
|
812
|
+
catch (e) {
|
|
813
|
+
const expression = this._parseExpression(oldAttr.value, context);
|
|
814
|
+
attr = __1.Attr.from({
|
|
815
|
+
type: 'dynamic',
|
|
816
|
+
name: oldAttr.name,
|
|
817
|
+
value: expression ? '' : oldAttr.value,
|
|
818
|
+
expression,
|
|
819
|
+
}, element);
|
|
820
|
+
if (astNode.attrsMap[`:${attr.name}.sync`]) {
|
|
821
|
+
attr.assign({ sync: true });
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
element.attrList.push(attr);
|
|
826
|
+
// element.attrMap[attr.name] = attr;
|
|
827
|
+
});
|
|
828
|
+
// compiler 处理:value.sync 时会加上update:value事件,需要过滤
|
|
829
|
+
astNode.events && Object.keys(astNode.events).filter((name) => !name.startsWith('update:')).forEach((name) => {
|
|
830
|
+
const oldEvent = astNode.events[name];
|
|
831
|
+
const value = oldEvent.value.split('(')[0];
|
|
832
|
+
element.eventList.push(__1.Event.from({
|
|
833
|
+
name,
|
|
834
|
+
value,
|
|
835
|
+
logicId: value[0] === '$' ? undefined : value,
|
|
836
|
+
}, element));
|
|
837
|
+
// element.eventMap[name] = new Event({
|
|
838
|
+
// name,
|
|
839
|
+
// value: oldEvent.value,
|
|
840
|
+
// });
|
|
841
|
+
});
|
|
842
|
+
astNode.directives && astNode.directives.forEach((directive) => {
|
|
843
|
+
if (directive.name === 'model') {
|
|
844
|
+
const valueAttr = astNode.attrs && astNode.attrs.find((attr) => attr.name === 'value');
|
|
845
|
+
if (!valueAttr) {
|
|
846
|
+
const expression = this._parseExpression(directive.value, context);
|
|
847
|
+
element.attrList.push(__1.Attr.from({
|
|
848
|
+
type: 'dynamic',
|
|
849
|
+
name: 'value',
|
|
850
|
+
value: expression ? '' : directive.value,
|
|
851
|
+
expression,
|
|
852
|
+
sync: true,
|
|
853
|
+
}, element));
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
else {
|
|
857
|
+
const expression = this._parseExpression(directive.value, context);
|
|
858
|
+
element.directiveList.push(__1.Directive.from({
|
|
859
|
+
type: expression ? 'string' : 'dynamic',
|
|
860
|
+
name: directive.name,
|
|
861
|
+
rawName: directive.rawName,
|
|
862
|
+
value: expression ? '' : directive.value,
|
|
863
|
+
expression,
|
|
864
|
+
arg: directive.arg,
|
|
865
|
+
modifiers: directive.modifiers,
|
|
866
|
+
}, element));
|
|
867
|
+
// element.directiveMap[directive.name] = );
|
|
868
|
+
}
|
|
869
|
+
});
|
|
870
|
+
if (astNode.if) {
|
|
871
|
+
element.directiveList.push(__1.Directive.from({
|
|
872
|
+
type: 'dynamic',
|
|
873
|
+
name: 'if',
|
|
874
|
+
rawName: 'v-if',
|
|
875
|
+
value: '',
|
|
876
|
+
expression: this._parseExpression(astNode.if, context),
|
|
877
|
+
}, element));
|
|
878
|
+
}
|
|
879
|
+
// Removed
|
|
880
|
+
// hasBindings:
|
|
881
|
+
// static:
|
|
882
|
+
// staticRoot:
|
|
883
|
+
// refInFor?: boolean;
|
|
884
|
+
// if?: string;
|
|
885
|
+
// ifProcessed?: boolean;
|
|
886
|
+
// elseif?: string;
|
|
887
|
+
// else?: true;
|
|
888
|
+
// ifConditions?: ASTIfCondition[];
|
|
889
|
+
// for?: string;
|
|
890
|
+
// forProcessed?: boolean;
|
|
891
|
+
// key?: string;
|
|
892
|
+
// alias?: string;
|
|
893
|
+
// iterator1?: string;
|
|
894
|
+
// iterator2?: string;
|
|
895
|
+
// events?: ASTElementHandlers;
|
|
896
|
+
// nativeEvents?: ASTElementHandlers;
|
|
897
|
+
// model?: {
|
|
898
|
+
// value: string;
|
|
899
|
+
// callback: string;
|
|
900
|
+
// expression: string;
|
|
901
|
+
// };
|
|
902
|
+
// directives?: ASTDirective[];
|
|
903
|
+
}
|
|
904
|
+
else if (astNode.type === 2) {
|
|
905
|
+
if (__1.config.scope === 'h5') {
|
|
906
|
+
element = new Element({
|
|
907
|
+
tag: 'van-text',
|
|
908
|
+
});
|
|
909
|
+
}
|
|
910
|
+
else {
|
|
911
|
+
element = new Element({
|
|
912
|
+
tag: 'u-text',
|
|
913
|
+
});
|
|
914
|
+
}
|
|
915
|
+
const value = astNode.text.match(/{{(.*?)}}/)[1].trim();
|
|
916
|
+
const expression = this._parseExpression(value, context);
|
|
917
|
+
element.attrList.push(new __1.Attr({
|
|
918
|
+
type: 'dynamic',
|
|
919
|
+
name: 'text',
|
|
920
|
+
value: expression ? '' : value,
|
|
921
|
+
expression,
|
|
922
|
+
element,
|
|
923
|
+
}));
|
|
924
|
+
}
|
|
925
|
+
else if (astNode.type === 3) {
|
|
926
|
+
if (__1.config.scope === 'h5') {
|
|
927
|
+
element = new Element({
|
|
928
|
+
tag: 'van-text',
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
else {
|
|
932
|
+
element = new Element({
|
|
933
|
+
tag: 'u-text',
|
|
934
|
+
});
|
|
935
|
+
}
|
|
936
|
+
element.attrList.push(new __1.Attr({
|
|
937
|
+
name: 'text',
|
|
938
|
+
value: astNode.text,
|
|
939
|
+
element,
|
|
940
|
+
}));
|
|
941
|
+
}
|
|
942
|
+
return element;
|
|
943
|
+
}
|
|
944
|
+
/**
|
|
945
|
+
* 解析属性中的表达式
|
|
946
|
+
* @param value
|
|
947
|
+
* @param $def 目前 $def 只用来查找 $def.variables 和 $def.structures
|
|
948
|
+
* @param dataSchema
|
|
949
|
+
*/
|
|
950
|
+
static _parseExpression(value, context = {}) {
|
|
951
|
+
try {
|
|
952
|
+
let ast = babelParser.parseExpression(value);
|
|
953
|
+
__1.utils.traverse((current) => {
|
|
954
|
+
if (!current.node)
|
|
955
|
+
return;
|
|
956
|
+
current.node.level = 'expressionNode';
|
|
957
|
+
delete current.node.loc;
|
|
958
|
+
delete current.node.start;
|
|
959
|
+
delete current.node.end;
|
|
960
|
+
delete current.node.errors;
|
|
961
|
+
delete current.node.comments;
|
|
962
|
+
delete current.node.innerComments;
|
|
963
|
+
delete current.node.leadingComments;
|
|
964
|
+
delete current.node.trailingComments;
|
|
965
|
+
if (current.node.type === 'CallExpression' && current.node.callee.object.name === '$utils') {
|
|
966
|
+
const calleeCode = current.node.callee.property.name || current.node.callee.property.value;
|
|
967
|
+
if (calleeCode === 'Enum') {
|
|
968
|
+
const enumName = current.node.arguments[0] && current.node.arguments[0].value;
|
|
969
|
+
if (enumName) {
|
|
970
|
+
let enumNode;
|
|
971
|
+
Object.keys(__1.dataTypesMap).forEach((dataTypeKey) => {
|
|
972
|
+
if (__1.dataTypesMap[dataTypeKey].type === 'enum') {
|
|
973
|
+
if (__1.dataTypesMap[dataTypeKey].name === enumName) {
|
|
974
|
+
enumNode = __1.dataTypesMap[dataTypeKey];
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
});
|
|
978
|
+
if (enumNode) {
|
|
979
|
+
const code = 'ID_' + enumNode.id;
|
|
980
|
+
current.node.arguments[0].value = code;
|
|
981
|
+
current.node.arguments[0].code = code;
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
Object.assign(current.node, {
|
|
986
|
+
type: 'BuiltInFunction',
|
|
987
|
+
value: calleeCode,
|
|
988
|
+
calleeCode,
|
|
989
|
+
label: '内置函数',
|
|
990
|
+
level: 'expressionNode',
|
|
991
|
+
builtInFuncParams: current.node.arguments.map((argument) => ({
|
|
992
|
+
level: 'expressionNode',
|
|
993
|
+
type: 'BuiltInFuncParam',
|
|
994
|
+
name: '',
|
|
995
|
+
builtInFuncParamValue: Object.assign({
|
|
996
|
+
level: 'expressionNode',
|
|
997
|
+
}, argument),
|
|
998
|
+
})),
|
|
999
|
+
});
|
|
1000
|
+
delete current.node.arguments;
|
|
1001
|
+
delete current.node.callee;
|
|
1002
|
+
}
|
|
1003
|
+
else if (current.node.type === 'MemberExpression') {
|
|
1004
|
+
let object = current.node.object;
|
|
1005
|
+
const properties = [current.node.property];
|
|
1006
|
+
while (object.type === 'MemberExpression') {
|
|
1007
|
+
properties.push(object.property);
|
|
1008
|
+
object = object.object;
|
|
1009
|
+
}
|
|
1010
|
+
if (object.name === 'scope') {
|
|
1011
|
+
let schema = {
|
|
1012
|
+
$ref: '',
|
|
1013
|
+
};
|
|
1014
|
+
if (context.dataSchema) { // 可以直接用 dataSchema,处理 mergeBlock 的情况
|
|
1015
|
+
const typeKey = '#/genericTypes/ScopeOf';
|
|
1016
|
+
schema = {
|
|
1017
|
+
type: 'genericType',
|
|
1018
|
+
typeKey,
|
|
1019
|
+
typeInstantiation: {
|
|
1020
|
+
typeName: 'ScopeOf',
|
|
1021
|
+
typeParams: [
|
|
1022
|
+
{
|
|
1023
|
+
typeParamName: 'T',
|
|
1024
|
+
typeParamValue: {
|
|
1025
|
+
$ref: context.dataSchema,
|
|
1026
|
+
typeKey: context.dataSchema,
|
|
1027
|
+
},
|
|
1028
|
+
},
|
|
1029
|
+
],
|
|
1030
|
+
},
|
|
1031
|
+
};
|
|
1032
|
+
}
|
|
1033
|
+
Object.assign(object, { schema, code: object.name });
|
|
1034
|
+
}
|
|
1035
|
+
if (context && object.name) {
|
|
1036
|
+
let variable = (context.variables || []).find((variable) => variable.name === object.name);
|
|
1037
|
+
variable = variable || object;
|
|
1038
|
+
if (variable) {
|
|
1039
|
+
let schemaData = __1.dataTypesMap[variable.schema && variable.schema.$ref];
|
|
1040
|
+
if (variable.schema && variable.schema.type === 'genericType') {
|
|
1041
|
+
const genericClass = __1.dataTypesMap[variable.schema.typeKey];
|
|
1042
|
+
let propertyList = [];
|
|
1043
|
+
if (genericClass) {
|
|
1044
|
+
propertyList = lodash_1.cloneDeep(genericClass.propertyList);
|
|
1045
|
+
propertyList = propertyList.map((property) => {
|
|
1046
|
+
if (property.type === 'genericParam' && variable.schema.typeInstantiation) {
|
|
1047
|
+
const param = variable.schema.typeInstantiation.typeParams.find((typeParam) => typeParam.typeParamName === property.typeParamName);
|
|
1048
|
+
if (param) {
|
|
1049
|
+
property = Object.assign({ name: property.name }, param.typeParamValue);
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
return property;
|
|
1053
|
+
});
|
|
1054
|
+
}
|
|
1055
|
+
schemaData = { propertyList };
|
|
1056
|
+
}
|
|
1057
|
+
// 这部分功能还不稳定,先单独处理一下
|
|
1058
|
+
if (object.name === 'scope' && properties.length >= 3) {
|
|
1059
|
+
const tempStructure = context.structures.find((structure) => context.dataSchema === structure.schemaRef || context.dataSchema === structure.name);
|
|
1060
|
+
if (tempStructure && !tempStructure.id) {
|
|
1061
|
+
properties.pop(); // scope.item 那一项
|
|
1062
|
+
let property = properties.pop();
|
|
1063
|
+
property.schemaRef = tempStructure.name + '.' + property.name;
|
|
1064
|
+
const originProp = tempStructure.propertyList.find((tempProp) => tempProp.name === property.name);
|
|
1065
|
+
schemaData = originProp && __1.dataTypesMap[originProp.$ref];
|
|
1066
|
+
property = properties.pop();
|
|
1067
|
+
while (property && schemaData) {
|
|
1068
|
+
if (schemaData.propertyList) {
|
|
1069
|
+
const originProp = schemaData.propertyList.find((tempProp) => tempProp.name === property.name);
|
|
1070
|
+
if (originProp) {
|
|
1071
|
+
if (originProp.id) {
|
|
1072
|
+
Object.assign(property, {
|
|
1073
|
+
schemaRef: '#/' + originProp.id,
|
|
1074
|
+
code: `ID_${originProp.id}`,
|
|
1075
|
+
});
|
|
1076
|
+
}
|
|
1077
|
+
schemaData = __1.dataTypesMap[originProp.$ref];
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
property = properties.pop();
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
else if (tempStructure && tempStructure.id && context.recordProperty) {
|
|
1084
|
+
properties.pop(); // scope.item 那一项
|
|
1085
|
+
let property = properties.pop();
|
|
1086
|
+
property.schemaRef = context.recordProperty.$ref;
|
|
1087
|
+
property.code = `ID_${context.recordProperty.id}`;
|
|
1088
|
+
const originProp = context.recordProperty;
|
|
1089
|
+
schemaData = originProp && __1.dataTypesMap[originProp.$ref];
|
|
1090
|
+
property = properties.pop();
|
|
1091
|
+
while (property && schemaData) {
|
|
1092
|
+
if (schemaData.propertyList) {
|
|
1093
|
+
const originProp = schemaData.propertyList.find((tempProp) => tempProp.name === property.name);
|
|
1094
|
+
if (originProp) {
|
|
1095
|
+
if (originProp.id) {
|
|
1096
|
+
Object.assign(property, {
|
|
1097
|
+
schemaRef: `#/${originProp.id}`,
|
|
1098
|
+
code: `ID_${originProp.id}`,
|
|
1099
|
+
});
|
|
1100
|
+
}
|
|
1101
|
+
schemaData = __1.dataTypesMap[originProp.$ref];
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
1104
|
+
property = properties.pop();
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
else {
|
|
1109
|
+
let property = properties.pop();
|
|
1110
|
+
while (property && schemaData) {
|
|
1111
|
+
if (schemaData.propertyList) {
|
|
1112
|
+
const originProp = schemaData.propertyList.find((tempProp) => tempProp.name === property.name);
|
|
1113
|
+
if (originProp) {
|
|
1114
|
+
if (originProp.id) {
|
|
1115
|
+
Object.assign(property, {
|
|
1116
|
+
schemaRef: '#/' + originProp.id,
|
|
1117
|
+
});
|
|
1118
|
+
}
|
|
1119
|
+
schemaData = __1.dataTypesMap[originProp.$ref];
|
|
1120
|
+
}
|
|
1121
|
+
}
|
|
1122
|
+
property = properties.pop();
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
const property = current.node.property;
|
|
1128
|
+
if (property.type === 'StringLiteral') {
|
|
1129
|
+
// 区分单引号的变量和纯文字
|
|
1130
|
+
// $utils['FormatDate']()
|
|
1131
|
+
// 把 'FormatDate' 变成 Identifier, 因为内置函数名是通过选择出来的;如果不改,会展示成输入框
|
|
1132
|
+
if (property.extra.raw.includes("'")) {
|
|
1133
|
+
property.type = 'Identifier';
|
|
1134
|
+
property.name = ast.value;
|
|
1135
|
+
property.level = 'expressionNode';
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1139
|
+
else if (current.node.type === 'Identifier') {
|
|
1140
|
+
if (current.node.name && current.node.name.startsWith('ID_ENUM_LIST_')) {
|
|
1141
|
+
current.node.schemaRef = current.node.name.replace('ID_ENUM_LIST_', '');
|
|
1142
|
+
current.node.code = current.node.name;
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
delete current.node.extra;
|
|
1146
|
+
}, { node: ast }, { mode: 'anyObject' });
|
|
1147
|
+
if (ast) {
|
|
1148
|
+
let hasSchema = !!context.dataSchema;
|
|
1149
|
+
let object = ast;
|
|
1150
|
+
while (!hasSchema && object) {
|
|
1151
|
+
if (object.schema || object.schemaRef || (object.property && (object.property.schema || object.property.schemaRef)))
|
|
1152
|
+
hasSchema = true;
|
|
1153
|
+
object = object.object;
|
|
1154
|
+
}
|
|
1155
|
+
if (ast.type === 'ArrayExpression' || ast.type === 'ObjectExpression'
|
|
1156
|
+
|| ast.type === 'MemberExpression' && !hasSchema) {
|
|
1157
|
+
ast = {
|
|
1158
|
+
label: '原子项',
|
|
1159
|
+
level: 'expressionNode',
|
|
1160
|
+
type: 'Unparsed',
|
|
1161
|
+
editable: true,
|
|
1162
|
+
code: value,
|
|
1163
|
+
};
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
return __1.LogicItem.from(ast, null, null);
|
|
1167
|
+
}
|
|
1168
|
+
catch (e) {
|
|
1169
|
+
return null;
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
/**
|
|
1173
|
+
* 解析 Vue 模板
|
|
1174
|
+
* 该方法不会绑定 view 和 parent,如果是添加元素优先使用 fromHTML
|
|
1175
|
+
* @param html Vue 的模板
|
|
1176
|
+
* @TODO 处理多个元素的问题
|
|
1177
|
+
*/
|
|
1178
|
+
static parse(html, context) {
|
|
1179
|
+
html = html || '<div></div>';
|
|
1180
|
+
const compilerOptions = {
|
|
1181
|
+
preserveWhitespace: false,
|
|
1182
|
+
outputSourceRange: true,
|
|
1183
|
+
};
|
|
1184
|
+
let ast = compiler.compile(html, compilerOptions).ast;
|
|
1185
|
+
if (ast.tag === 'template' && !ast.slotTarget)
|
|
1186
|
+
ast = ast.children[0];
|
|
1187
|
+
if (context && !context.dataSchema) {
|
|
1188
|
+
const cap = html.match(/data-schema="(.*?)"/);
|
|
1189
|
+
context.dataSchema = cap ? cap[1] : '';
|
|
1190
|
+
}
|
|
1191
|
+
let root;
|
|
1192
|
+
__1.utils.traverse((current) => {
|
|
1193
|
+
// 处理 scopedSlots;
|
|
1194
|
+
if (!current.parent)
|
|
1195
|
+
root = this._fromASTNode(current.node, context);
|
|
1196
|
+
else
|
|
1197
|
+
current.parent.children[current.index] = this._fromASTNode(current.node, context);
|
|
1198
|
+
}, { node: ast });
|
|
1199
|
+
return root;
|
|
1200
|
+
}
|
|
1201
|
+
/**
|
|
1202
|
+
* 从模板生成规范的 Element 对象
|
|
1203
|
+
*/
|
|
1204
|
+
static fromHTML(html, parent, view, context) {
|
|
1205
|
+
const element = this.parse(html, context);
|
|
1206
|
+
__1.utils.traverse((current) => {
|
|
1207
|
+
current.node.assign({ view, parent: current.parent });
|
|
1208
|
+
}, { node: element, parent });
|
|
1209
|
+
return element;
|
|
1210
|
+
}
|
|
1211
|
+
/**
|
|
1212
|
+
* 从后端 JSON 生成规范的 Element 对象
|
|
1213
|
+
*/
|
|
1214
|
+
static from(source, parent, view, currentElement) {
|
|
1215
|
+
const element = new Element(source);
|
|
1216
|
+
currentElement = currentElement || element;
|
|
1217
|
+
element.assign({
|
|
1218
|
+
attrList: element.attrList.map((attr) => __1.Attr.from(attr, currentElement)),
|
|
1219
|
+
eventList: element.eventList.map((ret) => __1.Event.from(ret, currentElement)),
|
|
1220
|
+
directiveList: element.directiveList.map((directive) => __1.Directive.from(directive, currentElement)),
|
|
1221
|
+
children: element.children.map((child) => Element.from(child, currentElement, view)),
|
|
1222
|
+
view,
|
|
1223
|
+
parent,
|
|
1224
|
+
});
|
|
1225
|
+
return element;
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
__decorate([
|
|
1229
|
+
decorators_1.immutable()
|
|
1230
|
+
], Element.prototype, "level", void 0);
|
|
1231
|
+
__decorate([
|
|
1232
|
+
decorators_1.immutable()
|
|
1233
|
+
], Element.prototype, "type", void 0);
|
|
1234
|
+
__decorate([
|
|
1235
|
+
decorators_1.immutable()
|
|
1236
|
+
], Element.prototype, "id", void 0);
|
|
1237
|
+
__decorate([
|
|
1238
|
+
decorators_1.immutable()
|
|
1239
|
+
], Element.prototype, "tag", void 0);
|
|
1240
|
+
__decorate([
|
|
1241
|
+
decorators_1.immutable()
|
|
1242
|
+
], Element.prototype, "name", void 0);
|
|
1243
|
+
__decorate([
|
|
1244
|
+
decorators_1.immutable()
|
|
1245
|
+
], Element.prototype, "attrList", void 0);
|
|
1246
|
+
__decorate([
|
|
1247
|
+
decorators_1.immutable()
|
|
1248
|
+
], Element.prototype, "eventList", void 0);
|
|
1249
|
+
__decorate([
|
|
1250
|
+
decorators_1.immutable()
|
|
1251
|
+
], Element.prototype, "directiveList", void 0);
|
|
1252
|
+
__decorate([
|
|
1253
|
+
decorators_1.immutable()
|
|
1254
|
+
], Element.prototype, "slotTarget", void 0);
|
|
1255
|
+
__decorate([
|
|
1256
|
+
decorators_1.immutable()
|
|
1257
|
+
], Element.prototype, "slotScope", void 0);
|
|
1258
|
+
__decorate([
|
|
1259
|
+
decorators_1.immutable()
|
|
1260
|
+
], Element.prototype, "staticClass", void 0);
|
|
1261
|
+
__decorate([
|
|
1262
|
+
decorators_1.immutable()
|
|
1263
|
+
], Element.prototype, "staticStyle", void 0);
|
|
1264
|
+
__decorate([
|
|
1265
|
+
decorators_1.excludedInJSON()
|
|
1266
|
+
], Element.prototype, "nodePath", void 0);
|
|
1267
|
+
__decorate([
|
|
1268
|
+
decorators_1.immutable()
|
|
1269
|
+
], Element.prototype, "parentId", void 0);
|
|
1270
|
+
__decorate([
|
|
1271
|
+
decorators_1.immutable()
|
|
1272
|
+
], Element.prototype, "_posIndex", void 0);
|
|
1273
|
+
__decorate([
|
|
1274
|
+
decorators_1.circular(),
|
|
1275
|
+
decorators_1.immutable()
|
|
1276
|
+
], Element.prototype, "parent", void 0);
|
|
1277
|
+
__decorate([
|
|
1278
|
+
decorators_1.immutable()
|
|
1279
|
+
], Element.prototype, "viewId", void 0);
|
|
1280
|
+
__decorate([
|
|
1281
|
+
decorators_1.circular(),
|
|
1282
|
+
decorators_1.immutable()
|
|
1283
|
+
], Element.prototype, "view", void 0);
|
|
1284
|
+
__decorate([
|
|
1285
|
+
decorators_1.immutable()
|
|
1286
|
+
], Element.prototype, "children", void 0);
|
|
1287
|
+
__decorate([
|
|
1288
|
+
decorators_1.action('添加元素')
|
|
1289
|
+
], Element.prototype, "create", null);
|
|
1290
|
+
__decorate([
|
|
1291
|
+
decorators_1.action('删除元素')
|
|
1292
|
+
], Element.prototype, "delete", null);
|
|
1293
|
+
__decorate([
|
|
1294
|
+
decorators_1.action('添加元素副本')
|
|
1295
|
+
], Element.prototype, "duplicate", null);
|
|
1296
|
+
__decorate([
|
|
1297
|
+
decorators_1.action('设置组件名称')
|
|
1298
|
+
], Element.prototype, "setName", null);
|
|
1299
|
+
__decorate([
|
|
1300
|
+
decorators_1.action('添加组件属性')
|
|
1301
|
+
], Element.prototype, "addAttr", null);
|
|
1302
|
+
__decorate([
|
|
1303
|
+
decorators_1.action('删除组件属性')
|
|
1304
|
+
], Element.prototype, "deleteAttr", null);
|
|
1305
|
+
__decorate([
|
|
1306
|
+
decorators_1.action('设置组件属性')
|
|
1307
|
+
], Element.prototype, "setAttr", null);
|
|
1308
|
+
__decorate([
|
|
1309
|
+
decorators_1.action('添加组件事件')
|
|
1310
|
+
], Element.prototype, "addEvent", null);
|
|
1311
|
+
__decorate([
|
|
1312
|
+
decorators_1.action('删除组件事件')
|
|
1313
|
+
], Element.prototype, "deleteEvent", null);
|
|
1314
|
+
__decorate([
|
|
1315
|
+
decorators_1.action('添加组件指令')
|
|
1316
|
+
], Element.prototype, "addDirective", null);
|
|
1317
|
+
__decorate([
|
|
1318
|
+
decorators_1.action('删除组件指令')
|
|
1319
|
+
], Element.prototype, "deleteDirective", null);
|
|
1320
|
+
exports.Element = Element;
|
|
1321
|
+
exports.default = Element;
|
|
1322
|
+
//# sourceMappingURL=Element.js.map
|