udm-rules-vue 0.0.1 → 0.0.2
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 +550 -22
- package/dist/EventBus.d.ts +2 -0
- package/dist/FileDeployPackageBuilder.d.ts +4 -1
- package/dist/FileUtils.d.ts +95 -14
- package/dist/OutputChannelManager.d.ts +102 -0
- package/dist/assets/builtin/StaticMethod.bom +0 -3
- package/dist/assets/builtin/StaticMethod_zh_CN.voc +0 -3
- package/dist/assets/css/index.css +1 -1
- package/dist/bom/BomEditor.vue.d.ts +67 -3
- package/dist/bom/ClassEditor.vue.d.ts +1 -0
- package/dist/bom/FieldEditor.vue.d.ts +1 -0
- package/dist/bom/MethodEditor.vue.d.ts +1 -0
- package/dist/bom/PureWebBomEditor.vue.d.ts +74 -4
- package/dist/bom/bomSerialize.d.ts +1 -1
- package/dist/bom/model.d.ts +2 -0
- package/dist/brl/PureWebRuleEditor.vue.d.ts +17 -7
- package/dist/brl/RuleDocument.d.ts +3 -2
- package/dist/brl/RuleEditor.vue.d.ts +6 -3
- package/dist/brl/RuleEditorComponent.vue.d.ts +12 -6
- package/dist/command/CompileRuleFilesCommand.d.ts +4 -4
- package/dist/compile/DecisionTableCompiler.d.ts +13 -4
- package/dist/compile/FileCompiler.d.ts +2 -1
- package/dist/compile/FlowCompiler.d.ts +3 -2
- package/dist/compile/PureWebCompiler.d.ts +1 -1
- package/dist/compile/RuleCompiler.d.ts +1 -1
- package/dist/components/datatype/DatatypeSelectUtils.d.ts +9 -0
- package/dist/components/process/Connection.d.ts +30 -104
- package/dist/components/process/OrthogonalPath.d.ts +225 -0
- package/dist/components/process/Process.d.ts +3 -0
- package/dist/components/select/Select.vue.d.ts +1 -0
- package/dist/components/splitter/HoizontalSplitter.vue.d.ts +2 -3
- package/dist/components/splitter/VerticalSplitter.vue.d.ts +4 -14
- package/dist/components/tree/TreeNode.vue.d.ts +3 -15
- package/dist/dta/DecisionTableComponent.vue.d.ts +12 -6
- package/dist/dta/DecisionTableEditor.vue.d.ts +6 -3
- package/dist/dta/DynamicEditableController.d.ts +3 -0
- package/dist/dta/PureWebDecisionTableEditor.vue.d.ts +16 -7
- package/dist/dta/component/DecisionTable.d.ts +1 -0
- package/dist/dta/webview/DecisionTableDocument.d.ts +3 -2
- package/dist/dtr/DecisionTreeComponent.vue.d.ts +12 -6
- package/dist/dtr/DecisionTreeEditor.vue.d.ts +6 -3
- package/dist/dtr/PureWebDecisionTreeEditor.vue.d.ts +16 -7
- package/dist/dtr/designer/PlaceholderEditableController.d.ts +3 -0
- package/dist/dtr/designer/TreeDesigner.d.ts +2 -1
- package/dist/dtr/designer/TreeNode.d.ts +1 -0
- package/dist/dtr/webview/DecisionTreeDocument.d.ts +3 -2
- package/dist/index.d.ts +0 -4
- package/dist/index.js +34981 -33087
- package/dist/index.umd.js +316 -323
- package/dist/model/NavigationTree.d.ts +2 -0
- package/dist/model/WebViewBomFilesReader.d.ts +1 -0
- package/dist/monaco/ExpressionFinder.d.ts +4 -2
- package/dist/monaco/MonacoHoverProvider.d.ts +3 -0
- package/dist/monaco/parseTargetPartRuleScript.d.ts +2 -1
- package/dist/projectprops/Category.vue.d.ts +5 -1
- package/dist/projectprops/Parameter.vue.d.ts +5 -1
- package/dist/projectprops/ProjectProperties.d.ts +1 -0
- package/dist/projectprops/ProjectPropertiesEditor.vue.d.ts +52 -3
- package/dist/projectprops/PureWebProjectPropertiesEditor.vue.d.ts +59 -4
- package/dist/quicktest/QuickTestDialog.vue.d.ts +3 -1
- package/dist/refactor/ClassFileRefRefactor.d.ts +5 -0
- package/dist/refactor/FileRefactor.d.ts +10 -1
- package/dist/rfl/FlowProcess.d.ts +29 -0
- package/dist/rfl/config/Enums.d.ts +1 -1
- package/dist/rfl/data/RuleFile.d.ts +1 -1
- package/dist/rfl/definition/JsonUtils.d.ts +3 -7
- package/dist/rfl/definition/ProcessDef.d.ts +12 -0
- package/dist/rfl/definition/node/ActionTaskNodeDef.d.ts +1 -1
- package/dist/rfl/definition/node/FlowConnectionDef.d.ts +16 -12
- package/dist/rfl/designer/Designer.vue.d.ts +24 -13
- package/dist/rfl/designer/DesignerComponent.vue.d.ts +30 -16
- package/dist/rfl/designer/PureWebFlowEditor.vue.d.ts +34 -17
- package/dist/rfl/designer/editor/ConnectionEditor.vue.d.ts +2 -0
- package/dist/rfl/designer/editor/FlowEditor.vue.d.ts +1 -1
- package/dist/rfl/designer/editor/ProcessEditor.vue.d.ts +10 -5
- package/dist/rfl/node/FlowConnection.d.ts +7 -0
- package/dist/rfl/props/ActionNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/BranchNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/ConnectionProperty.vue.d.ts +8 -1
- package/dist/rfl/props/ForkNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/JoinNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/RuleNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/StartNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/StopNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/props/SubflowNodeProperty.vue.d.ts +2 -0
- package/dist/rfl/utils/Utils.d.ts +1 -0
- package/dist/rfl/webview/RuleFlowDocument.d.ts +3 -2
- package/dist/sca/webview/ScoreCardDocument.d.ts +3 -2
- package/dist/sync/ProjectSyncEditorProvider.d.ts +0 -1
- package/dist/sync/ProjectSyncEntryBuilder.d.ts +23 -1
- package/dist/sync/SyncFileUitls.d.ts +2 -4
- package/dist/tst/PureWebTstEditor.vue.d.ts +12 -3
- package/dist/tst/TstEditor.vue.d.ts +4 -1
- package/dist/var/PureWebVariableEditor.vue.d.ts +12 -3
- package/dist/var/VariableEditor.vue.d.ts +4 -1
- package/dist/webviewFilesOperator.d.ts +1 -0
- package/package.json +3 -2
- package/dist/components/form/TagInput.vue.d.ts +0 -13
- package/dist/server/TestBomFilesLoader.d.ts +0 -13
- package/dist/server/TestFlowFileLoader.d.ts +0 -22
- package/dist/server/server.d.ts +0 -1
package/README.md
CHANGED
|
@@ -10,12 +10,12 @@ UDM 主要由三个部分组成,分别是一个由 java 实现的基于 Rete
|
|
|
10
10
|
|
|
11
11
|
## 在 web 开发中使用 npm 组件库
|
|
12
12
|
|
|
13
|
-
我们除了可以直接使用基于 vscode 插件来进行 UDM 规则开发外,还可以通过引用发布在 npm 上的 udm 组件库,在纯 web 环境中定义自己的规则编辑器,以将 UDM 规则引擎无缝嵌入到我们的 web 项目中。
|
|
13
|
+
我们除了可以直接使用基于 vscode 插件来进行 UDM 规则开发外,还可以通过引用发布在 npm 上的 udm-rules-vue 组件库,在纯 web 环境中定义自己的规则编辑器,以将 UDM 规则引擎无缝嵌入到我们的 web 项目中。
|
|
14
14
|
|
|
15
15
|
### 安装组件库
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
npm i udm
|
|
18
|
+
npm i udm-rules-vue
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
UDM 的 web 中的组件采用 vue3 开发,所以我们安装好 UDM 组件库后就可以在标准的 vue3 开发环境中引用相关编辑器及相关 api。
|
|
@@ -35,14 +35,18 @@ npm install konva@^10.0.12
|
|
|
35
35
|
### 规则编辑器
|
|
36
36
|
|
|
37
37
|
```
|
|
38
|
-
import {
|
|
38
|
+
import {PureWebRuleEditor} from 'udm-rules-vue'
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
**Props 属性:**
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
44
|
+
|------|------|------|------|
|
|
45
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
46
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
47
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
48
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
49
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
46
50
|
|
|
47
51
|
我们需要在方法中加载文件对应的内容,然后通过返回一个 Promise 将加载后的内容返回给编辑器使用。
|
|
48
52
|
|
|
@@ -55,38 +59,562 @@ event.EventBus.on(event.FILE_CHANGE,(data)=>{
|
|
|
55
59
|
});
|
|
56
60
|
```
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
**接口方法:**
|
|
63
|
+
|
|
64
|
+
`serializeToXml()` - 将当前编辑的规则内容序列化为 XML 格式
|
|
65
|
+
|
|
66
|
+
`showQuickTestDialog()` - 显示快速测试对话框
|
|
67
|
+
|
|
68
|
+
**使用示例:**
|
|
69
|
+
|
|
70
|
+
```vue
|
|
71
|
+
<template>
|
|
72
|
+
<PureWebRuleEditor
|
|
73
|
+
ref="ruleEditor"
|
|
74
|
+
:load-file-callback="loadFileCallback"
|
|
75
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
76
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
77
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
78
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
79
|
+
/>
|
|
80
|
+
</template>
|
|
81
|
+
|
|
82
|
+
<script setup>
|
|
83
|
+
import { ref } from 'vue';
|
|
84
|
+
import { PureWebRuleEditor } from 'udm-rules-vue';
|
|
85
|
+
|
|
86
|
+
const ruleEditor = ref();
|
|
87
|
+
|
|
88
|
+
const loadFileCallback = async () => {
|
|
89
|
+
// 加载编辑器文件内容
|
|
90
|
+
return { /* 文件内容 */ };
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
const loadBomFilesCallback = async () => {
|
|
94
|
+
// 加载 BOM 文件
|
|
95
|
+
return [
|
|
96
|
+
{ fileName: 'model.bom', content: '...' },
|
|
97
|
+
{ fileName: 'model2.bom', content: '...' }
|
|
98
|
+
];
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const loadVocFilesCallback = async () => {
|
|
102
|
+
// 加载词汇表文件
|
|
103
|
+
return [
|
|
104
|
+
{ fileName: 'model.voc', content: '...' }
|
|
105
|
+
];
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const loadVarFilesCallback = async () => {
|
|
109
|
+
// 加载变量文件
|
|
110
|
+
return [
|
|
111
|
+
{ fileName: 'variables.var', content: '...' }
|
|
112
|
+
];
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
const loadProjectFilesCallback = async () => {
|
|
116
|
+
// 加载项目配置文件
|
|
117
|
+
return [
|
|
118
|
+
{ fileName: 'project.properties', content: '...' }
|
|
119
|
+
];
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
// 获取 XML 内容
|
|
123
|
+
const getXmlContent = () => {
|
|
124
|
+
const xmlContent = ruleEditor.value?.serializeToXml();
|
|
125
|
+
console.log(xmlContent);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
// 显示快速测试对话框
|
|
129
|
+
const showTestDialog = () => {
|
|
130
|
+
ruleEditor.value?.showQuickTestDialog();
|
|
131
|
+
};
|
|
132
|
+
</script>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### 决策表编辑器
|
|
59
136
|
|
|
60
137
|
```
|
|
61
|
-
import {
|
|
62
|
-
|
|
138
|
+
import {PureWebDecisionTableEditor} from 'udm-rules-vue'
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Props 属性:**
|
|
142
|
+
|
|
143
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
144
|
+
|------|------|------|------|
|
|
145
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
146
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
147
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
148
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
149
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
150
|
+
|
|
151
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
152
|
+
|
|
153
|
+
**接口方法:**
|
|
154
|
+
|
|
155
|
+
`serializeToXml()` - 将当前编辑的决策表内容序列化为 XML 格式
|
|
156
|
+
|
|
157
|
+
`showQuickTestDialog()` - 显示快速测试对话框
|
|
158
|
+
|
|
159
|
+
**使用示例:**
|
|
160
|
+
|
|
161
|
+
```vue
|
|
162
|
+
<template>
|
|
163
|
+
<PureWebDecisionTableEditor
|
|
164
|
+
ref="decisionTableEditor"
|
|
165
|
+
:load-file-callback="loadFileCallback"
|
|
166
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
167
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
168
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
169
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
170
|
+
/>
|
|
171
|
+
</template>
|
|
172
|
+
|
|
173
|
+
<script setup>
|
|
174
|
+
import { ref } from 'vue';
|
|
175
|
+
import { PureWebDecisionTableEditor } from 'udm-rules-vue';
|
|
176
|
+
|
|
177
|
+
const decisionTableEditor = ref();
|
|
178
|
+
|
|
179
|
+
// 各种加载回调函数实现同规则编辑器
|
|
180
|
+
|
|
181
|
+
// 获取 XML 内容
|
|
182
|
+
const getXmlContent = () => {
|
|
183
|
+
const xmlContent = decisionTableEditor.value?.serializeToXml();
|
|
184
|
+
console.log(xmlContent);
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
// 显示快速测试对话框
|
|
188
|
+
const showTestDialog = () => {
|
|
189
|
+
decisionTableEditor.value?.showQuickTestDialog();
|
|
190
|
+
};
|
|
191
|
+
</script>
|
|
63
192
|
```
|
|
64
193
|
|
|
65
|
-
|
|
194
|
+
### BOM 编辑器
|
|
66
195
|
|
|
67
196
|
```
|
|
68
|
-
import {
|
|
69
|
-
event.EventBus.on(event.THE_EDITOR_DATA,(data)=>{
|
|
70
|
-
......
|
|
71
|
-
}})
|
|
197
|
+
import {PureWebBomEditor} from 'udm-rules-vue'
|
|
72
198
|
```
|
|
73
199
|
|
|
74
|
-
|
|
200
|
+
**Props 属性:**
|
|
201
|
+
|
|
202
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
203
|
+
|------|------|------|------|
|
|
204
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
205
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
206
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
207
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
208
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
209
|
+
|
|
210
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
211
|
+
|
|
212
|
+
**接口方法:**
|
|
213
|
+
|
|
214
|
+
`serializeToJson()` - 将当前编辑的 BOM 内容序列化为 JSON 格式
|
|
215
|
+
|
|
216
|
+
**使用示例:**
|
|
217
|
+
|
|
218
|
+
```vue
|
|
219
|
+
<template>
|
|
220
|
+
<PureWebBomEditor
|
|
221
|
+
ref="bomEditor"
|
|
222
|
+
:load-file-callback="loadFileCallback"
|
|
223
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
224
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
225
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
226
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
227
|
+
/>
|
|
228
|
+
</template>
|
|
229
|
+
|
|
230
|
+
<script setup>
|
|
231
|
+
import { ref } from 'vue';
|
|
232
|
+
import { PureWebBomEditor } from 'udm-rules-vue';
|
|
233
|
+
|
|
234
|
+
const bomEditor = ref();
|
|
235
|
+
|
|
236
|
+
// 各种加载回调函数实现同规则编辑器
|
|
75
237
|
|
|
238
|
+
// 获取 JSON 内容
|
|
239
|
+
const getJsonContent = () => {
|
|
240
|
+
const jsonContent = bomEditor.value?.serializeToJson();
|
|
241
|
+
console.log(jsonContent);
|
|
242
|
+
// 处理 JSON 内容
|
|
243
|
+
};
|
|
244
|
+
</script>
|
|
76
245
|
```
|
|
77
|
-
|
|
246
|
+
|
|
247
|
+
返回的JSON格式内容:
|
|
248
|
+
|
|
249
|
+
```json
|
|
250
|
+
{
|
|
251
|
+
"bom": "BOM文件的类定义内容字符串",
|
|
252
|
+
"voc": "Vocabulary(词汇表)文件内容字符串",
|
|
253
|
+
"b2x": "B2x文件内容字符串",
|
|
254
|
+
"b2xe": "运行时B2x文件内容字符串"
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**字段说明:**
|
|
259
|
+
|
|
260
|
+
| 字段 | 类型 | 说明 |
|
|
261
|
+
|------|------|------|
|
|
262
|
+
| bom | string | BOM(业务对象模型)文件内容,包含包、类、字段、方法等定义的完整文本 |
|
|
263
|
+
| voc | string | Vocabulary(词汇表)文件内容,包含业务术语的自然语言描述 |
|
|
264
|
+
| b2x | string | B2x文件内容(设计时),XML格式,包含类的属性和方法执行脚本等 |
|
|
265
|
+
| b2xe | string | 运行时B2x文件内容,XML格式,用于规则引擎运行时使用 |
|
|
266
|
+
|
|
267
|
+
**bom字段示例:**
|
|
268
|
+
```
|
|
269
|
+
property uuid "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
|
|
270
|
+
|
|
271
|
+
package com.example;
|
|
272
|
+
|
|
273
|
+
public class Customer {
|
|
274
|
+
String name;
|
|
275
|
+
int age;
|
|
276
|
+
public void updateCustomerInfo(String newName, int newAge);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
public class Order {
|
|
280
|
+
java.util.List<OrderItem> items;
|
|
281
|
+
Customer customer;
|
|
282
|
+
public BigDecimal calculateTotal();
|
|
283
|
+
}
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**voc字段示例:**
|
|
287
|
+
```
|
|
288
|
+
# Vocabulary Properties
|
|
289
|
+
uuid = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
|
290
|
+
|
|
291
|
+
# com.example.Customer
|
|
292
|
+
com.example.Customer#concept.label=客户
|
|
293
|
+
com.example.Customer.name#instance.label=姓名
|
|
294
|
+
com.example.Customer.age#instance.label=年龄
|
|
295
|
+
|
|
296
|
+
# com.example.Order
|
|
297
|
+
com.example.Order#concept.label=订单
|
|
298
|
+
com.example.Order.items#phrase.navigation=的订单项
|
|
299
|
+
com.example.Order.customer#phrase.navigation=的客户
|
|
300
|
+
com.example.Order.calculateTotal()#phrase.action=计算总金额
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**b2x字段示例:**
|
|
304
|
+
```xml
|
|
305
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
306
|
+
<UDM-b2x>
|
|
307
|
+
<id>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</id>
|
|
308
|
+
<class>
|
|
309
|
+
<businessName>com.example.Customer</businessName>
|
|
310
|
+
<attribute>
|
|
311
|
+
<name>name</name>
|
|
312
|
+
<type>String</type>
|
|
313
|
+
<update>false</update>
|
|
314
|
+
<static>false</static>
|
|
315
|
+
</attribute>
|
|
316
|
+
<method>
|
|
317
|
+
<name>updateCustomerInfo</name>
|
|
318
|
+
<static>false</static>
|
|
319
|
+
<parameter type="String" name="newName"/>
|
|
320
|
+
<parameter type="int" name="newAge"/>
|
|
321
|
+
<return>void</return>
|
|
322
|
+
<body><![CDATA[this.name = newName; this.age = newAge;]]></body>
|
|
323
|
+
</method>
|
|
324
|
+
</class>
|
|
325
|
+
</UDM-b2x>
|
|
78
326
|
```
|
|
79
327
|
|
|
80
|
-
|
|
328
|
+
### 决策树编辑器
|
|
81
329
|
|
|
82
|
-
|
|
330
|
+
```
|
|
331
|
+
import {PureWebDecisionTreeEditor} from 'udm-rules-vue'
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
**Props 属性:**
|
|
335
|
+
|
|
336
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
337
|
+
|------|------|------|------|
|
|
338
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
339
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
340
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
341
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
342
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
343
|
+
|
|
344
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
345
|
+
|
|
346
|
+
**接口方法:**
|
|
347
|
+
|
|
348
|
+
`serializeToXml()` - 将当前编辑的决策树内容序列化为 XML 格式
|
|
349
|
+
|
|
350
|
+
`showQuickTestDialog()` - 显示快速测试对话框
|
|
351
|
+
|
|
352
|
+
**使用示例:**
|
|
353
|
+
|
|
354
|
+
```vue
|
|
355
|
+
<template>
|
|
356
|
+
<PureWebDecisionTreeEditor
|
|
357
|
+
ref="decisionTreeEditor"
|
|
358
|
+
:load-file-callback="loadFileCallback"
|
|
359
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
360
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
361
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
362
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
363
|
+
/>
|
|
364
|
+
</template>
|
|
365
|
+
|
|
366
|
+
<script setup>
|
|
367
|
+
import { ref } from 'vue';
|
|
368
|
+
import { PureWebDecisionTreeEditor } from 'udm-rules-vue';
|
|
369
|
+
|
|
370
|
+
const decisionTreeEditor = ref();
|
|
371
|
+
|
|
372
|
+
// 各种加载回调函数实现同规则编辑器
|
|
373
|
+
|
|
374
|
+
// 获取 XML 内容
|
|
375
|
+
const getXmlContent = () => {
|
|
376
|
+
const xmlContent = decisionTreeEditor.value?.serializeToXml();
|
|
377
|
+
console.log(xmlContent);
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
// 显示快速测试对话框
|
|
381
|
+
const showTestDialog = () => {
|
|
382
|
+
decisionTreeEditor.value?.showQuickTestDialog();
|
|
383
|
+
};
|
|
384
|
+
</script>
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### 项目属性编辑器
|
|
388
|
+
|
|
389
|
+
```
|
|
390
|
+
import {PureWebProjectPropertiesEditor} from 'udm-rules-vue'
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
**Props 属性:**
|
|
394
|
+
|
|
395
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
396
|
+
|------|------|------|------|
|
|
397
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
398
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
399
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
400
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
401
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
402
|
+
|
|
403
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
404
|
+
|
|
405
|
+
**接口方法:**
|
|
406
|
+
|
|
407
|
+
`serializeToXml()` - 将当前编辑的项目属性内容序列化为 XML 格式
|
|
408
|
+
|
|
409
|
+
**使用示例:**
|
|
410
|
+
|
|
411
|
+
```vue
|
|
412
|
+
<template>
|
|
413
|
+
<PureWebProjectPropertiesEditor
|
|
414
|
+
ref="projectPropertiesEditor"
|
|
415
|
+
:load-file-callback="loadFileCallback"
|
|
416
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
417
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
418
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
419
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
420
|
+
/>
|
|
421
|
+
</template>
|
|
422
|
+
|
|
423
|
+
<script setup>
|
|
424
|
+
import { ref } from 'vue';
|
|
425
|
+
import { PureWebProjectPropertiesEditor } from 'udm-rules-vue';
|
|
426
|
+
|
|
427
|
+
const projectPropertiesEditor = ref();
|
|
428
|
+
|
|
429
|
+
// 各种加载回调函数实现同规则编辑器
|
|
430
|
+
|
|
431
|
+
// 获取 XML 内容
|
|
432
|
+
const getXmlContent = () => {
|
|
433
|
+
const xmlContent = projectPropertiesEditor.value?.serializeToXml();
|
|
434
|
+
console.log(xmlContent);
|
|
435
|
+
};
|
|
436
|
+
</script>
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
### 测试用例编辑器
|
|
440
|
+
|
|
441
|
+
```
|
|
442
|
+
import {PureWebTstEditor} from 'udm-rules-vue'
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
**Props 属性:**
|
|
446
|
+
|
|
447
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
448
|
+
|------|------|------|------|
|
|
449
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
450
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
451
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
452
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
453
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
454
|
+
|
|
455
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
456
|
+
|
|
457
|
+
**接口方法:**
|
|
458
|
+
|
|
459
|
+
`serializeToXml()` - 将当前编辑的测试用例内容序列化为 XML 格式
|
|
460
|
+
|
|
461
|
+
**使用示例:**
|
|
462
|
+
|
|
463
|
+
```vue
|
|
464
|
+
<template>
|
|
465
|
+
<PureWebTstEditor
|
|
466
|
+
ref="tstEditor"
|
|
467
|
+
:load-file-callback="loadFileCallback"
|
|
468
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
469
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
470
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
471
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
472
|
+
/>
|
|
473
|
+
</template>
|
|
474
|
+
|
|
475
|
+
<script setup>
|
|
476
|
+
import { ref } from 'vue';
|
|
477
|
+
import { PureWebTstEditor } from 'udm-rules-vue';
|
|
478
|
+
|
|
479
|
+
const tstEditor = ref();
|
|
480
|
+
|
|
481
|
+
// 各种加载回调函数实现同规则编辑器
|
|
482
|
+
|
|
483
|
+
// 获取 XML 内容
|
|
484
|
+
const getXmlContent = () => {
|
|
485
|
+
const xmlContent = tstEditor.value?.serializeToXml();
|
|
486
|
+
console.log(xmlContent);
|
|
487
|
+
};
|
|
488
|
+
</script>
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
### 变量编辑器
|
|
492
|
+
|
|
493
|
+
```
|
|
494
|
+
import {PureWebVariableEditor} from 'udm-rules-vue'
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
**Props 属性:**
|
|
498
|
+
|
|
499
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
500
|
+
|------|------|------|------|
|
|
501
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
502
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
503
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
504
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
505
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
506
|
+
|
|
507
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
508
|
+
|
|
509
|
+
**接口方法:**
|
|
510
|
+
|
|
511
|
+
`serializeToXml()` - 将当前编辑的变量内容序列化为 XML 格式
|
|
512
|
+
|
|
513
|
+
**使用示例:**
|
|
514
|
+
|
|
515
|
+
```vue
|
|
516
|
+
<template>
|
|
517
|
+
<PureWebVariableEditor
|
|
518
|
+
ref="variableEditor"
|
|
519
|
+
:load-file-callback="loadFileCallback"
|
|
520
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
521
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
522
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
523
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
524
|
+
/>
|
|
525
|
+
</template>
|
|
526
|
+
|
|
527
|
+
<script setup>
|
|
528
|
+
import { ref } from 'vue';
|
|
529
|
+
import { PureWebVariableEditor } from 'udm-rules-vue';
|
|
530
|
+
|
|
531
|
+
const variableEditor = ref();
|
|
532
|
+
|
|
533
|
+
// 各种加载回调函数实现同规则编辑器
|
|
534
|
+
|
|
535
|
+
// 获取 XML 内容
|
|
536
|
+
const getXmlContent = () => {
|
|
537
|
+
const xmlContent = variableEditor.value?.serializeToXml();
|
|
538
|
+
console.log(xmlContent);
|
|
539
|
+
};
|
|
540
|
+
</script>
|
|
541
|
+
```
|
|
83
542
|
|
|
84
543
|
### 规则流编辑器
|
|
85
544
|
|
|
86
545
|
```
|
|
87
|
-
import {
|
|
546
|
+
import {PureWebFlowEditor} from 'udm-rules-vue'
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
**Props 属性:**
|
|
550
|
+
|
|
551
|
+
| 属性 | 类型 | 必填 | 说明 |
|
|
552
|
+
|------|------|------|------|
|
|
553
|
+
| load-file-callback | `() => Promise<any>` | 是 | 加载编辑器文件内容的回调函数 |
|
|
554
|
+
| loadBomFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载 BOM 文件的回调函数 |
|
|
555
|
+
| loadVocFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载词汇表文件的回调函数 |
|
|
556
|
+
| loadVarFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载变量文件的回调函数 |
|
|
557
|
+
| loadProjectFilesCallback | `() => Promise<{ fileName: string; content: string }[]>` | 是 | 加载项目配置文件的回调函数 |
|
|
558
|
+
|
|
559
|
+
文件内容变化监听以及获取当前文件内容方式与规则编辑器相同,这里不再赘述。
|
|
560
|
+
|
|
561
|
+
**接口方法:**
|
|
562
|
+
|
|
563
|
+
`serializeToXml()` - 将当前编辑的规则流内容序列化为 XML 格式
|
|
564
|
+
|
|
565
|
+
`showQuickTestDialog()` - 显示快速测试对话框
|
|
566
|
+
|
|
567
|
+
**使用示例:**
|
|
568
|
+
|
|
569
|
+
```vue
|
|
570
|
+
<template>
|
|
571
|
+
<PureWebFlowEditor
|
|
572
|
+
ref="flowEditor"
|
|
573
|
+
:load-file-callback="loadFileCallback"
|
|
574
|
+
:loadBomFilesCallback="loadBomFilesCallback"
|
|
575
|
+
:loadVocFilesCallback="loadVocFilesCallback"
|
|
576
|
+
:loadVarFilesCallback="loadVarFilesCallback"
|
|
577
|
+
:loadProjectFilesCallback="loadProjectFilesCallback"
|
|
578
|
+
/>
|
|
579
|
+
</template>
|
|
580
|
+
|
|
581
|
+
<script setup>
|
|
582
|
+
import { ref } from 'vue';
|
|
583
|
+
import { PureWebFlowEditor } from 'udm-rules-vue';
|
|
584
|
+
|
|
585
|
+
const flowEditor = ref();
|
|
586
|
+
|
|
587
|
+
// 各种加载回调函数实现同规则编辑器
|
|
588
|
+
|
|
589
|
+
// 获取 XML 内容
|
|
590
|
+
const getXmlContent = () => {
|
|
591
|
+
const xmlContent = flowEditor.value?.serializeToXml();
|
|
592
|
+
console.log(xmlContent);
|
|
593
|
+
};
|
|
594
|
+
|
|
595
|
+
// 显示快速测试对话框
|
|
596
|
+
const showTestDialog = () => {
|
|
597
|
+
flowEditor.value?.showQuickTestDialog();
|
|
598
|
+
};
|
|
599
|
+
</script>
|
|
88
600
|
```
|
|
89
601
|
|
|
90
|
-
|
|
602
|
+
### 接口方法汇总
|
|
603
|
+
|
|
604
|
+
下表汇总了各编辑器提供的接口方法:
|
|
605
|
+
|
|
606
|
+
| 编辑器 | 方法 | 返回格式 | 说明 |
|
|
607
|
+
|--------|------|----------|------|
|
|
608
|
+
| PureWebRuleEditor | serializeToXml() | XML | 将规则内容序列化为 XML 格式 |
|
|
609
|
+
| PureWebRuleEditor | showQuickTestDialog() | - | 显示快速测试对话框 |
|
|
610
|
+
| PureWebBomEditor | serializeToJson() | JSON | 将 BOM 内容序列化为 JSON 格式 |
|
|
611
|
+
| PureWebDecisionTreeEditor | serializeToXml() | XML | 将决策树内容序列化为 XML 格式 |
|
|
612
|
+
| PureWebDecisionTreeEditor | showQuickTestDialog() | - | 显示快速测试对话框 |
|
|
613
|
+
| PureWebDecisionTableEditor | serializeToXml() | XML | 将决策表内容序列化为 XML 格式 |
|
|
614
|
+
| PureWebDecisionTableEditor | showQuickTestDialog() | - | 显示快速测试对话框 |
|
|
615
|
+
| PureWebProjectPropertiesEditor | serializeToXml() | XML | 将项目属性内容序列化为 XML 格式 |
|
|
616
|
+
| PureWebTstEditor | serializeToXml() | XML | 将测试用例内容序列化为 XML 格式 |
|
|
617
|
+
| PureWebVariableEditor | serializeToXml() | XML | 将变量内容序列化为 XML 格式 |
|
|
618
|
+
| PureWebFlowEditor | serializeToXml() | XML | 将规则流内容序列化为 XML 格式 |
|
|
619
|
+
| PureWebFlowEditor | showQuickTestDialog() | - | 显示快速测试对话框 |
|
|
91
620
|
|
|
92
|
-
文件内容变化监听以及获取当前文件内容方式也与规则编辑器相同,这里不再赘述。
|
package/dist/EventBus.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const REQUEST_FILE_DATA = "REQUEST_FILE_DATA";
|
|
|
6
6
|
export declare const THE_FILE_DATA = "THE_FILE_DATA";
|
|
7
7
|
export declare const EDITOR_READY = "EDITOR_READY";
|
|
8
8
|
export declare const DO_SAVE_FILE = "DO_SAVE_FILE";
|
|
9
|
+
export declare const OPEN_FILE = "OPEN_FILE";
|
|
9
10
|
export declare const OPEN_EXTERNAL_DEFINITION = "OPEN_EXTERNAL_DEFINITION";
|
|
10
11
|
export declare const POSITION_TARGET_DEFINITION = "POSITION_TARGET_DEFINITION";
|
|
11
12
|
export declare const SHOW_QUICK_TEST_DIALOG = "SHOW_QUICK_TEST_DIALOG";
|
|
@@ -18,6 +19,7 @@ export declare const AUTH_TOKEN_RESPONSE = "AUTH_TOKEN_RESPONSE";
|
|
|
18
19
|
export declare const DISABLE_CONTENT_EDITOR = "DISABLE_CONTENT_EDITOR";
|
|
19
20
|
export declare const THE_DIAGNOSTIC_DATA = "THE_DIAGNOSTIC_DATA";
|
|
20
21
|
export declare const COPY_TO_CLIPBOARD = "COPY_TO_CLIPBOARD";
|
|
22
|
+
export declare const VIEW_RELOAD = "VIEW_RELOAD";
|
|
21
23
|
export declare const REQUEST_EDITOR_DATA = "REQUEST_EDITOR_DATA";
|
|
22
24
|
export declare const THE_EDITOR_DATA = "THE_EDITOR_DATA";
|
|
23
25
|
export declare const FILE_CHANGE = "FILE_CHANGE";
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export declare const DEPLOY_OUTPUT_FOLDER = ".deploy";
|
|
2
2
|
export declare const PACKAGE_CONFIG_FILE = "config.xml";
|
|
3
3
|
export declare class FileDeployPackageBuilder {
|
|
4
|
+
private static outputChannel;
|
|
4
5
|
private workspaceFolderPath;
|
|
5
6
|
private testFileOutputFolderPath;
|
|
6
7
|
constructor();
|
|
8
|
+
private static getOutputChannel;
|
|
9
|
+
private static log;
|
|
7
10
|
/**
|
|
8
11
|
* 监听webview中的请求测试文件的事件
|
|
9
12
|
*/
|
|
@@ -11,7 +14,7 @@ export declare class FileDeployPackageBuilder {
|
|
|
11
14
|
buildPackageFile(fileUuid: string): Promise<{
|
|
12
15
|
filePath: string;
|
|
13
16
|
base64Content: string;
|
|
14
|
-
}
|
|
17
|
+
}>;
|
|
15
18
|
private generatePackageFile;
|
|
16
19
|
private copyExistCompiledFile;
|
|
17
20
|
private buildFlowRelationFiles;
|