Skip to content

Instantly share code, notes, and snippets.

@reasdom
Created April 13, 2019 11:51
Show Gist options
  • Save reasdom/cd5532bdf5783a8cf2178667624e66df to your computer and use it in GitHub Desktop.
Save reasdom/cd5532bdf5783a8cf2178667624e66df to your computer and use it in GitHub Desktop.
$(document).ready(function () {
$(function () {
$("#itemTable tbody").sortable({
update: function (event, ui) {
app.updateOrders();
}
});
});
const app = new Vue({
el: "#app",
data: {
items: [{
"order": 0,
"name": "Item 0"
}]
},
methods: {
addItem: function () {
var order = this.items.length;
Vue.set(app.items, order, {
"order": order,
"name": "Item " + order
});
},
updateOrders: function () {
var newOrder = $('#itemTable tbody').sortable("toArray");
$("#itemTable tbody").sortable("cancel");
var newItemList = [];
for (var i = 0; i < newOrder.length; i++) {
if (this.items[parseInt(newOrder[i].replace("item-", ''))] != null) {
newItemList.push({
"order": i,
"name": this.items[parseInt(newOrder[i].replace("item-", ''))].name,
});
}
}
this.items = newItemList;
}
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment