fix(wysiwig): zindexregistry for menus

This commit is contained in:
Juergen Kunz
2025-06-27 00:35:06 +00:00
parent 00ad2b0563
commit 3ee48e80ad
3 changed files with 41 additions and 14 deletions

View File

@ -46,10 +46,14 @@ export class DeesFormattingMenu extends DeesElement {
:host {
position: fixed;
pointer-events: none;
top: 0;
left: 0;
width: 0;
height: 0;
}
.formatting-menu {
position: absolute;
position: fixed;
background: ${cssManager.bdTheme('#ffffff', '#262626')};
border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#404040')};
border-radius: 6px;
@ -159,12 +163,12 @@ export class DeesFormattingMenu extends DeesElement {
this.position = position;
this.callback = callback;
// Get z-index from registry
// Get z-index from registry and apply immediately
this.menuZIndex = zIndexRegistry.getNextZIndex();
zIndexRegistry.register(this, this.menuZIndex);
this.style.zIndex = this.menuZIndex.toString();
this.visible = true;
console.log('FormattingMenu.show - visible set to:', this.visible);
}
public hide(): void {

View File

@ -1,6 +1,5 @@
import {
customElement,
property,
html,
DeesElement,
type TemplateResult,
@ -54,10 +53,14 @@ export class DeesSlashMenu extends DeesElement {
:host {
position: fixed;
pointer-events: none;
top: 0;
left: 0;
width: 0;
height: 0;
}
.slash-menu {
position: absolute;
position: fixed;
background: ${cssManager.bdTheme('#ffffff', '#262626')};
border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#404040')};
border-radius: 8px;
@ -121,7 +124,7 @@ export class DeesSlashMenu extends DeesElement {
render(): TemplateResult {
if (!this.visible) return html``;
// Apply z-index to host element
// Ensure z-index is applied to host element
this.style.zIndex = this.menuZIndex.toString();
const menuItems = this.getFilteredMenuItems();
@ -168,9 +171,10 @@ export class DeesSlashMenu extends DeesElement {
this.filter = '';
this.selectedIndex = 0;
// Get z-index from registry
// Get z-index from registry and apply immediately
this.menuZIndex = zIndexRegistry.getNextZIndex();
zIndexRegistry.register(this, this.menuZIndex);
this.style.zIndex = this.menuZIndex.toString();
this.visible = true;
}