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 | |
| 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')
7 files changed, 22 insertions, 7 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 diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js index d3aa045920c..9bb2f996595 100644 --- a/addons/website/static/src/js/menu/content.js +++ b/addons/website/static/src/js/menu/content.js @@ -412,7 +412,6 @@ var MenuEntryDialog = weWidgets.LinkDialog.extend({ } return this._super.apply(this, arguments); }, - }); var SelectEditMenuDialog = weWidgets.Dialog.extend({ diff --git a/addons/website/static/src/js/menu/edit.js b/addons/website/static/src/js/menu/edit.js index bc9e4646135..a3e68873a7b 100644 --- a/addons/website/static/src/js/menu/edit.js +++ b/addons/website/static/src/js/menu/edit.js @@ -11,6 +11,8 @@ var _t = core._t; * Adds the behavior when clicking on the 'edit' button (+ editor interaction) */ var EditPageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({ + assetLibs: ['web_editor.compiled_assets_wysiwyg', 'website.compiled_assets_wysiwyg'], + xmlDependencies: ['/website/static/src/xml/website.editor.xml'], actions: _.extend({}, websiteNavbarData.WebsiteNavbarActionWidget.prototype.actions, { edit: '_startEditMode', diff --git a/addons/website/static/src/js/menu/translate.js b/addons/website/static/src/js/menu/translate.js index a94d93d1d75..2359987957f 100644 --- a/addons/website/static/src/js/menu/translate.js +++ b/addons/website/static/src/js/menu/translate.js @@ -6,6 +6,8 @@ var TranslatorMenu = require('website.editor.menu.translate'); var websiteNavbarData = require('website.navbar'); var TranslatePageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({ + assetLibs: ['web_editor.compiled_assets_wysiwyg', 'website.compiled_assets_wysiwyg'], + actions: _.extend({}, websiteNavbarData.WebsiteNavbar.prototype.actions || {}, { edit_master: '_goToMasterPage', translate: '_startTranslateMode', diff --git a/addons/website/static/src/js/tours/rte.js b/addons/website/static/src/js/tours/rte.js index bdc676f4b33..2fd7aab345c 100644 --- a/addons/website/static/src/js/tours/rte.js +++ b/addons/website/static/src/js/tours/rte.js @@ -4,7 +4,7 @@ odoo.define('website.tour.rte', function (require) { var ajax = require('web.ajax'); var session = require('web.session'); var tour = require('web_tour.tour'); -var Wysiwyg = require('web_editor.wysiwyg'); +var Wysiwyg = require('web_editor.wysiwyg.root'); var domReady = $.Deferred(); $(domReady.resolve.bind(domReady)); |
