summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/chrome/abstract_web_client.js
diff options
context:
space:
mode:
authorSamuel Degueldre <sad@odoo.com>2020-04-24 08:52:10 +0000
committerqsm-odoo <qsm@odoo.com>2020-05-25 08:41:49 +0000
commitf5e0727ca5d52d97dbe222623102895251fc763a (patch)
treee629bf765e50648c29e153147cbc2a99e596ce40 /addons/web/static/src/js/chrome/abstract_web_client.js
parent22449613141c5985f68a35d7ba0bc03386f28f96 (diff)
[FIX] web, *: fix keyboard overlay staying active when alt-tab/clicking
*: website The keyboard navigation mixin was initially only used in the web-client, because of this, some of the logic for hiding the overlay was put inside of the web-client. We recently made keyboard navigation available on website [1]. The handlers that would hide the overlay when alt-tabbing or clicking on the page were not registered. This commit fixes that by making the keyboard navigation mixin register the overlay-hiding handlers itself. [1]: https://github.com/odoo/odoo/commit/0b0690a3934cedcab0d5e34373e8d40c2ab25660 closes odoo/odoo#50122 Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/chrome/abstract_web_client.js')
-rw-r--r--addons/web/static/src/js/chrome/abstract_web_client.js14
1 files changed, 11 insertions, 3 deletions
diff --git a/addons/web/static/src/js/chrome/abstract_web_client.js b/addons/web/static/src/js/chrome/abstract_web_client.js
index 9012b7f53fd..56d00d80b9e 100644
--- a/addons/web/static/src/js/chrome/abstract_web_client.js
+++ b/addons/web/static/src/js/chrome/abstract_web_client.js
@@ -104,7 +104,11 @@ var AbstractWebClient = Widget.extend(KeyboardNavigationMixin, {
this.env = env;
core.bus.on('legacy_webclient_request', this, this._onLegacyWebclientRequest);
},
+ /**
+ * @override
+ */
start: function () {
+ KeyboardNavigationMixin.start.call(this);
var self = this;
// we add the o_touch_device css class to allow CSS to target touch
@@ -161,7 +165,13 @@ var AbstractWebClient = Widget.extend(KeyboardNavigationMixin, {
}
});
},
-
+ /**
+ * @override
+ */
+ destroy: function () {
+ KeyboardNavigationMixin.destroy.call(this);
+ return this._super(...arguments);
+ },
bind_events: function () {
var self = this;
$('.oe_systray').show();
@@ -190,14 +200,12 @@ var AbstractWebClient = Widget.extend(KeyboardNavigationMixin, {
}
}, 0);
});
- window.addEventListener('blur', function (e) {self._hideAccessKeyOverlay(); });
core.bus.on('click', this, function (ev) {
$('.tooltip').remove();
if (!$(ev.target).is('input[type=file]')) {
$(this.el.getElementsByClassName('oe_dropdown_menu oe_opened')).removeClass('oe_opened');
$(this.el.getElementsByClassName('oe_dropdown_toggle oe_opened')).removeClass('oe_opened');
}
- this._hideAccessKeyOverlay();
});
core.bus.on('connection_lost', this, this._onConnectionLost);
core.bus.on('connection_restored', this, this._onConnectionRestored);