From f20b12d67004823580cfe2caf376282ab8c41ba9 Mon Sep 17 00:00:00 2001
From: Max <m.giller.dev@gmail.com>
Date: Fri, 1 Oct 2021 00:25:04 +0200
Subject: [PATCH] Rebranded display to toolbar

---
 editor/js/graph.js                   | 20 +++++++++++++++++
 editor/js/state.js                   |  4 ++--
 editor/js/{display.js => toolbar.js} | 33 +++++-----------------------
 editor/js/tools/menus/collectmenu.js |  4 ++--
 editor/js/tools/menus/selectmenu.js  |  3 +--
 5 files changed, 31 insertions(+), 33 deletions(-)
 rename editor/js/{display.js => toolbar.js} (66%)

diff --git a/editor/js/graph.js b/editor/js/graph.js
index d6eb1d9..16aaef2 100644
--- a/editor/js/graph.js
+++ b/editor/js/graph.js
@@ -1,6 +1,8 @@
 import ManagedData from "./manageddata";
 import { PLUGIN_PATH, COLOR_PALETTE } from "../../config";
 
+const LINK_NAME_CONNECTOR = " → ";
+
 export const NODE_LABEL = "name";
 export const NODE_ID = "id";
 export const NODE_TYPE = "type";
@@ -394,4 +396,22 @@ export class Graph extends ManagedData {
 
         return newNode;
     }
+
+    static toStr(item) {
+        if (item === undefined) {
+            return "UNDEFINED";
+        }
+
+        if (item.node) {
+            return item[Graph.NODE_LABEL];
+        } else if (item.link) {
+            return (
+                Graph.toStr(item[Graph.LINK_SOURCE]) +
+                LINK_NAME_CONNECTOR +
+                Graph.toStr(item[Graph.LINK_TARGET])
+            );
+        } else {
+            return "UNDEFINED";
+        }
+    }
 }
diff --git a/editor/js/state.js b/editor/js/state.js
index b4a9d76..cbf44c4 100644
--- a/editor/js/state.js
+++ b/editor/js/state.js
@@ -7,7 +7,7 @@ import DeleteTool from "./tools/deletetool";
 import AddNodeTool from "./tools/addnodetool";
 import ConnectTool from "./tools/connecttool";
 import { graph } from "./editor";
-import Display from "./display";
+import Toolbar from "./toolbar";
 import * as Graph from "./graph";
 
 export const TOOLS = {
@@ -31,7 +31,7 @@ export class State extends Tool {
     constructor() {
         super("State");
 
-        this.display = new Display(TOOLS);
+        this.display = new Toolbar(TOOLS);
 
         this.tool = undefined;
         this.setTool(TOOLS.select);
diff --git a/editor/js/display.js b/editor/js/toolbar.js
similarity index 66%
rename from editor/js/display.js
rename to editor/js/toolbar.js
index 79d187c..a4b93c2 100644
--- a/editor/js/display.js
+++ b/editor/js/toolbar.js
@@ -1,6 +1,5 @@
 import jQuery from "jquery";
 import { PLUGIN_PATH } from "../../config";
-import * as Graph from "./graph";
 import { state } from "./editor";
 
 const ID_TOOLBAR = "#toolbar";
@@ -9,9 +8,7 @@ const TOOL_ICON_SRC = PLUGIN_PATH + "editor/images/tools/";
 const TOOL_ICON_FORMAT = ".png";
 const TOOL_SELECTED_CLASS = "selected";
 
-const LINK_NAME_CONNECTOR = " → ";
-
-export default class Display {
+export default class Toolbar {
     constructor(tools) {
         this.tools = Object.values(tools);
         this.previousTool = undefined;
@@ -20,11 +17,11 @@ export default class Display {
     }
 
     setSelectedTool(tool) {
-        var selectedTool = jQuery(Display.getToolIdTag(tool));
+        var selectedTool = jQuery(Toolbar.getToolIdTag(tool));
         selectedTool.addClass(TOOL_SELECTED_CLASS);
 
         if (this.previousTool !== undefined) {
-            var previousTool = jQuery(Display.getToolIdTag(this.previousTool));
+            var previousTool = jQuery(Toolbar.getToolIdTag(this.previousTool));
             previousTool.removeClass(TOOL_SELECTED_CLASS);
         }
 
@@ -44,13 +41,13 @@ export default class Display {
     }
 
     static getToolId(tool) {
-        return Display.getToolIdTag(tool).substr(1);
+        return Toolbar.getToolIdTag(tool).substr(1);
     }
 
     toolRenderer(tool) {
         return (
             '<button id="' +
-            Display.getToolId(tool) +
+            Toolbar.getToolId(tool) +
             '" title="' +
             tool.getName() +
             '"><img src="' +
@@ -62,7 +59,7 @@ export default class Display {
     }
 
     toolClickEvent(tool) {
-        jQuery("button" + Display.getToolIdTag(tool)).on(
+        jQuery("button" + Toolbar.getToolIdTag(tool)).on(
             "click",
             "",
             tool,
@@ -78,22 +75,4 @@ export default class Display {
 
         items.forEach((i) => listCont.append(itemRenderer(i)));
     }
-
-    static toStr(item) {
-        if (item === undefined) {
-            return "UNDEFINED";
-        }
-
-        if (item.node) {
-            return item[Graph.NODE_LABEL];
-        } else if (item.link) {
-            return (
-                Display.toStr(item[Graph.LINK_SOURCE]) +
-                LINK_NAME_CONNECTOR +
-                Display.toStr(item[Graph.LINK_TARGET])
-            );
-        } else {
-            return "UNDEFINED";
-        }
-    }
 }
diff --git a/editor/js/tools/menus/collectmenu.js b/editor/js/tools/menus/collectmenu.js
index 1a931e9..ca18196 100644
--- a/editor/js/tools/menus/collectmenu.js
+++ b/editor/js/tools/menus/collectmenu.js
@@ -1,5 +1,5 @@
 import jQuery from "jquery";
-import Display from "../../display";
+import { Graph } from "../../graph";
 import ToolMenu from "./toolmenu";
 
 export const COLLECTION_KEY = "collection";
@@ -38,7 +38,7 @@ export class CollectMenu extends ToolMenu {
             "<" +
             DOM_LIST_ITEM +
             ">" +
-            Display.toStr(item) +
+            Graph.toStr(item) +
             "</" +
             DOM_LIST_ITEM +
             ">"
diff --git a/editor/js/tools/menus/selectmenu.js b/editor/js/tools/menus/selectmenu.js
index a7aa270..40602f1 100644
--- a/editor/js/tools/menus/selectmenu.js
+++ b/editor/js/tools/menus/selectmenu.js
@@ -1,4 +1,3 @@
-import Display from "../../display";
 import * as Graph from "../../graph";
 import { CONTEXT } from "../../state";
 import ToolMenu from "./toolmenu";
@@ -139,7 +138,7 @@ export class SelectMenu extends ToolMenu {
     }
 
     fillLink(link) {
-        this.find(LINK_NAME_ID).text(Display.toStr(link));
+        this.find(LINK_NAME_ID).text(Graph.Graph.toStr(link));
 
         LINK_MENU.forEach((menu) => {
             this.find(menu).val(link[this.toProperty(menu)]);
-- 
GitLab