diff --git a/editor/js/ui/palette.js b/editor/js/ui/palette.js
index b19190a3a..99d99a214 100644
--- a/editor/js/ui/palette.js
+++ b/editor/js/ui/palette.js
@@ -21,7 +21,7 @@ RED.palette = (function() {
var categoryContainers = {};
- function createCategoryContainer(category, label){
+ function createCategoryContainer(category, label) {
label = (label || category).replace(/_/g, " ");
var catDiv = $('
'+
''+
@@ -325,14 +325,26 @@ RED.palette = (function() {
}
}
}
+
function hideNodeType(nt) {
var nodeTypeId = escapeNodeType(nt);
- $("#palette_node_"+nodeTypeId).hide();
+ var paletteNode = $("#palette_node_"+nodeTypeId);
+ paletteNode.hide();
+ var categoryNode = paletteNode.closest(".palette-category");
+ var cl = categoryNode.find(".palette_node");
+ var c = 0;
+ for (var i = 0; i < cl.length; i++) {
+ if ($(cl[i]).css('display') === 'none') { c += 1; }
+ }
+ if (c === cl.length) { categoryNode.hide(); }
}
function showNodeType(nt) {
var nodeTypeId = escapeNodeType(nt);
- $("#palette_node_"+nodeTypeId).show();
+ var paletteNode = $("#palette_node_"+nodeTypeId);
+ var categoryNode = paletteNode.closest(".palette-category");
+ categoryNode.show();
+ paletteNode.show();
}
function refreshNodeTypes() {
@@ -396,7 +408,6 @@ RED.palette = (function() {
RED.events.on('registry:node-type-removed', function(nodeType) {
removeNodeType(nodeType);
});
-
RED.events.on('registry:node-set-enabled', function(nodeSet) {
for (var j=0;j .palette-spinner").show();
$("#palette-search input").searchBox({