может быть, кто-то может мне помочь.
Я получил большое представление в веб-приложении. Слева есть список товаров, а справа список категорий. Товары следует перетаскивать внутри категорий.
Список продуктов был наблюдаемым массивом. Теперь у нас есть проблемы с производительностью (особенно в IE), когда список содержит более 1000 записей. Так как сами продукты не меняются, мы убрали их из привязки нокаута, объединили их в строку и добавили только один узел. Теперь, конечно, нокаутируемая сортируемая привязка больше не работает...
Это шаблон для категорий:
<div data-bind="sortable: {data: Products, beforeMove: $root.verifyProducts}, attr: { 'data-max': MaxProducts }">
<div class="menuEditTab2CatDragItem clearfix" data-bind="attr: { 'data-prodid': Id }">
<div class="menuEditTab3ProdsNameText" data-bind="text: Name"></div>
<div class="pull-right" style="margin-left:8px;"><i style="margin-top:-4px;" class="icon-remove" data-bind="click: $parent.removeProduct"></i>
</div>
<div class="pull-left menuEditTab3ProdsIdText">ID: <span data-bind="text: Id"></span>
</div>
</div>
And here is the js code for the products list on the left side:
function fillAllProductsTab() {
var parts = '';
allProducts.forEach(function (item) {
parts += '<div id="f_all_' + item.Id + '" >' + // draggable="{data: $data, options:{containment: \'\#menuEditTab3Ce\', revert: \'invalid\'}}"
'<div class="menuEditTab2CatDragItem">' +
'<div>' + item.Name + '</div><div class="clearfix menuEditTab3ProdsIdText">' +
'<div class="pull-left">ID: <span>' + item.Id + '</span></div><div class="pull-right">' +
'<span>' + item.Price + '</span> €</div></div></div></div>';
});
$("#allp").append(parts);
};
Теперь я подумал, что могу вручную запустить перетаскиваемый плагин в списке продуктов после их добавления:
$('#allp > div').draggable({
//connectToSortable: '#sortable',
helper: 'clone',
revert: 'invalid',
cursor: 'move'
});
Итак, моя проблема в том, что я не могу заставить их работать вместе. Левый список перетаскивается, а сортируемый справа тоже работает но подключение не работает. Нет события сброса, которое срабатывает... Возможно ли это вообще? Если у кого-нибудь есть идея, чтобы получить эту работу?