У меня есть дерево в extjs.Я добавил плагин перетаскивания, и они отлично работают в браузере, но мне нужно правильно отправить перетащенное изменение в мою БД?Чтобы сделать это, я считаю, что мне нужно прослушать событие drop, а затем сделать ajax-вызов для моего бэкенда.У меня есть событие checkchange, которое срабатывает нормально, но, похоже, что drop или beforedrop ничего не делают.
Вот конфигурация моего дерева, что я делаю не так?
todotree = {
title: 'Tree Grid',
width: 600,
height: 400,
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop'
}
},
store: new Ext.data.TreeStore({
storeId: 'treestore',
fields: [{
name: 'actionTitle',
type: 'string'
}],
proxy: {
type: 'ajax',
url: 'index.php/todo/listtree',
reader: 'json'
}
}),
rootVisible: false,
columns: [
{
xtype: 'treecolumn',
text: 'Title',
flex: 3,
dataIndex: 'actionTitle'
}],
listeners: {
checkchange: function(node, checked){
Ext.Ajax.request({
url: 'index.php/todo/togglecheck/' + node.data.recordId + '/' + checked,
success: function() {}
});
},
drop: function(){ alert("drop") },
beforedrop: function(){ alert("beforedrop") }
}
}
Заранее спасибо
РЕДАКТИРОВАТЬ: Я также пытался этот конфиг, но безрезультатно.Я не думаю, что понимаю, как все это должно работать.
...
beforedrop: function(node, data, overModel, dropPosition, dropFunction){
alert("beforedrop");
dropFunction = function(){
alert('dropFunction');
};
}
...