feat: add utils to create and remove the context menu
This commit is contained in:
parent
0ea9c8f168
commit
b51efc01e9
2 changed files with 23 additions and 0 deletions
17
utils/createContextMenu.ts
Normal file
17
utils/createContextMenu.ts
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import { render } from "vue";
|
||||||
|
import ContextMenu from "~/components/ContextMenu.vue";
|
||||||
|
import type { ContextMenuItem } from "~/types/interfaces";
|
||||||
|
|
||||||
|
export default (e: MouseEvent, menuItems: ContextMenuItem[]) => {
|
||||||
|
console.log("Rendering new context menu");
|
||||||
|
const menuContainer = document.createElement("div");
|
||||||
|
menuContainer.id = "context-menu";
|
||||||
|
document.body.appendChild(menuContainer);
|
||||||
|
const contextMenu = h(ContextMenu, {
|
||||||
|
menuItems,
|
||||||
|
cursorX: e.clientX,
|
||||||
|
cursorY: e.clientY
|
||||||
|
});
|
||||||
|
render(contextMenu, menuContainer);
|
||||||
|
console.log("Rendered");
|
||||||
|
}
|
6
utils/removeContextMenu.ts
Normal file
6
utils/removeContextMenu.ts
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
export default () => {
|
||||||
|
const contextMenu = document.getElementById("context-menu");
|
||||||
|
if (contextMenu) {
|
||||||
|
contextMenu.remove();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue