var treeFilter = new Ext.tree.TreeFilter(tree);
triggerField.on('keyUp',
function(element, event) {
var text = element.getRawValue();
treeFilter.clear();
if (event.getKey() === Ext.EventObject.ESC || Ext.isEmpty(text, false)) {
element.onTriggerClick();
} else {
var regExp = new RegExp(".*" + text + ".*", "i");
// Если название отдела
if (isNaN(parseInt(text))) {
/* treeFilter.filterBy(function (node) {
return regExp.test(node.text);
});
*/
treeFilter.filter(regExp, 'text');
} else {
treeFilter.filterBy(function (node) {
return regExp.test(node.id);
});
}
}
},
triggerField,
{ buffer: 100 }
);
triggerField.onTriggerClick = function(event) {
treeFilter.clear();
this.setValue("");
tree.getRootNode().collapseChildNodes(true);
tree.getRootNode().ensureVisible();
};
На tree.getRootNode().ensureVisible(); выскакивает ошибка
Ext.fly(child, "_scrollChildIntoView") is null
[Прерывать на этой ошибке] Ext.fly(child, '_scrollChildIntoView').scrollIntoView(this, hscroll);
, что же не так делаю ?
Да и фильтрация осуществляется только по root-у