summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/editor
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@odoo.com>2019-01-28 09:39:56 +0000
committerChristophe Matthieu <chm@odoo.com>2019-02-14 15:11:19 +0000
commitb49745e52d7a7bc27afd416206dcd5fa242aa07a (patch)
treeae6a047da7e77b951db241e1342278ce543972e2 /addons/website/static/src/js/editor
parent7daa85dd12ff522be510bc2f8db1d968cae7d891 (diff)
[IMP] web_editor: lazy load the wysiwyg
Issue: wysiwyg asset slow down the loading of the website, error inadvertently introduced: https://github.com/odoo/odoo/pull/29775 The assets are now loaded assynchroneously, when the editor is needed, its assets will be loaded. closes odoo/odoo#30700
Diffstat (limited to 'addons/website/static/src/js/editor')
-rw-r--r--addons/website/static/src/js/editor/editor_menu.js9
-rw-r--r--addons/website/static/src/js/editor/editor_menu_translate.js9
-rw-r--r--addons/website/static/src/js/editor/wysiwyg_multizone.js4
3 files changed, 17 insertions, 5 deletions
diff --git a/addons/website/static/src/js/editor/editor_menu.js b/addons/website/static/src/js/editor/editor_menu.js
index 5d7621b91e3..19cffd3f3aa 100644
--- a/addons/website/static/src/js/editor/editor_menu.js
+++ b/addons/website/static/src/js/editor/editor_menu.js
@@ -4,10 +4,17 @@ odoo.define('website.editor.menu', function (require) {
var Dialog = require('web.Dialog');
var Widget = require('web.Widget');
var core = require('web.core');
-var WysiwygMultizone = require('web_editor.wysiwyg.multizone');
+var Wysiwyg = require('web_editor.wysiwyg.root');
var _t = core._t;
+var WysiwygMultizone = Wysiwyg.extend({
+ assetLibs: Wysiwyg.prototype.assetLibs.concat(['website.compiled_assets_wysiwyg']),
+ _getWysiwygContructor: function () {
+ return odoo.__DEBUG__.services['web_editor.wysiwyg.multizone'];
+ }
+});
+
var EditorMenu = Widget.extend({
template: 'website.editorbar',
xmlDependencies: ['/website/static/src/xml/website.editor.xml'],
diff --git a/addons/website/static/src/js/editor/editor_menu_translate.js b/addons/website/static/src/js/editor/editor_menu_translate.js
index c52c5e140fc..d390c85a949 100644
--- a/addons/website/static/src/js/editor/editor_menu_translate.js
+++ b/addons/website/static/src/js/editor/editor_menu_translate.js
@@ -5,7 +5,7 @@ require('web.dom_ready');
var core = require('web.core');
var Dialog = require('web.Dialog');
var localStorage = require('web.local_storage');
-var WysiwygTranslate = require('web_editor.wysiwyg.multizone.translate');
+var Wysiwyg = require('web_editor.wysiwyg.root');
var EditorMenu = require('website.editor.menu');
var _t = core._t;
@@ -46,6 +46,13 @@ var TranslatorInfoDialog = Dialog.extend({
},
});
+var WysiwygTranslate = Wysiwyg.extend({
+ assetLibs: Wysiwyg.prototype.assetLibs.concat(['website.compiled_assets_wysiwyg']),
+ _getWysiwygContructor: function () {
+ return odoo.__DEBUG__.services['web_editor.wysiwyg.multizone.translate'];
+ }
+});
+
var TranslatorMenu = EditorMenu.extend({
LOCATION_SEARCH: 'edit_translations',
diff --git a/addons/website/static/src/js/editor/wysiwyg_multizone.js b/addons/website/static/src/js/editor/wysiwyg_multizone.js
index 1441a7ce3e3..1d264eff436 100644
--- a/addons/website/static/src/js/editor/wysiwyg_multizone.js
+++ b/addons/website/static/src/js/editor/wysiwyg_multizone.js
@@ -6,7 +6,7 @@ var DropzonePlugin = require('web_editor.wysiwyg.plugin.dropzone');
var HelperPlugin = require('web_editor.wysiwyg.plugin.helper');
var TextPlugin = require('web_editor.wysiwyg.plugin.text');
var HistoryPlugin = require('web_editor.wysiwyg.plugin.history');
-var Wysiwyg = require('web_editor.wysiwyg');
+var Wysiwyg = require('web_editor.wysiwyg.snippets');
var _t = core._t;
@@ -70,8 +70,6 @@ DropzonePlugin.include({
-
-
/**
* HtmlEditor
* Intended to edit HTML content. This widget uses the Wysiwyg editor