diff options
| author | Christophe Matthieu <chm@odoo.com> | 2019-01-28 09:39:56 +0000 |
|---|---|---|
| committer | Christophe Matthieu <chm@odoo.com> | 2019-02-14 15:11:19 +0000 |
| commit | b49745e52d7a7bc27afd416206dcd5fa242aa07a (patch) | |
| tree | ae6a047da7e77b951db241e1342278ce543972e2 /addons/website/static/src/js/editor | |
| parent | 7daa85dd12ff522be510bc2f8db1d968cae7d891 (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')
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 |
