Comments 7
случайно глупость написал.
Насколько усложнится это решение, если список будет не плоским, а с подпунктами?
Не на много усложнится. Для каждого вложенного списка надо будет создать свой вид, связать все эти виды в DOM с помощью опции connectWith и добавить обработку событии remove и recieve в sortable.
Для того, что бы добавить модель, связанную с этим элементом, в другую коллекцию, одного cid будет уже не достаточно, нужна целая модель.
Далее на ум сейчас приходят два способа.
Либо можно при инициализации вида привязать модель к каждому сортируемому элементу, что бы при получении этого элемента обработчик знал что именно добавлять в свою коллекцию, то есть что-то вроде такого
Либо создать контроллер, через который будут общаться связанные списки и, при добавлении и удалении, посылать события на этот контроллер, передавая вместе с ними модель.
Первый вариант мне кажется проще.
Если хотите, могу написать об этом, когда будет готовое решение.
Для того, что бы добавить модель, связанную с этим элементом, в другую коллекцию, одного cid будет уже не достаточно, нужна целая модель.
Далее на ум сейчас приходят два способа.
Либо можно при инициализации вида привязать модель к каждому сортируемому элементу, что бы при получении этого элемента обработчик знал что именно добавлять в свою коллекцию, то есть что-то вроде такого
........................
for(var v in items){
view=items[v]
// Привязываем элемент к модели непосредственно
view.$el.data('backbone-model',view.model);
}
Либо создать контроллер, через который будут общаться связанные списки и, при добавлении и удалении, посылать события на этот контроллер, передавая вместе с ними модель.
Первый вариант мне кажется проще.
Если хотите, могу написать об этом, когда будет готовое решение.
Спасибо, хорошая статья. По Marionette, к сожалению, не так много интересных статей.
Sign up to leave a comment.
Marionette.js. Drag&Drop сортировка моделей в коллекции