deblan.io-murph/assets/js/addons/sortable.js

32 lines
900 B
JavaScript

const $ = require('jquery')
const Sortable = require('sortablejs').Sortable
module.exports = () => {
$('*[data-sortable]').each((i, list) => {
const element = $(list)
const route = element.attr('data-sortable-route')
new Sortable(list, {
handle: '*[data-sortable-item]',
sort: true,
onEnd: (e) => {
if (!route) {
return;
}
const items = element.find('*[data-sortable-item]')
let datas = {items: []}
items.each((order, v) => {
datas.items[$(v).attr('data-sortable-item')] = order + 1;
})
$.post(route, datas)
.always((data) => {
document.location.href = document.location.href
})
}
});
});
}