Skip to content

Commit

Permalink
Tree: optimize not-allowed dropping cursor (#11631)
Browse files Browse the repository at this point in the history
  • Loading branch information
Leopoldthecoder authored Jun 14, 2018
1 parent 7bee91a commit 48c7bcc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
4 changes: 2 additions & 2 deletions examples/docs/zh-CN/tree.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@
}
},
allowDrag(draggingNode) {
return draggingNode.data.label.indexOf('三级 3-1-1') === -1;
return draggingNode.data.label.indexOf('三级 3-2-2') === -1;
},
loadNode(node, resolve) {
if (node.level === 0) {
Expand Down Expand Up @@ -1173,7 +1173,7 @@
}
},
allowDrag(draggingNode) {
return draggingNode.data.label.indexOf('三级 3-1-1') === -1;
return draggingNode.data.label.indexOf('三级 3-2-2') === -1;
}
}
};
Expand Down
9 changes: 5 additions & 4 deletions packages/tree/src/tree.vue
Original file line number Diff line number Diff line change
Expand Up @@ -362,12 +362,12 @@
let dropPrev = true;
let dropInner = true;
let dropNext = true;
let userAllowDropInner = true;
if (typeof this.allowDrop === 'function') {
dropPrev = this.allowDrop(draggingNode.node, dropNode.node, 'prev');
dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner');
userAllowDropInner = dropInner = this.allowDrop(draggingNode.node, dropNode.node, 'inner');
dropNext = this.allowDrop(draggingNode.node, dropNode.node, 'next');
}
dragState.allowDrop = dropInner;
event.dataTransfer.dropEffect = dropInner ? 'move' : 'none';
if ((dropPrev || dropInner || dropNext) && oldDropNode !== dropNode) {
if (oldDropNode) {
Expand Down Expand Up @@ -399,8 +399,8 @@
const treePosition = this.$el.getBoundingClientRect();
let dropType;
const prevPercent = dropPrev ? (dropInner ? 0.25 : (dropNext ? 0.5 : 1)) : -1;
const nextPercent = dropNext ? (dropInner ? 0.75 : (dropPrev ? 0.5 : 0)) : 1;
const prevPercent = dropPrev ? (dropInner ? 0.25 : (dropNext ? 0.45 : 1)) : -1;
const nextPercent = dropNext ? (dropInner ? 0.75 : (dropPrev ? 0.55 : 0)) : 1;
let indicatorTop = -9999;
const distance = event.clientY - targetPosition.top;
Expand Down Expand Up @@ -430,6 +430,7 @@
}
dragState.showDropIndicator = dropType === 'before' || dropType === 'after';
dragState.allowDrop = dragState.showDropIndicator || userAllowDropInner;
dragState.dropType = dropType;
this.$emit('node-drag-over', draggingNode.node, dropNode.node, event);
});
Expand Down

0 comments on commit 48c7bcc

Please sign in to comment.