grouplist scheme $group;

http://webix.com/snippet/145a7419

Подскажите как реализовать правильную вложенность , запутался что то )

Отталкиваемся от корня > Уровень 1 > вложенный 1.1

Корень мы не показываем в списке а сразу содержимое корня.

Спасибо

scheme $group не позволяет создать многоуровневую вложенность. Вам необходимо преобразовать данные в формате дерева - дочерние элементы вкладываются в свойство data:

http://docs.webix.com/datatree__data_formats.html

Так дожны были бы выглядеть Ваши данные, если пользоваться встроенной группировкой (только 1 уровень вложенности)

http://webix.com/snippet/9550deeb

а такую запись может обработать?

{
    "statusCode": "Success",
    "data": [
        {
            "classId": "3",
            "parentId": "1",
            "name": "Питание"
        },
        {
            "classId": "2",
            "parentId": "1",
            "name": "Спорт",
            "children": [
                {
                    "classId": "4",
                    "parentId": "2",
                    "name": "Кафе"
                },
                {
                    "classId": "5",
                    "parentId": "2",
                    "name": "Ресторан"
                }
            ]
        }
    ]
}

Пример формата данных для GroupList:

http://docs.webix.com/datatree__data_formats.html

Ваш пример не соответсвует этому формату.

Столкнулся с похожей проблемой. За основу взял adminapp-demo. Можно ли передать полученный ajax’ом json из модели в шаблон, предварительно сформировав объект нужного формата (через backbone, DataDriver или proxy object) Может есть готовый пример, возможно ли это сделать на примере adminapp?

Возможно, если этот формат используется во многих местах, имеет смысл сделать свой DataDriver, если это разовая операция то можно использовать что то вроде

{
  view:"grouplist",
  data: webix.ajax("data.php").then(function(data){
      var json = data.json(); //incoming data as json object
      var data = some_logic_to_convert_data(json);
      return data;                 // data in Webix compatible format
  })
}

код выше использует возможности промайсов и позволяет трансформировать данные перед их загрузкой в компонент.

Пробовал и этот вариант и DataDriver, безрезультатно.

Uncaught RangeError: Maximum call stack size exceeded / core.js:464

RangeError: Maximum call stack size exceeded
at copy (core.js:191)
at copy (core.js:193)

В функцию copy поступает pending ajax объект, и в следующем цикле забивает стэк.
e {promise: e, state: “pending”, val: null, er: null, next: Array[0]}