mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: wraps popper call in afterRender and uses createPopper (#10621)
Before this fix, popper was sometimes not applied.
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
import I18n from "I18n";
|
import I18n from "I18n";
|
||||||
import { createWidget } from "discourse/widgets/widget";
|
import { createWidget } from "discourse/widgets/widget";
|
||||||
import hbs from "discourse/widgets/hbs-compiler";
|
import hbs from "discourse/widgets/hbs-compiler";
|
||||||
|
import { schedule } from "@ember/runloop";
|
||||||
|
import { createPopper } from "@popperjs/core";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
@@ -244,33 +246,34 @@ export const WidgetDropdownClass = {
|
|||||||
|
|
||||||
didRenderWidget() {
|
didRenderWidget() {
|
||||||
if (this.state.opened) {
|
if (this.state.opened) {
|
||||||
const dropdownHeader = document.querySelector(
|
schedule("afterRender", () => {
|
||||||
`#${this.attrs.id} .widget-dropdown-header`
|
const dropdownHeader = document.querySelector(
|
||||||
);
|
`#${this.attrs.id} .widget-dropdown-header`
|
||||||
|
);
|
||||||
|
|
||||||
if (!dropdownHeader) return;
|
if (!dropdownHeader) return;
|
||||||
|
|
||||||
const dropdownBody = document.querySelector(
|
const dropdownBody = document.querySelector(
|
||||||
`#${this.attrs.id} .widget-dropdown-body`
|
`#${this.attrs.id} .widget-dropdown-body`
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!dropdownBody) return;
|
if (!dropdownBody) return;
|
||||||
|
|
||||||
/* global Popper:true */
|
this._popper = createPopper(dropdownHeader, dropdownBody, {
|
||||||
this._popper = Popper.createPopper(dropdownHeader, dropdownBody, {
|
strategy: "fixed",
|
||||||
strategy: "fixed",
|
placement: "bottom-start",
|
||||||
placement: "bottom-start",
|
modifiers: [
|
||||||
modifiers: [
|
{
|
||||||
{
|
name: "preventOverflow",
|
||||||
name: "preventOverflow",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "offset",
|
|
||||||
options: {
|
|
||||||
offset: [0, 5],
|
|
||||||
},
|
},
|
||||||
},
|
{
|
||||||
],
|
name: "offset",
|
||||||
|
options: {
|
||||||
|
offset: [0, 5],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user