From 8cf850037e78703ee5a9b2e4f4a93e67ef5a7c74 Mon Sep 17 00:00:00 2001 From: Max <m.giller.dev@gmail.com> Date: Fri, 12 Nov 2021 22:56:51 +0100 Subject: [PATCH] Fixed some ghost selection glitches --- editor/js/tools/deletetool.js | 10 +++++++++- editor/js/tools/selecttool.js | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/editor/js/tools/deletetool.js b/editor/js/tools/deletetool.js index 64a3cf4..5a8acf6 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 4af6892..0440e57 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); + } } -- GitLab