diff options
| author | qsm-odoo <qsm@odoo.com> | 2019-09-09 15:51:47 +0000 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2019-09-10 12:12:28 +0000 |
| commit | 8025205bb4dee4d92a85de86a0cc4436cfb70149 (patch) | |
| tree | 1ce93c225a5b40e2b5b86e0333558de8185cfa3e /addons/web_editor/static/src/js/frontend/loader.js | |
| parent | 50d2f188f80fd5f13f72b352962ec12e099b8751 (diff) | |
[IMP] web_editor, *: introduce wysiwyg frontend loader
* website_forum, website_profile
- Share some code between website_forum and website_profile by exposing
a function in web_editor to instantiate a wysiwyg instance on a
textarea
- Use no-lazy loaded JS to add a visual loading effect while the
wysiwyg is not yet available.
This is made in preparation of task-2024197
(see https://github.com/odoo/odoo/pull/35749)
Thanks to @stefanorigano
closes odoo/odoo#36581
Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Diffstat (limited to 'addons/web_editor/static/src/js/frontend/loader.js')
| -rw-r--r-- | addons/web_editor/static/src/js/frontend/loader.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/addons/web_editor/static/src/js/frontend/loader.js b/addons/web_editor/static/src/js/frontend/loader.js new file mode 100644 index 00000000000..9c6cf0ef984 --- /dev/null +++ b/addons/web_editor/static/src/js/frontend/loader.js @@ -0,0 +1,28 @@ +odoo.define('web_editor.loader', function (require) { +'use strict'; + +var Wysiwyg = require('web_editor.wysiwyg.root'); + +function load(parent, textarea, options) { + var loading = textarea.nextElementSibling; + if (loading && !loading.classList.contains('o_wysiwyg_loading')) { + loading = null; + } + + if (!textarea.value.match(/\S/)) { + textarea.value = '<p><br/></p>'; + } + + var wysiwyg = new Wysiwyg(parent, options); + return wysiwyg.attachTo(textarea).then(() => { + if (loading) { + loading.parentNode.removeChild(loading); + } + return wysiwyg; + }); +} + +return { + load: load, +}; +}); |
