aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/static/editor.js
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-07 05:50:37 -0400
committerhistoria <[not public]>2026-07-07 05:50:37 -0400
commit3f30fa3eec9c2e2acf9a984ccefb9529a25e688a (patch)
treeb6c146ec7f3dc2ea21dbf8ee7612c3889d93ca1a /internal/admin/static/editor.js
parenta51f7a53aa2c487ebf94ba0363038574ae8bb590 (diff)
downloadthehouseoficarus-3f30fa3eec9c2e2acf9a984ccefb9529a25e688a.tar.gz
feat: add insert/remove room to context menu in admin web GUI to 'push' or 'pull' map rooms
Diffstat (limited to 'internal/admin/static/editor.js')
-rw-r--r--internal/admin/static/editor.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/internal/admin/static/editor.js b/internal/admin/static/editor.js
index 50d86f1..1bd6872 100644
--- a/internal/admin/static/editor.js
+++ b/internal/admin/static/editor.js
@@ -278,12 +278,21 @@ function showDirContextMenu(e, dir) {
overlay.className = 'cm-overlay';
overlay.id = '_ctxMenuOverlay';
overlay.onclick = function() { closeContextMenu(); };
+ overlay.addEventListener('contextmenu', function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ var cx = ev.clientX, cy = ev.clientY;
+ closeContextMenu();
+ var el = document.elementFromPoint(cx, cy);
+ if (el) el.dispatchEvent(new MouseEvent('contextmenu', {bubbles:true, cancelable:true, clientX:cx, clientY:cy, button:2}));
+ });
var menu = document.createElement('div');
menu.className = 'cm-menu';
menu.id = '_ctxMenu';
menu.style.left = e.clientX + 'px';
menu.style.top = e.clientY + 'px';
+ menu.oncontextmenu = function(ev) { ev.preventDefault(); };
function addBtn(label, cls, handler) {
var btn = document.createElement('button');
@@ -324,12 +333,21 @@ function showItemContextMenu(e, id) {
overlay.className = 'cm-overlay';
overlay.id = '_ctxMenuOverlay';
overlay.onclick = function() { closeContextMenu(); };
+ overlay.addEventListener('contextmenu', function(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ var cx = ev.clientX, cy = ev.clientY;
+ closeContextMenu();
+ var el = document.elementFromPoint(cx, cy);
+ if (el) el.dispatchEvent(new MouseEvent('contextmenu', {bubbles:true, cancelable:true, clientX:cx, clientY:cy, button:2}));
+ });
var menu = document.createElement('div');
menu.className = 'cm-menu';
menu.id = '_ctxMenu';
menu.style.left = e.clientX + 'px';
menu.style.top = e.clientY + 'px';
+ menu.oncontextmenu = function(ev) { ev.preventDefault(); };
function addBtn(label, cls, handler) {
var btn = document.createElement('button');