1
0
mirror of synced 2025-02-09 16:49: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) {
var t = query.term, filtered = {};
var t = query.term, filtered = { results: [] }, process;
if (t === "") {
query.callback({results: data});
return;
}
filtered.results = $(data)
.filter(function () {return query.matcher(t, text(this));})
.get();
process = function(datum, collection) {
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);
};
}