Newer
Older
import Tool from "./tool";
import { graph, state } from "../editor";
import * as Graph from "../graph";
export default class ConnectTool extends Tool {
this.keepSource = false;
}
onNodeClick(node) {
// Is a first node selected?
if (
state.selectedItem === undefined ||
state.selectedItem.node === false
) {
state.setSelectedItem(node);
return;
}
// Add new link
var link = graph.addLink(
state.selectedItem[Graph.NODE_ID],
node[Graph.NODE_ID],
details
if (link === undefined) {
console.error("Could not create new link");
return;
}
if (this.keepSource === false) {
// Deselect the current first node
// TODO: Returned object not yet converted to normal one
state.setSelectedItem(link);
}
}
onBackgroundClick(event, positions) {
state.setSelectedItem(undefined);
}
onKeyDown(key) {
if (key.keyCode === KEEP_SOURCE_KEY_ID) {
this.keepSource = true;
}
}
onKeyUp(key) {
if (key.keyCode === KEEP_SOURCE_KEY_ID) {
this.keepSource = false;
}
}