diff --git a/addons/web/static/src/core/popover/popover.js b/addons/web/static/src/core/popover/popover.js index 9ed194afcd7..8c929ca9082 100644 --- a/addons/web/static/src/core/popover/popover.js +++ b/addons/web/static/src/core/popover/popover.js @@ -11,6 +11,7 @@ export class Popover extends Component { onPositioned: this.props.onPositioned || this.onPositioned.bind(this), position: this.props.position, popper: "ref", + fixedPosition: this.props.fixedPosition, }); } onPositioned(el, { direction, variant }) { @@ -35,6 +36,9 @@ export class Popover extends Component { // reset all arrow classes const arrowEl = el.querySelector(".popover-arrow"); + if (!arrowEl) { + return; + } arrowEl.className = "popover-arrow"; switch (position) { case "tm": // top-middle @@ -98,6 +102,10 @@ Popover.props = { type: Function, optional: true, }, + fixedPosition: { + type: Boolean, + optional: true, + }, target: { validate: (target) => { // target may be inside an iframe, so get the Element constructor diff --git a/addons/web/static/src/core/popover/popover.xml b/addons/web/static/src/core/popover/popover.xml index 9e4fe0f15ff..ed2341c8e7f 100644 --- a/addons/web/static/src/core/popover/popover.xml +++ b/addons/web/static/src/core/popover/popover.xml @@ -4,7 +4,7 @@