LT-66 Import DICOM Studies
- Add a toolbar in the top of worklist - Add Import button in the worklist toolbar - Upload all files in the selected folder to import from client to server - Import uploaded files via DIMSE - Delete uploaded files from server when import is completed - Handle import status in client - Show/Update progress dialog in client while uploading and importing files - Show Import button only if import is supported for the default service type (DICOMWeb is currently not supported)
This commit is contained in:
1 parent
064743a8f7
commit
a2124c03e9
13 files changed
+324
-3
No files matched your search
@@ -1,4 +1,5 @@
|
||||
<template name="worklistResult">
|
||||
{{>worklistToolbar}}
|
||||
<table id="tblStudyList" class="worklistResult table table-striped noselect">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<template name="worklistToolbar">
|
||||
<div id='worklistToolbar'>
|
||||
<div class="btn-group">
|
||||
{{#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>
|
||||
</span>
|
||||
{{/if }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -0,0 +1,28 @@
|
||||
Template.worklistToolbar.events({
|
||||
'change #btnImport': function(e) {
|
||||
// Get selected files located in the client machine
|
||||
var selectedFiles = $.map(e.currentTarget.files, function(value) {
|
||||
return value;
|
||||
});
|
||||
|
||||
importStudies(selectedFiles);
|
||||
}
|
||||
});
|
||||
|
||||
Template.worklistToolbar.helpers({
|
||||
importSupported: function() {
|
||||
var importSupported = Session.get('importSupported');
|
||||
if (importSupported) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
Meteor.call("importSupported", function(err, result) {
|
||||
if (!err && result) {
|
||||
Session.set('importSupported', true);
|
||||
} else {
|
||||
Session.set('importSupported', false);
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,27 @@
|
||||
#worklistToolbar
|
||||
background-color: black
|
||||
text-align: right
|
||||
width: 100%
|
||||
height: auto
|
||||
|
||||
.btn-file
|
||||
position: relative
|
||||
overflow: hidden
|
||||
width: 30px
|
||||
height: 30px
|
||||
padding: 5px
|
||||
line-height: 20px
|
||||
|
||||
input[type=file]
|
||||
position: absolute
|
||||
top: 0
|
||||
right: 0
|
||||
min-width: 100%
|
||||
min-height: 100%
|
||||
font-size: 100 px
|
||||
text-align: right
|
||||
opacity: 0
|
||||
outline: none
|
||||
background: white
|
||||
cursor: inherit
|
||||
display: block
|
||||
@@ -47,6 +47,10 @@ Package.onUse(function (api) {
|
||||
api.addFiles('client/components/studyContextMenu/studyContextMenu.js', 'client');
|
||||
api.addFiles('client/components/studyContextMenu/studyContextMenu.styl', 'client');
|
||||
|
||||
api.addFiles('client/components/worklistToolbar/worklistToolbar.html', 'client');
|
||||
api.addFiles('client/components/worklistToolbar/worklistToolbar.js', 'client');
|
||||
api.addFiles('client/components/worklistToolbar/worklistToolbar.styl', 'client');
|
||||
|
||||
// Library functions
|
||||
api.addFiles('lib/getStudyMetadata.js', 'client');
|
||||
api.addFiles('lib/getStudiesMetadata.js', 'client');
|
||||
|
||||
Reference in new issue
Block a user