This commit is contained in:
clay
2024-03-04 19:13:43 +08:00
commit e44edd71c0
350 changed files with 52288 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
/**
* @author: clay
* @data: 2019/07/16
* @description: edit mode: 悬浮交互
*/
// 用来获取调用此js的vue组件实例this
let vm = null;
let hourItem = null;
const sendThis = (topo) => {
vm = topo;
};
export default {
sendThis, // 暴露函数
name: "hover-event-edit",
options: {
getEvents() {
return {
"node:mouseover": "onNodeHover",
// "node:mouseout": "onNodeOut",
// "mouseleave":"onNodeLeave",
};
},
onNodeHover(event) {
let graph = vm.getGraph();
let hoverNode = event.item;
const name = event.shape.get("name");//todo ??
const item = event.item;
if (name && name.startsWith("item")) {
graph.updateItem(item, {//更新元素,包括更新数据、样式等
selectedIndex: Number(name.split("-")[1])
});
} else {
graph.updateItem(item, {
selectedIndex: NaN
});
}
if (name && name.startsWith("marker")) {
hoverNode.setState("hover", true, graph);
hourItem=hoverNode;
}else {
if (hourItem!=null){
hourItem.setState("hover", false)
}
}
},
// onNodeOut(event) {
// console.log('移出节点')
// const name = event.shape.get("name");
// let hoverNode = event.item;
// console.log('name',name)
// if (name && name.startsWith("marker")) {
// hoverNode.setState("hover", false);
// }
// if (hourItem!=null){
// hourItem.setState("hover", false)
// }
// hoverNode.setState("hover", false);
// },
// onNodeLeave(event) {
// console.log('移出节点2')
// if (hourItem!=null){
// hourItem.setState("hover", false)
// }
// }
}
};