-
-
+
+
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