diff --git a/editor/js/nodes.js b/editor/js/nodes.js index 8b400b417..5d8f59d2a 100644 --- a/editor/js/nodes.js +++ b/editor/js/nodes.js @@ -276,7 +276,8 @@ RED.nodes = (function() { workspaces[ws.id] = ws; ws._def = { defaults: { - label: {value:""} + label: {value:""}, + disabled: {value: false} } }; diff --git a/editor/js/ui/common/tabs.js b/editor/js/ui/common/tabs.js index 6d5f058d3..3abd57a1a 100644 --- a/editor/js/ui/common/tabs.js +++ b/editor/js/ui/common/tabs.js @@ -215,6 +215,7 @@ RED.tabs = (function() { addTab: function(tab) { tabs[tab.id] = tab; var li = $("
",{class:"red-ui-tab"}).appendTo(ul); + li.attr('id',"red-ui-tab-"+(tab.id.replace(".","-"))); li.data("tabId",tab.id); var link = $("",{href:"#"+tab.id, class:"red-ui-tab-label"}).appendTo(li); if (tab.icon) { @@ -334,7 +335,7 @@ RED.tabs = (function() { tabs[id].label = label; var tab = ul.find("a[href='#"+id+"']"); tab.attr("title",label); - tab.find("span").text(label).attr('dir', RED.text.bidi.resolveBaseTextDir(label)); + tab.find("span.bidiAware").text(label).attr('dir', RED.text.bidi.resolveBaseTextDir(label)); updateTabWidths(); }, order: function(order) { diff --git a/editor/js/ui/workspaces.js b/editor/js/ui/workspaces.js index ea32abcfb..83a405fc0 100644 --- a/editor/js/ui/workspaces.js +++ b/editor/js/ui/workspaces.js @@ -84,10 +84,24 @@ RED.workspaces = (function() { text: RED._("common.label.done"), click: function() { var label = $( "#node-input-name" ).val(); + var changed = false; + var changes = {}; if (workspace.label != label) { - var changes = { - label:workspace.label - } + changes.label = workspace.label; + changed = true; + workspace.label = label; + workspace_tabs.renameTab(workspace.id,label); + } + var disabled = $("#node-input-disabled").prop("checked"); + if (workspace.disabled !== disabled) { + changes.disabled = workspace.disabled; + changed = true; + workspace.disabled = disabled; + } + $("#red-ui-tab-"+(workspace.id.replace(".","-"))).toggleClass('workspace-disabled',workspace.disabled); + // $("#workspace").toggleClass("workspace-disabled",workspace.disabled); + + if (changed) { var historyEvent = { t: "edit", changes:changes, @@ -96,7 +110,6 @@ RED.workspaces = (function() { } workspace.changed = true; RED.history.push(historyEvent); - workspace_tabs.renameTab(workspace.id,label); RED.nodes.dirty(true); RED.sidebar.config.refresh(); } @@ -111,6 +124,38 @@ RED.workspaces = (function() { ''+ ''+ '').appendTo(dialogForm); + + $('