diff --git a/css/main.css b/css/main.css index 78c9e5d..de6a446 100644 --- a/css/main.css +++ b/css/main.css @@ -238,6 +238,7 @@ td { box-shadow: none; text-shadow: none; flex-shrink: 0; + font-size: 12px; } .nav-left { diff --git a/index.html b/index.html index d7d5a12..e73bed4 100644 --- a/index.html +++ b/index.html @@ -26,19 +26,19 @@
- - + +
diff --git a/js/main.js b/js/main.js index f9cc97a..c846702 100644 --- a/js/main.js +++ b/js/main.js @@ -1140,12 +1140,12 @@ async function loadQuestion(n, section = 1, force_reload = false) { loaded_question = n; // Set up question navigation - $(".navigation[value='next']").off(); - $(".navigation[value='previous']").off(); + $(".navigation[data-nav='next']").off(); + $(".navigation[data-nav='previous']").off(); if (n == 0) { - $(".navigation[value='previous']").attr("disabled", "disabled"); + $(".navigation[data-nav='previous']").attr("disabled", "disabled"); } else { - $(".navigation[value='previous']") + $(".navigation[data-nav='previous']") .removeAttr("disabled") .click(function() { loadQuestion(n - 1); @@ -1153,9 +1153,9 @@ async function loadQuestion(n, section = 1, force_reload = false) { } if (n == exam_details.number_of_questions - 1) { - $(".navigation[value='next']").attr("disabled", "disabled"); + $(".navigation[data-nav='next']").attr("disabled", "disabled"); } else { - $(".navigation[value='next']") + $(".navigation[data-nav='next']") .removeAttr("disabled") .click(function() { loadQuestion(n + 1); diff --git a/js/viewer.js b/js/viewer.js index 1f3ac5a..c093097 100644 --- a/js/viewer.js +++ b/js/viewer.js @@ -74,13 +74,7 @@ export function loadMainImage(image, stack) { // already fullscreen (disable it) disableFullscreen(this); } else { - $(".content-panel").prepend($(".canvas-panel")); - $(".canvas-panel").toggleClass("canvas-panel canvas-panel-fullscreen"); - $("#dicom-image").attr("height", "100%"); - $("#dicom-image").height("100%"); - // $(".cornerstone-canvas").attr("height", "100%"); - // $(".cornerstone-canvas").height("100%"); - cornerstone.resize(this, true); + enableFullscreen(this); } }); @@ -163,6 +157,9 @@ export function disableFullscreen(dicom_element) { $(".canvas-panel-fullscreen").toggleClass( "canvas-panel canvas-panel-fullscreen" ); + + $("#disable-fullscreen-viewer-button").hide(); + $("#fullscreen-viewer-button").show(); $(".question").prepend($(".canvas-panel")); $(".canvas-panel").get(0).scrollIntoView(); @@ -384,7 +381,7 @@ export function changeControlSelection() { break; } case "reset": { - cornerstone.reset(dicom_element); + resetViewer(dicom_element); sel.selectedIndex = old; sel.oldSelectedIndex = old; break; @@ -400,6 +397,12 @@ export function changeControlSelection() { } } +function resetViewer(dicom_element) { + cornerstoneTools.clearToolState(dicom_element, "RectangleRoi"); + cornerstoneTools.clearToolState(dicom_element, "Length"); + cornerstone.reset(dicom_element); +} + /** * Handle key button events * These are the same as in the RCR pratique implementation @@ -425,6 +428,10 @@ export function keydown_handler(event) { sel.selectedIndex = find_option(sel, "pan"); changeControlSelection(); break; + case "KeyC": + sel.selectedIndex = find_option(sel, "rectangle"); + changeControlSelection(); + break; case "KeyZ": sel.selectedIndex = find_option(sel, "zoom"); changeControlSelection(); @@ -463,7 +470,7 @@ export function keydown_handler(event) { changeControlSelection(); break; // Escape and C do the same - case "KeyC": + //case "KeyC": case "Escape": sel.selectedIndex = find_option(sel, "close"); changeControlSelection(); @@ -524,7 +531,7 @@ export function keydown_handler(event) { manualZoomDicom(-1); break; case "rotate": - manualRotateDicom(1); + manualRotateDicom(-1); break; case "scroll": manualScrollDicom(1); @@ -544,7 +551,7 @@ export function keydown_handler(event) { manualZoomDicom(1); break; case "rotate": - manualRotateDicom(-1); + manualRotateDicom(1); break; case "scroll": manualScrollDicom(-1); @@ -688,13 +695,16 @@ export function openMainImage(current_question, t, source) { - - +
@@ -720,11 +730,20 @@ export function openMainImage(current_question, t, source) { } } + const dicom_element = document.getElementById("dicom-image"); // Bind button actions $("#close-viewer-button").click(function () { - const dicom_element = document.getElementById("dicom-image"); closeViewer(dicom_element); }); + $("#reset-viewer-button").click(function () { + resetViewer(dicom_element); + }); + $("#fullscreen-viewer-button").click(function () { + enableFullscreen(dicom_element); + }); + $("#disable-fullscreen-viewer-button").click(function () { + disableFullscreen(dicom_element); + }); load(images, annotations); } @@ -754,3 +773,16 @@ export function urltoFile(url, filename, mimeType) { return new File([buf], filename, { type: mimeType }); }); } + + +function enableFullscreen(dicom_element) { + $(".content-panel").prepend($(".canvas-panel")); + $(".canvas-panel").toggleClass("canvas-panel canvas-panel-fullscreen"); + $("#dicom-image").attr("height", "100%"); + $("#dicom-image").height("100%"); + $("#disable-fullscreen-viewer-button").show(); + $("#fullscreen-viewer-button").hide(); + // $(".cornerstone-canvas").attr("height", "100%"); + // $(".cornerstone-canvas").height("100%"); + cornerstone.resize(dicom_element, true); +} \ No newline at end of file