This commit is contained in:
zgt
2022-04-21 15:35:56 +08:00
20 changed files with 1634 additions and 381 deletions
+68
View File
@@ -0,0 +1,68 @@
SV.registerLayout('Force', {
defineOptions() {
return {
node: {
default: {
type: 'force-node',
label: '[data]',
size: 20,
labelOptions: {
style: { fontSize: 20 }
},
style: {
stroke: 'red',
fill: 'red'
}
}
},
link: {
next: {
type: 'line',
sourceAnchor: 0,
targetAnchor: 0,
style: {
stroke: '#333',
lineAppendWidth: 6,
cursor: 'pointer',
// endArrow: 'default',
startArrow: {
path: G6.Arrow.circle(2, -1),
fill: '#333'
}
}
}
},
marker: {
headExternal: {
type: 'pointer',
anchor: 3,
style: {
fill: '#f08a5d'
}
},
external: {
type: 'pointer',
anchor: 0,
style: {
fill: '#f08a5d'
}
}
},
indexLabel: {
index: { position: 'bottom' },
indexRight: { position: 'right' }
},
behavior: {
dragNode: true
}
};
},
layout(e) {
}
});
+136
View File
@@ -289,4 +289,140 @@ const SOURCES_DATA = [{
"isEnterFunction": false,
"isFirstDebug": false
}
}, {
"force0": {
"data": [
{
"id": "0x617eb1",
"data": "A",
"next": "0x617eb2"
},
{
"id": "0x617eb2",
"data": "B",
"next": "0x617eb3"
},
{
"id": "0x617eb3",
"data": "C",
"next": "0x617eb5"
},
{
"id": "0x617eb5",
"data": "D",
"next": "0x617eb3"
},
{
"id": "0x617eb6",
"data": "D",
"next": "0x617eb5"
},
{
"id": "0x617eb7",
"data": "D",
"next": "0x617eb6"
},
{
"id": "0x617eb8",
"data": "D",
"next": "0x617eb7"
},
{
"id": "0x617eb9",
"data": "D",
"next": "0x617eb8"
},
{
"id": "0x617eba",
"data": "D",
"next": "0x617eb9"
},
{
"id": "0x617ebb",
"data": "D",
"next": "0x617eba"
},
{
"id": "0x617ebc",
"data": "D",
"next": "0x617ebb"
},
{
"id": "0x617ebd",
"data": "D",
"next": "0x617ebc"
},
{
"id": "0x617ebe",
"data": "D",
"next": "0x617ebd"
},
{
"id": "0x627ebe",
"data": "D",
"next": "0x617ebe"
},
{
"id": "0x637ebe",
"data": "D",
"next": "0x627ebe"
},
{
"id": "0x647ebe",
"data": "D",
"next": "0x637ebe"
},
{
"id": "0x657ebe",
"data": "D",
"next": "0x647ebe"
},
{
"id": "0x667ebe",
"data": "D",
"next": "0x657ebe"
},
{
"id": "0x677ebe",
"data": "D",
"next": "0x667ebe"
},
{
"id": "0x687ebe",
"data": "D",
"next": "0x677ebe"
},
{
"id": "0x697ebe",
"data": "D",
"next": "0x687ebe"
},
{
"id": "0x6a7ebe",
"data": "D",
"next": "0x697ebe"
},
{
"id": "0x6b7ebe",
"data": "D",
"next": "0x6a7ebe"
},
{
"id": "0x6c7ebe",
"data": "D",
"next": "0x6b7ebe"
},
{
"id": "0x6d7ebe",
"data": "X",
"next": "0x6c7ebe"
},
{
"id": "0x6e7ebe",
"data": "Y",
"next": "0x6d7ebe"
},
],
"layouter": "Force"
}
}];
+10 -4
View File
@@ -86,18 +86,24 @@
<script src="./Layouter/SqQueue.js"></script>
<script src="./Layouter/PTree.js"></script>
<script src="./Layouter/PCTree.js"></script>
<script src="./Layouter/Force.js"></script>
<script src="./data.js"></script>
<script>
let isForce = false;
let dataIndex = 3;
curData = SOURCES_DATA[dataIndex];
// 判断是否需要力导向布局
Object.keys(curData).forEach(key => {
if(curData[key].layouter === "Force") isForce = true;
});
let cur = SV(document.getElementById('container'), {
view: {
leakAreaHeight: 130,
groupPadding: 40,
},
});
let dataIndex = 0,
curData = SOURCES_DATA[dataIndex];
}, isForce);
let enableBrushSelect = false;