diff --git a/editor/js/ui/search.js b/editor/js/ui/search.js index 85718a9d2..9f468cb09 100644 --- a/editor/js/ui/search.js +++ b/editor/js/ui/search.js @@ -26,6 +26,24 @@ RED.search = (function() { var keys = []; var results = []; + + function indexProperty(node,label,property) { + if (typeof property === 'string' || typeof property === 'number') { + property = (""+property).toLowerCase(); + index[property] = index[property] || {}; + index[property][node.id] = {node:node,label:label}; + } else if (Array.isArray(property)) { + property.forEach(function(prop) { + indexProperty(node,label,prop); + }) + } else if (typeof property === 'object') { + for (var prop in property) { + if (property.hasOwnProperty(prop)) { + indexProperty(node,label,property[prop]) + } + } + } + } function indexNode(n) { var l = RED.utils.getNodeLabel(n); if (l) { @@ -42,17 +60,11 @@ RED.search = (function() { } for (var i=0;i