Add reset button to viewport for restoring default properties

This commit is contained in:
Ross
2025-09-22 11:58:35 +01:00
parent 9c3c3573bc
commit 8d67078a90
+33
View File
@@ -2555,6 +2555,39 @@ function App({ container_id, imageStacks, autoCacheStack, annotationJson, viewer
}}
onClick={e => e.stopPropagation()} // <-- prevent bubbling to viewport
>
<button
style={{
display: "block",
width: "100%",
margin: "2px 0 8px 0",
background: "#444",
color: "#fff",
border: "none",
borderRadius: "3px",
cursor: "pointer",
padding: "6px 0",
fontSize: "13px",
fontWeight: "600",
}}
onClick={(e) => {
e.stopPropagation();
// Reset viewport properties (window/level and camera) to defaults
try {
const viewportId = `CT_${i}`;
const renderingEngine = renderingEngineRef.current;
const viewport = renderingEngine?.getViewport(viewportId);
if (viewport) {
if (typeof viewport.resetProperties === 'function') viewport.resetProperties();
if (typeof viewport.resetCamera === 'function') viewport.resetCamera();
if (typeof viewport.render === 'function') viewport.render();
updateOverlay(i, viewport);
}
} catch (err) { console.warn('Failed to reset viewport properties', err); }
setPresetsOpenArr(prev => { const next = [...prev]; next[i] = false; return next; });
}}
>
Reset to default
</button>
{WINDOW_LEVEL_PRESETS.map((preset) => (
<button
key={preset.name}