@blueharford/scrypted-spatial-awareness 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.nodejs.js +1 -1
- package/dist/main.nodejs.js.map +1 -1
- package/dist/plugin.zip +0 -0
- package/package.json +1 -1
- package/src/main.ts +22 -58
package/dist/plugin.zip
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/src/main.ts
CHANGED
|
@@ -335,63 +335,13 @@ export class SpatialAwarenessPlugin extends ScryptedDeviceBase
|
|
|
335
335
|
async getSettings(): Promise<Setting[]> {
|
|
336
336
|
const settings = await this.storageSettings.getSettings();
|
|
337
337
|
|
|
338
|
-
// Topology editor button that opens modal overlay
|
|
338
|
+
// Topology editor button that opens modal overlay (appended to body for proper z-index)
|
|
339
339
|
settings.push({
|
|
340
340
|
key: 'topologyEditor',
|
|
341
341
|
title: 'Topology Editor',
|
|
342
342
|
type: 'html' as any,
|
|
343
343
|
value: `
|
|
344
344
|
<style>
|
|
345
|
-
.sa-modal-overlay {
|
|
346
|
-
display: none;
|
|
347
|
-
position: fixed;
|
|
348
|
-
top: 0;
|
|
349
|
-
left: 0;
|
|
350
|
-
right: 0;
|
|
351
|
-
bottom: 0;
|
|
352
|
-
background: rgba(0, 0, 0, 0.85);
|
|
353
|
-
z-index: 999999;
|
|
354
|
-
align-items: center;
|
|
355
|
-
justify-content: center;
|
|
356
|
-
}
|
|
357
|
-
.sa-modal-overlay.active {
|
|
358
|
-
display: flex;
|
|
359
|
-
}
|
|
360
|
-
.sa-modal-container {
|
|
361
|
-
width: 95vw;
|
|
362
|
-
height: 90vh;
|
|
363
|
-
max-width: 1600px;
|
|
364
|
-
background: #1a1a2e;
|
|
365
|
-
border-radius: 12px;
|
|
366
|
-
overflow: hidden;
|
|
367
|
-
position: relative;
|
|
368
|
-
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
|
|
369
|
-
}
|
|
370
|
-
.sa-modal-close {
|
|
371
|
-
position: absolute;
|
|
372
|
-
top: 10px;
|
|
373
|
-
right: 10px;
|
|
374
|
-
z-index: 1000000;
|
|
375
|
-
background: #e94560;
|
|
376
|
-
color: white;
|
|
377
|
-
border: none;
|
|
378
|
-
width: 36px;
|
|
379
|
-
height: 36px;
|
|
380
|
-
border-radius: 50%;
|
|
381
|
-
font-size: 20px;
|
|
382
|
-
cursor: pointer;
|
|
383
|
-
display: flex;
|
|
384
|
-
align-items: center;
|
|
385
|
-
justify-content: center;
|
|
386
|
-
}
|
|
387
|
-
.sa-modal-close:hover {
|
|
388
|
-
background: #ff6b6b;
|
|
389
|
-
}
|
|
390
|
-
.sa-modal-iframe {
|
|
391
|
-
width: 100%;
|
|
392
|
-
height: 100%;
|
|
393
|
-
border: none;
|
|
394
|
-
}
|
|
395
345
|
.sa-open-btn {
|
|
396
346
|
background: linear-gradient(135deg, #e94560 0%, #0f3460 100%);
|
|
397
347
|
color: white;
|
|
@@ -424,16 +374,30 @@ export class SpatialAwarenessPlugin extends ScryptedDeviceBase
|
|
|
424
374
|
</style>
|
|
425
375
|
<div class="sa-btn-container">
|
|
426
376
|
<p class="sa-btn-desc">Configure camera positions, connections, and transit times</p>
|
|
427
|
-
<button class="sa-open-btn" onclick="
|
|
377
|
+
<button class="sa-open-btn" onclick="window.openSATopologyEditor()">
|
|
428
378
|
<span>⚙</span> Open Topology Editor
|
|
429
379
|
</button>
|
|
430
380
|
</div>
|
|
431
|
-
<
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
381
|
+
<script>
|
|
382
|
+
window.openSATopologyEditor = function() {
|
|
383
|
+
// Remove existing modal if any
|
|
384
|
+
const existing = document.getElementById('sa-topology-modal');
|
|
385
|
+
if (existing) existing.remove();
|
|
386
|
+
|
|
387
|
+
// Create modal and append to body
|
|
388
|
+
const modal = document.createElement('div');
|
|
389
|
+
modal.id = 'sa-topology-modal';
|
|
390
|
+
modal.style.cssText = 'position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.9);z-index:2147483647;display:flex;align-items:center;justify-content:center;';
|
|
391
|
+
modal.innerHTML = \`
|
|
392
|
+
<div style="width:95vw;height:92vh;max-width:1800px;background:#1a1a2e;border-radius:12px;overflow:hidden;position:relative;box-shadow:0 25px 50px rgba(0,0,0,0.5);">
|
|
393
|
+
<button onclick="document.getElementById('sa-topology-modal').remove()" style="position:absolute;top:15px;right:15px;z-index:2147483647;background:#e94560;color:white;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;">×</button>
|
|
394
|
+
<iframe src="/endpoint/@blueharford/scrypted-spatial-awareness/ui/editor" style="width:100%;height:100%;border:none;"></iframe>
|
|
395
|
+
</div>
|
|
396
|
+
\`;
|
|
397
|
+
modal.onclick = function(e) { if (e.target === modal) modal.remove(); };
|
|
398
|
+
document.body.appendChild(modal);
|
|
399
|
+
};
|
|
400
|
+
</script>
|
|
437
401
|
`,
|
|
438
402
|
group: 'Topology',
|
|
439
403
|
});
|