diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/actionList.js b/packages/node_modules/@node-red/editor-client/src/js/ui/actionList.js index aa5b2f900..ac8a06813 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/actionList.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/actionList.js @@ -23,6 +23,7 @@ RED.actionList = (function() { var visible = false; var filterTerm = ""; + var filterTerms = []; var previousActiveElement; function ensureSelectedIsVisible() { @@ -46,9 +47,14 @@ RED.actionList = (function() { var searchDiv = $("
",{class:"red-ui-search-container"}).appendTo(dialog); searchInput = $('').appendTo(searchDiv).searchBox({ change: function() { - filterTerm = $(this).val(); + filterTerm = $(this).val().trim(); + filterTerms = filterTerm.split(" "); searchResults.editableList('filter'); searchResults.find("li.selected").removeClass("selected"); + var children = searchResults.children(":visible"); + if (children.length) { + $(children[0]).addClass('selected'); + } } }); @@ -61,7 +67,6 @@ RED.actionList = (function() { var children = searchResults.children(":visible"); if (children.length) { $(children[0]).addClass('selected'); - RED.a = children[0]; } } else { var nextChild = selectedChild.nextAll(":visible").first(); @@ -115,8 +120,17 @@ RED.actionList = (function() { }, scrollOnAdd: false, filter: function(item) { - if (filterTerm !== "" && item.label.toLowerCase().indexOf(filterTerm) === -1) { - return false; + if (filterTerm !== "") { + var pos=0; + for (var i=0;i -1) { + pos = j; + } else { + return false; + } + } + return true; } return true; } @@ -156,12 +170,17 @@ RED.actionList = (function() { }); actions.forEach(function(action) { action.label = action.id.replace(/:/,": ").replace(/-/g," ").replace(/(^| )./g,function() { return arguments[0].toUpperCase()}); + action._label = action.label.toLowerCase(); searchResults.editableList('addItem',action) }) RED.events.emit("actionList:open"); visible = true; } searchInput.trigger("focus"); + var children = searchResults.children(":visible"); + if (children.length) { + $(children[0]).addClass('selected'); + } } function hide() {