#
Junjie
2024-04-19 496daedc76e96c8245c586337482b0e74e881409
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import React, { useRef, useEffect } from "react";
import { Graph, Shape } from "@antv/x6";
 
const commonGraphPorts = {
    groups: {
        top: {
            position: 'top',
            attrs: {
                circle: {
                    r: 5,
                    magnet: true,
                    stroke: '#5F95FF',
                    strokeWidth: 1,
                    fill: '#fff',
                    style: {
                        visibility: 'hidden',
                    },
                },
            },
        },
        bottom: {
            position: 'bottom',
            attrs: {
                circle: {
                    r: 5,
                    magnet: true,
                    stroke: '#5F95FF',
                    strokeWidth: 1,
                    fill: '#fff',
                    style: {
                        visibility: 'hidden',
                    },
                },
            },
        },
        left: {
            position: 'left',
            attrs: {
                circle: {
                    r: 5,
                    magnet: true,
                    stroke: '#5F95FF',
                    strokeWidth: 1,
                    fill: '#fff',
                    style: {
                        visibility: 'hidden',
                    },
                },
            },
        },
        right: {
            position: 'right',
            attrs: {
                circle: {
                    r: 5,
                    magnet: true,
                    stroke: '#5F95FF',
                    strokeWidth: 1,
                    fill: '#fff',
                    style: {
                        visibility: 'hidden',
                    },
                },
            },
        },
    },
    items: [
        {
            id: 'port1',
            group: 'top',
        },
        {
            id: 'port2',
            group: 'bottom',
        },
        {
            id: 'port3',
            group: 'left',
        },
        {
            id: 'port4',
            group: 'right',
        },
    ],
}
 
const commonGraphAttrs = {
    body: {
        fill: '#efefef',
        stroke: '#4d4d4d',
        strokeWidth: 2,
    },
}
 
const initGraphConnecting = {
    // router: 'manhattan',
    connector: {
        name: 'rounded',
        args: {
            radius: 8,
        },
    },
    anchor: 'center',
    connectionPoint: 'anchor',
    allowBlank: false,
    snap: {
        radius: 20,
    },
    createEdge() {
        return new Shape.Edge({
            attrs: {
                line: {
                    stroke: '#A2B1C3',
                    strokeWidth: 2,
                    targetMarker: {
                        name: 'block',
                        width: 12,
                        height: 8,
                    },
                },
            },
            zIndex: 0,
        })
    },
    validateConnection({ targetMagnet }) {
        return !!targetMagnet
    },
}
 
const initNodeData = {
    codeContent: null,
    root: false,//默认不是根节点
    isLogic: false,//默认不是逻辑判断
    logicBool: false,//逻辑判断默认值
    searchLogicId: 1,//默认逻辑id
    searchLogicBool: true,//默认逻辑id方向
    searchIndex: 0,//默认执行优先级
    type: "none", //组件类型
    execClass: null,//执行类
    execApi: null,//执行接口
}
 
export { commonGraphPorts, commonGraphAttrs, initGraphConnecting, initNodeData }