fix: close dropdown menu when focus lost (#986)
* fix: close dropdown menu when focus lost Signed-off-by: davfsa <davfsa@gmail.com> * fix: shadow var name to avoid unused lint Signed-off-by: davfsa <davfsa@gmail.com> * fix: remove unused argument Signed-off-by: davfsa <davfsa@gmail.com> --------- Signed-off-by: davfsa <davfsa@gmail.com> Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
This commit is contained in:
@@ -25,11 +25,21 @@ export default ({
|
||||
name={name}
|
||||
namespace={name}
|
||||
className={`${name} dropdown-menu`}
|
||||
onKeyPressEvent={(_, event) => {
|
||||
onKeyPressEvent={(self, event) => {
|
||||
const key = event.get_keyval()[1];
|
||||
|
||||
if (key === Gdk.KEY_Escape) {
|
||||
App.get_window(name)?.set_visible(false);
|
||||
self.visible = false;
|
||||
}
|
||||
}}
|
||||
onFocusOutEvent={(self) => {
|
||||
self.visible = false;
|
||||
}}
|
||||
onButtonPressEvent={(self, event) => {
|
||||
const buttonClicked = event.get_button()[1];
|
||||
|
||||
if (buttonClicked === Gdk.BUTTON_PRIMARY || buttonClicked === Gdk.BUTTON_SECONDARY) {
|
||||
self.visible = false;
|
||||
}
|
||||
}}
|
||||
visible={false}
|
||||
@@ -48,17 +58,7 @@ export default ({
|
||||
})}
|
||||
{...props}
|
||||
>
|
||||
<eventbox
|
||||
className="parent-event"
|
||||
onButtonPressEvent={(_, event) => {
|
||||
const buttonClicked = event.get_button()[1];
|
||||
|
||||
if (buttonClicked === Gdk.BUTTON_PRIMARY || buttonClicked === Gdk.BUTTON_SECONDARY) {
|
||||
App.get_window(name)?.set_visible(false);
|
||||
}
|
||||
}}
|
||||
>
|
||||
<box className="top-eb" vertical>
|
||||
<box vertical>
|
||||
{bind(location).as((lcn) => {
|
||||
if (locationMap[lcn] === Astal.WindowAnchor.TOP) {
|
||||
return <BarEventMargins windowName={name} />;
|
||||
@@ -70,10 +70,7 @@ export default ({
|
||||
onButtonPressEvent={(_, event) => {
|
||||
const buttonClicked = event.get_button()[1];
|
||||
|
||||
if (
|
||||
buttonClicked === Gdk.BUTTON_PRIMARY ||
|
||||
buttonClicked === Gdk.BUTTON_SECONDARY
|
||||
) {
|
||||
if (buttonClicked === Gdk.BUTTON_PRIMARY || buttonClicked === Gdk.BUTTON_SECONDARY) {
|
||||
return true;
|
||||
}
|
||||
}}
|
||||
@@ -108,7 +105,6 @@ export default ({
|
||||
return <box />;
|
||||
})}
|
||||
</box>
|
||||
</eventbox>
|
||||
</window>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user