diff --git a/BackendServers/WebServer/AppLoader.js b/BackendServers/WebServer/AppLoader.js index f1d8b2627..81318c8dc 100644 --- a/BackendServers/WebServer/AppLoader.js +++ b/BackendServers/WebServer/AppLoader.js @@ -67,7 +67,7 @@ function newAppLoader() { 'Utilities/LoadSaveFrame.js', 'Utilities/LoadSaveTutorial.js', 'Utilities/NodeConfig.js', - 'Utilities/HiriarchyMap.js', + 'Utilities/Hiriarchy.js', 'Utilities/Folders.js', 'Utilities/Branches.js', 'Utilities/Meshes.js', diff --git a/CanvasApp/DesignSpace/Workspace/Workspace.js b/CanvasApp/DesignSpace/Workspace/Workspace.js index a408c2184..ecb4293a4 100644 --- a/CanvasApp/DesignSpace/Workspace/Workspace.js +++ b/CanvasApp/DesignSpace/Workspace/Workspace.js @@ -722,6 +722,15 @@ function newWorkspace() { if (definition !== undefined) { if (definition.docURL !== undefined) { canvas.docSpace.navigateTo(definition.docURL) + } else { + let headName = getHiriarchyHead(payload.node).type + headName = headName.toLowerCase() + headName = headName.split(" ").join("-") + let nodeName = payload.node.type + nodeName = nodeName.toLowerCase() + nodeName = nodeName.split(" ").join("-") + url = DOCUMENTATION_URL_PREFIX + "suite-hierarchy-" + headName + ".html#" + nodeName + canvas.docSpace.navigateTo(url) } } } diff --git a/CanvasApp/Globals.js b/CanvasApp/Globals.js index 88ede4643..dde37e5cb 100644 --- a/CanvasApp/Globals.js +++ b/CanvasApp/Globals.js @@ -28,6 +28,8 @@ const UI_FONT = { SECONDARY: "Source Code Pro" }; +const DOCUMENTATION_URL_PREFIX = 'https://julian-molina.github.io/Documentation/' + const MAC_AMOUNT_FACTOR = 5 const IS_MAC = navigator.platform.toUpperCase().indexOf('MAC') >= 0 diff --git a/CanvasApp/Utilities/HiriarchyMap.js b/CanvasApp/Utilities/Hiriarchy.js similarity index 82% rename from CanvasApp/Utilities/HiriarchyMap.js rename to CanvasApp/Utilities/Hiriarchy.js index 6b37803b6..1c4665a77 100644 --- a/CanvasApp/Utilities/HiriarchyMap.js +++ b/CanvasApp/Utilities/Hiriarchy.js @@ -45,3 +45,19 @@ function getHiriarchyMap(rootNode) { } } } + +function getHiriarchyHead(initialNode) { + let headNode + stepBackwards(initialNode) + return headNode + + function stepBackwards(node) { + if (node === undefined) {return} + if (node.payload === undefined) {return} + if (node.payload.parentNode === undefined) { + headNode = node + } else { + stepBackwards(node.payload.parentNode) + } + } +}