diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-11-08 15:01:20 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-11-08 15:01:20 +0100 |
| commit | 3d085f632d4c5a8aece92731494e1dbbc8923049 (patch) | |
| tree | 373dc715bb2f38482300fd66b1fb022104173b98 /addons/web_editor/static/src | |
| parent | 74ef15f01f123bc4adbfdaeb3d20b6c77341492a (diff) | |
| parent | 63860373acb47356c7731cbc8258af0fd7fd9da4 (diff) | |
[MERGE] forward port branch saas-12 up to 6386037
Diffstat (limited to 'addons/web_editor/static/src')
| -rw-r--r-- | addons/web_editor/static/src/js/backend.js | 19 | ||||
| -rw-r--r-- | addons/web_editor/static/src/js/snippets.editor.js | 4 |
2 files changed, 14 insertions, 9 deletions
diff --git a/addons/web_editor/static/src/js/backend.js b/addons/web_editor/static/src/js/backend.js index 6d31f75f6ca..8d05a92260c 100644 --- a/addons/web_editor/static/src/js/backend.js +++ b/addons/web_editor/static/src/js/backend.js @@ -113,11 +113,16 @@ var FieldTextHtmlSimple = widget.extend({ }, text_to_html: function (text) { var value = text || ""; - if (value.match(/^\s*$/)) { - value = '<p><br/></p>'; - } else { - value = "<p>"+value.split(/<br\/?>/).join("<br/></p><p>")+"</p>"; - value = value.replace(/<p><\/p>/g, '').replace('<p><p>', '<p>').replace('<p><p ', '<p ').replace('</p></p>', '</p>'); + try { + $(text)[0].innerHTML; + return text; + } catch (e) { + if (value.match(/^\s*$/)) { + value = '<p><br/></p>'; + } else { + value = "<p>"+value.split(/<br\/?>/).join("<br/></p><p>")+"</p>"; + value = value.replace(/<p><\/p>/g, '').replace('<p><p>', '<p>').replace('<p><p ', '<p ').replace('</p></p>', '</p>'); + } } return value; }, @@ -216,7 +221,7 @@ var FieldTextHtml = widget.extend({ self.$iframe.css("height", (self.$body.find("#oe_snippets").length ? 500 : 300) + "px"); } }; - $(window).on('resize', self.resize); + $(window).on('resize', this.resize); var def = this._super.apply(this, arguments); this.$translate.remove(); @@ -377,7 +382,7 @@ var FieldTextHtml = widget.extend({ } }, destroy: function () { - $(window).off('resize', self.resize); + $(window).off('resize', this.resize); delete window.odoo[this.callback+"_editor"]; delete window.odoo[this.callback+"_content"]; delete window.odoo[this.callback+"_updown"]; diff --git a/addons/web_editor/static/src/js/snippets.editor.js b/addons/web_editor/static/src/js/snippets.editor.js index dcfabb6feb4..4ddda0c838e 100644 --- a/addons/web_editor/static/src/js/snippets.editor.js +++ b/addons/web_editor/static/src/js/snippets.editor.js @@ -1032,12 +1032,12 @@ data.Editor = Class.extend({ if($parent.closest(":data(\"snippet-editor\")").length) { while (!$parent.data("snippet-editor")) { var $nextParent = $parent.parent(); - if ($parent.children().length === 0 && $parent.text().trim() === "") { + if ($parent.children().length === 0 && $parent.text().trim() === "" && !$parent.hasClass("oe_structure")) { $parent.remove(); } $parent = $nextParent; } - if ($parent.children().length === 0 && $parent.text().trim() === "") { + if ($parent.children().length === 0 && $parent.text().trim() === "" && !$parent.hasClass("oe_structure")) { _.defer(function () { $parent.data("snippet-editor").on_remove(); }); |
