udm-rules-vue 0.0.2 → 0.0.3

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.
Files changed (162) hide show
  1. package/dist/EventBus.d.ts +1 -0
  2. package/dist/FileDeployPackageBuilder.d.ts +0 -2
  3. package/dist/FileUtils.d.ts +17 -22
  4. package/dist/OutputChannelManager.d.ts +37 -6
  5. package/dist/ServerRequestResponse.d.ts +6 -0
  6. package/dist/assets/builtin/Constants.bom +9 -0
  7. package/dist/assets/builtin/Constants_zh_CN.voc +11 -1
  8. package/dist/assets/builtin/Scorecard.bom +8 -0
  9. package/dist/assets/builtin/Scorecard_zh_CN.voc +10 -0
  10. package/dist/assets/builtin/StaticMethod.bom +1 -0
  11. package/dist/assets/builtin/StaticMethod_zh_CN.voc +1 -0
  12. package/dist/assets/css/index.css +1 -1
  13. package/dist/bom/bomSerialize.d.ts +2 -1
  14. package/dist/bom/model.d.ts +2 -1
  15. package/dist/brl/PureWebRuleEditor.vue.d.ts +4 -3
  16. package/dist/brl/RuleDocument.d.ts +1 -1
  17. package/dist/brl/RuleEditor.vue.d.ts +2 -2
  18. package/dist/brl/RuleEditorComponent.vue.d.ts +3 -3
  19. package/dist/brl/RuleUtils.d.ts +1 -1
  20. package/dist/command/CompileB2xFilesCommand.d.ts +4 -0
  21. package/dist/command/CompileRuleFilesCommand.d.ts +9 -4
  22. package/dist/command/DiagnoseFileCommand.d.ts +6 -0
  23. package/dist/command/SyncCompiledFilesCommand.d.ts +3 -0
  24. package/dist/command/UpdateUuidCommand.d.ts +2 -2
  25. package/dist/compile/BomCompiler.d.ts +96 -0
  26. package/dist/compile/DecisionTableCompiler.d.ts +4 -4
  27. package/dist/compile/ExpressionBuilder.d.ts +0 -3
  28. package/dist/compile/FileCompiler.d.ts +11 -2
  29. package/dist/compile/FlowCompiler.d.ts +11 -4
  30. package/dist/compile/PureWebCompiler.d.ts +1 -0
  31. package/dist/compile/RuleCompiler.d.ts +2 -2
  32. package/dist/compile/ScoreCardCompiler.d.ts +14 -0
  33. package/dist/compile/compileRuleScript.d.ts +6 -1
  34. package/dist/components/message/Toast.vue.d.ts +6 -0
  35. package/dist/components/message/events.d.ts +20 -0
  36. package/dist/components/process/events.d.ts +0 -3
  37. package/dist/components/tree/TreeNode.vue.d.ts +2 -0
  38. package/dist/content.d.ts +2 -0
  39. package/dist/dta/component/DecisionTable.d.ts +1 -0
  40. package/dist/dta/webview/DecisionTableDocument.d.ts +1 -1
  41. package/dist/dtr/webview/DecisionTreeDocument.d.ts +1 -1
  42. package/dist/extension.d.ts +2 -1
  43. package/dist/grammar/BusinessParseRuleContext.d.ts +5 -0
  44. package/dist/grammar/ParserHelper.d.ts +15 -2
  45. package/dist/grammar/TokenAssertor.d.ts +0 -4
  46. package/dist/grammar/bom/BomLexer.d.ts +33 -32
  47. package/dist/grammar/bom/BomParser.d.ts +35 -33
  48. package/dist/grammar/diagnostic/SemanticDiagnostic.d.ts +13 -2
  49. package/dist/grammar/parser/BoostRuleParser.d.ts +24 -2
  50. package/dist/grammar/rule/RuleParser.d.ts +42 -35
  51. package/dist/index.d.ts +5 -4
  52. package/dist/index.js +126719 -116814
  53. package/dist/index.umd.js +384 -313
  54. package/dist/model/BO.d.ts +15 -1
  55. package/dist/model/Datatype.d.ts +1 -0
  56. package/dist/model/NavigationTree.d.ts +3 -3
  57. package/dist/model/VscodeBuiltinObjectsLoader.d.ts +2 -0
  58. package/dist/model/WebBuiltinObjectsLoader.d.ts +3 -1
  59. package/dist/model/WebViewBomFilesReader.d.ts +1 -1
  60. package/dist/model/expression/ArithExpression.d.ts +2 -1
  61. package/dist/model/expression/BatchExpression.d.ts +2 -1
  62. package/dist/model/expression/Expression.d.ts +2 -1
  63. package/dist/model/expression/MethodExpression.d.ts +5 -3
  64. package/dist/model/expression/PredefineExpression.d.ts +2 -1
  65. package/dist/model/expression/RuleExpression.d.ts +3 -2
  66. package/dist/model/expression/compile/commonMethodScriptCompile.d.ts +2 -1
  67. package/dist/model/expression/compile/compareMethodScriptCompile.d.ts +2 -1
  68. package/dist/monaco/ExpressionFinder.d.ts +4 -1
  69. package/dist/monaco/MonacoHoverProvider.d.ts +0 -2
  70. package/dist/monaco/parseTargetPartRuleScript.d.ts +1 -1
  71. package/dist/projectprops/ProjectProperties.d.ts +2 -0
  72. package/dist/projectprops/ProjectPropertiesEditor.vue.d.ts +20 -0
  73. package/dist/projectprops/PureWebProjectPropertiesEditor.vue.d.ts +20 -0
  74. package/dist/projectprops/Ruleset.vue.d.ts +10 -0
  75. package/dist/quicktest/TestUtils.d.ts +12 -4
  76. package/dist/rfl/MenuFactory.d.ts +3 -3
  77. package/dist/rfl/config/Enums.d.ts +2 -1
  78. package/dist/rfl/data/ActionNodeData.d.ts +1 -0
  79. package/dist/rfl/data/ConnectionData.d.ts +7 -4
  80. package/dist/rfl/data/NodeData.d.ts +7 -0
  81. package/dist/rfl/data/RuleFile.d.ts +4 -1
  82. package/dist/rfl/data/RuleNodeData.d.ts +1 -0
  83. package/dist/rfl/data/SubflowNodeData.d.ts +1 -0
  84. package/dist/rfl/data/TaskNodeData.d.ts +5 -0
  85. package/dist/rfl/definition/ProcessDef.d.ts +53 -7
  86. package/dist/rfl/definition/ProcessNodeDef.d.ts +11 -0
  87. package/dist/rfl/definition/node/ActionTaskNodeDef.d.ts +1 -6
  88. package/dist/rfl/definition/node/ConnectionFactoryDef.d.ts +2 -1
  89. package/dist/rfl/definition/node/FlowConnectionDef.d.ts +12 -0
  90. package/dist/rfl/definition/node/FlowProcessNodeDef.d.ts +1 -0
  91. package/dist/rfl/definition/node/ForkNodeDef.d.ts +7 -0
  92. package/dist/rfl/definition/node/JoinNodeDef.d.ts +11 -0
  93. package/dist/rfl/definition/node/RuleTaskNodeDef.d.ts +5 -0
  94. package/dist/rfl/definition/node/StartTaskNodeDef.d.ts +1 -5
  95. package/dist/rfl/definition/node/StopTaskNodeDef.d.ts +1 -0
  96. package/dist/rfl/definition/node/SubflowTaskNodeDef.d.ts +5 -0
  97. package/dist/rfl/designer/Designer.vue.d.ts +2 -2
  98. package/dist/rfl/designer/DesignerComponent.vue.d.ts +2 -2
  99. package/dist/rfl/designer/ProcessUtils.d.ts +2 -2
  100. package/dist/rfl/designer/PureWebFlowEditor.vue.d.ts +2 -2
  101. package/dist/rfl/designer/editor/BezierEdge.vue.d.ts +5 -0
  102. package/dist/rfl/designer/editor/HelperLines.vue.d.ts +9 -0
  103. package/dist/rfl/designer/editor/HelperLinseUtils.d.ts +8 -0
  104. package/dist/rfl/designer/editor/ProcessEditor.vue.d.ts +1 -1
  105. package/dist/rfl/designer/editor/SmoothStepEdge.vue.d.ts +5 -0
  106. package/dist/rfl/events.d.ts +6 -1
  107. package/dist/rfl/node/NodeUtils.d.ts +10 -4
  108. package/dist/rfl/props/ConnectionProperty.vue.d.ts +2 -1
  109. package/dist/rfl/props/ForkNodeProperty.vue.d.ts +1 -1
  110. package/dist/rfl/props/JoinNodeProperty.vue.d.ts +1 -1
  111. package/dist/rfl/webview/RuleFlowDocument.d.ts +1 -1
  112. package/dist/rfl/webview/RuleFlowEditorProvider.d.ts +4 -0
  113. package/dist/sca/AvaliablePredefineBuilder.d.ts +4 -0
  114. package/dist/sca/ContentEditableController.d.ts +50 -0
  115. package/dist/sca/PureWebScoreCardEditor.vue.d.ts +71 -0
  116. package/dist/sca/ScoreCardComponent.vue.d.ts +45 -0
  117. package/dist/sca/ScoreCardDeserialize.d.ts +5 -0
  118. package/dist/sca/ScoreCardEditor.vue.d.ts +24 -0
  119. package/dist/sca/ScoreCardModelInitializer.d.ts +8 -0
  120. package/dist/sca/ScoreCardSettingDialog.vue.d.ts +15 -0
  121. package/dist/sca/ScoreCardWebEditor.d.ts +1 -0
  122. package/dist/sca/component/ScoreCardTable.d.ts +81 -0
  123. package/dist/sca/component/ScoreCardTableCrossHeader.d.ts +11 -0
  124. package/dist/sca/component/ScoreCardTableHeader.d.ts +27 -0
  125. package/dist/sca/component/ScoreCardTableRowIndicate.d.ts +26 -0
  126. package/dist/sca/component/contextMenuBuilder.d.ts +3 -0
  127. package/dist/sca/component/edit/ScoreCardChangeEdit.d.ts +4 -0
  128. package/dist/sca/model/ScoreCardAttribute.d.ts +86 -0
  129. package/dist/sca/model/ScoreCardTableModel.d.ts +67 -0
  130. package/dist/sca/webview/ScoreCardDocument.d.ts +1 -1
  131. package/dist/sca/webview/ScoreCardEditorProvider.d.ts +1 -1
  132. package/dist/sync/SyncFileUitls.d.ts +1 -0
  133. package/dist/tst/PredictFormDialog.vue.d.ts +1 -1
  134. package/dist/utils.d.ts +26 -1
  135. package/dist/webviewFiles.d.ts +4 -0
  136. package/dist/webviewFilesOperator.d.ts +2 -2
  137. package/package.json +6 -2
  138. package/dist/FileSystemEventBus.d.ts +0 -6
  139. package/dist/components/process/Connection.d.ts +0 -122
  140. package/dist/components/process/Menu.d.ts +0 -12
  141. package/dist/components/process/MenuItemFactory.d.ts +0 -5
  142. package/dist/components/process/MergeGroup.d.ts +0 -12
  143. package/dist/components/process/OrthogonalPath.d.ts +0 -225
  144. package/dist/components/process/Process.d.ts +0 -111
  145. package/dist/components/process/ProcessNode.d.ts +0 -340
  146. package/dist/components/process/Tooltip.d.ts +0 -20
  147. package/dist/components/process/colors.d.ts +0 -2
  148. package/dist/rfl/FlowProcess.d.ts +0 -85
  149. package/dist/rfl/node/ActionTaskNode.d.ts +0 -22
  150. package/dist/rfl/node/BasicNode.d.ts +0 -8
  151. package/dist/rfl/node/BranchNode.d.ts +0 -48
  152. package/dist/rfl/node/ConnectionFactory.d.ts +0 -10
  153. package/dist/rfl/node/FlowConnection.d.ts +0 -52
  154. package/dist/rfl/node/FlowProcessNode.d.ts +0 -128
  155. package/dist/rfl/node/ForkNode.d.ts +0 -54
  156. package/dist/rfl/node/JoinNode.d.ts +0 -54
  157. package/dist/rfl/node/ProcessNodeFactory.d.ts +0 -41
  158. package/dist/rfl/node/RuleTaskNode.d.ts +0 -76
  159. package/dist/rfl/node/StartTaskNode.d.ts +0 -74
  160. package/dist/rfl/node/StopTaskNode.d.ts +0 -84
  161. package/dist/rfl/node/SubflowTaskNode.d.ts +0 -70
  162. package/dist/rfl/node/TaskNode.d.ts +0 -42
