diff --git a/editor/js/tools/deletetool.js b/editor/js/tools/deletetool.js index 64a3cf41bacc02492bfd5246ee44a639ee5420e0..5a8acf6a7cfbce4c8a6ba41ae7fb0558641666b4 100644 --- a/editor/js/tools/deletetool.js +++ b/editor/js/tools/deletetool.js @@ -1,5 +1,5 @@ import Tool from "./tool"; -import { graph } from "../editor"; +import { graph, state } from "../editor"; import * as Graph from "../graph"; export default class DeleteTool extends Tool { @@ -9,6 +9,10 @@ export default class DeleteTool extends Tool { onNodeClick(node) { graph.deleteNode(node[Graph.NODE_ID]); + + if (state.selectedItem == node) { + state.setSelectedItem(undefined); + } } onLinkClick(link) { @@ -16,5 +20,9 @@ export default class DeleteTool extends Tool { link[Graph.LINK_SOURCE][Graph.NODE_ID], link[Graph.LINK_TARGET][Graph.NODE_ID] ); + + if (state.selectedItem == link) { + state.setSelectedItem(undefined); + } } } diff --git a/editor/js/tools/selecttool.js b/editor/js/tools/selecttool.js index 4af6892e8b3996bafe8707b7cbff1b45f8eff27f..0440e57e3ba1d2f9d1fe53acf00c36df6d66f460 100644 --- a/editor/js/tools/selecttool.js +++ b/editor/js/tools/selecttool.js @@ -28,4 +28,17 @@ export default class SelectTool extends Tool { graph.changeDetails(value); } } + + onToolActivate() { + if (state === undefined) { + return; + } + + var newSelection = state.selectedItem; + if (newSelection === undefined) { + newSelection = {}; + } + + this.menu.value(SelectMenu.SELECTION_KEY, newSelection); + } }