diff options
Diffstat (limited to 'addons/web_editor/static/src/js')
| -rw-r--r-- | addons/web_editor/static/src/js/snippets.editor.js | 21 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/summernote.js | 29 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/tour.rte.js | 2 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/widgets.js | 6 |
4 files changed, 27 insertions, 31 deletions
diff --git a/addons/web_editor/static/src/js/snippets.editor.js b/addons/web_editor/static/src/js/snippets.editor.js index 37f80a95da4..79db510bf6a 100644 --- a/addons/web_editor/static/src/js/snippets.editor.js +++ b/addons/web_editor/static/src/js/snippets.editor.js @@ -248,8 +248,7 @@ var BuildingBlock = Widget.extend({ }); $styles.addClass("hidden"); - globalSelector = { - closest: function ($from) { + globalSelector.closest = function ($from) { var $temp; var $target; var len = selector.length; @@ -260,8 +259,8 @@ var BuildingBlock = Widget.extend({ } } return $target; - }, - all: function ($from) { + }; + globalSelector.all = function ($from) { var $target; var len = selector.length; for (var i = 0; i<len; i++) { @@ -269,8 +268,8 @@ var BuildingBlock = Widget.extend({ else $target = $target.add(selector[i].all($from)); } return $target; - }, - is: function ($from) { + }; + globalSelector.is = function ($from) { var len = selector.length; for (var i = 0; i<len; i++) { if (selector[i].is($from)) { @@ -278,7 +277,6 @@ var BuildingBlock = Widget.extend({ } } return false; - }, }; var number = 0; @@ -318,11 +316,11 @@ var BuildingBlock = Widget.extend({ $("body").toggleClass("editor_has_snippets", !!number); // select all default text to edit (if snippet default text) - /*self.$snippets.find('.oe_snippet_body, .oe_snippet_body *') + self.$snippets.find('.oe_snippet_body, .oe_snippet_body *') .contents() .filter(function() { return this.nodeType === 3 && this.textContent.match(/\S/); - }).parent().addClass("o_default_snippet_text");*/ + }).parent().addClass("o_default_snippet_text"); $(document).on("mouseup", ".o_default_snippet_text", function (event) { $(event.target).selectContent(); }); @@ -1149,8 +1147,9 @@ var Editor = Class.extend({ }); var data = { - 'Class': BuildingBlock, - 'globalSelector': globalSelector, + Class: BuildingBlock, + Editor: Editor, + globalSelector: globalSelector, }; return data; diff --git a/addons/web_editor/static/src/js/summernote.js b/addons/web_editor/static/src/js/summernote.js index 6cec7ff18bd..ab170a45935 100644 --- a/addons/web_editor/static/src/js/summernote.js +++ b/addons/web_editor/static/src/js/summernote.js @@ -814,17 +814,6 @@ range.WrappedRange.prototype.reRange = function (keep_end, isNotBreakable) { return new range.WrappedRange(sc, so, ec, eo); }; -range.WrappedRange.prototype.deleteContents = function (towrite) { - var prevBP = dom.removeBetween(this.sc, this.so, this.ec, this.eo, towrite); - - $(dom.node(prevBP.sc)).trigger("click"); // trigger click to disable and reanable editor and image handler - return new range.WrappedRange( - prevBP.sc, - prevBP.so, - prevBP.ec, - prevBP.eo - ); -}; // isOnImg: judge whether range is an image node or not range.WrappedRange.prototype.isOnImg = function () { var nb = 0; @@ -1242,10 +1231,13 @@ $.summernote.pluginEvents.delete = function (event, editor, layoutInfo) { if (!r.isCollapsed()) { if (dom.isCell(dom.node(r.sc)) || dom.isCell(dom.node(r.ec))) { remove_table_content(r); - return range.create(r.ec, 0).select(); + range.create(r.ec, 0).select(); + } else { + r = r.deleteContents(); + r.select(); } - r = r.deleteContents(); - r.select(); + event.preventDefault(); + return false; } var target = r.ec; @@ -1378,10 +1370,13 @@ $.summernote.pluginEvents.backspace = function (event, editor, layoutInfo) { if (!r.isCollapsed()) { if (dom.isCell(dom.node(r.sc)) || dom.isCell(dom.node(r.ec))) { remove_table_content(r); - return range.create(r.sc, dom.nodeLength(r.sc)).select(); + range.create(r.sc, dom.nodeLength(r.sc)).select(); + } else { + r = r.deleteContents(); + r.select(); } - r = r.deleteContents(); - r.select(); + event.preventDefault(); + return false; } var target = r.sc; diff --git a/addons/web_editor/static/src/js/tour.rte.js b/addons/web_editor/static/src/js/tour.rte.js index 6dcd5009d88..5205e60eef8 100644 --- a/addons/web_editor/static/src/js/tour.rte.js +++ b/addons/web_editor/static/src/js/tour.rte.js @@ -132,7 +132,7 @@ Tour.register({ }, { waitFor: '#editable_area > section .row > div:first:has( font:last:containsExact(Bat) )', - element: '.note-air-popover button[data-event="undo"]', + element: '.note-image-popover button[data-event="undo"]', title: "undo", }, { diff --git a/addons/web_editor/static/src/js/widgets.js b/addons/web_editor/static/src/js/widgets.js index 71bd31eaaca..7508ce1c392 100644 --- a/addons/web_editor/static/src/js/widgets.js +++ b/addons/web_editor/static/src/js/widgets.js @@ -285,6 +285,9 @@ var ImageDialog = Widget.extend({ o.id = +o.url.match(/\/web\/content\/([0-9]*)/, '')[1]; } this.parent.$(".pager > li").click(function (e) { + if(!self.$el.is(':visible')) { + return; + } e.preventDefault(); var $target = $(e.currentTarget); if ($target.hasClass('disabled')) { @@ -303,7 +306,6 @@ var ImageDialog = Widget.extend({ var img = _.select(this.images, function (v) { return v.id == attachment.id;}); if (img.length) { this.images.splice(this.images.indexOf(img[0]),1); - return; } } else { this.images = []; @@ -421,11 +423,11 @@ var ImageDialog = Widget.extend({ var $button = this.$('button.filepicker'); if (!error) { $button.addClass('btn-success'); + this.set_image(attachment); } else { this.$('form').addClass('has-error') .find('.help-block').text(error); $button.addClass('btn-danger'); - this.set_image(attachment, error); } if (!this.options.select_images) { |
