getOpenState

возвращает ID элементов из открытой на данный момент группы

object getOpenState();

Returns

objectобъект с элементами открытой группы и всеми родителями группы

Example

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"]
}
*/

Related samples

Details

Метод возвращает объект с двумя свойствами:

  • parents (array) - ID всех родителей открытой ветки (от рута до непосредственного родителя);
  • branch (array) - ID всех элементов из открытой группы.

Для рута "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
}
See also
  • Articles
  • Наверх
    If you have not checked yet, be sure to visit site of our main product Webix web ui framework and page of javascript library list product.