diff --git a/docs/api/index.md b/docs/api/index.md index 8ebf9ed8..ee11bddf 100755 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -16,6 +16,18 @@ import { hideAllPoppers } from 'floating-vue' hideAllPoppers() ``` +### `recomputeAllPoppers` + +Recompute the position of all shown poppers. + +```js +import { recomputeAllPoppers } from 'floating-vue' + +recomputeAllPoppers() +``` + +This function is automatically called when the window is resized. + ### `createTooltip` `createTooltip(el, valueOrOptions, directiveModifiers)` creates a tooltip on a given element. diff --git a/packages/floating-vue/src/components/Popper.ts b/packages/floating-vue/src/components/Popper.ts index a3f3346f..5b6ae603 100644 --- a/packages/floating-vue/src/components/Popper.ts +++ b/packages/floating-vue/src/components/Popper.ts @@ -1056,7 +1056,7 @@ if (typeof document !== 'undefined' && typeof window !== 'undefined') { } else { window.addEventListener('mousedown', handleGlobalClose, true) } - window.addEventListener('resize', computePositionAllShownPoppers) + window.addEventListener('resize', recomputeAllPoppers) } function handleGlobalClose (event: PopperEvent, touch = false) { @@ -1117,7 +1117,7 @@ function getAutoHideResult (popper: PopperInstance, event: Event) { return popper.autoHide } -function computePositionAllShownPoppers () { +export function recomputeAllPoppers () { for (let i = 0; i < shownPoppers.length; i++) { const popper = shownPoppers[i] popper.$_computePosition() diff --git a/packages/floating-vue/src/index.ts b/packages/floating-vue/src/index.ts index 6802186f..53994763 100644 --- a/packages/floating-vue/src/index.ts +++ b/packages/floating-vue/src/index.ts @@ -36,7 +36,7 @@ export const ThemeClass = PrivateThemeClass export const Tooltip = PrivateTooltip export const TooltipDirective = PrivateTooltipDirective // Utils -export { hideAllPoppers } from './components/Popper' +export { hideAllPoppers, recomputeAllPoppers } from './components/Popper' export * from './util/events' export { placements } from './util/popper' export type { Placement } from './util/popper'