mirror of
https://github.com/hunvreus/basecoat.git
synced 2026-11-11 04:38:18 +00:00
Keep parent popovers open when a nested one opens (#213)
Opening a popover, dropdown menu, select or combobox closed every other open one, including the popover it sits in. Only close the ones that don't contain the source, like native popover=auto. Co-authored-by: grugbraindev <178141691+grugbraindev@users.noreply.github.com>
This commit is contained in:
+1
-1
@@ -507,7 +507,7 @@
|
||||
if (!root.contains(event.target)) root.close(false);
|
||||
};
|
||||
const handleDocumentPopover = (event) => {
|
||||
if (event.detail.source !== root) root.close(false);
|
||||
if (!root.contains(event.detail.source)) root.close(false);
|
||||
};
|
||||
|
||||
state.input.addEventListener('focus', handleInputFocus);
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
};
|
||||
|
||||
const handleDocumentPopover = (event) => {
|
||||
if (event.detail.source !== root) root.close(false);
|
||||
if (!root.contains(event.detail.source)) root.close(false);
|
||||
};
|
||||
|
||||
state.trigger.addEventListener('click', handleTriggerClick);
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@
|
||||
};
|
||||
|
||||
const handleDocumentPopover = (event) => {
|
||||
if (event.detail.source !== popoverComponent) {
|
||||
if (!popoverComponent.contains(event.detail.source)) {
|
||||
closePopover(false);
|
||||
}
|
||||
};
|
||||
|
||||
+1
-1
@@ -373,7 +373,7 @@
|
||||
if (!root.contains(event.target)) root.close(false);
|
||||
};
|
||||
const handleDocumentPopover = (event) => {
|
||||
if (event.detail.source !== root) root.close(false);
|
||||
if (!root.contains(event.detail.source)) root.close(false);
|
||||
};
|
||||
|
||||
state.trigger.addEventListener('keydown', handleTriggerKeydown);
|
||||
|
||||
Reference in New Issue
Block a user