Pull to refresh

Comments 9

Очень здорово! Вмемориз. А не тестировали с большим объемом данных, когда в дереве уже куча элементов?
Нет, к сожалению, не тестировал. Но, думаю, все ограничится производительностью браузера, ибо никаких ресурсоемких операций, кроме копирования информации из грида в дерево и обратно, не производится, а ExtJS и так весьма «тяжелая» библиотека.
Кстати, небольшой баг, если начать вести элемент, а потом отпустить кнопку мыши, то элемент так и будет «висеть» около курсора.
Спасибо! Я попробую «поиграться» с Drag&Drop-зонами и напишу сюда о результатах.
Нашел время пересмотреть свой код — решение оказалось совсем простым: достаточно после строки

var node = ddSource.dragData.node;


добавить
            if (!node) {
                return false;
            }
Спасибо! Ваше решение пригодится, для админки. странно, что нет подобного функционала по умолчанию в extJS.
Сорри за офтоп. Давно использую extjs, использовал и деревья и гриды разных вариантов. Так вот мое мнение такое, что разделение кода на гриды и на деревья — порочно. У них даже api разный. К примеру в гриде есть толковый датастор, а в деревьях надо ноды самому загружать.

Им стоило бы сделать простой грид и как расширение древовидный грид, типа maximgb tree store.
Прикрутив к последнему драг дрог + особые евенты для дерева можно заполучить сразу очень мощное дерево по функционалу, в котором есть и нормальный датастор и фильтры и поиск, можно колонки добавлять, можно редактор данных в дереве делать.

А из этого растут ноги следующих расширений — grouping view + store. Что по сути 2х мерное дерево.
Народ его тоже расширяет порой для более глубоких уровней вложенности.

Библиотека хорошая и написано много правильного, но вот это момент меня лично разачаровывает, ведь изначально из-за такого разделения что есть разные виды гридов и деревьев и апи не совместим медлу ними, а часто нужен комбинированный функционал.
Совершенно с Вами согласен. ExtJS порой не хватает гибкости, очевидности решения, а многие из багов «висят» весьма продолжительное время и не исправляются даже в новых версиях, несмотря на наличие патчей к ним на официальном форуме. Однако это однозначный след долгой разработки, накладывающихся друг на друга костылей и ограничений. И, увы, ядро проекта, скорее всего, не будет переписано в ближайшее время.
Да, дерево у них неудобно сделано.
Когда нужно было сделать то же самое, что и автору топика, драг-н-дроп я не осилил, а сделал чекбоксы в дереве — отмеченный элемент появляется в гриде, если из грида элемент удалить (кнопкой удаления в каждой строке), то и выделение с чекбокса снимается.
Sign up to leave a comment.

Articles