File tree 2 files changed +16
-4
lines changed
packages/dockview-core/src/dockview/components
2 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -71,13 +71,13 @@ export class PopupService extends CompositeDisposable {
71
71
72
72
openPopover (
73
73
element : HTMLElement ,
74
- position : { x : number ; y : number }
74
+ position : { x : number ; y : number ; zIndex ?: string }
75
75
) : void {
76
76
this . close ( ) ;
77
77
78
78
const wrapper = document . createElement ( 'div' ) ;
79
79
wrapper . style . position = 'absolute' ;
80
- wrapper . style . zIndex = '99 ';
80
+ wrapper . style . zIndex = position . zIndex ?? 'var(--dv-overlay-z-index) ';
81
81
wrapper . appendChild ( element ) ;
82
82
83
83
const anchorBox = this . _element . getBoundingClientRect ( ) ;
@@ -92,7 +92,7 @@ export class PopupService extends CompositeDisposable {
92
92
this . _active = wrapper ;
93
93
94
94
this . _activeDisposable . value = new CompositeDisposable (
95
- addDisposableListener ( window , 'pointerdown' , ( event ) => {
95
+ addDisposableListener ( window , 'pointerdown' , ( event ) => {
96
96
const target = event . target ;
97
97
98
98
if ( ! ( target instanceof HTMLElement ) ) {
Original file line number Diff line number Diff line change @@ -378,7 +378,7 @@ export class TabsContainer
378
378
! panelObject . api . isActive
379
379
) ;
380
380
381
- wrapper . addEventListener ( 'mousedown ' , ( ) => {
381
+ wrapper . addEventListener ( 'pointerdown ' , ( ) => {
382
382
this . accessor . popupService . close ( ) ;
383
383
tab . element . scrollIntoView ( ) ;
384
384
tab . panel . api . setActive ( ) ;
@@ -388,9 +388,21 @@ export class TabsContainer
388
388
el . appendChild ( wrapper ) ;
389
389
}
390
390
391
+ let tmp : HTMLElement | null = root ;
392
+
393
+ while (
394
+ tmp &&
395
+ ( tmp . style . zIndex === 'auto' || tmp . style . zIndex === '' )
396
+ ) {
397
+ tmp = tmp . parentElement ;
398
+ }
399
+
391
400
this . accessor . popupService . openPopover ( el , {
392
401
x : event . clientX ,
393
402
y : event . clientY ,
403
+ zIndex : tmp ?. style . zIndex
404
+ ? `calc(${ tmp . style . zIndex } + 1)`
405
+ : undefined ,
394
406
} ) ;
395
407
} )
396
408
) ;
You can’t perform that action at this time.
0 commit comments