5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 11:10:47 +08:00
wails/v3/internal/runtime/desktop/contextmenu.js
Lea Anthony f951b51c11
Context menu WIP
options refactor
2023-02-09 18:35:26 +11:00

28 lines
872 B
JavaScript

import {newRuntimeCaller} from "./runtime";
let call = newRuntimeCaller("contextmenu");
function openContextMenu(id, x, y, data) {
return call("OpenContextMenu", {id, x, y, data});
}
function enableContextMenus(enabled) {
if (enabled) {
window.addEventListener('contextmenu', contextMenuHandler);
} else {
window.removeEventListener('contextmenu', contextMenuHandler);
}
}
function contextMenuHandler(e) {
let element = e.target;
let contextMenuId = element.getAttribute("data-contextmenu-id");
if (contextMenuId) {
let contextMenuData = element.getAttribute("data-contextmenu-data");
console.log({contextMenuId, contextMenuData, x: e.clientX, y: e.clientY});
e.preventDefault();
return openContextMenu(contextMenuId, e.clientX, e.clientY, contextMenuData);
}
}
enableContextMenus(true);