From ca39379b3a4e745d11e3fc548fb06c70b313edb7 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Wed, 17 Mar 2021 18:31:34 +0300 Subject: [PATCH] Fix: closing workspace menu after clicking on iframe (#2349) --- .../components/cluster-manager/cluster-manager.scss | 5 +---- src/renderer/components/cluster-manager/clusters-menu.scss | 4 ++++ src/renderer/components/layout/page-layout.scss | 2 +- src/renderer/components/menu/menu.tsx | 7 +++++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/renderer/components/cluster-manager/cluster-manager.scss b/src/renderer/components/cluster-manager/cluster-manager.scss index f05d6b109d..bc34e58f27 100644 --- a/src/renderer/components/cluster-manager/cluster-manager.scss +++ b/src/renderer/components/cluster-manager/cluster-manager.scss @@ -11,10 +11,6 @@ grid-area: main; position: relative; display: flex; - - > * { - z-index: 1; - } } .ClustersMenu { @@ -33,6 +29,7 @@ bottom: 0; display: flex; background-color: $mainBackground; + z-index: 1; iframe { flex: 1; diff --git a/src/renderer/components/cluster-manager/clusters-menu.scss b/src/renderer/components/cluster-manager/clusters-menu.scss index 3fc77f697a..5256209b0a 100644 --- a/src/renderer/components/cluster-manager/clusters-menu.scss +++ b/src/renderer/components/cluster-manager/clusters-menu.scss @@ -61,3 +61,7 @@ } } } + +.Menu.WorkspaceMenu { + z-index: 2; // Place behind Preferences, Extension pages etc... +} \ No newline at end of file diff --git a/src/renderer/components/layout/page-layout.scss b/src/renderer/components/layout/page-layout.scss index c4629f0dbe..4b9a73144e 100644 --- a/src/renderer/components/layout/page-layout.scss +++ b/src/renderer/components/layout/page-layout.scss @@ -31,7 +31,7 @@ // covers whole app view area &.showOnTop { position: fixed !important; // allow to cover ClustersMenu - z-index: 1; + z-index: 3; left: 0; top: 0; right: 0; diff --git a/src/renderer/components/menu/menu.tsx b/src/renderer/components/menu/menu.tsx index bcc1eb9196..5e070698dd 100644 --- a/src/renderer/components/menu/menu.tsx +++ b/src/renderer/components/menu/menu.tsx @@ -82,6 +82,7 @@ export class Menu extends React.Component { window.addEventListener("click", this.onClickOutside, true); window.addEventListener("scroll", this.onScrollOutside, true); window.addEventListener("contextmenu", this.onContextMenu, true); + window.addEventListener("blur", this.onBlur, true); } componentWillUnmount() { @@ -232,6 +233,12 @@ export class Menu extends React.Component { } } + onBlur() { + if (document.activeElement?.tagName == "IFRAME") { + this.close(); + } + } + protected bindRef(elem: HTMLUListElement) { this.elem = elem; }