diff --git a/editor/js/main.js b/editor/js/main.js index 37cd6e81e..191a45beb 100644 --- a/editor/js/main.js +++ b/editor/js/main.js @@ -72,9 +72,13 @@ var RED = (function() { cache: false, url: 'flows', success: function(nodes) { + var currentHash = window.location.hash; RED.nodes.import(nodes); RED.nodes.dirty(false); RED.view.redraw(true); + if (/^#flow\/.+$/.test(currentHash)) { + RED.workspaces.show(currentHash.substring(6)); + } RED.comms.subscribe("status/#",function(topic,msg) { var parts = topic.split("/"); var node = RED.nodes.node(parts[1]); diff --git a/editor/js/ui/workspaces.js b/editor/js/ui/workspaces.js index 62060b0b2..e6b5f5994 100644 --- a/editor/js/ui/workspaces.js +++ b/editor/js/ui/workspaces.js @@ -137,6 +137,7 @@ RED.workspaces = (function() { activeWorkspace = tab.id; event.workspace = activeWorkspace; RED.events.emit("workspace:change",event); + window.location.hash = 'flow/'+tab.id; RED.sidebar.config.refresh(); }, ondblclick: function(tab) { @@ -222,6 +223,8 @@ RED.workspaces = (function() { var sf = RED.nodes.subflow(id); if (sf) { addWorkspace({type:"subflow",id:id,icon:"red/images/subflow_tab.png",label:sf.name, closeable: true}); + } else { + return; } } workspace_tabs.activateTab(id);