Try to fix LT-273 in CSS. Change descriptionRequired for LT-252

This commit is contained in:
Erik Ziegler 2016-07-22 10:56:54 +02:00
parent 738c118336
commit f53ee8e030
10 changed files with 86 additions and 43 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@ docs/
.meteor/local .meteor/local
.meteor/meteorite .meteor/meteorite
.meteor/dev_bundle .meteor/dev_bundle
*/.meteor/dev_bundle
node_modules node_modules
Packages/active-entry/helloworld/ Packages/active-entry/helloworld/
LesionTracker/tests/nightwatch/reports/ LesionTracker/tests/nightwatch/reports/

View File

@ -1 +0,0 @@
C:\Users\bruno\AppData\Local\.meteor\packages\meteor-tool\1.3.4_4\mt-os.windows.x86_32\dev_bundle

View File

@ -0,0 +1 @@
/Users/Erik/.meteor/packages/meteor-tool/.1.3.4_4.1rrnj7l++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle

View File

@ -0,0 +1 @@
/Users/Erik/.meteor/packages/meteor-tool/.1.3.4_4.1rrnj7l++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle

View File

@ -2,6 +2,8 @@
html body html body
font-family: 'Roboto', 'OpenSans', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif font-family: 'Roboto', 'OpenSans', 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif
// Try to fix LT-273, need a monitor to test on though.
text-rendering: optimizeLegibility
html hr html hr
border-top: 1px solid $uiBorderColor border-top: 1px solid $uiBorderColor

View File

@ -3,9 +3,12 @@
.group-radio .group-radio
label label
cursor: pointer cursor: pointer
input input
height: 0 height: 0
width: 0 width: 0
visibility: hidden
span span
padding-left: 23px padding-left: 23px
position: relative position: relative
@ -20,10 +23,12 @@
top: 50% top: 50%
transform(translateY(-50%)) transform(translateY(-50%))
width: 16px width: 16px
input:focus + span:before input:focus + span:before
// TODO: [design] define a outline for the design // TODO: [design] define a outline for the design
outline: none outline: none
box-shadow: 0 0 2px 2px $textSecondaryColor box-shadow: 0 0 2px 2px $textSecondaryColor
input:checked + span:after input:checked + span:after
background: $uiBorderColorDark background: $uiBorderColorDark
border-radius: 5px border-radius: 5px

View File

