Кажется, это ошибка в ui-sortable, вы используете крайне устаревшую версию обеих библиотек.
проверить исходный код на
https://github.com/angular-ui/ui-sortable/blob/v0.0.1/src/sortable.js
и сравните это с вашей версией
https://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.js
после некоторой отладки вы можете заметить, что
onStop = function(e, ui) {
// digest all prepared changes
if (ui.item.sortable.resort && !ui.item.sortable.relocate) {
// Fetch saved and current position of dropped element
var end, start;
start = ui.item.sortable.index;
end = ui.item.index();
if (start < end)
end--;
// Reorder array and apply change to scope
ui.item.sortable.resort.$modelValue.splice(end, 0, ui.item.sortable.resort.$modelValue.splice(start, 1)[0]);
}
if (ui.item.sortable.resort || ui.item.sortable.relocate) {
scope.$apply();
}
};
удалите это, если оператор начало <конец, то конец - и это сработает. OnStop должен выглядеть так после </p>
onStop = function(e, ui) {
// digest all prepared changes
if (ui.item.sortable.resort && !ui.item.sortable.relocate) {
// Fetch saved and current position of dropped element
var end, start;
start = ui.item.sortable.index;
end = ui.item.index();
// Reorder array and apply change to scope
ui.item.sortable.resort.$modelValue.splice(end, 0, ui.item.sortable.resort.$modelValue.splice(start, 1)[0]);
}
if (ui.item.sortable.resort || ui.item.sortable.relocate) {
scope.$apply();
}
};
Я не рекомендую вносить изменения в код библиотеки вручную, скорее обновите код до новой версии, там может быть больше функций и исправлений ошибок.