summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web_editor/static/src/js')
-rw-r--r--addons/web_editor/static/src/js/snippets.editor.js21
-rw-r--r--addons/web_editor/static/src/js/summernote.js29
-rw-r--r--addons/web_editor/static/src/js/tour.rte.js2
-rw-r--r--addons/web_editor/static/src/js/widgets.js6
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) {