diff options
| author | Olivier Dony <odo@openerp.com> | 2015-10-30 10:46:57 +0100 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2015-10-30 10:47:13 +0100 |
| commit | ff2069eb69213651a8f77ea7252ba8dc3a708dd7 (patch) | |
| tree | 9294cf27839f0de29f946650fd800138304f502f /addons/web_editor/static/src | |
| parent | 23d7caa8d50de8b5307936af2750c2ffe9c82540 (diff) | |
| parent | 9a3e9291ffa1509f4afa0f35f9d8d71b6e0932d0 (diff) | |
[MERGE] Forward-port 9.0 up to 9a3e9291ffa1509f4afa0f35f9d8d71b6e0932d1
Diffstat (limited to 'addons/web_editor/static/src')
| -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 | ||||
| -rw-r--r-- | addons/web_editor/static/src/less/web_editor.less | 8 |
5 files changed, 31 insertions, 35 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) { diff --git a/addons/web_editor/static/src/less/web_editor.less b/addons/web_editor/static/src/less/web_editor.less index 8cc69271afa..760108b9e61 100644 --- a/addons/web_editor/static/src/less/web_editor.less +++ b/addons/web_editor/static/src/less/web_editor.less @@ -24,10 +24,10 @@ // Generate all margins for one size, given // the name of the margin and intended size .o-margins-define(@name, @size: @name) { - .mt@{name} {margin-top: ~"@{size}px";} - .mb@{name} {margin-bottom: ~"@{size}px";} - .ml@{name} {margin-left: ~"@{size}px";} - .mr@{name} {margin-right: ~"@{size}px";} + .mt@{name} {margin-top: ~"@{size}px"!important;} + .mb@{name} {margin-bottom: ~"@{size}px"!important;} + .ml@{name} {margin-left: ~"@{size}px"!important;} + .mr@{name} {margin-right: ~"@{size}px"!important;} } // Generate all margins |
