Всем привет! В ExtJS новичок. Проблема в том, что не получается реализовать правильно сохранение дерева с данными.
Читал доки сенча, мало что понял, про сохранение почти ничего не говорится.
Вот мое простое дерево:
// Создаем класс модели
Ext.define('Users', {
extend: 'Ext.data.Model',
idProperty: 'id', // Уникально идентифицируем обьект модели по полю
fields: [
{name: 'text', type: 'string'},
{name: 'leaf', type: 'boolean'},
{name: 'expanded', defaultValue: true},
{name: 'id'},
],
});
var store = Ext.create('Ext.data.TreeStore',
{
model: 'Users',
proxy:
{
type: 'ajax', // тип данных - ajax
url: 'tree.json' // урл источника данных
}
});
var tree = Ext.create('Ext.tree.Panel', {
renderTo : Ext.getBody(),
width : 500,
height : 300,
title: 'Дерево',
store: store,
rootVisible: false,
});
JSON: tree.json
{
text: 'ROOT',
leaf: false, // единичный ли узел
children: [
{
text: 'Child 1',
leaf: false, // единичный ли узел
expanded: false, // раскрыт ли узел
children: [{
text: "MSK",
leaf: true
}],
},
{
text: 'Child 2',
leaf: true
},
]
}
Скриншот дерева прикреплен.
Собственно, дерево загружается из файла tree.json. Раскрывается, закрывается. Так же есть кнопочки для добавления/удаления элементов дерева и тд просто для упрощения не показаны.
А как так же просто сделать сохранения дерева обратно в json файл после всех манипуляций с узлами? Желательно без дополнительного php файла с рекурсиями и прочим.