Tree позволяет фильтровать данные на клиенте.
Для фильтрации элементов необходимо обратиться к методу filter. Метод можно вызвать на каком-либо событии или действии, при щелчке мыши или загрузке страницы.
Sorting Tree on a button click
webix.ui({
rows:[
{ view:'tree', id:"tree", ...},
{
view:"button",
value:"Filter the tree",
click:function(){
$$("tree").filter("#value#", this.value);
}
}
]
});
Related sample: Filtering in Tree
У библиотеки есть свойство filterMode, которое определяет, каким образом фильтровать элементы в дереве.
Свойство filterMode это объект, у которого есть 3 ключа:
Using the filterMode parameter
webix.ui({
view:"tree",
filterMode:{
showSubItems:false,
level:2
}
});
Related sample: Filtering in Tree
Ниже представлены три дерева с разными способами фильтрации.
Попробуем задать им разные настройки:
1) default - фильтрация на всех уровнях. Дочерние элементы отображаются
2) фильтрация на всех уровнях, но дочерние элементы не отображаются (strict mode)
3) фильтрация только на втором уровне. Дочерние элементы не отображаются
Попробуем отфильтровать деревья по слову Skoda:
Допустим, у вас на странице есть поле ввода и кнопка, при клике на которую вы хотите отфильтровать данные. Это можно сделать следующим образом:
Custom filtering function
webix.ui({
view:"button",
value:'filter',
click() {
filterText(this);
}
});
function filterText(node){
var text = node.previousSibling.value;
if (!text) return tree.filter();
tree.filter(function(obj){ // tree is a Tree instance
return obj.year == text;
});
}
Наверх