Используя Meteor, я реализовал довольно простой экземпляр rubaxa:sortable. Не использовать несколько сортируемых списков или что-то необычное. Предварительно загруженные данные «заказа» в моей коллекции Mongo с уникальными номерами 1, 2, 3 и т. д.
Все отображается нормально и позволяет сортировать один раз, после чего пакет умирает при попытке сохранить новый порядок в БД.
Ошибка в консоли браузера:
TypeError: templateInstance.collection.findOne is not a function. (In 'templateInstance.collection.findOne(itemId)', 'templateInstance.collection.findOne' is undefined)
adjustOrdersrubaxa_sortable.js:1404
sortableUpdaterubaxa_sortable.js:1446
_dispatchEventrubaxa_sortable.js:1102
_onDroprubaxa_sortable.js:799
(anonymous function)
handleEventrubaxa_sortable.js:853
Соответствующие фрагменты кода ниже...
Сервер:
Products = new Mongo.Collection('products');
Sortable.collections = ['products'];`
Клиент JS:
Meteor.startup(function() {
Mongo.Products = new Mongo.Collection('products');
});
HTML-код клиента:
<div class="sortable target" id="object">
{{#sortable items=products animation="100" handle=".sortable-handle" ghostClass="sortable-ghost" sortField="order"}}
{{> productSettingsRow}}
{{/sortable}}
</div>`
<template name="productSettingsRow">
<div data-id="{{order}}" class="sortable-item well well-sm">
<div class="row">
...
<div class="col s5">
<div class="input-field">
<input id="{{sku}}-displayName" type="text" value="{{displayName}}">
</div>
</div>
...
<div class="col s1">
<i class="sortable-handle mdi-action-view-headline pull-right"></i>
</div>
</div>
</div>
Tried searching on the error; don't see anything quite like this though #578 here seems similar(?): https://github.com/RubaXa/Sortable/issues/578
Любые предложения или любую другую информацию, которую я могу предоставить для отладки? (Также разместил это в репозитории GitHub, как было предложено.)