diff options
Diffstat (limited to 'internal/admin/static/map.js')
| -rw-r--r-- | internal/admin/static/map.js | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/internal/admin/static/map.js b/internal/admin/static/map.js index 85364d5..5bff9d7 100644 --- a/internal/admin/static/map.js +++ b/internal/admin/static/map.js @@ -543,7 +543,12 @@ function renderLocalTab(localObjs) { h += '<div class="entry-fields">'; h += '<input class="local-name" value="' + escAttr(obj.name || '') + '" placeholder="name" onchange="updateLocalObject(' + i + ')" style="font-weight:bold">'; h += '<textarea class="local-desc" rows="4" placeholder="description (one per line)" onchange="updateLocalObject(' + i + ')">' + esc(descText) + '</textarea>'; - h += '<input class="local-aliases" value="' + escAttr((obj.aliases || []).join(', ')) + '" placeholder="aliases (comma separated)" onchange="updateLocalObject(' + i + ')">'; + h += '<div style="display:flex;align-items:center;gap:6px">'; + h += '<input class="local-aliases" value="' + escAttr((obj.aliases || []).join(', ')) + '" placeholder="aliases (comma separated)" onchange="updateLocalObject(' + i + ')" style="flex:1">'; + h += '<label style="font-size:10px;color:#ccc;cursor:pointer;display:flex;align-items:center;gap:3px;white-space:nowrap">'; + h += '<input type="checkbox" class="local-hidden" onchange="updateLocalObject(' + i + ')"' + (obj.hidden ? ' checked' : '') + '>'; + h += 'Hide</label>'; + h += '</div>'; h += '</div>'; h += '<button class="btn btn-sm btn-danger" onclick="removeLocalObject(' + i + ')">X</button>'; h += '</div>'; @@ -958,6 +963,7 @@ function updateLocalObject(i) { var nameEl = row.querySelector('.local-name'); var descEl = row.querySelector('.local-desc'); var aliasesEl = row.querySelector('.local-aliases'); + var hiddenEl = row.querySelector('.local-hidden'); localObjs[i].name = nameEl ? nameEl.value : ''; var descVal = descEl ? descEl.value : ''; if (descVal) { @@ -970,6 +976,7 @@ function updateLocalObject(i) { } else { localObjs[i].aliases = []; } + localObjs[i].hidden = hiddenEl ? hiddenEl.checked : false; var refObjs = objs.filter(function(o) { return !!o.id; }); setRoomObjects(localObjs.concat(refObjs)); } @@ -1159,7 +1166,10 @@ async function doSavePanel() { } function deleteRoom(id) { - if (!confirm('Delete room #' + id + '?')) return; + var cb = document.getElementById('confirmDelete'); + if (!cb || cb.checked) { + if (!confirm('Delete room #' + id + '?')) return; + } if (mapData && mapData.rooms) { var neighbors = []; if (mapData.links) { @@ -1567,6 +1577,7 @@ function initPanelResize() { var panel = $('#sidePanel'); if (!panel) return; panel.appendChild(handle); + panel.style.width = Math.min(800, window.innerWidth / 3) + 'px'; var startX, startW; handle.addEventListener('mousedown', function(e) { e.preventDefault(); |
