in web/src/components/PluginFlow/components/FlowGraph/FlowGraph.ts [207:255]
private static initEvent() {
const { graph } = this;
const container = document.getElementById('container')!;
graph.on(
'node:mouseenter',
FunctionExt.debounce(() => {
const ports = container.querySelectorAll('.x6-port-body') as NodeListOf<SVGAElement>;
this.showPorts(ports, true);
}),
500,
);
graph.on('node:mouseleave', () => {
const ports = container.querySelectorAll('.x6-port-body') as NodeListOf<SVGAElement>;
this.showPorts(ports, false);
});
graph.on('node:dblclick', ({ node }) => {
if (node.shape === FlowGraphShape.plugin) {
const name = node.getAttrByPath('text/text') as string;
if (!name) {
return;
}
this.graph.trigger(FlowGraphEvent.PLUGIN_CHANGE, {
visible: true,
id: node.id,
name,
data: node.getData(),
});
}
if (node.shape === FlowGraphShape.condition) {
this.graph.trigger(FlowGraphEvent.CONDITION_CHANGE, {
id: node.id,
data: node.getData(),
visible: true,
});
}
});
graph.bindKey('backspace', () => {
const cells = graph.getSelectedCells();
if (cells.length) {
graph.removeCells(cells);
}
});
}