222
schangxiang@126.com
2025-05-06 38b161e4d52362081bfe78fb5b51fbf384db7ce2
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;
  }
}