diff --git a/LesionTracker/client/components/viewer.js b/LesionTracker/client/components/viewer.js index 10fe673b0..4eea55fbe 100644 --- a/LesionTracker/client/components/viewer.js +++ b/LesionTracker/client/components/viewer.js @@ -301,6 +301,34 @@ function syncMeasurementAndToolData(data) { Template.viewer.onRendered(function() { // Enable hotkeys enableHotkeys(); + + // Set lesion tool buttons as disable if pixel spacing is not available for active element + this.autorun(function(){ + + if (!Session.get('ViewerData')) { + return; + } + + // TODO: Set activeViewport for empty viewport element + var activeViewportIndex = Session.get('activeViewport'); + if (activeViewportIndex === undefined) { + return; + } + + var viewports = $(".imageViewerViewport"); + var element = viewports.get(activeViewportIndex); + var enabledElement = cornerstone.getEnabledElement(element); + console.log(enabledElement); + // Check value of rowPixelSpacing & columnPixelSpacing to define as unavailable + if (!enabledElement || !enabledElement.image || !enabledElement.image.rowPixelSpacing || !enabledElement.image.columnPixelSpacing) { + // Disable Lesion Buttons + setLesionToolButtonsDisable(true); + } else{ + // Enable Lesion Buttons + setLesionToolButtonsDisable(false); + } + + }); }); Template.viewer.onDestroyed(function() { @@ -352,3 +380,11 @@ function handleMeasurementRemoved(e, eventData) { break; } } + +// Set enablement of Lesion Tools Buttons +function setLesionToolButtonsDisable (status) { + var buttons = [$("button#length"), $("button#lesion"), $("button#nonTarget")]; + buttons.forEach(function(btn){ + btn.prop("disabled", status); + }); +}