@@ -3,6 +3,7 @@ export declare const UTILS_CLASSNAME = "udm.Utils";
3
3
  export declare const COMMON_UTILS_CLASSNAME = "udm.CommonUtils";
4
4
  export declare const COMPARE_UTILS_CLASSNAME = "udm.CompareUtils";
5
5
  export declare const COMMON_ACTION_UTILS_CLASSNAME = "udm.ActionUtils";
6
+ export declare const COMMON_SCORECARD_UTILS_CLASSNAME = "udm.ScorecardUtils";
6
7
  export declare const VARIABLE_ASSIGN_METHOD = "variableAssign";
7
8
  export declare const FROM_LIST = "\u6765\u81EA(in)";
8
9
  export declare const ONLY_VARIABLE = "umd.OnlyVariable";
@@ -14,21 +15,34 @@ export declare class VariableDefine {
14
15
  */
15
16
  fullClassName: string;
16
17
  datatype: Datatype;
18
+ genericity?: string;
17
19
  /**
18
20
  * 描述名称,在规则中使用时用''包裹
19
21
  */
20
22
  verbalization: string;
23
+ /**
24
+ * 变量作用域,in表示只能在条件部分使用,out表示只能在动作部分使用,in_out表示在条件和动作部分都可以使用
25
+ */
26
+ scope: VariableScope;
27
+ /**
28
+ * 初始值
29
+ */
21
30
  initialValue: string | undefined;
22
31
  documentation: string | undefined;
23
32
  /**
24
33
  * 关于当前对象的提示信息,用于代码完成时提示项或hover项提示
25
34
  */
26
35
  private tip;
27
- constructor(name: string, type: string, verbalization: string, path: string, genericity?: string);
36
+ constructor(name: string, type: string, scope: VariableScope, verbalization: string, path: string, genericity?: string);
28
37
  buildVerbalizationName(): string;
29
38
  buildName(): string;
30
39
  buildTip(): string;
31
40
  }
