diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/search.js b/packages/node_modules/@node-red/editor-client/src/js/ui/search.js index 7be689c4a..d3475eb15 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/search.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/search.js @@ -26,7 +26,6 @@ RED.search = (function() { var currentResults = []; var previousActiveElement; - function indexProperty(node,label,property) { if (typeof property === 'string' || typeof property === 'number') { property = (""+property).toLowerCase(); @@ -65,6 +64,18 @@ RED.search = (function() { } } + function extractFlag(val, flagName, flags) { + // is:XYZ + + var regEx = new RegExp("(?:^| )is:"+flagName+"(?: |$)"); + var m = regEx.exec(val); + if (m) { + val = val.replace(regEx," ").trim(); + flags[flagName] = true; + } + return val; + } + function search(val) { var results = []; var keys = Object.keys(index); @@ -74,11 +85,17 @@ RED.search = (function() { val = val.replace(/(?:^| )type:[^ ]+/,""); typeFilter = m[1]; } + var flags = {}; + val = extractFlag(val,"invalid",flags); + val = extractFlag(val,"unused",flags); + val = extractFlag(val,"config",flags); + val = extractFlag(val,"subflow",flags); + + var hasFlags = Object.keys(flags).length > 0; val = val.trim(); - - if (val.length > 0 || typeFilter) { + if (val.length > 0 || typeFilter || hasFlags) { val = val.toLowerCase(); var i; var j; @@ -91,6 +108,31 @@ RED.search = (function() { var ids = Object.keys(index[key]); for (j=0;j