diff options
| author | qsm-odoo <qsm@odoo.com> | 2019-11-06 12:08:39 +0000 |
|---|---|---|
| committer | qsm-odoo <qsm@odoo.com> | 2019-11-18 09:56:40 +0000 |
| commit | 01debf53f676e415241e4b2db0087e30eb1f0e8e (patch) | |
| tree | 2fe7dbb4b464de979a10a3aecc35829f28976f80 /addons/web_editor/static/src | |
| parent | 688e21b6e067e97604d491a44808753209eaf6cc (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.js | 17 | ||||
| -rw-r--r-- | addons/web_editor/static/src/scss/wysiwyg_snippets.scss | 1 |
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 { |
