LT-240: Add studyListFunctionsEnabled property (false as default) in public.ui object in settings file to enable/disable import / export / anonymize functions
LT-239: Error handling on the import process (WIP)
This commit is contained in:
1 parent
1e1c4033a6
commit
2a17760ff8
15 files changed
+267
-179
No files matched your search
@@ -5,16 +5,18 @@
|
||||
onselectstart='return false;'>
|
||||
<ul>
|
||||
<li>
|
||||
<a class="disabled"><span class="fa-stack fa-lg">
|
||||
{{#if studyListFunctionsEnabled}}
|
||||
<a class="disabled"><span class="fa-stack fa-lg">
|
||||
<i class="fa fa-user fa-stack-1x"></i>
|
||||
<i class="fa fa-ban fa-stack-2x text-danger"></i>
|
||||
</span> Anonymize
|
||||
</a>
|
||||
</a>
|
||||
<a id="exportSelectedStudies" type="button" title="Export Selected Studies">
|
||||
<i class="fa fa-exchange fa-lg"></i> Export
|
||||
</a>
|
||||
{{/if}}
|
||||
<a class="disabled"><i class="fa fa-trash fa-lg"></i> Delete</a>
|
||||
<a class="disabled"><i class="fa fa-send-o fa-lg"></i> Send</a>
|
||||
<a id="exportSelectedStudies" type="button"
|
||||
title="Export Selected Studies">
|
||||
<i class="fa fa-exchange fa-lg"></i> Export</a>
|
||||
<a class="disabled"><i class="fa fa-download fa-lg"></i> Download</a>
|
||||
<a class="disabled"><i class="fa fa-photo fa-lg"></i> View Series Details</a>
|
||||
</li>
|
||||
|
||||
@@ -82,3 +82,10 @@ Template.studyContextMenu.events({
|
||||
closeHandler(dialog);
|
||||
}
|
||||
});
|
||||
|
||||
Template.studyContextMenu.helpers({
|
||||
'studyListFunctionsEnabled': function() {
|
||||
var studyListFunctionsEnabled = Meteor.settings && Meteor.settings.public && Meteor.settings.public.ui &&
|
||||
Meteor.settings.public.ui.studyListFunctionsEnabled || false; return studyListFunctionsEnabled;
|
||||
}
|
||||
});
|
||||
@@ -1,7 +1,8 @@
|
||||
<template name="worklistResult">
|
||||
{{>worklistToolbar}}
|
||||
<table id="tblStudyList" class="worklistResult table noselect">
|
||||
<thead>
|
||||
<div id="studyListContainer">
|
||||
{{>worklistToolbar}}
|
||||
<table id="tblStudyList" class="worklistResult table noselect">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<input type="text"
|
||||
@@ -25,16 +26,16 @@
|
||||
</th>
|
||||
|
||||
{{#unless isTouchDevice}}
|
||||
<th>
|
||||
<input type="text"
|
||||
class="form-control worklist-search"
|
||||
id="accessionNumber"
|
||||
placeholder="Search Accession #">
|
||||
<div id="_accessionNumber" class="sortingCell">
|
||||
<span>Accession #</span>
|
||||
<i class="{{sortingColumnsIcons.accessionNumber}}"> </i>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<input type="text"
|
||||
class="form-control worklist-search"
|
||||
id="accessionNumber"
|
||||
placeholder="Search Accession #">
|
||||
<div id="_accessionNumber" class="sortingCell">
|
||||
<span>Accession #</span>
|
||||
<i class="{{sortingColumnsIcons.accessionNumber}}"> </i>
|
||||
</div>
|
||||
</th>
|
||||
{{/unless}}
|
||||
|
||||
<th>
|
||||
@@ -50,16 +51,16 @@
|
||||
</th>
|
||||
|
||||
{{#unless isTouchDevice}}
|
||||
<th>
|
||||
<input type="text"
|
||||
class="form-control worklist-search"
|
||||
id="modality"
|
||||
placeholder="Search Modality">
|
||||
<div id="_modalities" class="sortingCell">
|
||||
<span>Modality</span>
|
||||
<i class="{{sortingColumnsIcons.modalities}}"> </i>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<input type="text"
|
||||
class="form-control worklist-search"
|
||||
id="modality"
|
||||
placeholder="Search Modality">
|
||||
<div id="_modalities" class="sortingCell">
|
||||
<span>Modality</span>
|
||||
<i class="{{sortingColumnsIcons.modalities}}"> </i>
|
||||
</div>
|
||||
</th>
|
||||
{{/unless}}
|
||||
<th>
|
||||
<input type="text"
|
||||
@@ -73,26 +74,28 @@
|
||||
</th>
|
||||
|
||||
{{#unless isTouchDevice}}
|
||||
<th>
|
||||
<div id="_numberOfStudyRelatedInstances" class="sortingCell">
|
||||
<span># Images</span>
|
||||
<i class="{{sortingColumnsIcons.numberOfStudyRelatedInstances}}"> </i>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div id="_numberOfStudyRelatedInstances" class="sortingCell">
|
||||
<span># Images</span>
|
||||
<i class="{{sortingColumnsIcons.numberOfStudyRelatedInstances}}"> </i>
|
||||
</div>
|
||||
</th>
|
||||
{{/unless}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="studyListData">
|
||||
{{#each studies}}
|
||||
{{>worklistStudy }}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{#if showLoadingText}}
|
||||
{{>loadingText}}
|
||||
{{/if}}
|
||||
</thead>
|
||||
<tbody id="studyListData">
|
||||
{{#each studies}}
|
||||
{{>worklistStudy }}
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{#if showLoadingText}}
|
||||
{{>loadingText}}
|
||||
{{/if}}
|
||||
|
||||
{{#if showNotFoundMessage}}
|
||||
{{>studyNotFound}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if showNotFoundMessage}}
|
||||
{{>studyNotFound}}
|
||||
{{/if}}
|
||||
</template>
|
||||
@@ -1,105 +1,107 @@
|
||||
table#tblStudyList
|
||||
color: #888888
|
||||
border-collapse: collapse
|
||||
border-color: gray
|
||||
#studyListContainer
|
||||
position: relative
|
||||
table#tblStudyList
|
||||
color: #888888
|
||||
border-collapse: collapse
|
||||
border-color: gray
|
||||
|
||||
thead
|
||||
background-color: black
|
||||
white-space: nowrap
|
||||
|
||||
tr
|
||||
th:first-child
|
||||
div.sortingCell
|
||||
border-right: 0.5px dashed #555555
|
||||
border-left: none
|
||||
|
||||
th
|
||||
padding: 0
|
||||
|
||||
div.sortingCell
|
||||
display: inline-block
|
||||
cursor: pointer
|
||||
width: 100%
|
||||
min-width: 95px
|
||||
margin: 0 auto
|
||||
color: white
|
||||
padding: 10px
|
||||
font-weight: 500
|
||||
background: #171717
|
||||
border-left: 0.5px dashed #555555
|
||||
|
||||
span
|
||||
font-size: 15px
|
||||
float: left
|
||||
|
||||
i
|
||||
margin: 0 5px
|
||||
|
||||
&:hover, &.active
|
||||
background: #252525
|
||||
|
||||
input.worklist-search
|
||||
height: 34px
|
||||
margin: 0 5px 20px 5px
|
||||
cursor: pointer
|
||||
padding: 10px
|
||||
border: none
|
||||
background-color: #707070
|
||||
color: #434343
|
||||
font-size: 10pt
|
||||
font-weight: normal
|
||||
width: calc(100% - 10px)
|
||||
box-sizing: border-box
|
||||
|
||||
-webkit-transition: all 0.15s ease-in-out;
|
||||
-moz-transition: all 0.15s ease-in-out;
|
||||
-o-transition: all 0.15s ease-in-out;
|
||||
transition: all 0.15s ease-in-out;
|
||||
|
||||
&:active, &:hover
|
||||
color: black
|
||||
background-color: #d3d3d9
|
||||
|
||||
&::-webkit-input-placeholder /* WebKit, Blink, Edge */
|
||||
color: #434343
|
||||
|
||||
&:-moz-placeholder /* Mozilla Firefox 4 to 18 */
|
||||
color: #434343
|
||||
opacity: 1
|
||||
|
||||
&::-moz-placeholder /* Mozilla Firefox 19+ */
|
||||
color: #434343
|
||||
opacity: 1
|
||||
|
||||
&:-ms-input-placeholder /* Internet Explorer 10-11 */
|
||||
color: #434343
|
||||
|
||||
::-webkit-datetime-edit-year-field:not([aria-valuenow]),
|
||||
::-webkit-datetime-edit-month-field:not([aria-valuenow]),
|
||||
::-webkit-datetime-edit-day-field:not([aria-valuenow])
|
||||
color: transparent
|
||||
|
||||
tbody
|
||||
tr
|
||||
height: 22px
|
||||
padding: 5px
|
||||
thead
|
||||
background-color: black
|
||||
white-space: nowrap
|
||||
|
||||
td
|
||||
color: #ffffff
|
||||
border-top: 0.5px dashed #555555
|
||||
white-space: nowrap
|
||||
tr
|
||||
th:first-child
|
||||
div.sortingCell
|
||||
border-right: 0.5px dashed #555555
|
||||
border-left: none
|
||||
|
||||
-webkit-transition: all 0.1s ease
|
||||
transition: all 0.1s ease
|
||||
th
|
||||
padding: 0
|
||||
|
||||
&:hover, &:active, &.active
|
||||
background-color: #009BD2
|
||||
color: white
|
||||
div.sortingCell
|
||||
display: inline-block
|
||||
cursor: pointer
|
||||
width: 100%
|
||||
min-width: 95px
|
||||
margin: 0 auto
|
||||
color: white
|
||||
padding: 10px
|
||||
font-weight: 500
|
||||
background: #171717
|
||||
border-left: 0.5px dashed #555555
|
||||
|
||||
span
|
||||
font-size: 15px
|
||||
float: left
|
||||
|
||||
i
|
||||
margin: 0 5px
|
||||
|
||||
&:hover, &.active
|
||||
background: #252525
|
||||
|
||||
input.worklist-search
|
||||
height: 34px
|
||||
margin: 0 5px 20px 5px
|
||||
cursor: pointer
|
||||
padding: 10px
|
||||
border: none
|
||||
background-color: #707070
|
||||
color: #434343
|
||||
font-size: 10pt
|
||||
font-weight: normal
|
||||
width: calc(100% - 10px)
|
||||
box-sizing: border-box
|
||||
|
||||
-webkit-transition: all 0.15s ease-in-out;
|
||||
-moz-transition: all 0.15s ease-in-out;
|
||||
-o-transition: all 0.15s ease-in-out;
|
||||
transition: all 0.15s ease-in-out;
|
||||
|
||||
&:active, &:hover
|
||||
color: black
|
||||
background-color: #d3d3d9
|
||||
|
||||
&::-webkit-input-placeholder /* WebKit, Blink, Edge */
|
||||
color: #434343
|
||||
|
||||
&:-moz-placeholder /* Mozilla Firefox 4 to 18 */
|
||||
color: #434343
|
||||
opacity: 1
|
||||
|
||||
&::-moz-placeholder /* Mozilla Firefox 19+ */
|
||||
color: #434343
|
||||
opacity: 1
|
||||
|
||||
&:-ms-input-placeholder /* Internet Explorer 10-11 */
|
||||
color: #434343
|
||||
|
||||
::-webkit-datetime-edit-year-field:not([aria-valuenow]),
|
||||
::-webkit-datetime-edit-month-field:not([aria-valuenow]),
|
||||
::-webkit-datetime-edit-day-field:not([aria-valuenow])
|
||||
color: transparent
|
||||
|
||||
tbody
|
||||
tr
|
||||
height: 22px
|
||||
padding: 5px
|
||||
background-color: black
|
||||
|
||||
td
|
||||
// This selector is necessary to override bootstrap's 'table' class
|
||||
border-top: 0.5px dashed #dddddd
|
||||
border-bottom: 0.5px dashed #dddddd
|
||||
color: white
|
||||
color: #ffffff
|
||||
border-top: 0.5px dashed #555555
|
||||
white-space: nowrap
|
||||
|
||||
-webkit-transition: all 0.1s ease
|
||||
transition: all 0.1s ease
|
||||
|
||||
&:hover, &:active, &.active
|
||||
background-color: #009BD2
|
||||
color: white
|
||||
|
||||
td
|
||||
// This selector is necessary to override bootstrap's 'table' class
|
||||
border-top: 0.5px dashed #dddddd
|
||||
border-bottom: 0.5px dashed #dddddd
|
||||
color: white
|
||||
background-color: #009BD2
|
||||
@@ -4,7 +4,7 @@
|
||||
{{#if importSupported }}
|
||||
<span class="btn btn-default btn-file">
|
||||
<i class="fa fa-upload"></i>
|
||||
<input id="btnImport" title="Import" type="file" webkitdirectory directory multiple>
|
||||
<input id="btnImport" title="Import Study" type="file" webkitdirectory directory multiple>
|
||||
</span>
|
||||
{{/if }}
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,10 @@ Template.worklistToolbar.events({
|
||||
Template.worklistToolbar.helpers({
|
||||
importSupported: function() {
|
||||
var importSupported = Session.get('importSupported');
|
||||
if (importSupported) {
|
||||
var studyListFunctionsEnabled = Meteor.settings && Meteor.settings.public && Meteor.settings.public.ui &&
|
||||
Meteor.settings.public.ui.studyListFunctionsEnabled || false;
|
||||
|
||||
if (importSupported && studyListFunctionsEnabled) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#worklistToolbar
|
||||
background-color: black
|
||||
text-align: right
|
||||
width: 100%
|
||||
height: auto
|
||||
position: absolute
|
||||
top: 0
|
||||
right: 0
|
||||
|
||||
.btn-file
|
||||
position: relative
|
||||
|
||||
Reference in new issue
Block a user