41
+ export declare enum VariableScope {
42
+ IN = "IN",
43
+ OUT = "OUT",
44
+ IN_OUT = "IN_OUT"
45
+ }
32
46
  export declare class ObjectDefine {
33
47
  verbalization: string;
34
48
  /**
@@ -82,3 +82,4 @@ export declare enum TypeNumber {
82
82
  ANY = 2
83
83
  }
84
84
  export declare const getOnlyVariableDatatype: () => Datatype;
85
+ export declare const typeIsMap: (datatype: string) => boolean;
@@ -78,9 +78,10 @@ declare class NavigationTree {
78
78
  */
79
79
  enumClassNameMap: Map<string, FieldDefine[]>;
80
80
  /**
81
- * 用来存储所有的枚举类型的 verbalization,key为枚举属性对应的verbalization,value为枚举属性对象,该集合主要用于语法解析,让词法解析器可以快速判断当前Token是否为一个枚举类型的静态属性。
81
+ * 用来存储所有的枚举类型的 verbalization,key为枚举属性对应的verbalization,value为枚举属性对象,
82
+ * 因为可能存在同名的枚举值,所以这里的value为FieldDefine数组,该集合主要用于语法解析,让词法解析器可以快速判断当前Token是否为一个枚举类型的静态属性。
82
83
  */
83
- enumVerbalizationMap: Map<string, FieldDefine>;
84
+ enumVerbalizationMap: Map<string, FieldDefine[]>;
84
85
  private clean;
85
86
  /**
86
87
  * 根据给出的预定义变量名,返回可能存在的预定义变量对应的对象信息
@@ -97,7 +98,6 @@ declare class NavigationTree {
97
98
  /**
98
99
  * 将一个业务对象中的所有枚举字段,添加到枚举字段集合中,便于在解析及代码提示时使用
99
100
  * @param objectDefine 业务对象定义
100
- * @param enumVerbalizationSet 一个用来防止重复枚举 verbalization 的Set
101
101
  */
102
102
  private buildObjectDefineEnumFields;
103
103
  /**
@@ -8,7 +8,9 @@ export default class VscodeBuiltinObjectsLoader {
8
8
  private readBasicObjectBomFile;
9
9
  private readConstantsObjectBomFile;
10
10
  private readStaticMethodBomFile;
11
+ private readScorecardBomFile;
11
12
  private readBasicObjectVocFile;
12
13
  private readConstantsObjectVocFile;
13
14
  private readStaticMethodVocFile;
15
+ private readScorecardVocFile;
14
16
  }
@@ -2,12 +2,14 @@ import { ObjectDefine } from './BO';
2
2
  export default class WebBuiltinObjectsLoader {
3
3
  private declareMap;
4
4
  private vocFilesReader;
5
- constructor();
5
+ constructor(inScorecard: boolean);
6
6
  getObjectDefines(): ObjectDefine[];
7
7
  private readBasicObjectBomFile;
8
8
  private readConstantsObjectBomFile;
9
9
  private readStaticMethodBomFile;
10
+ private readScorecardBomFile;
10
11
  private readBasicObjectVocFile;
11
12
  private readStaticMethodVocFile;
12
13
  private readConstantsVocFile;
14
+ private readScorecardVocFile;
13
15
  }
@@ -1,2 +1,2 @@
1
1
  export declare const resetBomFilesLoadedFlag: () => void;
2
- export declare const parseAllBomFilesForWebView: (bomFilesData: Record<string, Record<string, string>[]>) => void;
2
+ export declare const parseAllBomFilesForWebView: (bomFilesData: Record<string, Record<string, string>[]>, inScorecard: boolean) => void;
@@ -1,10 +1,11 @@
1
+ import { CompileContext } from '../../compile/FileCompiler';
1
2
  import { Expression } from './Expression';
2
3
  import { PredefineExpression } from './PredefineExpression';
3
4
  export declare class ArithExpression extends Expression {
4
5
  private expressions;
5
6
  private types;
6
7
  constructor(expressions: Expression[], types: ArithType[], text: string);
7
- toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>): string;
8
+ toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
8
9
  private buildScript;
9
10
  buildArithSymbol(type: ArithType): "*" | "/" | "+" | "-" | "%";
10
11
  }
@@ -1,10 +1,11 @@
1
+ import { CompileContext } from '../../compile/FileCompiler';
1
2
  import { Expression } from './Expression';
2
3
  import { PredefineExpression } from './PredefineExpression';
3
4
  export declare class BatchExpression extends Expression {
4
5
  private expressions;
5
6
  private type;
6
7
  constructor(expressions: Expression[], type: BatchType, text: string);
7
- toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>): string;
8
+ toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
8
9
  private buildScript;
9
10
  }
10
11
  export declare enum BatchType {
@@ -1,8 +1,9 @@
1
+ import { CompileContext } from '../../compile/FileCompiler';
1
2
  import { PredefineExpression } from './PredefineExpression';
2
3
  export declare abstract class Expression {
3
4
  private text;
4
5
  constructor(text: string);
5
- abstract toCompileScript(predefineVariableMap: Map<string, PredefineExpression>): string;
6
+ abstract toCompileScript(predefineVariableMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
6
7
  getText(): string;
7
8
  }
8
9
  export declare const buildIndent: (level: number) => string;
@@ -1,12 +1,14 @@
1
+ import { CompileContext } from '../../compile/FileCompiler';
1
2
  import { FieldDefine, MethodDefine } from '../BO';
2
3
  import { Expression } from './Expression';
3
4
  import { PredefineExpression } from './PredefineExpression';
4
5
  export declare class MethodExpression extends Expression {
5
6
  private define;
6
7
  private parameters;
7
- constructor(define: MethodDefine | FieldDefine, parameters: Expression[], text: string);
8
- toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>): string;
9
- buildScript(predefineVariableExpressionMap: Map<string, PredefineExpression>): string;
8
+ private fieldDefines;
9
+ constructor(define: MethodDefine | FieldDefine, parameters: Expression[], fieldDefines: FieldDefine[], text: string);
10
+ toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
11
+ private buildScript;
10
12
  getParameters(): Expression[];
11
13
  getDefine(): MethodDefine | FieldDefine;
12
14
  }
@@ -1,3 +1,4 @@
1
+ import { CompileContext } from '../../compile/FileCompiler';
1
2
  import { BusinessObject } from '../BO';
2
3
  import { Expression } from './Expression';
3
4
  export declare class PredefineExpression extends Expression {
@@ -10,7 +11,7 @@ export declare class PredefineExpression extends Expression {
10
11
  condition?: Expression;
11
12
  private hashCode?;
12
13
  constructor(name: string, text: string);
13
- toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>): string;
14
+ toCompileScript(predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
14
15
  private buildPredefineValue;
15
16
  private buildScript;
16
17
  getHashCode(): string | undefined;
@@ -1,3 +1,4 @@
1
+ import { CompileContext } from '../../compile/FileCompiler';
1
2
  import { Expression } from './Expression';
2
3
  import { PredefineExpression } from './PredefineExpression';
3
4
  export declare class RuleExpression {
@@ -5,8 +6,8 @@ export declare class RuleExpression {
5
6
  ifExpression?: Expression;
6
7
  thenExpression?: Expression[];
7
8
  elseExpression?: Expression[];
8
- toScript(name: string, predefineVariableMap: Map<string, PredefineExpression>): string;
9
- buildElseRule(name: string, predefineVariableMap: Map<string, PredefineExpression>): string;
9
+ toScript(name: string, predefineVariableMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
10
+ buildElseRule(name: string, predefineVariableMap: Map<string, PredefineExpression>, compileContext: CompileContext): string;
10
11
  }
11
12
  export declare class RuleProperty {
12
13
  private name;
@@ -1,4 +1,5 @@
1
+ import { CompileContext } from '../../../compile/FileCompiler';
1
2
  import { ObjectMethod } from '../../BO';
2
3
  import { Expression } from '../Expression';
3
4
  import { PredefineExpression } from '../PredefineExpression';
4
- export declare const doCompileCommonMethodScript: (text: string, parameters: Expression[], objectMethod: ObjectMethod, predefineVariableExpressionMap: Map<string, PredefineExpression>) => string;
5
+ export declare const doCompileCommonMethodScript: (text: string, parameters: Expression[], objectMethod: ObjectMethod, predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext) => string;
@@ -1,4 +1,5 @@
1
+ import { CompileContext } from '../../../compile/FileCompiler';
1
2
  import { ObjectMethod } from '../../BO';
2
3
  import { Expression } from '../Expression';
3
4
  import { PredefineExpression } from '../PredefineExpression';
4
- export declare const doCompileCompareMethodScript: (text: string, parameters: Expression[], objectMethod: ObjectMethod, predefineVariableExpressionMap: Map<string, PredefineExpression>) => string;
5
+ export declare const doCompileCompareMethodScript: (text: string, parameters: Expression[], objectMethod: ObjectMethod, predefineVariableExpressionMap: Map<string, PredefineExpression>, compileContext: CompileContext) => string;
@@ -1,6 +1,8 @@
1
1
  import { ParserRuleContext, TerminalNode } from 'antlr4ng';
2
2
  import { ExpressionContext, VariableContext } from '../grammar/rule/RuleParser';
3
+ import { FieldDefine, MethodDefine } from '../model/BO';
3
4
  import { Datatype } from '../model/Datatype';
5
+ import { NavigationNode } from '../model/NavigationTree';
4
6
  import { Expression } from '../model/expression/Expression';
5
7
  import { VariableExpression } from '../model/expression/VariableExpression';
6
8
  declare class ExpressionFinder {
@@ -10,7 +12,7 @@ declare class ExpressionFinder {
10
12
  private parseMethod;
11
13
  private findTargetMethodNodesByDescriptor;
12
14
  private doFindTargetMethodNodesByDescriptor;
13
- private findTargetDefine;
15
+ findTargetDefine(methodNodes?: NavigationNode[]): FieldDefine | MethodDefine | undefined;
14
16
  private parseBasic;
15
17
  private parseObject;
16
18
  private parsePlaceholder;
@@ -18,6 +20,7 @@ declare class ExpressionFinder {
18
20
  private parseCurrentLoopItemObject;
19
21
  private parseLiteral;
20
22
  parseVariable(variableContext: VariableContext, finderContext: ExpressionFinderContext): VariableExpression | undefined;
23
+ findMethodFields(methodDefine: MethodDefine, fields: TerminalNode[]): FieldDefine[];
21
24
  private findTargetFieldNode;
22
25
  }
23
26
  export declare class ExpressionFinderContext {
@@ -12,8 +12,6 @@ export declare class MonacoHoverProvider implements monaco.languages.HoverProvid
12
12
  private buildObjectFieldTip;
13
13
  private findTargetVariableFields;
14
14
  private buildMethodTip;
15
- private buildMatchedMethodsDocumentation;
16
- private findTagetMethods;
17
15
  private caretInTerminalNode;
18
16
  private caretInContext;
19
17
  }
@@ -1,9 +1,9 @@
1
1
  import { CommonTokenStream } from 'antlr4ng';
2
- import { SemanticErrorData } from '../../npmconfig/dist';
3
2
  import { default as BoostRuleLexer } from '../grammar/parser/BoostRuleLexer';
4
3
  import { default as BoostRuleParser } from '../grammar/parser/BoostRuleParser';
5
4
  import { Datatype } from '../model/Datatype';
6
5
  import { RulePart } from '../utils';
6
+ import { SemanticErrorData } from '../grammar/diagnostic/SemanticDiagnostic';
7
7
  export declare const parseTargetPartRuleScript: (text: string, part: RulePart, avaliablePredefineVariablesMap: Map<string, Datatype>, errorList: SemanticErrorData[]) => ParsePartResult;
8
8
  export type ParsePartResult = {
9
9
  lexer: BoostRuleLexer;
@@ -3,8 +3,10 @@ declare class ProjectProperties {
3
3
  private sourceFolder;
4
4
  categories: Category[];
5
5
  parameters: Parameter[];
6
+ rulesetProperties: any;
6
7
  getUuid(): string;
7
8
  setUuid(uuid: string): void;
9
+ getRulesetProperties(): any;
8
10
  getSourceFolder(): string;
9
11
  checkValid(): string | undefined;
10
12
  toXml(): string;
@@ -53,5 +53,25 @@ declare const _default: DefineComponent<__VLS_Props, {
53
53
  setReadonlyMode: (value: boolean) => void;
54
54
  getReadonlyMode: () => boolean;
55
55
  }, {}, {}, {}, {}> | null;
56
+ rulesetRef: CreateComponentPublicInstanceWithMixins<Readonly<{
57
+ darkMode: boolean;
58
+ readonly?: boolean;
59
+ }> & Readonly<{}>, {
60
+ setReadonlyMode: (value: boolean) => void;
61
+ getReadonlyMode: () => boolean;
62
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
63
+ P: {};
64
+ B: {};
65
+ D: {};
66
+ C: {};
67
+ M: {};
68
+ Defaults: {};
69
+ }, Readonly<{
70
+ darkMode: boolean;
71
+ readonly?: boolean;
72
+ }> & Readonly<{}>, {
73
+ setReadonlyMode: (value: boolean) => void;
74
+ getReadonlyMode: () => boolean;
75
+ }, {}, {}, {}, {}> | null;
56
76
  }, any>;
57
77
  export default _default;
@@ -77,6 +77,26 @@ declare const _default: DefineComponent<__VLS_Props, {
77
77
  setReadonlyMode: (value: boolean) => void;
78
78
  getReadonlyMode: () => boolean;
79
79
  }, {}, {}, {}, {}> | null;
80
+ rulesetRef: CreateComponentPublicInstanceWithMixins<Readonly<{
81
+ darkMode: boolean;
82
+ readonly?: boolean;
83
+ }> & Readonly<{}>, {
84
+ setReadonlyMode: (value: boolean) => void;
85
+ getReadonlyMode: () => boolean;
86
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {}, false, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
87
+ P: {};
88
+ B: {};
89
+ D: {};
90
+ C: {};
91
+ M: {};
92
+ Defaults: {};
93
+ }, Readonly<{
94
+ darkMode: boolean;
95
+ readonly?: boolean;
96
+ }> & Readonly<{}>, {
97
+ setReadonlyMode: (value: boolean) => void;
98
+ getReadonlyMode: () => boolean;
99
+ }, {}, {}, {}, {}> | null;
80
100
  }, any, ComponentProvideOptions, {
81
101
  P: {};
82
102
  B: {};
@@ -0,0 +1,10 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from '../../npmconfig/vue/dist/vue.esm-bundler.js';
2
+ type __VLS_Props = {
3
+ darkMode: boolean;
4
+ readonly?: boolean;
5
+ };
6
+ declare const _default: DefineComponent<__VLS_Props, {
7
+ setReadonlyMode: (value: boolean) => void;
8
+ getReadonlyMode: () => boolean;
9
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -14,17 +14,25 @@ export declare class VariableObject {
14
14
  datatype: string;
15
15
  withInitialScript: boolean;
16
16
  genericity?: string;
17
- value: string | VariableObject[] | undefined;
17
+ value: string | VariableObject[] | Map<string, VariableObject> | undefined;
18
18
  fields: VariableObject[];
19
19
  existFieldsSet: Set<string>;
20
20
  constructor(id: string, label: string, datatype: string, withInitialScript: boolean, value?: string);
21
21
  buildData(): Record<string, any>;
22
22
  }
23
- export declare const buildVariableObjectsJsonData: (variableObjects: VariableObject[], format?: boolean) => string;
23
+ export declare const buildInputVariables: () => Variable[];
24
24
  export declare const buildVariableObjects: (variables: Variable[], quickTestData: string) => {
25
25
  variables: VariableObject[];
26
26
  invisibleVariables: VariableObject[];
27
27
  };
28
+ /**
29
+ * 解析提交的JSON数据,将其转换为变量对象列表。这里的JSON数据是一个数组,数组中的每一项都是一个对象,对象的key为变量对象的id,value为变量对象的值。
30
+ * 解析时为了兼容老版本中直接序列化变量对象方式,这里需要判断变量中是否存在withInitialScript以及genericity属性,
31
+ * 如果存在,就说明是老版本序列化后的对象,直接处理它就好,否则就说明是新版本序列化后的对象,需要根据变量对象的类型进行解析。
32
+ * @param jsonData 提交的JSON数据
33
+ * @returns 变量对象列表
34
+ */
35
+ export declare const parseVariableObjectsToMap: (jsonData: string) => Map<string, VariableObject>;
28
36
  export declare const buildVariableObject: (variableObject: VariableObject) => VariableObject;
29
37
  export type Variable = {
30
38
  id: string;
@@ -35,8 +43,8 @@ export type Variable = {
35
43
  genericity?: string;
36
44
  defaultValue: string;
37
45
  };
38
- export declare const sampleDatatype: (datatype: string, genericity?: string) => boolean;
46
+ export declare const simpleDatatype: (datatype: string, genericity?: string) => boolean;
39
47
  export declare const typeIsCollection: (datatype: string) => boolean;
40
48
  export declare const buildObjectFieldsMenu: (variableObject: VariableObject) => MenuItem<string>[];
41
- export declare const buildSimpleTypeEditor: (type: string) => "number" | "text" | "checkbox" | "date";
49
+ export declare const buildSimpleTypeEditor: (type: string) => "number" | "text" | "checkbox";
42
50
  export declare const buildDatatypeGenericity: (datatype: string) => string | undefined;
@@ -1,6 +1,6 @@
1
- import { default as Connection } from '../components/process/Connection';
2
- import { default as ProcessNode } from '../components/process/ProcessNode';
3
- export declare function buildAddNodeMenu(node: ProcessNode, insertConnection?: Connection): {
1
+ import { default as ProcessNodeDef } from './definition/ProcessNodeDef';
2
+ import { default as FlowConnectionDef } from './definition/node/FlowConnectionDef';
3
+ export declare function buildAddNodeMenu(refNode: ProcessNodeDef, refConnection?: FlowConnectionDef): {
4
4
  icon: string;
5
5
  name: string;
6
6
  click: () => void;
@@ -1,7 +1,8 @@
1
1
  export declare enum ActionType {
2
2
  action = "action",
3
3
  initial = "initial",
4
- final = "final"
4
+ final = "final",
5
+ condition = "condition"
5
6
  }
6
7
  export declare enum ActionLanguage {
7
8
  bal = "bal",
@@ -13,6 +13,7 @@ export default class ActionNodeData extends TaskNodeData {
13
13
  initialActions: TaskAction;
14
14
  /** 最终动作配置 */
15
15
  finalActions: TaskAction;
16
+ constructor(id: string);
16
17
  /**
17
18
  * 获取任务节点类型
18
19
  * @returns 动作任务节点类型
@@ -1,3 +1,5 @@
1
+ import { ActionLanguage } from '../config/Enums';
2
+ import { TaskAction } from '../config/TaskAction';
1
3
  /**
2
4
  * 连接数据类
3
5
  * 存储节点间连接的相关数据和配置
@@ -5,18 +7,19 @@
5
7
  export default class ConnectionData {
6
8
  private id;
7
9
  label: string;
8
- conditions: string;
10
+ conditions: TaskAction;
9
11
  documentation: string;
10
12
  /**
11
13
  * 设置连接条件
12
- * @param conditions 连接条件字符串
14
+ * @param language 连接条件语言
15
+ * @param script 连接条件字符串
13
16
  */
14
- setConditions(conditions: string): void;
17
+ setConditions(language: ActionLanguage, script: string): void;
15
18
  /**
16
19
  * 获取连接条件
17
20
  * @returns 连接条件字符串
18
21
  */
19
- getConditions(): string;
22
+ getConditions(): TaskAction;
20
23
  /**
21
24
  * 设置标签
22
25
  * @param label 标签字符串
@@ -5,10 +5,15 @@
5
5
  export default abstract class NodeData {
6
6
  /** 节点唯一标识符 */
7
7
  id: string;
8
+ /** 节点图标 */
9
+ icon: string;
8
10
  /** 节点标签 */
9
11
  label: string;
10
12
  /** 节点文档说明 */
11
13
  documentation: string;
14
+ showWarning: boolean;
15
+ warningMessage: string;
16
+ showLabel: boolean;
12
17
  /**
13
18
  * 构造函数
14
19
  * @param id 节点数据的唯一标识符
@@ -24,4 +29,6 @@ export default abstract class NodeData {
24
29
  * @returns XML字符串
25
30
  */
26
31
  toXml(): string;
32
+ getIcon(): string;
33
+ setIcon(icon: string): void;
27
34
  }
@@ -6,6 +6,7 @@ export declare const ICON_JUECEBIAO_ICON = "udmp web-table";
6
6
  export declare const ICON_START_ICON = "udmp web-start";
7
7
  export declare const ICON_STOP_ICON = "udmp web-end";
8
8
  export declare const ICON_FILE_ICON = "udmp web-file";
9
+ export declare const ICON_SCORECARD = "udmp web-scorecard";
9
10
  /**
10
11
  * 规则文件类型枚举
11
12
  */
@@ -17,7 +18,9 @@ export declare enum RULE_FILE_TYPE {
17
18
  /** 决策表文件 */
18
19
  DecisionTable = "DecisionTable",
19
20
  /** 决策树文件 */
20
- DecisionTree = "DecisionTree"
21
+ DecisionTree = "DecisionTree",
22
+ /** 评分卡文件 */
23
+ Scorecard = "Scorecard"
21
24
  }
22
25
  /**
23
26
  * 文件信息类
@@ -54,6 +54,7 @@ export default class RuleNodeData extends TaskNodeData {
54
54
  selectDynamic: boolean;
55
55
  /** 绑定文件列表 */
56
56
  bindingFiles: BindingFile[];
57
+ constructor(id: string);
57
58
  /**
58
59
  * 转换为XML格式
59
60
  * @returns XML字符串
@@ -15,6 +15,7 @@ export default class SubflowNodeData extends TaskNodeData {
15
15
  initialActions: TaskAction;
16
16
  /** 最终动作配置 */
17
17
  finalActions: TaskAction;
18
+ constructor(name: string);
18
19
  /**
19
20
  * 设置初始动作配置
20
21
  * @param language 动作语言
@@ -5,6 +5,11 @@ import { default as NodeData } from './NodeData';
5
5
  * 定义任务节点数据的基本属性和方法
6
6
  */
7
7
  export default abstract class TaskNodeData extends NodeData {
8
+ /**
9
+ * 构造函数
10
+ * @param id 节点数据的唯一标识符
11
+ */
12
+ constructor(id: string);
8
13
  /**
9
14
  * 获取任务节点类型
10
15
  * @returns 任务节点类型枚举值
@@ -1,5 +1,6 @@
1
1
  import { default as ProcessNodeDef } from './ProcessNodeDef';
2
2
  import { default as FlowProperties } from '../FlowProperties';
3
+ import { NodeName, TaskNodeType } from './node/NodeType';
3
4
  import { FileInfo } from '../data/RuleFile';
4
5
  /**
5
6
  * 流程定义类
@@ -30,6 +31,10 @@ export default class ProcessDef {
30
31
  * 是否为主流程任务
31
32
  */
32
33
  private mainFlowTask;
34
+ /**
35
+ * 是否只读
36
+ */
37
+ private readOnly;
33
38
  /**
34
39
  * 节点映射表,用于存储所有流程节点
35
40
  */
@@ -38,6 +43,10 @@ export default class ProcessDef {
38
43
  * 是否启用暗黑模式
39
44
  */
40
45
  private darkMode;
46
+ /**
47
+ * 线条类型
48
+ */
49
+ private lineType;
41
50
  /**
42
51
  * 文件信息数组
43
52
  */
@@ -54,6 +63,8 @@ export default class ProcessDef {
54
63
  * 流程属性
55
64
  */
56
65
  private properties;
66
+ /** 连接ID计数器 */
67
+ private connectionId;
57
68
  /**
58
69
  * 添加起始节点
59
70
  * @returns 起始节点实例
@@ -75,6 +86,16 @@ export default class ProcessDef {
75
86
  * @param name 流程名称
76
87
  */
77
88
  setName(name: string): void;
89
+ /**
90
+ * 获取线条类型
91
+ * @returns 线条类型
92
+ */
93
+ getLineType(): string;
94
+ /**
95
+ * 设置线条类型
96
+ * @param lineType 线条类型
97
+ */
98
+ setLineType(lineType: string): void;
78
99
  /**
79
100
  * 判断是否为主流程任务
80
101
  * @returns 布尔值,true表示为主流程任务
@@ -90,6 +111,8 @@ export default class ProcessDef {
90
111
  * @param darkMode 是否启用暗黑模式
91
112
  */
92
113
  setDarkMode(darkMode: boolean): void;
114
+ getReadonlyMode(): boolean;
115
+ setReadOnly(readOnly: boolean): void;
93
116
  /**
94
117
  * 获取节点映射表
95
118
  * @returns 节点映射表
@@ -152,6 +175,16 @@ export default class ProcessDef {
152
175
  * @param tags 标签字符串
153
176
  */
154
177
  setTags(tags: string): void;
178
+ /**
179
+ * 获取连接ID
180
+ * @returns 连接ID
181
+ */
182
+ getConnectionId(): number;
183
+ /**
184
+ * 设置连接ID
185
+ * @param connectionId 连接ID
186
+ */
187
+ setConnectionId(connectionId: number): void;
155
188
  /**
156
189
  * 获取快速测试数据
157
190
  * @returns 快速测试数据字符串
@@ -167,22 +200,35 @@ export default class ProcessDef {
167
200
  * @returns 流程属性对象
168
201
  */
169
202
  getProperties(): FlowProperties;
203
+ createProcessNode(nodeNameType: NodeName, nodeId: string, nodeName: string, taskNodeType: TaskNodeType | null, taskId: string, positionX: number, positionY: number, startNode: ProcessNodeDef, endNode: ProcessNodeDef | null): ProcessNodeDef;
204
+ insertProcessNode(nodeNameType: NodeName, nodeId: string, nodeName: string, taskNodeType: TaskNodeType | null, taskId: string, positionX: number, positionY: number, startNode: ProcessNodeDef, endNode: ProcessNodeDef): ProcessNodeDef;
205
+ /**
206
+ * 根据节点类型创建对应的流程节点定义实例
207
+ * @param {NodeName} nodeNameType - 节点类型名称,用于区分分支、汇合、任务等节点
208
+ * @param {string} nodeId - 节点唯一标识
209
+ * @param {string} nodeName - 节点显示名称,为空时回退使用 taskId
210
+ * @param {TaskNodeType} taskNodeType - 任务节点子类型名称,用于区分动作任务、规则任务等
211
+ * @param {string} taskId - 关联的任务标识
212
+ * @returns {ProcessNodeDef | undefined} 对应类型的流程节点定义实例,未匹配的节点类型返回 undefined
213
+ */
214
+ private doCreateProcessNode;
170
215
  /**
171
- * 创建流程节点
172
- * @param nodeType 节点类型
216
+ * 移除节点
173
217
  * @param nodeId 节点ID
174
- * @param nodeName 节点名称
175
- * @param taskId 任务ID
176
- * @param taskNodeName 任务节点名称
177
- * @returns 创建的流程节点实例
178
218
  */
179
- createProcessNode(nodeType: string, nodeId: string, nodeName: string, taskId: string, taskNodeName: string): ProcessNodeDef | undefined;
219
+ removeNode(nodeId: string): void;
220
+ /**
221
+ * 移除连接
222
+ * @param connectionId 连接ID
223
+ */
224
+ removeConnection(connectionId: string): void;
180
225
  /**
181
226
  * 从JSON数据初始化流程
182
227
  * @param root JSON根节点
183
228
  * @param importType 导入类型
184
229
  */
185
230
  initFromJson(root: any, importType: string): void;
231
+ validate(): void;
186
232
  /**
187
233
  * 从iLog格式JSON数据初始化流程
188
234
  * iLog格式: root 是 <RuleFlow> 的内容,直接包含 uuid/locale/NodeList/Properties