@ -1,19 +1,19 @@
<template name="lesionTableRow"> <template name="lesionTableRow">
<div class="lesionTableRow {{#if descriptionRequired}}warning{{/if}}{{#if responseStatus}}response-status{{/if}}" data-measurementid="{{_id}}"> <div class="lesionTableRow {{#unless rowItem.location}}warning{{/unless}}{{#if responseStatus}}response-status{{/if}}" data-measurementid="{{_id}}">
<div class='lesionRowSidebar'> <div class='lesionRowSidebar'>
<div class="lesionNumber"> <div class="lesionNumber">
{{rowItem.lesionNumberAbsolute}} {{rowItem.lesionNumberAbsolute}}
</div> </div>
{{#if rowItem.descriptionRequired}} {{#unless rowItem.location}}
<div class="warning-icon"> <div class="warning-icon">
<svg> <svg>
<use xlink:href=/packages/lesiontracker/assets/icons.svg#icon-ui-warning></use> <use xlink:href=/packages/lesiontracker/assets/icons.svg#icon-ui-warning></use>
</svg> </svg>
</div> </div>
{{/if}} {{/unless}}
{{#if rowItem.responseStatus}} {{#if rowItem.responseStatus}}
<div class="response-status-icon"> <div class="response-status-icon">
CR {{ rowItem.responseStatus }}
</div> </div>
{{/if}} {{/if}}
</div> </div>

View File

@ -1,39 +1,40 @@
Template.lesionTableTimepointCell.helpers({ Template.lesionTableTimepointCell.helpers({
hasDataAtThisTimepoint: function() { hasDataAtThisTimepoint() {
// This simple function just checks whether or not timepoint data // This simple function just checks whether or not timepoint data
// exists for this Measurement at this Timepoint // exists for this Measurement at this Timepoint
var lesionData = Template.parentData(1).rowItem; const lesionData = Template.parentData(1).rowItem;
return (lesionData && return (lesionData &&
lesionData.timepoints && lesionData.timepoints &&
lesionData.timepoints[this.timepointId]); lesionData.timepoints[this.timepointId]);
}, },
displayData: function() { displayData() {
// Search Measurements by lesion and timepoint // Search Measurements by lesion and timepoint
var lesionData = Template.parentData(1).rowItem; const lesionData = Template.parentData(1).rowItem;
if (!lesionData || if (!lesionData ||
!lesionData.timepoints || !lesionData.timepoints ||
!lesionData.timepoints[this.timepointId]) { !lesionData.timepoints[this.timepointId]) {
return; return;
} }
var data = lesionData.timepoints[this.timepointId]; const data = lesionData.timepoints[this.timepointId];
// Check whether this is a Nodal or Extranodal Measurement // Check whether this is a Nodal or Extranodal Measurement
var targetType = lesionData.isTarget ? 'target' : 'nonTarget'; const targetType = lesionData.isTarget ? 'target' : 'nonTarget';
var nodalType = lesionData.isNodal ? 'nodal' : 'extraNodal'; const nodalType = lesionData.isNodal ? 'nodal' : 'extraNodal';
// Get criteria types // Get criteria types
var criteriaTypes = TrialCriteriaTypes.find({ const criteriaTypes = TrialCriteriaTypes.find({
selected: true selected: true
}).map(function(criteria) { }).map(criteria => {
return criteria.id; return criteria.id;
}); });
var currentConstraints = getTrialCriteriaConstraints(criteriaTypes, data.imageId);
const currentConstraints = getTrialCriteriaConstraints(criteriaTypes, data.imageId);
if (lesionData.toolType === 'bidirectional') { if (lesionData.toolType === 'bidirectional') {
if (data.shortestDiameter) { if (data.shortestDiameter) {
if (currentConstraints) { if (currentConstraints) {
var criteria = currentConstraints[targetType][nodalType]; const criteria = currentConstraints[targetType][nodalType];
if (criteria && Object.keys(criteria)[0] === 'shortestDiameter') { if (criteria && Object.keys(criteria)[0] === 'shortestDiameter') {
return data.shortestDiameter + ' x ' + data.longestDiameter; return data.shortestDiameter + ' x ' + data.longestDiameter;
} }
@ -48,12 +49,9 @@ Template.lesionTableTimepointCell.helpers({
} }
}, },
isBidirectional: function() { isBidirectional() {
var lesionData = Template.parentData(1).rowItem; const lesionData = Template.parentData(1).rowItem;
if (lesionData.toolType === 'bidirectional') { return lesionData.toolType === 'bidirectional';
return true;
}
return false
} }
}); });
@ -68,7 +66,7 @@ function doneCallback(measurementData, deleteTool) {
} }
// Delete a lesion if Ctrl+D or DELETE is pressed while a lesion is selected // Delete a lesion if Ctrl+D or DELETE is pressed while a lesion is selected
var keys = { const keys = {
D: 68, D: 68,
DELETE: 46 DELETE: 46
}; };
@ -77,18 +75,17 @@ Template.lesionTableTimepointCell.events({
'dblclick .lesionTableTimepointCell': function() { 'dblclick .lesionTableTimepointCell': function() {
log.info('Double clicked on a timepoint cell'); log.info('Double clicked on a timepoint cell');
// Search Measurements by lesion and timepoint // Search Measurements by lesion and timepoint
var currentMeasurement = Template.parentData(1).rowItem; const currentMeasurement = Template.parentData(1).rowItem;
// Create some fake measurement data // Create some fake measurement data
var currentTimepointID = this.timepointId; const currentTimepointID = this.timepointId;
var timepointData = currentMeasurement.timepoints[currentTimepointID];
const timepointData = currentMeasurement.timepoints[currentTimepointID];
if (!timepointData) { if (!timepointData) {
return; return;
} }
var measurementData = { let measurementData = {
id: currentMeasurement._id, id: currentMeasurement._id,
timepointId: currentTimepointID, timepointId: currentTimepointID,
response: timepointData.response, response: timepointData.response,
@ -107,11 +104,11 @@ Template.lesionTableTimepointCell.events({
} }
}, },
'keydown .lesionTableTimepointCell': function(e) { 'keydown .lesionTableTimepointCell': function(e) {
var keyCode = e.which; const keyCode = e.which;
if (keyCode === keys.DELETE || if (keyCode === keys.DELETE ||
(keyCode === keys.D && e.ctrlKey === true)) { (keyCode === keys.D && e.ctrlKey === true)) {
var currentMeasurement = Template.parentData(1).rowItem; const currentMeasurement = Template.parentData(1).rowItem;
var currentTimepointID = this.timepointId; const currentTimepointID = this.timepointId;
showConfirmDialog(function() { showConfirmDialog(function() {
clearMeasurementTimepointData(currentMeasurement._id, currentTimepointID); clearMeasurementTimepointData(currentMeasurement._id, currentTimepointID);

View File

@ -2,6 +2,10 @@
$expandedHeight = 160px $expandedHeight = 160px
img.logoImage
display: inline-block
height: 100%
.topBar .topBar
height: $topBarHeight height: $topBarHeight
color: $textPrimaryColor color: $textPrimaryColor
@ -14,8 +18,6 @@ $expandedHeight = 160px
text-decoration: none text-decoration: none
img.logoImage img.logoImage
display: inline-block
height: 100%
max-height: 50px max-height: 50px
margin: 0 5px margin: 0 5px

View File

@ -23,7 +23,11 @@
<div class="toolbarSectionDrawerContainer"> <div class="toolbarSectionDrawerContainer">
<!-- TODO: [design] check which group of tools shall be shown --> <!-- TODO: [design] check which group of tools shall be shown -->
<div class="toolbarSectionDrawer">More tools coming soon</div> <div class="toolbarSectionDrawer">
{{#each toolbarButton in extraToolbarButtons}}
{{>toolbarSectionButton toolbarButton}}
{{/each}}
</div>
</div> </div>
</div> </div>

View File

@ -52,7 +52,7 @@ Template.toolbarSection.helpers({
}; };
}, },
toolbarButtons: function() { toolbarButtons() {
var buttonData = []; var buttonData = [];
buttonData.push({ buttonData.push({
id: 'zoom', id: 'zoom',
@ -103,8 +103,37 @@ Template.toolbarSection.helpers({
svgLink: '/packages/lesiontracker/assets/icons.svg#icon-tools-measure-temp' svgLink: '/packages/lesiontracker/assets/icons.svg#icon-tools-measure-temp'
}); });
return buttonData;
},
extraToolbarButtons() {
let buttonData = [];
// TODO: Get real icons for CR / UN / EX
buttonData.push({
id: 'crTool',
title: 'CR Tool',
classes: 'imageViewerTool toolbarSectionButton',
svgLink: '/packages/lesiontracker/assets/icons.svg#icon-tools-measure-temp'
});
buttonData.push({
id: 'unTool',
title: 'UN Tool',
classes: 'imageViewerTool toolbarSectionButton',
svgLink: '/packages/lesiontracker/assets/icons.svg#icon-tools-measure-temp'
});
buttonData.push({
id: 'exTool',
title: 'EX Tool',
classes: 'imageViewerTool toolbarSectionButton',
svgLink: '/packages/lesiontracker/assets/icons.svg#icon-tools-measure-temp'
});
return buttonData; return buttonData;
} }
}); });
Template.toolbarSection.events({ Template.toolbarSection.events({
@ -121,22 +150,24 @@ Template.toolbarSection.events({
}); });
Template.toolbarSection.onRendered(function() { Template.toolbarSection.onRendered(function() {
var tooltipButtons = $('[data-toggle="tooltip"]'); const instance = Template.instance();
const tooltipButtons = instance.$('[data-toggle="tooltip"]');
tooltipButtons.tooltip(OHIF.viewer.tooltipConfig); tooltipButtons.tooltip(OHIF.viewer.tooltipConfig);
// Enable tooltips for the layout button // Enable tooltips for the layout button
var extraTooltipButtons = $('[rel="tooltip"]'); const extraTooltipButtons = instance.$('[rel="tooltip"]');
extraTooltipButtons.tooltip(OHIF.viewer.tooltipConfig); extraTooltipButtons.tooltip(OHIF.viewer.tooltipConfig);
// Set disabled/enabled tool buttons that are set in toolManager // Set disabled/enabled tool buttons that are set in toolManager
var states = toolManager.getToolDefaultStates(); const states = toolManager.getToolDefaultStates();
var disabledToolButtons = states.disabledToolButtons; const disabledToolButtons = states.disabledToolButtons;
var allToolbarButtons = $('#toolbar').find('button'); const allToolbarButtons = $('#toolbar').find('button');
if (disabledToolButtons && disabledToolButtons.length > 0) { if (disabledToolButtons && disabledToolButtons.length > 0) {
for (var i = 0; i < allToolbarButtons.length; i++) { for (var i = 0; i < allToolbarButtons.length; i++) {
var toolbarButton = allToolbarButtons[i]; const toolbarButton = allToolbarButtons[i];
$(toolbarButton).prop('disabled', false); $(toolbarButton).prop('disabled', false);
var index = disabledToolButtons.indexOf($(toolbarButton).attr('id'));
const index = disabledToolButtons.indexOf($(toolbarButton).attr('id'));
if (index !== -1) { if (index !== -1) {
$(toolbarButton).prop('disabled', true); $(toolbarButton).prop('disabled', true);
} }