Skip to content

Commit 490600c

Browse files
committed
fix: silence popperNode() errors, closes #828
1 parent b198353 commit 490600c

File tree

1 file changed

+17
-9
lines changed
  • packages/floating-vue/src/components

1 file changed

+17
-9
lines changed

packages/floating-vue/src/components/Popper.ts

+17-9
Original file line numberDiff line numberDiff line change
@@ -905,8 +905,12 @@ if (typeof document !== 'undefined' && typeof window !== 'undefined') {
905905
function handleGlobalMousedown (event) {
906906
for (let i = 0; i < shownPoppers.length; i++) {
907907
const popper = shownPoppers[i]
908-
const popperContent = popper.popperNode()
909-
popper.$_mouseDownContains = popperContent.contains(event.target)
908+
try {
909+
const popperContent = popper.popperNode()
910+
popper.$_mouseDownContains = popperContent.contains(event.target)
911+
} catch (e) {
912+
// noop
913+
}
910914
}
911915
}
912916

@@ -922,13 +926,17 @@ function handleGlobalClose (event, touch = false) {
922926
// Delay so that close directive has time to set values
923927
for (let i = 0; i < shownPoppers.length; i++) {
924928
const popper = shownPoppers[i]
925-
const popperContent = popper.popperNode()
926-
const contains = popper.$_mouseDownContains || popperContent.contains(event.target)
927-
requestAnimationFrame(() => {
928-
if (event.closeAllPopover || (event.closePopover && contains) || (popper.autoHide && !contains)) {
929-
popper.$_handleGlobalClose(event, touch)
930-
}
931-
})
929+
try {
930+
const popperContent = popper.popperNode()
931+
const contains = popper.$_mouseDownContains || popperContent.contains(event.target)
932+
requestAnimationFrame(() => {
933+
if (event.closeAllPopover || (event.closePopover && contains) || (popper.autoHide && !contains)) {
934+
popper.$_handleGlobalClose(event, touch)
935+
}
936+
})
937+
} catch (e) {
938+
// noop
939+
}
932940
}
933941
}
934942

0 commit comments

Comments
 (0)