Skip to content

Commit 26bb132

Browse files
authored
Set closeOnClickOut for ResourcesDetails inside viewers (#2101)
1 parent f939271 commit 26bb132

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

geonode_mapstore_client/client/js/hooks/useDetectClickOut.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,20 @@ function useDetectClickOut({
3131
const node = useRef();
3232
useEffect(() => {
3333
function handleClickOut(event) {
34-
const nodeContains = !disabled && node?.current?.contains;
35-
if (nodeContains && !node.current.contains(event.target)) {
34+
if (disabled || !node.current) return;
35+
const target = event.target;
36+
const isNode = target instanceof Node;
37+
if ((isNode && !node.current.contains(target))
38+
|| document.activeElement === document.querySelector("iframe")
39+
) {
3640
onClickOut();
3741
}
3842
}
3943
window.addEventListener('mousedown', handleClickOut);
44+
window.addEventListener('blur', handleClickOut);
4045
return () => {
4146
window.removeEventListener('mousedown', handleClickOut);
47+
window.removeEventListener('blur', handleClickOut);
4248
};
4349
}, [ disabled, node, onClickOut ]);
4450
return node;

geonode_mapstore_client/static/mapstore/configs/localConfig.json

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -687,7 +687,8 @@
687687
"cfg": {
688688
"headerNodeSelector": ".gn-main-header",
689689
"containerPosition": "header",
690-
"defaultOpen": true
690+
"defaultOpen": true,
691+
"closeOnClickOut": true
691692
}
692693
},
693694
{
@@ -1575,7 +1576,8 @@
15751576
"name": "ResourceDetails",
15761577
"cfg": {
15771578
"headerNodeSelector": ".gn-main-header",
1578-
"containerPosition": "header"
1579+
"containerPosition": "header",
1580+
"closeOnClickOut": true
15791581
}
15801582
},
15811583
{
@@ -2263,7 +2265,8 @@
22632265
"name": "ResourceDetails",
22642266
"cfg": {
22652267
"headerNodeSelector": ".gn-main-header",
2266-
"containerPosition": "header"
2268+
"containerPosition": "header",
2269+
"closeOnClickOut": true
22672270
}
22682271
},
22692272
{
@@ -2480,7 +2483,8 @@
24802483
"cfg": {
24812484
"headerNodeSelector": ".gn-main-header",
24822485
"containerPosition": "header",
2483-
"defaultOpen": true
2486+
"defaultOpen": true,
2487+
"closeOnClickOut": true
24842488
}
24852489
},
24862490
{
@@ -2605,7 +2609,8 @@
26052609
"name": "ResourceDetails",
26062610
"cfg": {
26072611
"headerNodeSelector": ".gn-main-header",
2608-
"containerPosition": "header"
2612+
"containerPosition": "header",
2613+
"closeOnClickOut": true
26092614
}
26102615
},
26112616
{
@@ -3433,7 +3438,8 @@
34333438
"name": "ResourceDetails",
34343439
"cfg": {
34353440
"headerNodeSelector": ".gn-main-header",
3436-
"containerPosition": "header"
3441+
"containerPosition": "header",
3442+
"closeOnClickOut": true
34373443
}
34383444
},
34393445
{

0 commit comments

Comments
 (0)