From 965d5a42fda26c256ac96b5ee9556956b0e5a22d Mon Sep 17 00:00:00 2001 From: qsm-odoo Date: Mon, 12 Sep 2016 17:02:04 +0200 Subject: [FIX] web_editor: allow to drop a snippet where its movement began Before this commit, if we dragged a snippet and dropped it where we began the drag, the snippet was removed. --- addons/web_editor/static/src/js/snippets.editor.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'addons/web_editor/static/src/js/snippets.editor.js') diff --git a/addons/web_editor/static/src/js/snippets.editor.js b/addons/web_editor/static/src/js/snippets.editor.js index 043163802dc..a76ee437210 100644 --- a/addons/web_editor/static/src/js/snippets.editor.js +++ b/addons/web_editor/static/src/js/snippets.editor.js @@ -959,17 +959,25 @@ var Editor = Class.extend({ }, _drag_and_drop_stop: function (){ var self = this; - var $dropzone = this.$target.prev(); - var prev = $dropzone.length && $dropzone[0].previousSibling; + + $(".oe_drop_zone").droppable('destroy').remove(); + + var prev = this.$target.first()[0].previousSibling; var next = this.$target.last()[0].nextSibling; var $parent = this.$target.parent(); - $(".oe_drop_clone").after(this.$target); + var $clone = $(".oe_drop_clone"); + if (prev === $clone[0]) { + prev = $clone[0].previousSibling; + } else if (next === $clone[0]) { + next = $clone[0].nextSibling; + } + $clone.after(this.$target); this.$overlay.removeClass("hidden"); $("body").removeClass('move-important'); - $('.oe_drop_zone').droppable('destroy').remove(); - $(".oe_drop_clone, .oe_drop_to_remove").remove(); + $clone.remove(); + $(".oe_drop_to_remove").remove(); if (this.dropped) { this.buildingBlock.parent.rte.historyRecordUndo(this.$target); -- cgit v1.2.3