zs
2025-04-30 3933f3629ec6282e5f070923f04bbf2c1add6687
HIAWms/web/src/components/vue3-context-menu/ContextMenuMutex.ts
对比新文件
@@ -0,0 +1,26 @@
import type { ContextMenuInstance } from "./ContextMenuDefine";
let currentOpenedContextMenu : ContextMenuInstance|null = null;
export function checkOpenedContextMenu() : boolean {
  return currentOpenedContextMenu !== null;
}
export function addOpenedContextMenu(inst: ContextMenuInstance) : void {
  if (currentOpenedContextMenu)
    closeContextMenu();
  currentOpenedContextMenu = inst;
}
export function removeOpenedContextMenu(inst: ContextMenuInstance) : void {
  if (inst === currentOpenedContextMenu)
    currentOpenedContextMenu = null;
}
/**
 * Close the currently open menu
 */
export function closeContextMenu() : void {
  if (currentOpenedContextMenu) {
    currentOpenedContextMenu.closeMenu();
    currentOpenedContextMenu = null;
  }
}