diff --git a/src/navigator/view/ItemView.js b/src/navigator/view/ItemView.js index a1090aa88..acbadf9b2 100644 --- a/src/navigator/view/ItemView.js +++ b/src/navigator/view/ItemView.js @@ -244,10 +244,15 @@ export default Backbone.View.extend({ * */ startSort(e) { e.stopPropagation(); - const sorter = this.sorter; + const { em, sorter } = this; // Right or middel click if (e.button && e.button !== 0) return; - sorter && sorter.startSort(e.target); + + if (sorter) { + sorter.onStart = data => em.trigger('component:drag:start', data); + sorter.onMoveClb = data => em.trigger('component:drag', data); + sorter.startSort(e.target); + } }, /** diff --git a/src/navigator/view/ItemsView.js b/src/navigator/view/ItemsView.js index ab1821320..b917daf24 100644 --- a/src/navigator/view/ItemsView.js +++ b/src/navigator/view/ItemsView.js @@ -29,9 +29,10 @@ export default Backbone.View.extend({ containerSel: `.${this.className}`, itemSel: `.${pfx}layer`, ignoreViewChildren: 1, - onEndMove(created, sorter) { + onEndMove(created, sorter, data) { const srcModel = sorter.getSourceModel(); em.setSelected(srcModel, { forceChange: 1 }); + em.trigger('component:drag:end', data); }, avoidSelectOnEnd: 1, nested: 1, diff --git a/src/utils/Sorter.js b/src/utils/Sorter.js index 9dd261888..b57c2adec 100644 --- a/src/utils/Sorter.js +++ b/src/utils/Sorter.js @@ -1015,7 +1015,7 @@ export default Backbone.View.extend({ * */ endMove(e) { const src = this.eV; - const moved = [null]; + const moved = []; const docs = this.getDocuments(); const container = this.getContainerEl(); const onEndMove = this.onEndMove; @@ -1026,9 +1026,9 @@ export default Backbone.View.extend({ off(docs, 'keydown', this.rollback); this.plh.style.display = 'none'; - if (src && this.selectOnEnd) { + if (src) { srcModel = this.getSourceModel(); - if (srcModel && srcModel.set) { + if (this.selectOnEnd && srcModel && srcModel.set) { srcModel.set('status', ''); srcModel.set('status', 'selected'); }