Fixed more odering bugs, still flashes before being sorted though :(
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
<template lang="html">
|
<template lang="html">
|
||||||
|
<!--use value for immutable, list for auto-updating children -->
|
||||||
<draggable
|
<draggable
|
||||||
class="drag-area"
|
class="drag-area"
|
||||||
:value="children"
|
:value="children"
|
||||||
@@ -62,11 +63,17 @@
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
change({added, moved}){
|
change({added, moved, removed}){
|
||||||
let event = moved || added;
|
let event = moved || added;
|
||||||
let newIndex = this.children[event.newIndex].node.order;
|
|
||||||
if (event){
|
if (event){
|
||||||
let doc = event.element.node;
|
let doc = event.element.node;
|
||||||
|
let newIndex;
|
||||||
|
if (event.newIndex === 0){
|
||||||
|
newIndex = 0;
|
||||||
|
} else {
|
||||||
|
childBeforeNewIndex = this.children[event.newIndex - 1];
|
||||||
|
newIndex = childBeforeNewIndex.node.order + 1;
|
||||||
|
}
|
||||||
if (moved){
|
if (moved){
|
||||||
this.$emit('reordered', {doc, newIndex});
|
this.$emit('reordered', {doc, newIndex});
|
||||||
} else if (added){
|
} else if (added){
|
||||||
|
|||||||
Reference in New Issue
Block a user