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:
Evren Ozkan committed 2016-03-30 18:38:29 -04:00
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
+4
View File
@@ -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');