diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js b/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js index 3f3aa87f1..214668485 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/common/searchBox.js @@ -87,6 +87,7 @@ that._trigger("change"); },this.options.delay); } else { + this.lastSent = this.element.val(); this._trigger("change"); } } diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js index e8fbb0460..645827d59 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js @@ -149,13 +149,11 @@ RED.palette = (function() { RED.utils.createIconElement(icon_url, iconContainer, true); } - function escapeNodeType(nt) { - return nt.replace(" ","_").replace(".","_").replace(":","_"); + function getPaletteNode(type) { + return $(".red-ui-palette-node[data-palette-type='"+type+"']"); } - function addNodeType(nt,def) { - var nodeTypeId = escapeNodeType(nt); - if ($("#red-ui-palette-node_"+nodeTypeId).length) { + if (getPaletteNode(nt).length) { return; } if (exclusion.indexOf(def.category)===-1) { @@ -164,9 +162,7 @@ RED.palette = (function() { var category = def.category.replace(/ /g,"_"); var rootCategory = category.split("-")[0]; - var d = document.createElement("div"); - d.id = "red-ui-palette-node_"+nodeTypeId; - d.type = nt; + var d = $('
',{class:"red-ui-palette-node"}).attr("data-palette-type",nt).data('category',rootCategory); var label = /^(.*?)([ -]in|[ -]out)?$/.exec(nt)[1]; if (typeof def.paletteLabel !== "undefined") { @@ -182,7 +178,6 @@ RED.palette = (function() { + (((!def.align && def.inputs !== 0 && def.outputs === 0) || "right" === def.align) ? " red-ui-palette-label-right" : "") }).appendTo(d); - d.className="red-ui-palette-node"; if (def.icon) { var icon_url = RED.utils.getNodeIcon(def); @@ -193,36 +188,35 @@ RED.palette = (function() { RED.utils.createIconElement(icon_url, iconContainer, true); } - d.style.backgroundColor = RED.utils.getNodeColor(nt,def); + d.css("backgroundColor", RED.utils.getNodeColor(nt,def)); if (def.outputs > 0) { var portOut = document.createElement("div"); portOut.className = "red-ui-palette-port red-ui-palette-port-output"; - d.appendChild(portOut); + d.append(portOut); } if (def.inputs > 0) { var portIn = document.createElement("div"); portIn.className = "red-ui-palette-port red-ui-palette-port-input"; - d.appendChild(portIn); + d.append(portIn); } createCategory(def.category,rootCategory,category,(coreCategories.indexOf(rootCategory) !== -1)?"node-red":def.set.id); $("#red-ui-palette-"+category).append(d); - $(d).data('category',rootCategory); - - d.onmousedown = function(e) { e.preventDefault(); }; + d.on("mousedown", function(e) { e.preventDefault();}); var popover = RED.popover.create({ - target:$(d), + target:d, trigger: "hover", width: "300px", content: "hi", delay: { show: 750, hide: 50 } }); - $(d).data('popover',popover); + + d.data('popover',popover); // $(d).popover({ // title:d.type, @@ -232,7 +226,7 @@ RED.palette = (function() { // html: true, // container:'body' // }); - $(d).on("click", function() { + d.on("click", function() { RED.view.focus(); var helpText; if (nt.indexOf("subflow:") === 0) { @@ -330,13 +324,13 @@ RED.palette = (function() { var nodeInfo = null; if (nt.indexOf("subflow:") === 0) { - $(d).on("dblclick", function(e) { + d.on("dblclick", function(e) { RED.workspaces.show(nt.substring(8)); e.preventDefault(); }); nodeInfo = marked(def.info||""); } - setLabel(nt,$(d),label,nodeInfo); + setLabel(nt,d,label,nodeInfo); var categoryNode = $("#red-ui-palette-container-"+rootCategory); if (categoryNode.find(".red-ui-palette-node").length === 1) { @@ -347,8 +341,7 @@ RED.palette = (function() { } function removeNodeType(nt) { - var nodeTypeId = escapeNodeType(nt); - var paletteNode = $("#red-ui-palette-node_"+nodeTypeId); + var paletteNode = getPaletteNode(nt); var categoryNode = paletteNode.closest(".red-ui-palette-category"); paletteNode.remove(); if (categoryNode.find(".red-ui-palette-node").length === 0) { @@ -360,8 +353,7 @@ RED.palette = (function() { } function hideNodeType(nt) { - var nodeTypeId = escapeNodeType(nt); - var paletteNode = $("#red-ui-palette-node_"+nodeTypeId); + var paletteNode = getPaletteNode(nt); paletteNode.hide(); var categoryNode = paletteNode.closest(".red-ui-palette-category"); var cl = categoryNode.find(".red-ui-palette-node"); @@ -373,8 +365,7 @@ RED.palette = (function() { } function showNodeType(nt) { - var nodeTypeId = escapeNodeType(nt); - var paletteNode = $("#red-ui-palette-node_"+nodeTypeId); + var paletteNode = getPaletteNode(nt); var categoryNode = paletteNode.closest(".red-ui-palette-category"); categoryNode.show(); paletteNode.show(); @@ -382,7 +373,7 @@ RED.palette = (function() { function refreshNodeTypes() { RED.nodes.eachSubflow(function(sf) { - var paletteNode = $("#red-ui-palette-node_subflow_"+sf.id.replace(".","_")); + var paletteNode = getPaletteNode('subflow:'+sf.id); var portInput = paletteNode.find(".red-ui-palette-port-input"); var portOutput = paletteNode.find(".red-ui-palette-port-output"); @@ -396,7 +387,6 @@ RED.palette = (function() { + (((!sf._def.align && sf.in.length !== 0 && sf.out.length === 0) || "right" === sf._def.align) ? " red-ui-palette-icon-container-right" : "") ); - if (portInput.length === 0 && sf.in.length > 0) { var portIn = document.createElement("div"); portIn.className = "red-ui-palette-port red-ui-palette-port-input"; @@ -446,7 +436,8 @@ RED.palette = (function() { var re = new RegExp(val.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'),'i'); $("#red-ui-palette-container .red-ui-palette-node").each(function(i,el) { var currentLabel = $(el).find(".red-ui-palette-label").text(); - if (val === "" || re.test(el.id) || re.test(currentLabel)) { + var type = $(el).attr("data-palette-type"); + if (val === "" || re.test(type) || re.test(currentLabel)) { $(this).show(); } else { $(this).hide(); @@ -459,8 +450,10 @@ RED.palette = (function() { .find(".red-ui-palette-node") .filter(function() { return $(this).css('display') !== 'none'}).length === 0) { categoryContainers[category].close(); + categoryContainers[category].container.slideUp(); } else { categoryContainers[category].open(); + categoryContainers[category].container.show(); } } } @@ -539,9 +532,6 @@ RED.palette = (function() { sidebarControls.hide(); }) - - - var categoryList = coreCategories; if (RED.settings.paletteCategories) { categoryList = RED.settings.paletteCategories; diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index 50e073960..29c25cc01 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -328,7 +328,7 @@ RED.view = (function() { accept:".red-ui-palette-node", drop: function( event, ui ) { d3.event = event; - var selected_tool = ui.draggable[0].type; + var selected_tool = $(ui.draggable[0]).attr("data-palette-type"); var result = addNode(selected_tool); if (!result) { return;