summaryrefslogtreecommitdiff
path: root/addons/web
diff options
context:
space:
mode:
authorPierre Paridans <app@odoo.com>2021-01-14 09:13:25 +0000
committerPierre Paridans <app@odoo.com>2021-01-14 09:21:59 +0000
commit5ac640611e21e6a7ac1c02e632e4550155c98f9a (patch)
treea83a29e362a17f91aec34d97a0ba5c8c8a6f98d2 /addons/web
parent127491b22e427587a3cdf88328826847fa881403 (diff)
[FIX] web: make Popover patchable
Allows customization for enterprise. Task ID: 2347640
Diffstat (limited to 'addons/web')
-rw-r--r--addons/web/static/src/js/core/popover.js14
1 files changed, 10 insertions, 4 deletions
diff --git a/addons/web/static/src/js/core/popover.js b/addons/web/static/src/js/core/popover.js
index 6210ce940b5..d2102b56d3c 100644
--- a/addons/web/static/src/js/core/popover.js
+++ b/addons/web/static/src/js/core/popover.js
@@ -1,6 +1,8 @@
-odoo.define('web.Popover', function () {
+odoo.define('web.Popover', function (require) {
'use strict';
+ const patchMixin = require('web.patchMixin');
+
const { Component, hooks, misc, QWeb } = owl;
const { Portal } = misc;
const { useRef, useState } = hooks;
@@ -79,6 +81,10 @@ odoo.define('web.Popover', function () {
this._hasGlobalEventListeners = true;
}
+ _close() {
+ this.state.displayed = false;
+ }
+
/**
* Computes the popover according to its props. This method will try to position the
* popover as requested (according to the `position` props). If the requested position
@@ -184,7 +190,7 @@ odoo.define('web.Popover', function () {
if (this.popoverRef.el && this.popoverRef.el.contains(ev.target)) {
return;
}
- this.state.displayed = false;
+ this._close();
}
/**
@@ -192,7 +198,7 @@ odoo.define('web.Popover', function () {
* @param {Event} ev
*/
_onPopoverClose(ev) {
- this.state.displayed = false;
+ this._close();
}
/**
@@ -312,5 +318,5 @@ odoo.define('web.Popover', function () {
QWeb.registerComponent('Popover', Popover);
- return Popover;
+ return patchMixin(Popover);
});