summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2019-11-06 12:08:39 +0000
committerqsm-odoo <qsm@odoo.com>2019-11-18 09:56:40 +0000
commit01debf53f676e415241e4b2db0087e30eb1f0e8e (patch)
tree2fe7dbb4b464de979a10a3aecc35829f28976f80 /addons/web_editor/static/src
parent688e21b6e067e97604d491a44808753209eaf6cc (diff)
[IMP] web_editor: allow to temporary block preview overlay toggling
This will allow to do the following: 1) Show a preview overlay over an element 2) Block preview overlays -> the overlay at step 1 stays no matter what 3) Encourage the user to do something that edits what the preview overlay is currently showing. 4) The edition is finished, go back to normal by unblocking preview overlays. Part of https://github.com/odoo/odoo/pull/38959 task-2066614
Diffstat (limited to 'addons/web_editor/static/src')
-rw-r--r--addons/web_editor/static/src/js/editor/snippets.editor.js17
-rw-r--r--addons/web_editor/static/src/scss/wysiwyg_snippets.scss1
2 files changed, 18 insertions, 0 deletions
diff --git a/addons/web_editor/static/src/js/editor/snippets.editor.js b/addons/web_editor/static/src/js/editor/snippets.editor.js
index 4d114fec8dc..9644dbe17f3 100644
--- a/addons/web_editor/static/src/js/editor/snippets.editor.js
+++ b/addons/web_editor/static/src/js/editor/snippets.editor.js
@@ -736,6 +736,8 @@ var SnippetsMenu = Widget.extend({
'reload_snippet_dropzones': '_disableUndroppableSnippets',
'update_customize_elements': '_onUpdateCustomizeElements',
'hide_overlay': '_onHideOverlay',
+ 'block_preview_overlays': '_onBlockPreviewOverlays',
+ 'unblock_preview_overlays': '_onUnblockPreviewOverlays',
},
/**
@@ -1123,6 +1125,9 @@ var SnippetsMenu = Widget.extend({
* (might be async when an editor must be created)
*/
_activateSnippet: function ($snippet, previewMode, ifInactiveOptions) {
+ if (this._blockPreviewOverlays && previewMode) {
+ return Promise.resolve();
+ }
return this._activateSnippetMutex.exec(() => {
return new Promise(resolve => {
// Take the first parent of the provided DOM (or itself) which
@@ -1840,6 +1845,18 @@ var SnippetsMenu = Widget.extend({
},
/**
* @private
+ */
+ _onBlockPreviewOverlays: function (ev) {
+ this._blockPreviewOverlays = true;
+ },
+ /**
+ * @private
+ */
+ _onUnblockPreviewOverlays: function (ev) {
+ this._blockPreviewOverlays = false;
+ },
+ /**
+ * @private
* @param {OdooEvent} ev
*/
_onRemoveSnippet: function (ev) {
diff --git a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
index 41515e626db..5ddba517474 100644
--- a/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
+++ b/addons/web_editor/static/src/scss/wysiwyg_snippets.scss
@@ -776,6 +776,7 @@ body.editor_enable.editor_has_snippets {
}
&.o_we_overlay_preview {
+ pointer-events: none;
border-color: $o-we-handles-accent-color-preview;
> .o_handles {