1
0
mirror of synced 2025-02-10 09:09:24 +03:00

recursive match in local()

This commit is contained in:
ryfeng 2012-08-17 02:11:16 -03:00
parent d154146caf
commit 476d5ace9a

View File

@ -354,14 +354,29 @@
} }
return function (query) { return function (query) {
var t = query.term, filtered = {}; var t = query.term, filtered = { results: [] }, process;
if (t === "") { if (t === "") {
query.callback({results: data}); query.callback({results: data});
return; return;
} }
filtered.results = $(data)
.filter(function () {return query.matcher(t, text(this));}) process = function(datum, collection) {
.get(); var group;
datum = datum[0];
if (datum.children) {
group = { text: text(datum), children: [] };
$(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
if (group.children.length) {
collection.push(group);
}
} else {
if (query.matcher(t, text(datum))) {
collection.push(datum);
}
}
};
$(data).each2(function(i, datum) { process(datum, filtered.results); });
query.callback(filtered); query.callback(filtered);
}; };
} }