@lcap/nasl 1.0.0-alpha.2 → 1.0.0-alpha.5
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/README.md +3 -3
- package/docs/assets/search.js +1 -1
- package/docs/classes/Entity.html +2832 -204
- package/docs/classes/View.html +4567 -365
- package/out/common/BaseNode.d.ts +1 -1
- package/out/common/BaseNode.js +38 -23
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +22 -0
- package/out/concepts/App__.js +77 -15
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +2 -1
- package/out/concepts/Argument__.js +2 -2
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignment__.d.ts +2 -1
- package/out/concepts/Assignment__.js +3 -8
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/Attribute__.js.map +1 -1
- package/out/concepts/BinaryExpression__.d.ts +2 -1
- package/out/concepts/BinaryExpression__.js +5 -5
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +2 -1
- package/out/concepts/BindAttribute__.js +9 -4
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +2 -1
- package/out/concepts/BindDirective__.js +2 -2
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -1
- package/out/concepts/BindEvent__.js +4 -3
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -1
- package/out/concepts/BooleanLiteral__.js +1 -1
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +57 -1
- package/out/concepts/CallFunction__.js +119 -11
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +2 -1
- package/out/concepts/CallInterface__.js +2 -2
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +57 -1
- package/out/concepts/CallLogic__.js +117 -10
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +1 -1
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +120 -0
- package/out/concepts/ConfigGroup__.js +214 -0
- package/out/concepts/ConfigGroup__.js.map +1 -0
- package/out/concepts/ConfigPropertyValue__.d.ts +43 -0
- package/out/concepts/ConfigPropertyValue__.js +103 -0
- package/out/concepts/ConfigPropertyValue__.js.map +1 -0
- package/out/concepts/ConfigProperty__.d.ts +128 -0
- package/out/concepts/ConfigProperty__.js +236 -0
- package/out/concepts/ConfigProperty__.js.map +1 -0
- package/out/concepts/Configuration__.d.ts +120 -0
- package/out/concepts/Configuration__.js +210 -0
- package/out/concepts/Configuration__.js.map +1 -0
- package/out/concepts/Constant__.d.ts +2 -1
- package/out/concepts/Constant__.js +1 -1
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/DataElement__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +2 -1
- package/out/concepts/Destination__.js +4 -3
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityIndex__.d.ts +8 -0
- package/out/concepts/EntityIndex__.js +18 -0
- package/out/concepts/EntityIndex__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +5 -5
- package/out/concepts/EntityProperty__.js +10 -9
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +30 -26
- package/out/concepts/Entity__.js +44 -36
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/EnumItem__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +8 -8
- package/out/concepts/Enum__.js +10 -4
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +1 -1
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +35 -33
- package/out/concepts/ForEachStatement__.js +103 -36
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +1 -1
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +2 -1
- package/out/concepts/Identifier__.js +15 -1
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.js +1 -1
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +5 -1
- package/out/concepts/Interface__.js +19 -5
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +2 -2
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.js +9 -7
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -5
- package/out/concepts/MemberExpression__.js +12 -18
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +121 -126
- package/out/concepts/Module__.js +10 -17
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.js +12 -12
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +2 -1
- package/out/concepts/NullLiteral__.js +1 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +2 -1
- package/out/concepts/NumericLiteral__.js +1 -1
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +1 -1
- package/out/concepts/Param__.js +2 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/Point__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +2 -2
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +82 -81
- package/out/concepts/ProcessElement__.js +19 -6
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +1 -0
- package/out/concepts/Process__.js +10 -4
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFieldExpression__.js +1 -1
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryGroupByExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +1 -1
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +1 -1
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Rect__.js.map +1 -1
- package/out/concepts/Return__.d.ts +1 -1
- package/out/concepts/Return__.js +2 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +5 -0
- package/out/concepts/Role__.js +19 -2
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/Slot__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.d.ts +2 -0
- package/out/concepts/SqlQueryComponent__.js +16 -0
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/Start__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +2 -1
- package/out/concepts/StringLiteral__.js +1 -1
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +1 -1
- package/out/concepts/StructureProperty__.js +1 -1
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +1 -1
- package/out/concepts/Structure__.js +4 -4
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/Theme__.js.map +1 -1
- package/out/concepts/Transactional__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.js +3 -0
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/TypeParam__.js.map +1 -1
- package/out/concepts/UnaryExpression__.d.ts +2 -1
- package/out/concepts/UnaryExpression__.js +3 -3
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.d.ts +2 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/UseComponent__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +2 -1
- package/out/concepts/ValidationRule__.js +2 -2
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +6 -5
- package/out/concepts/Variable__.js +3 -3
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +5 -5
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +5 -4
- package/out/concepts/ViewElement__.js +109 -65
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +97 -90
- package/out/concepts/View__.js +153 -118
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +2 -2
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +3 -137
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +21 -5
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.validation.js +527 -0
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -0
- package/out/concepts/index__.d.ts +4 -0
- package/out/concepts/index__.js +4 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/data/Module.d.ts +34 -0
- package/out/data/Module.js +53 -0
- package/out/data/Module.js.map +1 -0
- package/out/generator/compileComponent.d.ts +1 -1
- package/out/generator/genBundleFiles.d.ts +0 -1
- package/out/generator/genBundleFiles.js +1 -1
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +35 -0
- package/out/generator/genMetaData.js +78 -0
- package/out/generator/genMetaData.js.map +1 -0
- package/out/generator/index.d.ts +1 -0
- package/out/generator/index.js +1 -0
- package/out/generator/index.js.map +1 -1
- package/out/index.d.ts +2 -2
- package/out/index.js +3 -1
- package/out/index.js.map +1 -1
- package/out/server/createUiTs.d.ts +7 -0
- package/out/server/createUiTs.js +157 -0
- package/out/server/createUiTs.js.map +1 -0
- package/out/server/entity2LogicNamespace.d.ts +9 -1
- package/out/server/entity2LogicNamespace.js +11 -1
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.d.ts +3 -0
- package/out/server/getExtensionModules.js +18 -0
- package/out/server/getExtensionModules.js.map +1 -0
- package/out/server/getLogics.js +18 -15
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +3 -2
- package/out/server/getMemberIdentifier.js +47 -15
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +4 -1
- package/out/server/getProcesses.js +16 -7
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getValidates.js +1 -1
- package/out/server/getValidates.js.map +1 -1
- package/out/server/index.js +1 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +23 -5
- package/out/server/naslServer.js +199 -25
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +15 -1
- package/out/server/process2LogicNamespace.js +30 -3
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.js +28 -0
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.d.ts +5 -0
- package/out/service/storage/init.js +60 -52
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCallComponentLogic.js +2 -2
- package/out/templator/genCallComponentLogic.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -8
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +4 -4
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +3 -3
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +1 -1
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +2 -2
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genSelectBlock.js +1 -1
- package/out/templator/genSelectBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +8 -12
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +20 -20
- package/out/templator/utils.js +22 -22
- package/out/templator/utils.js.map +1 -1
- package/package.json +3 -1
- package/src/automate/engine/index.js +37 -3
- package/src/automate/engine/utils.js +68 -64
- package/src/common/BaseNode.ts +43 -28
- package/src/concepts/App__.ts +93 -17
- package/src/concepts/Argument__.ts +4 -2
- package/src/concepts/Assignment__.ts +5 -7
- package/src/concepts/Attribute__.ts +1 -0
- package/src/concepts/BinaryExpression__.ts +7 -5
- package/src/concepts/BindAttribute__.ts +9 -4
- package/src/concepts/BindDirective__.ts +4 -2
- package/src/concepts/BindEvent__.ts +6 -4
- package/src/concepts/BooleanLiteral__.ts +3 -1
- package/src/concepts/CallFunction__.ts +195 -11
- package/src/concepts/CallInterface__.ts +4 -2
- package/src/concepts/CallLogic__.ts +211 -12
- package/src/concepts/CallQueryComponent__.ts +2 -1
- package/src/concepts/Comment__.ts +1 -0
- package/src/concepts/CompletionProperty__.ts +1 -0
- package/src/concepts/ConfigGroup__.ts +290 -0
- package/src/concepts/ConfigPropertyValue__.ts +112 -0
- package/src/concepts/ConfigProperty__.ts +306 -0
- package/src/concepts/Configuration__.ts +286 -0
- package/src/concepts/Constant__.ts +3 -1
- package/src/concepts/DataElement__.ts +1 -0
- package/src/concepts/Destination__.ts +7 -5
- package/src/concepts/End__.ts +1 -0
- package/src/concepts/EntityIndex__.ts +19 -0
- package/src/concepts/EntityProperty__.ts +9 -8
- package/src/concepts/Entity__.ts +66 -59
- package/src/concepts/EnumItem__.ts +1 -0
- package/src/concepts/Enum__.ts +32 -12
- package/src/concepts/Event__.ts +2 -1
- package/src/concepts/ForEachStatement__.ts +115 -69
- package/src/concepts/Function__.ts +2 -1
- package/src/concepts/Identifier__.ts +18 -1
- package/src/concepts/IfStatement__.ts +1 -0
- package/src/concepts/InterfaceParam__.ts +2 -1
- package/src/concepts/Interface__.ts +21 -5
- package/src/concepts/JSBlock__.ts +1 -0
- package/src/concepts/LogicItem__.ts +9 -40
- package/src/concepts/Logic__.ts +48 -9
- package/src/concepts/MemberExpression__.ts +14 -17
- package/src/concepts/Module__.ts +158 -139
- package/src/concepts/Namespace__.ts +13 -12
- package/src/concepts/NullLiteral__.ts +3 -1
- package/src/concepts/NumericLiteral__.ts +3 -1
- package/src/concepts/Param__.ts +3 -2
- package/src/concepts/Point__.ts +1 -0
- package/src/concepts/ProcessComponent__.ts +3 -2
- package/src/concepts/ProcessElement__.ts +102 -107
- package/src/concepts/ProcessOutcome__.ts +1 -0
- package/src/concepts/Process__.ts +12 -4
- package/src/concepts/QueryAggregateExpression__.ts +1 -0
- package/src/concepts/QueryFieldExpression__.ts +2 -1
- package/src/concepts/QueryFromExpression__.ts +1 -0
- package/src/concepts/QueryGroupByExpression__.ts +1 -0
- package/src/concepts/QueryJoinExpression__.ts +2 -1
- package/src/concepts/QueryLimitExpression__.ts +1 -0
- package/src/concepts/QueryOrderByExpression__.ts +1 -0
- package/src/concepts/QuerySelectExpression__.ts +2 -1
- package/src/concepts/Rect__.ts +1 -0
- package/src/concepts/Return__.ts +3 -2
- package/src/concepts/Role__.ts +19 -2
- package/src/concepts/Slot__.ts +1 -0
- package/src/concepts/SqlQueryComponent__.ts +11 -1
- package/src/concepts/Start__.ts +1 -0
- package/src/concepts/StringLiteral__.ts +3 -1
- package/src/concepts/StructureProperty__.ts +2 -1
- package/src/concepts/Structure__.ts +5 -4
- package/src/concepts/SwitchCase__.ts +1 -0
- package/src/concepts/SwitchStatement__.ts +1 -0
- package/src/concepts/Theme__.ts +1 -0
- package/src/concepts/Transactional__.ts +1 -0
- package/src/concepts/TypeAnnotation__.ts +4 -0
- package/src/concepts/TypeParam__.ts +1 -0
- package/src/concepts/UnaryExpression__.ts +6 -3
- package/src/concepts/Unparsed__.ts +3 -1
- package/src/concepts/UseComponent__.ts +1 -0
- package/src/concepts/ValidationRule__.ts +5 -2
- package/src/concepts/Variable__.ts +12 -6
- package/src/concepts/ViewComponent__.ts +6 -5
- package/src/concepts/ViewElement__.ts +109 -80
- package/src/concepts/View__.ts +245 -206
- package/src/concepts/WhileStatement__.ts +1 -0
- package/src/concepts/basics/stdlib/index.ts +2 -2
- package/src/concepts/basics/stdlib/nasl.ui.ts +3 -137
- package/src/concepts/basics/stdlib/nasl.util.ts +21 -5
- package/src/concepts/basics/stdlib/{nasl.validate.ts → nasl.validation.ts} +28 -28
- package/src/concepts/index__.ts +4 -0
- package/src/generator/compileComponent.ts +1 -1
- package/src/generator/genBundleFiles.ts +1 -2
- package/src/generator/genMetaData.ts +111 -0
- package/src/generator/index.ts +1 -0
- package/src/index.ts +2 -2
- package/src/server/createUiTs.ts +153 -0
- package/src/server/entity2LogicNamespace.ts +17 -1
- package/src/server/getExtensionModules.ts +13 -0
- package/src/server/getLogics.ts +19 -18
- package/src/server/getMemberIdentifier.ts +60 -19
- package/src/server/getProcesses.ts +15 -8
- package/src/server/getValidates.ts +1 -1
- package/src/server/index.ts +2 -1
- package/src/server/naslServer.ts +204 -24
- package/src/server/process2LogicNamespace.ts +44 -3
- package/src/server/translator.ts +121 -97
- package/src/service/config/api.js +32 -0
- package/src/service/config/index.js +6 -0
- package/src/service/creator/index.js +2 -2
- package/src/service/logic/checktypeSocket.js +49 -0
- package/src/service/modules/api.js +20 -0
- package/src/service/modules/index.js +6 -0
- package/src/service/storage/init.ts +62 -54
- package/src/templator/genCallComponentLogic.ts +2 -2
- package/src/templator/genCreateBlock.ts +19 -25
- package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
- package/src/templator/genEditTableBlock.ts +3 -3
- package/src/templator/genGetBlock.ts +1 -1
- package/src/templator/genListViewBlock.ts +2 -2
- package/src/templator/genSelectBlock.ts +1 -1
- package/src/templator/genUpdateBlock.ts +19 -25
- package/src/templator/utils.ts +25 -153
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
//================================================================================
|
|
2
|
+
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
3
|
+
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
4
|
+
//================================================================================
|
|
5
|
+
import { EventPayload, Params } from '../common/EventEmitter';
|
|
6
|
+
import { concept, excludedInJSON, property } from '../decorators';
|
|
7
|
+
|
|
8
|
+
import * as utils from '../utils';
|
|
9
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
10
|
+
import BaseNode from '../common/BaseNode';
|
|
11
|
+
import classMap from '../common/classMap';
|
|
12
|
+
import ConfigPropertyValue from './ConfigPropertyValue__';
|
|
13
|
+
import App from './App__';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 配置属性
|
|
17
|
+
*/
|
|
18
|
+
@concept
|
|
19
|
+
export class ConfigProperty extends BaseNode {
|
|
20
|
+
/**
|
|
21
|
+
* 产品概念
|
|
22
|
+
*/
|
|
23
|
+
@property()
|
|
24
|
+
concept: 'ConfigProperty' = 'ConfigProperty';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 配置属性名称
|
|
28
|
+
*/
|
|
29
|
+
@property()
|
|
30
|
+
name: string = undefined;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 配置属性描述
|
|
34
|
+
*/
|
|
35
|
+
@property()
|
|
36
|
+
description: string = undefined;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 配置属性值列表
|
|
40
|
+
*/
|
|
41
|
+
@property('ConfigPropertyValue')
|
|
42
|
+
values: Array<ConfigPropertyValue> = [];
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 祖先 App
|
|
46
|
+
*/
|
|
47
|
+
get app() {
|
|
48
|
+
return this.getAncestor('App') as App;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @param source 需要合并的部分参数
|
|
53
|
+
*/
|
|
54
|
+
constructor(source?: Partial<ConfigProperty>) {
|
|
55
|
+
source = Object.assign({}, ConfigProperty.getDefaultOptions(), source);
|
|
56
|
+
super(source);
|
|
57
|
+
super.subConstructor(source);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
static from(source: any, parentNode?: any, parentKey?: string): ConfigProperty {
|
|
61
|
+
return super.from(source, parentNode, parentKey) as ConfigProperty;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* 从父级删除该节点
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
_delete() {
|
|
69
|
+
let params: Params = null;
|
|
70
|
+
if (this.parentNode) {
|
|
71
|
+
params = (this.parentNode as any)?.__removeConfigProperty?.(this);
|
|
72
|
+
}
|
|
73
|
+
return params;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 设置配置属性名称
|
|
77
|
+
*/
|
|
78
|
+
setName(name: string) {
|
|
79
|
+
const object = {
|
|
80
|
+
name,
|
|
81
|
+
};
|
|
82
|
+
this.update({
|
|
83
|
+
...object,
|
|
84
|
+
field: 'name',
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
getConfigPropertyValueExistingNames(excludedList: Array<ConfigPropertyValue> = []) {
|
|
89
|
+
const excludedSet = new Set(excludedList);
|
|
90
|
+
return (this.values || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
91
|
+
}
|
|
92
|
+
getConfigPropertyValueUniqueName(name = 'configPropertyValue1') {
|
|
93
|
+
return utils.unique(name, this.getConfigPropertyValueExistingNames());
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* 插入配置属性值
|
|
98
|
+
* @internal
|
|
99
|
+
* @param name 配置属性值名称,如果不填会自动生成一个唯一名称
|
|
100
|
+
*/
|
|
101
|
+
_insertConfigPropertyValueAt(name: string, index: number): ConfigPropertyValue;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 插入配置属性值
|
|
105
|
+
* @internal
|
|
106
|
+
* @param configPropertyValueOptions 配置属性值参数
|
|
107
|
+
*/
|
|
108
|
+
_insertConfigPropertyValueAt(configPropertyValueOptions: Partial<ConfigPropertyValue>, index: number): ConfigPropertyValue;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* 插入配置属性值
|
|
112
|
+
* @internal
|
|
113
|
+
* @param configPropertyValue 已有的配置属性值实例
|
|
114
|
+
*/
|
|
115
|
+
_insertConfigPropertyValueAt(configPropertyValue: ConfigPropertyValue, index: number): ConfigPropertyValue;
|
|
116
|
+
|
|
117
|
+
_insertConfigPropertyValueAt(options: string | Partial<ConfigPropertyValue> | ConfigPropertyValue, index: number) {
|
|
118
|
+
const configPropertyValueOptions: any = {};
|
|
119
|
+
const relationOptions = { parentNode: this, parentKey: 'values' };
|
|
120
|
+
let configPropertyValue: ConfigPropertyValue;
|
|
121
|
+
if (!options) {
|
|
122
|
+
configPropertyValue = ConfigPropertyValue.from({
|
|
123
|
+
...configPropertyValueOptions,
|
|
124
|
+
name: this.getConfigPropertyValueUniqueName(),
|
|
125
|
+
}, this, 'values');
|
|
126
|
+
} else if (typeof options === 'string') {
|
|
127
|
+
configPropertyValue = ConfigPropertyValue.from({
|
|
128
|
+
...configPropertyValueOptions,
|
|
129
|
+
name: options,
|
|
130
|
+
}, this, 'values');
|
|
131
|
+
} else if (options instanceof ConfigPropertyValue) {
|
|
132
|
+
options.delete(); // 同一实例不支持多处存在
|
|
133
|
+
configPropertyValue = options;
|
|
134
|
+
Object.assign(configPropertyValue, relationOptions);
|
|
135
|
+
} else {
|
|
136
|
+
configPropertyValue = ConfigPropertyValue.from({
|
|
137
|
+
...configPropertyValueOptions,
|
|
138
|
+
...options,
|
|
139
|
+
}, this, 'values');
|
|
140
|
+
}
|
|
141
|
+
this.values.splice(index, 0, configPropertyValue);
|
|
142
|
+
return configPropertyValue;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* 插入配置属性值
|
|
147
|
+
* @param name 配置属性值名称,如果不填会自动生成一个唯一名称
|
|
148
|
+
*/
|
|
149
|
+
insertConfigPropertyValueAt(name: string, index: number): ConfigPropertyValue;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* 插入配置属性值
|
|
153
|
+
* @param configPropertyValueOptions 配置属性值参数
|
|
154
|
+
*/
|
|
155
|
+
insertConfigPropertyValueAt(configPropertyValueOptions: Partial<ConfigPropertyValue>, index: number): ConfigPropertyValue;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* 插入配置属性值
|
|
159
|
+
* @param configPropertyValue 已有的配置属性值实例
|
|
160
|
+
*/
|
|
161
|
+
insertConfigPropertyValueAt(configPropertyValue: ConfigPropertyValue, index: number): ConfigPropertyValue;
|
|
162
|
+
|
|
163
|
+
insertConfigPropertyValueAt(options: string | Partial<ConfigPropertyValue> | ConfigPropertyValue, index: number) {
|
|
164
|
+
const node = this._insertConfigPropertyValueAt(options as any, index);
|
|
165
|
+
node.create({
|
|
166
|
+
index,
|
|
167
|
+
parentNode: this,
|
|
168
|
+
parentKey: 'values',
|
|
169
|
+
});
|
|
170
|
+
return node;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* 添加配置属性值
|
|
175
|
+
* @internal
|
|
176
|
+
* @param name 配置属性值名称,如果不填会自动生成一个唯一名称
|
|
177
|
+
*/
|
|
178
|
+
_addConfigPropertyValue(name?: string): ConfigPropertyValue;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* 添加配置属性值
|
|
182
|
+
* @internal
|
|
183
|
+
* @param configPropertyValueOptions 配置属性值参数
|
|
184
|
+
*/
|
|
185
|
+
_addConfigPropertyValue(configPropertyValueOptions: Partial<ConfigPropertyValue>): ConfigPropertyValue;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* 添加配置属性值
|
|
189
|
+
* @internal
|
|
190
|
+
* @param configPropertyValue 已有的配置属性值实例
|
|
191
|
+
*/
|
|
192
|
+
_addConfigPropertyValue(configPropertyValue: ConfigPropertyValue): ConfigPropertyValue;
|
|
193
|
+
|
|
194
|
+
_addConfigPropertyValue(options?: string | Partial<ConfigPropertyValue> | ConfigPropertyValue) {
|
|
195
|
+
const index = this.values.length;
|
|
196
|
+
return this._insertConfigPropertyValueAt(options as any, index);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* 添加配置属性值
|
|
201
|
+
* @internal
|
|
202
|
+
* @param name 配置属性值名称,如果不填会自动生成一个唯一名称
|
|
203
|
+
*/
|
|
204
|
+
addConfigPropertyValue(name?: string): ConfigPropertyValue;
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* 添加配置属性值
|
|
208
|
+
* @param configPropertyValueOptions 配置属性值参数
|
|
209
|
+
*/
|
|
210
|
+
addConfigPropertyValue(configPropertyValueOptions: Partial<ConfigPropertyValue>): ConfigPropertyValue;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* 添加配置属性值
|
|
214
|
+
* @param configPropertyValue 已有的配置属性值实例
|
|
215
|
+
*/
|
|
216
|
+
addConfigPropertyValue(configPropertyValue: ConfigPropertyValue): ConfigPropertyValue;
|
|
217
|
+
|
|
218
|
+
addConfigPropertyValue(options?: string | Partial<ConfigPropertyValue> | ConfigPropertyValue) {
|
|
219
|
+
const node = this._addConfigPropertyValue(options as any);
|
|
220
|
+
const index = this.values.length;
|
|
221
|
+
node.create({
|
|
222
|
+
index,
|
|
223
|
+
parentNode: this,
|
|
224
|
+
parentKey: 'values',
|
|
225
|
+
});
|
|
226
|
+
return node;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* 删除配置属性值
|
|
234
|
+
* @param name 配置属性值名称
|
|
235
|
+
*/
|
|
236
|
+
removeConfigPropertyValue(name: string): void;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* 删除配置属性值
|
|
240
|
+
* @param configPropertyValue 已有的配置属性值实例
|
|
241
|
+
*/
|
|
242
|
+
removeConfigPropertyValue(configPropertyValue: ConfigPropertyValue): void;
|
|
243
|
+
|
|
244
|
+
removeConfigPropertyValue(options: string | ConfigPropertyValue) {
|
|
245
|
+
let configPropertyValue: ConfigPropertyValue;
|
|
246
|
+
if (typeof options === 'string') {
|
|
247
|
+
configPropertyValue = this.values.find((item) => item.name === options);
|
|
248
|
+
if (!configPropertyValue) {
|
|
249
|
+
throw new Error('找不到配置属性值 ' + options);
|
|
250
|
+
}
|
|
251
|
+
} else {
|
|
252
|
+
configPropertyValue = options;
|
|
253
|
+
}
|
|
254
|
+
return configPropertyValue.delete();
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
__removeConfigPropertyValue(configPropertyValue: ConfigPropertyValue) {
|
|
258
|
+
const parentKey = configPropertyValue.parentKey;
|
|
259
|
+
const params: Params = {
|
|
260
|
+
parentNode: this,
|
|
261
|
+
parentKey,
|
|
262
|
+
index: -1,
|
|
263
|
+
object: null,
|
|
264
|
+
oldObject: configPropertyValue,
|
|
265
|
+
};
|
|
266
|
+
if (parentKey) {
|
|
267
|
+
params.parentKey = parentKey;
|
|
268
|
+
if (Array.isArray((this as any)[parentKey])) {
|
|
269
|
+
const index = (this as any)[parentKey].indexOf(configPropertyValue);
|
|
270
|
+
~index && (this as any)[parentKey].splice(index, 1);
|
|
271
|
+
params.index = index;
|
|
272
|
+
} else if ((this as any)[parentKey] === configPropertyValue) {
|
|
273
|
+
params.index = 0;
|
|
274
|
+
(this as any)[parentKey] = undefined;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return params;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
//================================================================================
|
|
281
|
+
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
282
|
+
// 自动生成的代码已结束。下面可以手动编写。
|
|
283
|
+
//================================================================================
|
|
284
|
+
/**
|
|
285
|
+
* 修改属性
|
|
286
|
+
*/
|
|
287
|
+
setData(data: ConfigProperty) {
|
|
288
|
+
const object = {
|
|
289
|
+
...data,
|
|
290
|
+
};
|
|
291
|
+
this.update({
|
|
292
|
+
...object,
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
//================================================================================
|
|
296
|
+
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
297
|
+
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
298
|
+
//================================================================================
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
classMap['ConfigProperty'] = ConfigProperty;
|
|
302
|
+
export default ConfigProperty;
|
|
303
|
+
//================================================================================
|
|
304
|
+
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
305
|
+
// 自动生成的代码已结束。下面可以手动编写。
|
|
306
|
+
//================================================================================
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import ConfigProperty from './ConfigProperty__';
|
|
2
|
+
//================================================================================
|
|
3
|
+
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
4
|
+
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
5
|
+
//================================================================================
|
|
6
|
+
import { EventPayload, Params } from '../common/EventEmitter';
|
|
7
|
+
import { concept, excludedInJSON, property } from '../decorators';
|
|
8
|
+
|
|
9
|
+
import * as utils from '../utils';
|
|
10
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
11
|
+
import BaseNode from '../common/BaseNode';
|
|
12
|
+
import classMap from '../common/classMap';
|
|
13
|
+
import ConfigGroup from './ConfigGroup__';
|
|
14
|
+
import App from './App__';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 配置管理
|
|
18
|
+
*/
|
|
19
|
+
@concept
|
|
20
|
+
export class Configuration extends BaseNode {
|
|
21
|
+
/**
|
|
22
|
+
* 产品概念
|
|
23
|
+
*/
|
|
24
|
+
@property()
|
|
25
|
+
concept: 'Configuration' = 'Configuration';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 配置组列表
|
|
29
|
+
*/
|
|
30
|
+
@property('ConfigGroup')
|
|
31
|
+
groups: Array<ConfigGroup> = [];
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 祖先 App
|
|
35
|
+
*/
|
|
36
|
+
get app() {
|
|
37
|
+
return this.getAncestor('App') as App;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @param source 需要合并的部分参数
|
|
42
|
+
*/
|
|
43
|
+
constructor(source?: Partial<Configuration>) {
|
|
44
|
+
source = Object.assign({}, Configuration.getDefaultOptions(), source);
|
|
45
|
+
super(source);
|
|
46
|
+
super.subConstructor(source);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static from(source: any, parentNode?: any, parentKey?: string): Configuration {
|
|
50
|
+
return super.from(source, parentNode, parentKey) as Configuration;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 从父级删除该节点
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
_delete() {
|
|
58
|
+
let params: Params = null;
|
|
59
|
+
if (this.parentNode) {
|
|
60
|
+
params = (this.parentNode as any)?.__removeConfiguration?.(this);
|
|
61
|
+
}
|
|
62
|
+
return params;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
getConfigGroupExistingNames(excludedList: Array<ConfigGroup> = []) {
|
|
67
|
+
const excludedSet = new Set(excludedList);
|
|
68
|
+
return (this.groups || []).filter((item) => !excludedSet.has(item)).map((item) => item.name);
|
|
69
|
+
}
|
|
70
|
+
getConfigGroupUniqueName(name = 'configGroup1') {
|
|
71
|
+
return utils.unique(name, this.getConfigGroupExistingNames());
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* 插入配置组
|
|
76
|
+
* @internal
|
|
77
|
+
* @param name 配置组名称,如果不填会自动生成一个唯一名称
|
|
78
|
+
*/
|
|
79
|
+
_insertConfigGroupAt(name: string, index: number): ConfigGroup;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* 插入配置组
|
|
83
|
+
* @internal
|
|
84
|
+
* @param configGroupOptions 配置组参数
|
|
85
|
+
*/
|
|
86
|
+
_insertConfigGroupAt(configGroupOptions: Partial<ConfigGroup>, index: number): ConfigGroup;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* 插入配置组
|
|
90
|
+
* @internal
|
|
91
|
+
* @param configGroup 已有的配置组实例
|
|
92
|
+
*/
|
|
93
|
+
_insertConfigGroupAt(configGroup: ConfigGroup, index: number): ConfigGroup;
|
|
94
|
+
|
|
95
|
+
_insertConfigGroupAt(options: string | Partial<ConfigGroup> | ConfigGroup, index: number) {
|
|
96
|
+
const configGroupOptions: any = {};
|
|
97
|
+
const relationOptions = { parentNode: this, parentKey: 'groups' };
|
|
98
|
+
let configGroup: ConfigGroup;
|
|
99
|
+
if (!options) {
|
|
100
|
+
configGroup = ConfigGroup.from({
|
|
101
|
+
...configGroupOptions,
|
|
102
|
+
name: this.getConfigGroupUniqueName(),
|
|
103
|
+
}, this, 'groups');
|
|
104
|
+
} else if (typeof options === 'string') {
|
|
105
|
+
configGroup = ConfigGroup.from({
|
|
106
|
+
...configGroupOptions,
|
|
107
|
+
name: options,
|
|
108
|
+
}, this, 'groups');
|
|
109
|
+
} else if (options instanceof ConfigGroup) {
|
|
110
|
+
options.delete(); // 同一实例不支持多处存在
|
|
111
|
+
configGroup = options;
|
|
112
|
+
Object.assign(configGroup, relationOptions);
|
|
113
|
+
} else {
|
|
114
|
+
configGroup = ConfigGroup.from({
|
|
115
|
+
...configGroupOptions,
|
|
116
|
+
...options,
|
|
117
|
+
}, this, 'groups');
|
|
118
|
+
}
|
|
119
|
+
this.groups.splice(index, 0, configGroup);
|
|
120
|
+
return configGroup;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* 插入配置组
|
|
125
|
+
* @param name 配置组名称,如果不填会自动生成一个唯一名称
|
|
126
|
+
*/
|
|
127
|
+
insertConfigGroupAt(name: string, index: number): ConfigGroup;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* 插入配置组
|
|
131
|
+
* @param configGroupOptions 配置组参数
|
|
132
|
+
*/
|
|
133
|
+
insertConfigGroupAt(configGroupOptions: Partial<ConfigGroup>, index: number): ConfigGroup;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* 插入配置组
|
|
137
|
+
* @param configGroup 已有的配置组实例
|
|
138
|
+
*/
|
|
139
|
+
insertConfigGroupAt(configGroup: ConfigGroup, index: number): ConfigGroup;
|
|
140
|
+
|
|
141
|
+
insertConfigGroupAt(options: string | Partial<ConfigGroup> | ConfigGroup, index: number) {
|
|
142
|
+
const node = this._insertConfigGroupAt(options as any, index);
|
|
143
|
+
node.create({
|
|
144
|
+
index,
|
|
145
|
+
parentNode: this,
|
|
146
|
+
parentKey: 'groups',
|
|
147
|
+
});
|
|
148
|
+
return node;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* 添加配置组
|
|
153
|
+
* @internal
|
|
154
|
+
* @param name 配置组名称,如果不填会自动生成一个唯一名称
|
|
155
|
+
*/
|
|
156
|
+
_addConfigGroup(name?: string): ConfigGroup;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* 添加配置组
|
|
160
|
+
* @internal
|
|
161
|
+
* @param configGroupOptions 配置组参数
|
|
162
|
+
*/
|
|
163
|
+
_addConfigGroup(configGroupOptions: Partial<ConfigGroup>): ConfigGroup;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* 添加配置组
|
|
167
|
+
* @internal
|
|
168
|
+
* @param configGroup 已有的配置组实例
|
|
169
|
+
*/
|
|
170
|
+
_addConfigGroup(configGroup: ConfigGroup): ConfigGroup;
|
|
171
|
+
|
|
172
|
+
_addConfigGroup(options?: string | Partial<ConfigGroup> | ConfigGroup) {
|
|
173
|
+
const index = this.groups.length;
|
|
174
|
+
return this._insertConfigGroupAt(options as any, index);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* 添加配置组
|
|
179
|
+
* @internal
|
|
180
|
+
* @param name 配置组名称,如果不填会自动生成一个唯一名称
|
|
181
|
+
*/
|
|
182
|
+
addConfigGroup(name?: string): ConfigGroup;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* 添加配置组
|
|
186
|
+
* @param configGroupOptions 配置组参数
|
|
187
|
+
*/
|
|
188
|
+
addConfigGroup(configGroupOptions: Partial<ConfigGroup>): ConfigGroup;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* 添加配置组
|
|
192
|
+
* @param configGroup 已有的配置组实例
|
|
193
|
+
*/
|
|
194
|
+
addConfigGroup(configGroup: ConfigGroup): ConfigGroup;
|
|
195
|
+
|
|
196
|
+
addConfigGroup(options?: string | Partial<ConfigGroup> | ConfigGroup) {
|
|
197
|
+
const node = this._addConfigGroup(options as any);
|
|
198
|
+
const index = this.groups.length;
|
|
199
|
+
node.create({
|
|
200
|
+
index,
|
|
201
|
+
parentNode: this,
|
|
202
|
+
parentKey: 'groups',
|
|
203
|
+
});
|
|
204
|
+
return node;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* 删除配置组
|
|
212
|
+
* @param name 配置组名称
|
|
213
|
+
*/
|
|
214
|
+
removeConfigGroup(name: string): void;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* 删除配置组
|
|
218
|
+
* @param configGroup 已有的配置组实例
|
|
219
|
+
*/
|
|
220
|
+
removeConfigGroup(configGroup: ConfigGroup): void;
|
|
221
|
+
|
|
222
|
+
removeConfigGroup(options: string | ConfigGroup) {
|
|
223
|
+
let configGroup: ConfigGroup;
|
|
224
|
+
if (typeof options === 'string') {
|
|
225
|
+
configGroup = this.groups.find((item) => item.name === options);
|
|
226
|
+
if (!configGroup) {
|
|
227
|
+
throw new Error('找不到配置组 ' + options);
|
|
228
|
+
}
|
|
229
|
+
} else {
|
|
230
|
+
configGroup = options;
|
|
231
|
+
}
|
|
232
|
+
return configGroup.delete();
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
__removeConfigGroup(configGroup: ConfigGroup) {
|
|
236
|
+
const parentKey = configGroup.parentKey;
|
|
237
|
+
const params: Params = {
|
|
238
|
+
parentNode: this,
|
|
239
|
+
parentKey,
|
|
240
|
+
index: -1,
|
|
241
|
+
object: null,
|
|
242
|
+
oldObject: configGroup,
|
|
243
|
+
};
|
|
244
|
+
if (parentKey) {
|
|
245
|
+
params.parentKey = parentKey;
|
|
246
|
+
if (Array.isArray((this as any)[parentKey])) {
|
|
247
|
+
const index = (this as any)[parentKey].indexOf(configGroup);
|
|
248
|
+
~index && (this as any)[parentKey].splice(index, 1);
|
|
249
|
+
params.index = index;
|
|
250
|
+
} else if ((this as any)[parentKey] === configGroup) {
|
|
251
|
+
params.index = 0;
|
|
252
|
+
(this as any)[parentKey] = undefined;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
return params;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
//================================================================================
|
|
259
|
+
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
260
|
+
// 自动生成的代码已结束。下面可以手动编写。
|
|
261
|
+
//================================================================================
|
|
262
|
+
|
|
263
|
+
public static getDefaultOptions() {
|
|
264
|
+
return {
|
|
265
|
+
groups: [
|
|
266
|
+
{
|
|
267
|
+
concept: 'ConfigGroup',
|
|
268
|
+
name: 'custom',
|
|
269
|
+
properties: [] as Array<Partial<ConfigProperty>>,
|
|
270
|
+
},
|
|
271
|
+
],
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
//================================================================================
|
|
276
|
+
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
277
|
+
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
278
|
+
//================================================================================
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
classMap['Configuration'] = Configuration;
|
|
282
|
+
export default Configuration;
|
|
283
|
+
//================================================================================
|
|
284
|
+
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
285
|
+
// 自动生成的代码已结束。下面可以手动编写。
|
|
286
|
+
//================================================================================
|
|
@@ -2,6 +2,7 @@ import { dataTypesMap } from './basics/types';
|
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap } from '../translator';
|
|
3
3
|
import Entity from './Entity__';
|
|
4
4
|
import Structure from './Structure__';
|
|
5
|
+
import { ElementToVueOptions } from './ViewElement__';
|
|
5
6
|
//================================================================================
|
|
6
7
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
7
8
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -10,6 +11,7 @@ import { EventPayload, Params } from '../common/EventEmitter';
|
|
|
10
11
|
import { concept, excludedInJSON, property } from '../decorators';
|
|
11
12
|
|
|
12
13
|
import * as utils from '../utils';
|
|
14
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
13
15
|
import BaseNode from '../common/BaseNode';
|
|
14
16
|
import classMap from '../common/classMap';
|
|
15
17
|
import TypeAnnotation from './TypeAnnotation__';
|
|
@@ -209,7 +211,7 @@ export class Constant extends BaseNode {
|
|
|
209
211
|
// ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
|
|
210
212
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
211
213
|
//================================================================================
|
|
212
|
-
toVue(): string {
|
|
214
|
+
toVue(options?: ElementToVueOptions): string {
|
|
213
215
|
return this.name;
|
|
214
216
|
}
|
|
215
217
|
|
|
@@ -6,6 +6,7 @@ import { EventPayload, Params } from '../common/EventEmitter';
|
|
|
6
6
|
import { concept, excludedInJSON, property } from '../decorators';
|
|
7
7
|
|
|
8
8
|
import * as utils from '../utils';
|
|
9
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
9
10
|
import BaseNode from '../common/BaseNode';
|
|
10
11
|
import classMap from '../common/classMap';
|
|
11
12
|
import TypeAnnotation from './TypeAnnotation__';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import View from './View__';
|
|
2
2
|
import { TranslatorState, shiftState, withSourceMap, indent, createCompilerState, embeddedTSEmitter } from '../translator';
|
|
3
|
+
import { ElementToVueOptions } from './ViewElement__';
|
|
3
4
|
//================================================================================
|
|
4
5
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
5
6
|
// ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
|
|
@@ -8,6 +9,7 @@ import { EventPayload, Params } from '../common/EventEmitter';
|
|
|
8
9
|
import { concept, excludedInJSON, property } from '../decorators';
|
|
9
10
|
|
|
10
11
|
import * as utils from '../utils';
|
|
12
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
11
13
|
import BaseNode from '../common/BaseNode';
|
|
12
14
|
import classMap from '../common/classMap';
|
|
13
15
|
import Argument from './Argument__';
|
|
@@ -236,7 +238,6 @@ export class Destination extends LogicItem {
|
|
|
236
238
|
// 自动生成的代码已结束。下面可以手动编写。
|
|
237
239
|
//================================================================================
|
|
238
240
|
|
|
239
|
-
|
|
240
241
|
get tsCalleeNamespace() {
|
|
241
242
|
if (this.viewNamespace) {
|
|
242
243
|
let tsCalleeNamespace = this.viewNamespace;
|
|
@@ -252,7 +253,8 @@ export class Destination extends LogicItem {
|
|
|
252
253
|
if (/^\d/.test(tsName)) {
|
|
253
254
|
tsName = '$' + tsName;
|
|
254
255
|
}
|
|
255
|
-
|
|
256
|
+
// 匹配所有特殊字符都转为_
|
|
257
|
+
tsName = tsName.replace(/\W/g, '_');
|
|
256
258
|
return tsName;
|
|
257
259
|
}
|
|
258
260
|
return '';
|
|
@@ -266,7 +268,7 @@ export class Destination extends LogicItem {
|
|
|
266
268
|
return viewArr;
|
|
267
269
|
}
|
|
268
270
|
|
|
269
|
-
toVue() {
|
|
271
|
+
toVue(options?: ElementToVueOptions) {
|
|
270
272
|
let url = '';
|
|
271
273
|
const viewArr = this.genViewArr();
|
|
272
274
|
if (Array.isArray(viewArr) && viewArr.length) {
|
|
@@ -342,7 +344,7 @@ export class Destination extends LogicItem {
|
|
|
342
344
|
if (Array.isArray(namespaceAttr)) {
|
|
343
345
|
namespaceAttr.forEach((item, index) => {
|
|
344
346
|
if (item === 'views') {
|
|
345
|
-
viewNameAttr.push(namespaceAttr[index + 1]
|
|
347
|
+
viewNameAttr.push(namespaceAttr[index + 1]);
|
|
346
348
|
}
|
|
347
349
|
});
|
|
348
350
|
}
|
|
@@ -379,7 +381,7 @@ export class Destination extends LogicItem {
|
|
|
379
381
|
}
|
|
380
382
|
code += `${tab});\n`;
|
|
381
383
|
}
|
|
382
|
-
code += `${indent(state.tabSize + 1)}}\n
|
|
384
|
+
code += `${indent(state.tabSize + 1)}}\n`;
|
|
383
385
|
return code;
|
|
384
386
|
}
|
|
385
387
|
//================================================================================
|
package/src/concepts/End__.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { EventPayload, Params } from '../common/EventEmitter';
|
|
|
7
7
|
import { concept, excludedInJSON, property } from '../decorators';
|
|
8
8
|
|
|
9
9
|
import * as utils from '../utils';
|
|
10
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
10
11
|
import BaseNode from '../common/BaseNode';
|
|
11
12
|
import classMap from '../common/classMap';
|
|
12
13
|
import LogicItem from './LogicItem__';
|