возвращает ID элементов из открытой на данный момент группы
object | объект с элементами открытой группы и всеми родителями группы |
webix.ui({
view:"grouplist",
data:[ //иерархические данные в JSON
{
id:"root", value:"Films data", open:true,
data:[
{
id:"1", open:true, value:"The Shawshank Redemption",
data:[
{ id:"1.1", value:"Part 1" },
{
id:"1.2", value:"Part 2", data:[
{ id:"1.2.1", value:"Page 1" },
{ id:"1.2.2", value:"Page 1" }
]
},
{ id:"1.3", value:"Part 3" }
]
},
{
id:"2", open:true, value:"The Godfather",
data:[
{ id:"2.1", value:"Part 1" }
]
}
]
}
]
});
var state = $$('grouplist1').getOpenState();
if (state){
result = JSON.stringify(state);
webix.message(result);
}
/*
Если открыты ветки "root", "1" и "1.2"
{
"parents":["root","1","1.2"],
"branch":["1.2.1","1.2.2"]
}
*/
Метод возвращает объект с двумя свойствами:
Для рута "parents" будет пустым массивом.
Если вы загружаете в grouplist линейные данные и группы формируются во время инициализации компонента, группы получают автоматически сгенерированные IDs.
{
"parents":["1363185715932"], // <- auto ID
"branch":[125,169,184,189]
}
Вы можете получить доступ к любому из этих свойств (напр. branch):
function get_children(){
var state = $$('group').getOpenState().branch; //элементы ветки
titles = [];
for (var i=0; i<state.length; i++){
var id = state[i];
var title = $$('group').getItem(id).title;
titles.push(title);
}
alert(titles.join(",\n")); //значения из поля title
}