udm-rules-vue 0.0.2 → 0.0.4
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/dist/EventBus.d.ts +1 -0
- package/dist/FileDeployPackageBuilder.d.ts +0 -2
- package/dist/FileUtils.d.ts +17 -22
- package/dist/OutputChannelManager.d.ts +37 -6
- package/dist/ServerRequestResponse.d.ts +6 -0
- package/dist/assets/builtin/Constants.bom +9 -0
- package/dist/assets/builtin/Constants_zh_CN.voc +11 -1
- package/dist/assets/builtin/Scorecard.bom +8 -0
- package/dist/assets/builtin/Scorecard_zh_CN.voc +10 -0
- package/dist/assets/builtin/StaticMethod.bom +1 -0
- package/dist/assets/builtin/StaticMethod_zh_CN.voc +1 -0
- package/dist/assets/css/index.css +1 -1
- package/dist/bom/bomSerialize.d.ts +2 -1
- package/dist/bom/model.d.ts +2 -1
- package/dist/brl/PureWebRuleEditor.vue.d.ts +4 -3
- package/dist/brl/RuleDocument.d.ts +1 -1
- package/dist/brl/RuleEditor.vue.d.ts +2 -2
- package/dist/brl/RuleEditorComponent.vue.d.ts +3 -3
- package/dist/brl/RuleUtils.d.ts +1 -1
- package/dist/command/CompileB2xFilesCommand.d.ts +4 -0
- package/dist/command/CompileRuleFilesCommand.d.ts +9 -4
- package/dist/command/DiagnoseFileCommand.d.ts +6 -0
- package/dist/command/SyncCompiledFilesCommand.d.ts +3 -0
- package/dist/command/UpdateUuidCommand.d.ts +2 -2
- package/dist/compile/BomCompiler.d.ts +96 -0
- package/dist/compile/DecisionTableCompiler.d.ts +4 -4
- package/dist/compile/ExpressionBuilder.d.ts +0 -3
- package/dist/compile/FileCompiler.d.ts +11 -2
- package/dist/compile/FlowCompiler.d.ts +20 -4
- package/dist/compile/PureWebCompiler.d.ts +1 -0
- package/dist/compile/RuleCompiler.d.ts +2 -2
- package/dist/compile/ScoreCardCompiler.d.ts +14 -0
- package/dist/compile/compileRuleScript.d.ts +6 -1
- package/dist/components/message/Toast.vue.d.ts +6 -0
- package/dist/components/message/events.d.ts +20 -0
- package/dist/components/process/events.d.ts +0 -3
- package/dist/components/tree/TreeNode.vue.d.ts +2 -0
- package/dist/content.d.ts +2 -0
- package/dist/dta/DecisionTableDeserialize.d.ts +2 -1
- package/dist/dta/DecisionTableJsonSerialize.d.ts +2 -0
- package/dist/dta/DecisionTableXmlSerialize.d.ts +2 -0
- package/dist/dta/component/DecisionTable.d.ts +1 -0
- package/dist/dta/model/DecisionTableModel.d.ts +3 -0
- package/dist/dta/webview/DecisionTableDocument.d.ts +1 -1
- package/dist/dtr/webview/DecisionTreeDocument.d.ts +1 -1
- package/dist/extension.d.ts +2 -1
- package/dist/grammar/BusinessParseRuleContext.d.ts +5 -0
- package/dist/grammar/ParserHelper.d.ts +20 -2
- package/dist/grammar/TokenAssertor.d.ts +0 -4
- package/dist/grammar/bom/BomLexer.d.ts +33 -32
- package/dist/grammar/bom/BomParser.d.ts +35 -33
- package/dist/grammar/diagnostic/SemanticDiagnostic.d.ts +13 -2
- package/dist/grammar/parser/BoostRuleParser.d.ts +36 -2
- package/dist/grammar/rule/RuleParser.d.ts +42 -35
- package/dist/index.d.ts +12 -4
- package/dist/index.js +91342 -80573
- package/dist/index.umd.js +398 -313
- package/dist/model/BO.d.ts +15 -1
- package/dist/model/Datatype.d.ts +1 -0
- package/dist/model/NavigationTree.d.ts +3 -3
- package/dist/model/VscodeBuiltinObjectsLoader.d.ts +2 -0
- package/dist/model/WebBuiltinObjectsLoader.d.ts +3 -1
- package/dist/model/WebViewBomFilesReader.d.ts +1 -1
- package/dist/model/expression/ArithExpression.d.ts +2 -1
- package/dist/model/expression/BatchExpression.d.ts +2 -1
- package/dist/model/expression/Expression.d.ts +2 -1
- package/dist/model/expression/MethodExpression.d.ts +5 -3
- package/dist/model/expression/PredefineExpression.d.ts +2 -1
- package/dist/model/expression/RuleExpression.d.ts +3 -2
- package/dist/model/expression/compile/commonMethodScriptCompile.d.ts +2 -1
- package/dist/model/expression/compile/compareMethodScriptCompile.d.ts +2 -1
- package/dist/monaco/ExpressionFinder.d.ts +4 -3
- package/dist/monaco/MonacoHoverProvider.d.ts +0 -2
- package/dist/monaco/parseTargetPartRuleScript.d.ts +1 -1
- package/dist/projectprops/ProjectProperties.d.ts +2 -0
- package/dist/projectprops/ProjectPropertiesEditor.vue.d.ts +20 -0
- package/dist/projectprops/PureWebProjectPropertiesEditor.vue.d.ts +20 -0
- package/dist/projectprops/Ruleset.vue.d.ts +10 -0
- package/dist/quicktest/TestUtils.d.ts +12 -4
- package/dist/rfl/MenuFactory.d.ts +3 -3
- package/dist/rfl/config/Enums.d.ts +2 -1
- package/dist/rfl/data/ActionNodeData.d.ts +1 -0
- package/dist/rfl/data/ConnectionData.d.ts +7 -4
- package/dist/rfl/data/NodeData.d.ts +7 -0
- package/dist/rfl/data/RuleFile.d.ts +4 -1
- package/dist/rfl/data/RuleNodeData.d.ts +1 -0
- package/dist/rfl/data/SubflowNodeData.d.ts +1 -0
- package/dist/rfl/data/TaskNodeData.d.ts +5 -0
- package/dist/rfl/definition/ProcessDef.d.ts +53 -7
- package/dist/rfl/definition/ProcessNodeDef.d.ts +11 -0
- package/dist/rfl/definition/node/ActionTaskNodeDef.d.ts +1 -6
- package/dist/rfl/definition/node/ConnectionFactoryDef.d.ts +2 -1
- package/dist/rfl/definition/node/CustomTaskNodeDef.d.ts +32 -0
- package/dist/rfl/definition/node/FlowConnectionDef.d.ts +12 -0
- package/dist/rfl/definition/node/FlowProcessNodeDef.d.ts +1 -0
- package/dist/rfl/definition/node/ForkNodeDef.d.ts +7 -0
- package/dist/rfl/definition/node/JoinNodeDef.d.ts +11 -0
- package/dist/rfl/definition/node/NodeType.d.ts +16 -3
- package/dist/rfl/definition/node/RuleTaskNodeDef.d.ts +5 -0
- package/dist/rfl/definition/node/StartTaskNodeDef.d.ts +1 -5
- package/dist/rfl/definition/node/StopTaskNodeDef.d.ts +1 -0
- package/dist/rfl/definition/node/SubflowTaskNodeDef.d.ts +5 -0
- package/dist/rfl/designer/Designer.vue.d.ts +2 -2
- package/dist/rfl/designer/DesignerComponent.vue.d.ts +2 -2
- package/dist/rfl/designer/ProcessUtils.d.ts +2 -2
- package/dist/rfl/designer/PureWebFlowEditor.vue.d.ts +4 -2
- package/dist/rfl/designer/editor/BezierEdge.vue.d.ts +5 -0
- package/dist/rfl/designer/editor/HelperLines.vue.d.ts +9 -0
- package/dist/rfl/designer/editor/HelperLinseUtils.d.ts +8 -0
- package/dist/rfl/designer/editor/ProcessEditor.vue.d.ts +1 -1
- package/dist/rfl/designer/editor/SmoothStepEdge.vue.d.ts +5 -0
- package/dist/rfl/events.d.ts +7 -1
- package/dist/rfl/node/NodeUtils.d.ts +10 -4
- package/dist/rfl/props/ConnectionProperty.vue.d.ts +2 -1
- package/dist/rfl/props/ForkNodeProperty.vue.d.ts +1 -1
- package/dist/rfl/props/JoinNodeProperty.vue.d.ts +1 -1
- package/dist/rfl/props/SchemaFormProperty.vue.d.ts +13 -0
- package/dist/rfl/registry/TaskNodeTypeRegistry.d.ts +195 -0
- package/dist/rfl/webview/RuleFlowDocument.d.ts +1 -1
- package/dist/rfl/webview/RuleFlowEditorProvider.d.ts +5 -0
- package/dist/sca/AvaliablePredefineBuilder.d.ts +4 -0
- package/dist/sca/ContentEditableController.d.ts +50 -0
- package/dist/sca/PureWebScoreCardEditor.vue.d.ts +71 -0
- package/dist/sca/ScoreCardComponent.vue.d.ts +45 -0
- package/dist/sca/ScoreCardDeserialize.d.ts +5 -0
- package/dist/sca/ScoreCardEditor.vue.d.ts +24 -0
- package/dist/sca/ScoreCardModelInitializer.d.ts +8 -0
- package/dist/sca/ScoreCardSettingDialog.vue.d.ts +15 -0
- package/dist/sca/ScoreCardWebEditor.d.ts +1 -0
- package/dist/sca/component/ScoreCardTable.d.ts +81 -0
- package/dist/sca/component/ScoreCardTableCrossHeader.d.ts +11 -0
- package/dist/sca/component/ScoreCardTableHeader.d.ts +27 -0
- package/dist/sca/component/ScoreCardTableRowIndicate.d.ts +26 -0
- package/dist/sca/component/contextMenuBuilder.d.ts +3 -0
- package/dist/sca/component/edit/ScoreCardChangeEdit.d.ts +4 -0
- package/dist/sca/model/ScoreCardAttribute.d.ts +86 -0
- package/dist/sca/model/ScoreCardTableModel.d.ts +67 -0
- package/dist/sca/webview/ScoreCardDocument.d.ts +1 -1
- package/dist/sca/webview/ScoreCardEditorProvider.d.ts +1 -1
- package/dist/sync/SyncFileUitls.d.ts +1 -0
- package/dist/tst/PredictFormDialog.vue.d.ts +1 -1
- package/dist/utils.d.ts +28 -1
- package/dist/webviewFiles.d.ts +4 -0
- package/dist/webviewFilesOperator.d.ts +3 -2
- package/package.json +10 -3
- package/dist/FileSystemEventBus.d.ts +0 -6
- package/dist/components/process/Connection.d.ts +0 -122
- package/dist/components/process/Menu.d.ts +0 -12
- package/dist/components/process/MenuItemFactory.d.ts +0 -5
- package/dist/components/process/MergeGroup.d.ts +0 -12
- package/dist/components/process/OrthogonalPath.d.ts +0 -225
- package/dist/components/process/Process.d.ts +0 -111
- package/dist/components/process/ProcessNode.d.ts +0 -340
- package/dist/components/process/Tooltip.d.ts +0 -20
- package/dist/components/process/colors.d.ts +0 -2
- package/dist/dta/DecisionTableSerialize.d.ts +0 -2
- package/dist/rfl/FlowProcess.d.ts +0 -85
- package/dist/rfl/node/ActionTaskNode.d.ts +0 -22
- package/dist/rfl/node/BasicNode.d.ts +0 -8
- package/dist/rfl/node/BranchNode.d.ts +0 -48
- package/dist/rfl/node/ConnectionFactory.d.ts +0 -10
- package/dist/rfl/node/FlowConnection.d.ts +0 -52
- package/dist/rfl/node/FlowProcessNode.d.ts +0 -128
- package/dist/rfl/node/ForkNode.d.ts +0 -54
- package/dist/rfl/node/JoinNode.d.ts +0 -54
- package/dist/rfl/node/ProcessNodeFactory.d.ts +0 -41
- package/dist/rfl/node/RuleTaskNode.d.ts +0 -76
- package/dist/rfl/node/StartTaskNode.d.ts +0 -74
- package/dist/rfl/node/StopTaskNode.d.ts +0 -84
- package/dist/rfl/node/SubflowTaskNode.d.ts +0 -70
- package/dist/rfl/node/TaskNode.d.ts +0 -42
package/dist/utils.d.ts
CHANGED
|
@@ -4,22 +4,27 @@ export declare const ENCODING_UTF8: "utf8";
|
|
|
4
4
|
* 规则文件
|
|
5
5
|
*/
|
|
6
6
|
export declare const BRL = "brl";
|
|
7
|
+
export declare const JBRL = "jbrl";
|
|
7
8
|
/**
|
|
8
9
|
* 规则流文件
|
|
9
10
|
*/
|
|
10
11
|
export declare const RFL = "rfl";
|
|
12
|
+
export declare const JRFL = "jrfl";
|
|
11
13
|
/**
|
|
12
14
|
* 决策表文件
|
|
13
15
|
*/
|
|
14
16
|
export declare const DTA = "dta";
|
|
17
|
+
export declare const JDTA = "jdta";
|
|
15
18
|
/**
|
|
16
19
|
* 决策树文件
|
|
17
20
|
*/
|
|
18
21
|
export declare const DTR = "dtr";
|
|
22
|
+
export declare const JDTR = "jdtr";
|
|
19
23
|
/**
|
|
20
24
|
* 评分卡文件
|
|
21
25
|
*/
|
|
22
26
|
export declare const SCA = "sca";
|
|
27
|
+
export declare const JSCA = "jsca";
|
|
23
28
|
/**
|
|
24
29
|
* 编译后的规则文件
|
|
25
30
|
*/
|
|
@@ -70,7 +75,10 @@ export declare const LOAD_FLOW_FILE = "loadFlowFile";
|
|
|
70
75
|
export declare const LOAD_FLOW_FILE_COMPLETED = "loadFileCompleted";
|
|
71
76
|
export declare const LOAD_FLOW_FILE_URL = "/loadFlowFile";
|
|
72
77
|
export declare const LOAD_FILE_URL = "/loadFile";
|
|
73
|
-
export declare const
|
|
78
|
+
export declare const NEW_FILE_DIAGNOSTIC = "/newDiagnostic";
|
|
79
|
+
export declare const NEW_SCRIPT_DIAGNOSTIC = "/newDiagnostic";
|
|
80
|
+
export declare const NEW_BRL_FILE_TYPE = "udm.newBrlFileType";
|
|
81
|
+
export declare const NEW_DTA_FILE_TYPE = "udm.newDtaFileType";
|
|
74
82
|
export declare const triggerNewDiagnostics: (uri: string, semanticErrorDatas: SemanticErrorData[]) => void;
|
|
75
83
|
export declare const uuid: () => string;
|
|
76
84
|
export declare const getLocationFileExt: () => string;
|
|
@@ -85,6 +93,25 @@ export declare const debounce: (func: Function, delay: number) => (...args: any)
|
|
|
85
93
|
export declare const debounceAsync: (func: Function, delay: number) => (...args: any) => Promise<unknown>;
|
|
86
94
|
export declare const generateScriptNonce: () => string;
|
|
87
95
|
export declare const dragElement: (event: MouseEvent) => void;
|
|
96
|
+
export declare const getSourceFileTypeArray: () => string[];
|
|
97
|
+
/**
|
|
98
|
+
* 检查文件是否为规则文件
|
|
99
|
+
* @param filename 文件名
|
|
100
|
+
* @returns 是否为规则文件
|
|
101
|
+
*/
|
|
102
|
+
export declare const isRuleFile: (filename: string) => boolean;
|
|
103
|
+
/**
|
|
104
|
+
* 检查文件是否为XML规则文件
|
|
105
|
+
* @param filename 文件名
|
|
106
|
+
* @returns 是否为XML规则文件
|
|
107
|
+
*/
|
|
108
|
+
export declare const isXmlRuleFile: (filename: string) => boolean;
|
|
109
|
+
/**
|
|
110
|
+
* 检查文件是否为JSON规则文件
|
|
111
|
+
* @param filename 文件名
|
|
112
|
+
* @returns 是否为JSON规则文件
|
|
113
|
+
*/
|
|
114
|
+
export declare const isJsonRuleFile: (filename: string) => boolean;
|
|
88
115
|
export declare const isDarkMode: () => boolean;
|
|
89
116
|
export declare const escapeXml: (xml: string | null | undefined) => string | null | undefined;
|
|
90
117
|
export declare const formatUdmXml: (xml: string) => string;
|
package/dist/webviewFiles.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import { SyncEntry } from './sync/SyncEntry';
|
|
|
3
3
|
import { ViewEdit } from './view&document';
|
|
4
4
|
export declare const requestVscodeQuickTestFile: (uuid: string, requestId: string) => void;
|
|
5
5
|
export declare const requestAuthToken: (uuid: string, requestId: string) => void;
|
|
6
|
-
export declare const loadBomFilesData: () => void;
|
|
6
|
+
export declare const loadBomFilesData: (inScorecard?: boolean) => void;
|
|
7
7
|
export declare const loadFileDataFromVscode: () => void;
|
|
8
8
|
export declare const loadAllFileInfosFromVscode: (paraentParam: any) => void;
|
|
9
9
|
export declare const openExternalDefinition: (file: string, definition: any) => void;
|
|
10
10
|
export declare const sendEditorReadyEvent: () => void;
|
|
11
11
|
export declare const sendSaveFileEvent: () => void;
|
|
12
|
-
export declare const copyToClipboard: (text: string) => void;
|
|
12
|
+
export declare const copyToClipboard: (text: string, msg?: string) => void;
|
|
13
13
|
export declare const sendRefactorEvent: (refactorDataList: RefactorData[]) => void;
|
|
14
14
|
export declare const loadProjectInfo: () => void;
|
|
15
15
|
export declare const loadServerInfo: () => void;
|
|
@@ -23,3 +23,4 @@ export declare const sendOpenFileRequest: (path: string) => void;
|
|
|
23
23
|
export declare const sendDiagnostics: (data: string) => void;
|
|
24
24
|
export declare const triggerFileChangeEvent: (edit: ViewEdit) => void;
|
|
25
25
|
export declare const getVscodeApi: () => IVSCodeApi | undefined;
|
|
26
|
+
export declare const isVsCode: () => boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "udm-rules-vue",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"displayName": "Unify Decision Manager Development Kits For Vue3",
|
|
5
5
|
"description": "UDM规则引擎开发套件Vue3版本",
|
|
6
6
|
"author": {
|
|
@@ -36,7 +36,10 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"dev": "vite",
|
|
38
38
|
"build": "vite build",
|
|
39
|
-
"integration": "vue-tsc --noEmit && vite build --watch --mode integration"
|
|
39
|
+
"integration": "vue-tsc --noEmit && vite build --watch --mode integration",
|
|
40
|
+
"publish:patch": "npm version patch && npm publish",
|
|
41
|
+
"publish:minor": "npm version minor && npm publish",
|
|
42
|
+
"publish:major": "npm version major && npm publish"
|
|
40
43
|
},
|
|
41
44
|
"devDependencies": {
|
|
42
45
|
"@intlify/devtools-types": "^11.1.2",
|
|
@@ -58,7 +61,7 @@
|
|
|
58
61
|
"less-loader": "^12.2.0",
|
|
59
62
|
"sass-embedded": "^1.85.1",
|
|
60
63
|
"ts-loader": "^9.5.1",
|
|
61
|
-
"typescript": "^
|
|
64
|
+
"typescript": "^6.0.3",
|
|
62
65
|
"vite": "^6.4.1",
|
|
63
66
|
"vite-plugin-dts": "^4.5.4",
|
|
64
67
|
"vite-plugin-vue-devtools": "^8.0.5",
|
|
@@ -67,6 +70,10 @@
|
|
|
67
70
|
"webpack-cli": "^5.1.4"
|
|
68
71
|
},
|
|
69
72
|
"dependencies": {
|
|
73
|
+
"@vue-flow/controls": "^1.1.3",
|
|
74
|
+
"@vue-flow/core": "^1.48.2",
|
|
75
|
+
"@vue-flow/minimap": "^1.5.4",
|
|
76
|
+
"@vue-flow/node-toolbar": "^1.1.1",
|
|
70
77
|
"antlr4-c3": "^3.4.4",
|
|
71
78
|
"antlr4ng": "^3.0.16",
|
|
72
79
|
"fast-xml-parser": "^4.5.1",
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Group } from 'konva/lib/Group';
|
|
2
|
-
import { Shape, ShapeConfig } from 'konva/lib/Shape';
|
|
3
|
-
import { Text } from 'konva/lib/shapes/Text';
|
|
4
|
-
import { MenuItem } from '../menu/types';
|
|
5
|
-
import { default as ProcessNode } from './ProcessNode';
|
|
6
|
-
export default class Connection {
|
|
7
|
-
static readonly BINDING_CONNECTION = "binding_connection";
|
|
8
|
-
private line?;
|
|
9
|
-
private name;
|
|
10
|
-
private showArrow;
|
|
11
|
-
startNode: ProcessNode;
|
|
12
|
-
endNode: ProcessNode;
|
|
13
|
-
private group?;
|
|
14
|
-
private plus?;
|
|
15
|
-
private hitAreas;
|
|
16
|
-
protected text?: Text;
|
|
17
|
-
private plusMenu;
|
|
18
|
-
private plusMenuIcon?;
|
|
19
|
-
private selected;
|
|
20
|
-
private hovered;
|
|
21
|
-
private SELECTED_COLOR;
|
|
22
|
-
private SELECTED_HIGHLIGHT_COLOR;
|
|
23
|
-
private DARK_UNSELECTED_COLOR;
|
|
24
|
-
private UNSELECTED_COLOR;
|
|
25
|
-
private TEXT_COLOR;
|
|
26
|
-
private DARK_TEXT_COLOR;
|
|
27
|
-
private paths;
|
|
28
|
-
constructor(startNode: ProcessNode, endNode: ProcessNode, plusMenu: Array<MenuItem<any>>);
|
|
29
|
-
protected init(): void;
|
|
30
|
-
/**
|
|
31
|
-
* 为连接线的Group组件绑定事件监听器
|
|
32
|
-
* 处理连接线的点击、悬停、右键菜单等交互事件
|
|
33
|
-
* @param {Konva.Group} group - 需要绑定事件的Konva Group组件
|
|
34
|
-
*/
|
|
35
|
-
private attachGroupEvents;
|
|
36
|
-
/**
|
|
37
|
-
* 绘制箭头(统一处理直线和正交线)
|
|
38
|
-
*/
|
|
39
|
-
private drawArrow;
|
|
40
|
-
private isDarkMode;
|
|
41
|
-
setName(name: string): void;
|
|
42
|
-
private getLineType;
|
|
43
|
-
remove(): void;
|
|
44
|
-
resetPosition(showArrow: boolean): void;
|
|
45
|
-
/**
|
|
46
|
-
* 更新命中区域:为连接线的每个线段创建独立的透明矩形
|
|
47
|
-
* 这样可以避免多条连接线重叠时互相遮挡
|
|
48
|
-
*/
|
|
49
|
-
private updateHitArea;
|
|
50
|
-
/**
|
|
51
|
-
* 为线段创建命中区域矩形
|
|
52
|
-
*/
|
|
53
|
-
private createLineHitArea;
|
|
54
|
-
/**
|
|
55
|
-
* 构建正交线路径(曼哈顿距离算法)
|
|
56
|
-
* @returns 路径点数组
|
|
57
|
-
*/
|
|
58
|
-
private buildOrthogonalPath;
|
|
59
|
-
getPaths(): {
|
|
60
|
-
x: number;
|
|
61
|
-
y: number;
|
|
62
|
-
}[];
|
|
63
|
-
/**
|
|
64
|
-
* 获取当前连接是起点节点的第几条输出连接
|
|
65
|
-
*/
|
|
66
|
-
private getBranchIndex;
|
|
67
|
-
/**
|
|
68
|
-
* 获取从同一起点出发的所有连接的目标点信息
|
|
69
|
-
*/
|
|
70
|
-
private getBranchInfo;
|
|
71
|
-
/**
|
|
72
|
-
* 获取当前连接是终点节点的第几条输入连接
|
|
73
|
-
*/
|
|
74
|
-
private getMergeIndex;
|
|
75
|
-
/**
|
|
76
|
-
* 获取到达同一终点的所有连接的起点信息
|
|
77
|
-
*/
|
|
78
|
-
private getMergeInfo;
|
|
79
|
-
/**
|
|
80
|
-
* 修正path,改进起点和终点的位置
|
|
81
|
-
*/
|
|
82
|
-
private adjustPathEndpoints;
|
|
83
|
-
/**
|
|
84
|
-
* 获取除当前连接的两个节点外的所有节点
|
|
85
|
-
*/
|
|
86
|
-
private getAllNodesExcludingCurrent;
|
|
87
|
-
/**
|
|
88
|
-
* 获取其他连接线的路径
|
|
89
|
-
*/
|
|
90
|
-
private getOtherConnectionPaths;
|
|
91
|
-
/**
|
|
92
|
-
* 获取节点在舞台上的实际位置
|
|
93
|
-
*/
|
|
94
|
-
private getNodePosition;
|
|
95
|
-
private showPlus;
|
|
96
|
-
private bindingPlus;
|
|
97
|
-
setPlusMenu(menu: Array<MenuItem<any>>): void;
|
|
98
|
-
getLine(): Shape< ShapeConfig> | undefined;
|
|
99
|
-
getGroup(): Group | undefined;
|
|
100
|
-
/**
|
|
101
|
-
* 设置连接线的选中状态
|
|
102
|
-
* @param {boolean} status - 是否选中,true表示选中,false表示取消选中
|
|
103
|
-
*/
|
|
104
|
-
select(status: boolean): void;
|
|
105
|
-
/**
|
|
106
|
-
* 根据当前状态(selected、hovered、菜单显示状态)更新连接线的视觉效果
|
|
107
|
-
* 包括颜色、线宽、阴影等视觉反馈
|
|
108
|
-
* 状态优先级:选中 > 菜单显示 > hover > 普通
|
|
109
|
-
*/
|
|
110
|
-
private showSelectState;
|
|
111
|
-
/**
|
|
112
|
-
* 构建连接线上的文本标签
|
|
113
|
-
* 根据连接线类型(正交线)计算文本位置和方向
|
|
114
|
-
* 支持画布缩放比例的适配
|
|
115
|
-
*/
|
|
116
|
-
private buildText;
|
|
117
|
-
/**
|
|
118
|
-
* 获取连接的唯一标识ID
|
|
119
|
-
* @returns {string} 连接的唯一标识符,格式为"startNodeID-endNodeID"
|
|
120
|
-
*/
|
|
121
|
-
getConnectionId(): string;
|
|
122
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Group } from 'konva/lib/Group';
|
|
2
|
-
import { GraphicMenuItem } from './types';
|
|
3
|
-
export default class Menu {
|
|
4
|
-
private group?;
|
|
5
|
-
private parentGroup;
|
|
6
|
-
private items;
|
|
7
|
-
constructor(items: GraphicMenuItem[], parentGroup: Group);
|
|
8
|
-
private init;
|
|
9
|
-
show(): void;
|
|
10
|
-
isShow(): boolean;
|
|
11
|
-
hide(): void;
|
|
12
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Group } from 'konva/lib/Group';
|
|
2
|
-
export default class MergeGroup {
|
|
3
|
-
private join?;
|
|
4
|
-
private union?;
|
|
5
|
-
private plus?;
|
|
6
|
-
private group;
|
|
7
|
-
constructor(showPlus: boolean, onlyPlus: boolean);
|
|
8
|
-
private initUnion;
|
|
9
|
-
private initJoin;
|
|
10
|
-
private initPlus;
|
|
11
|
-
getGroup(): Group;
|
|
12
|
-
}
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import { Stage } from 'konva/lib/Stage';
|
|
2
|
-
import { default as Connection } from './Connection';
|
|
3
|
-
/**
|
|
4
|
-
* 正交线路径算法模块
|
|
5
|
-
* 提供用于构建正交线路径的算法,包括曼哈顿距离计算、障碍物检测和路径优化
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* 路径点类型定义
|
|
9
|
-
*/
|
|
10
|
-
export interface Point {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 画布边界类型定义
|
|
16
|
-
*/
|
|
17
|
-
export interface CanvasBounds {
|
|
18
|
-
minX: number;
|
|
19
|
-
minY: number;
|
|
20
|
-
maxX: number;
|
|
21
|
-
maxY: number;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 节点信息接口
|
|
25
|
-
*/
|
|
26
|
-
export interface NodeInfo {
|
|
27
|
-
id: string;
|
|
28
|
-
position: Point;
|
|
29
|
-
size: {
|
|
30
|
-
width: number;
|
|
31
|
-
height: number;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* 正交线路径构建器类
|
|
36
|
-
*/
|
|
37
|
-
export declare class OrthogonalPathBuilder {
|
|
38
|
-
private stage;
|
|
39
|
-
private obstacles;
|
|
40
|
-
private otherPaths;
|
|
41
|
-
constructor(stage: Stage);
|
|
42
|
-
/**
|
|
43
|
-
* 设置障碍物节点列表
|
|
44
|
-
*/
|
|
45
|
-
setObstacles(obstacles: NodeInfo[]): void;
|
|
46
|
-
/**
|
|
47
|
-
* 设置其他连接线路径用于避免重合
|
|
48
|
-
*/
|
|
49
|
-
setOtherPaths(paths: Point[][]): void;
|
|
50
|
-
/**
|
|
51
|
-
* 构建正交线路径
|
|
52
|
-
* @param fromPoint 起点坐标
|
|
53
|
-
* @param toPoint 终点坐标
|
|
54
|
-
* @param fromWidth 起点节点宽度
|
|
55
|
-
* @param fromHeight 起点节点高度
|
|
56
|
-
* @param toWidth 终点节点宽度
|
|
57
|
-
* @param toHeight 终点节点高度
|
|
58
|
-
* @returns 路径点数组
|
|
59
|
-
*/
|
|
60
|
-
buildPath(connection: Connection, fromPoint: Point, toPoint: Point, fromWidth: number, fromHeight: number, toWidth: number, toHeight: number): Point[];
|
|
61
|
-
/**
|
|
62
|
-
* 构建标准正交路径(三段线连接)
|
|
63
|
-
*/
|
|
64
|
-
private buildStandardOrthogonalPath;
|
|
65
|
-
/**
|
|
66
|
-
* 构建基础正交路径(不应用偏移)
|
|
67
|
-
*/
|
|
68
|
-
private buildBasicPath;
|
|
69
|
-
/**
|
|
70
|
-
* 计算分支偏移量(基于分支信息)
|
|
71
|
-
*/
|
|
72
|
-
private calculateBranchOffset;
|
|
73
|
-
/**
|
|
74
|
-
* 获取分支在同一方向中的索引
|
|
75
|
-
*/
|
|
76
|
-
private getBranchSameDirectionIndex;
|
|
77
|
-
/**
|
|
78
|
-
* 获取线段方向(水平或垂直)
|
|
79
|
-
* @param p1 线段起点
|
|
80
|
-
* @param p2 线段终点
|
|
81
|
-
* @returns 'horizontal' 或 'vertical'
|
|
82
|
-
*/
|
|
83
|
-
private getSegmentDirection;
|
|
84
|
-
/**
|
|
85
|
-
* 应用偏移到路径上,根据第一段和最后一段线段的方向
|
|
86
|
-
*/
|
|
87
|
-
private applyOffsetsToPath;
|
|
88
|
-
/**
|
|
89
|
-
* 找到满足避障要求的偏移路径
|
|
90
|
-
*/
|
|
91
|
-
private findValidOffsetPath;
|
|
92
|
-
/**
|
|
93
|
-
* 构建直线路径
|
|
94
|
-
*/
|
|
95
|
-
private buildStraightPath;
|
|
96
|
-
/**
|
|
97
|
-
* 检查是否需要错位对齐处理
|
|
98
|
-
*/
|
|
99
|
-
private needOffsetAlignment;
|
|
100
|
-
/**
|
|
101
|
-
* 检查路径是否穿越障碍物
|
|
102
|
-
*/
|
|
103
|
-
private hasPathObstacles;
|
|
104
|
-
/**
|
|
105
|
-
* 检查两条线段是否重合(水平或垂直线段的完全重合或部分重合)
|
|
106
|
-
*/
|
|
107
|
-
private isSegmentsOverlap;
|
|
108
|
-
/**
|
|
109
|
-
* 检查路径是否与其他任何路径重合
|
|
110
|
-
*/
|
|
111
|
-
private hasPathOverlap;
|
|
112
|
-
/**
|
|
113
|
-
* 检查路径是否与其他路径在相同方向上重合
|
|
114
|
-
* 只有相同方向的线段重合才需要调整
|
|
115
|
-
*/
|
|
116
|
-
private hasPathOverlapInSameDirection;
|
|
117
|
-
/**
|
|
118
|
-
* 检查两条路径是否在相同方向上重合
|
|
119
|
-
* 只检查相同方向的线段(都是水平或都是垂直)
|
|
120
|
-
*/
|
|
121
|
-
private doPathsOverlapInSameDirection;
|
|
122
|
-
/**
|
|
123
|
-
* 检查两条路径是否重合
|
|
124
|
-
*/
|
|
125
|
-
private doPathsOverlap;
|
|
126
|
-
/**
|
|
127
|
-
* 调整路径以避免与其他路径重合
|
|
128
|
-
*/
|
|
129
|
-
private adjustPathToAvoidOverlap;
|
|
130
|
-
/**
|
|
131
|
-
* 尝试调整路径以避免重合
|
|
132
|
-
*/
|
|
133
|
-
private tryAdjustPath;
|
|
134
|
-
/**
|
|
135
|
-
* 水平方向调整路径(调整中间的转折点)
|
|
136
|
-
*/
|
|
137
|
-
private adjustPathHorizontally;
|
|
138
|
-
/**
|
|
139
|
-
* 垂直方向调整路径(调整中间的转折点)
|
|
140
|
-
*/
|
|
141
|
-
private adjustPathVertically;
|
|
142
|
-
/**
|
|
143
|
-
* 检查对齐节点间是否有障碍物
|
|
144
|
-
*/
|
|
145
|
-
private hasObstaclesBetweenAlignedNodes;
|
|
146
|
-
/**
|
|
147
|
-
* 构建错位路径(用于对齐节点)
|
|
148
|
-
*/
|
|
149
|
-
private buildOffsetPath;
|
|
150
|
-
/**
|
|
151
|
-
* 构建错位路径(用于非对齐节点)
|
|
152
|
-
*/
|
|
153
|
-
private buildNonAlignedOffsetPath;
|
|
154
|
-
/**
|
|
155
|
-
* 尝试替代的错位路径
|
|
156
|
-
*/
|
|
157
|
-
private tryAlternativeOffsetPath;
|
|
158
|
-
/**
|
|
159
|
-
* 检查路径是否在画布范围内
|
|
160
|
-
*/
|
|
161
|
-
private isPathWithinBounds;
|
|
162
|
-
/**
|
|
163
|
-
* 使用指定方向和偏移距离构建替代路径
|
|
164
|
-
*/
|
|
165
|
-
private buildAlternativePathWithDirection;
|
|
166
|
-
/**
|
|
167
|
-
* 创建四段线路径
|
|
168
|
-
*/
|
|
169
|
-
private createFourSegmentPath;
|
|
170
|
-
/**
|
|
171
|
-
* 构建Z字形路径
|
|
172
|
-
*/
|
|
173
|
-
private buildZigzagPath;
|
|
174
|
-
/**
|
|
175
|
-
* 创建水平方向的Z字形路径
|
|
176
|
-
*/
|
|
177
|
-
private createZigzagPathHorizontal;
|
|
178
|
-
/**
|
|
179
|
-
* 创建垂直方向的Z字形路径
|
|
180
|
-
*/
|
|
181
|
-
private createZigzagPathVertical;
|
|
182
|
-
/**
|
|
183
|
-
* 构建复杂的障碍物绕行路径
|
|
184
|
-
*/
|
|
185
|
-
private buildComplexObstacleAvoidancePath;
|
|
186
|
-
/**
|
|
187
|
-
* 简化版A*路径搜索算法
|
|
188
|
-
*/
|
|
189
|
-
private aStarPathfinding;
|
|
190
|
-
/**
|
|
191
|
-
* 检查线段是否与矩形相交
|
|
192
|
-
*/
|
|
193
|
-
private lineIntersectsRect;
|
|
194
|
-
/**
|
|
195
|
-
* 检查两条线段是否相交
|
|
196
|
-
*/
|
|
197
|
-
private lineSegmentsIntersect;
|
|
198
|
-
/**
|
|
199
|
-
* 获取画布边界
|
|
200
|
-
*/
|
|
201
|
-
private getCanvasBounds;
|
|
202
|
-
private getPathDirection;
|
|
203
|
-
/**
|
|
204
|
-
* 统计同一方向的分支数量
|
|
205
|
-
* @param connectionItems 所有连接信息(包含类型)
|
|
206
|
-
* @param direction 当前方向
|
|
207
|
-
* @returns 同一方向的分支数量
|
|
208
|
-
*/
|
|
209
|
-
private countBranchesInDirection;
|
|
210
|
-
private isSampleDirection;
|
|
211
|
-
/**
|
|
212
|
-
* 获取指定方向上所有分支连接项
|
|
213
|
-
* @param {ConnectionItem[]} connectionItems - 连接项数组,包含连接及其类型(出口/入口)
|
|
214
|
-
* @param {string} direction - 目标方向,用于筛选连接项
|
|
215
|
-
* @returns {ConnectionItem[]} 符合指定方向的所有连接项数组
|
|
216
|
-
*/
|
|
217
|
-
private getBranchesInDirection;
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* 绘制带圆角的正交连接线
|
|
221
|
-
* @param ctx Canvas上下文
|
|
222
|
-
* @param path 路径点数组
|
|
223
|
-
* @param strokeWidth 线宽
|
|
224
|
-
*/
|
|
225
|
-
export declare function drawRoundedOrthogonalLine(ctx: any, path: Point[], strokeWidth: number): void;
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { Layer } from 'konva/lib/Layer';
|
|
2
|
-
import { Stage } from 'konva/lib/Stage';
|
|
3
|
-
import { IRect } from 'konva/lib/types';
|
|
4
|
-
import { default as ProcessNode } from './ProcessNode';
|
|
5
|
-
import { Tooltip } from './Tooltip';
|
|
6
|
-
import { Position } from './types';
|
|
7
|
-
export declare abstract class Process {
|
|
8
|
-
private colorIndex;
|
|
9
|
-
private stage?;
|
|
10
|
-
private layer?;
|
|
11
|
-
private tempLayer?;
|
|
12
|
-
private tooltipLayer?;
|
|
13
|
-
private tooltip?;
|
|
14
|
-
private selectedNode?;
|
|
15
|
-
private selectedNodesSet;
|
|
16
|
-
private nodeMap;
|
|
17
|
-
private readonly nodeStartX;
|
|
18
|
-
private readonly nodeStartY;
|
|
19
|
-
private readonly pitWidth;
|
|
20
|
-
private readonly pitHeight;
|
|
21
|
-
private isDragging;
|
|
22
|
-
private draggingType;
|
|
23
|
-
private lastPos;
|
|
24
|
-
private draggingRectStartX;
|
|
25
|
-
private draggingRectStartY;
|
|
26
|
-
private draggingRect;
|
|
27
|
-
private placeHolders;
|
|
28
|
-
private darkMode;
|
|
29
|
-
private lineType;
|
|
30
|
-
private static readonly MIN_WIDTH;
|
|
31
|
-
private static readonly MIN_HEIGHT;
|
|
32
|
-
private width;
|
|
33
|
-
private height;
|
|
34
|
-
private readonlyMode;
|
|
35
|
-
constructor(containerId: string);
|
|
36
|
-
private init;
|
|
37
|
-
private initEvents;
|
|
38
|
-
/**
|
|
39
|
-
* 初始化拖拽选择对象的事件
|
|
40
|
-
* */
|
|
41
|
-
private initDragSelectGroupEvents;
|
|
42
|
-
/**
|
|
43
|
-
* 执行选择逻辑的方法,用于处理框选操作后的选择判断
|
|
44
|
-
*/
|
|
45
|
-
private executeSelection;
|
|
46
|
-
/**
|
|
47
|
-
* 获取线段上的采样点(用于正交线选择检测)
|
|
48
|
-
* @param startPoint 线段起点
|
|
49
|
-
* @param endPoint 线段终点
|
|
50
|
-
* @param steps 采样点数
|
|
51
|
-
* @returns 线段上的采样点数组
|
|
52
|
-
*/
|
|
53
|
-
private getLineSegmentPoints;
|
|
54
|
-
private getShapeRect;
|
|
55
|
-
private isPointInRect;
|
|
56
|
-
private getCubicBezierPoints;
|
|
57
|
-
private rectsIntersect;
|
|
58
|
-
protected abstract createNewConnection(startNode: ProcessNode, endNode: ProcessNode): void;
|
|
59
|
-
nodeUnselected(): void;
|
|
60
|
-
isDarkMode(): boolean;
|
|
61
|
-
setReadonlyMode(readonlyMode: boolean): void;
|
|
62
|
-
getReadonlyMode(): boolean;
|
|
63
|
-
setDarkMode(darkMode: boolean): void;
|
|
64
|
-
protected abstract doAddStartNode(): ProcessNode;
|
|
65
|
-
addStartNode(): ProcessNode;
|
|
66
|
-
addNode(node: ProcessNode): void;
|
|
67
|
-
appendNode(node: ProcessNode, selected: boolean): void;
|
|
68
|
-
deleteNode(node: ProcessNode): void;
|
|
69
|
-
getNodeById(id: string): ProcessNode;
|
|
70
|
-
computeNodePosition(node: ProcessNode): void;
|
|
71
|
-
private showPlaceHolders;
|
|
72
|
-
cleanPlaceHolders(): void;
|
|
73
|
-
occupyCheck(rect: IRect, sourceNode?: ProcessNode): boolean;
|
|
74
|
-
resetStageSize(): void;
|
|
75
|
-
/**
|
|
76
|
-
* 在两个节点间插入新节点时,需要通过该方法将当前节点下所有节点前移一个身位,以保证当前新插入节点的位置
|
|
77
|
-
*/
|
|
78
|
-
moveNextNodes(node: ProcessNode): void;
|
|
79
|
-
private recursiveNodes;
|
|
80
|
-
resetNewNodePositon(newNode: ProcessNode): void;
|
|
81
|
-
nodesConfigValidate(): string;
|
|
82
|
-
setSelectedNode(node: ProcessNode): void;
|
|
83
|
-
fetchNodePosition(node: ProcessNode): Position | undefined;
|
|
84
|
-
private nodeIntersectionCheck;
|
|
85
|
-
buildNewProcessNodeName(name: string): string;
|
|
86
|
-
existRefDatasourceDefNodes(datasourceDefId: string): string;
|
|
87
|
-
toImageData(): string;
|
|
88
|
-
getNodeMap(): Map<string, ProcessNode>;
|
|
89
|
-
getLayer(): Layer | undefined;
|
|
90
|
-
getTooltipLayer(): Layer | undefined;
|
|
91
|
-
getTooltip(): Tooltip | undefined;
|
|
92
|
-
nextColorIndex(): number;
|
|
93
|
-
getPitWidth(): number;
|
|
94
|
-
getPitHeight(): number;
|
|
95
|
-
/**
|
|
96
|
-
* 设置连线类型
|
|
97
|
-
* @param type 连线类型:'bezier' 或 'orthogonal'
|
|
98
|
-
*/
|
|
99
|
-
setLineType(type: string): void;
|
|
100
|
-
/**
|
|
101
|
-
* 获取当前连线类型
|
|
102
|
-
*/
|
|
103
|
-
getLineType(): string;
|
|
104
|
-
/**
|
|
105
|
-
* 更新所有连接线的位置(当线型改变时调用)
|
|
106
|
-
*/
|
|
107
|
-
private updateAllConnections;
|
|
108
|
-
getStage(): Stage | undefined;
|
|
109
|
-
getSelectedNodesSet(): Set<ProcessNode>;
|
|
110
|
-
resize(width: number, height: number): void;
|
|
111
|
-
}
|