Я учу себя EXTjs 4, создав очень простое приложение.
В EXTjs 4 у меня есть 4 сетки, каждая из которых имеет плагин Grid to Grid. (Пример функциональности здесь: http://dev.sencha.com/deploy/ext-4.0.2a/examples/dd/dnd_grid_to_grid.html)
На мой взгляд, плагин определен так:
viewConfig: {
plugins: {
ptype: 'gridviewdragdrop',
dragGroup: 'ddzone',
dropGroup: 'ddzone'
}
},
Теперь в примере у них разные dragGroups и dropGroups, но поскольку я хочу, чтобы элементы плавно перетаскивали друг друга, я дал группам одно и то же имя.
Способ, которым информация первоначально вводится в 4 различных списка, заключается в просмотре значения state_id в БД. Все state_ids 1 отправляются в хранилище невыполненных работ, 2 в хранилище Ingress и т. Д. И т. Д.
Итак, что мне нужно сделать, когда элемент перетаскивается, это удалить его из старого хранилища и поместить в новое хранилище (одновременно обновляя state_id, чтобы впоследствии я мог синхронизировать его с БД) .
Моя единственная проблема - определить исходную и целевую сетки строки, которая была перемещена.
Спасибо!
PS. Если вам интересно, вот как выглядит мой обработчик события drop:
dropit: function (node, data, dropRec, dropPosition) {
console.log('this');
console.log(this);
console.log('node');
console.log(node);
console.log('data');
console.log(data);
console.log('droprec');
console.log(dropRec);
console.log('dropPosition');
console.log(dropPosition);
},
Как видите, я не очень далеко ушел ^ _ ^