LT-366: StudyList :: Export workflow issues
This commit is contained in:
1 parent
87d61298b4
commit
79b2907085
6 files changed
+250
-125
No files matched your search
@@ -3,31 +3,55 @@ import { OHIF } from 'meteor/ohif:core';
|
||||
/**
|
||||
* Queries requested studies to get their metadata from PACS
|
||||
* @param studiesToQuery Studies to query
|
||||
* @param doneCallback Callback to call when the query is done
|
||||
*/
|
||||
queryStudies = function(studiesToQuery, doneCallback) {
|
||||
if (studiesToQuery.length < 1) {
|
||||
return;
|
||||
}
|
||||
queryStudies = function(studiesToQuery, options) {
|
||||
const studiesQueried = [],
|
||||
numberOfStudiesToQuery = studiesToQuery.length,
|
||||
notify = (options || {}).notify || function() { /* noop */ }
|
||||
|
||||
var studiesQueried = [];
|
||||
var numberOfStudiesToQuery = studiesToQuery.length;
|
||||
return new Promise((resolve, reject) => {
|
||||
if (studiesToQuery.length < 1) {
|
||||
return reject();
|
||||
}
|
||||
|
||||
OHIF.studylist.progressDialog.show("Querying Studies...", numberOfStudiesToQuery);
|
||||
studiesToQuery.forEach(function(studyToQuery) {
|
||||
getStudyMetadata(studyToQuery.studyInstanceUid, function(study) {
|
||||
studiesQueried.push(study);
|
||||
|
||||
studiesToQuery.forEach(function(studyToQuery) {
|
||||
getStudyMetadata(studyToQuery.studyInstanceUid, function(study) {
|
||||
studiesQueried.push(study);
|
||||
notify({
|
||||
total: numberOfStudiesToQuery,
|
||||
processed: studiesQueried.length
|
||||
});
|
||||
|
||||
var numberOfStudiesQueried = studiesQueried.length;
|
||||
|
||||
OHIF.studylist.progressDialog.update(numberOfStudiesQueried);
|
||||
|
||||
if (numberOfStudiesQueried === numberOfStudiesToQuery) {
|
||||
doneCallback(studiesQueried);
|
||||
}
|
||||
if (studiesQueried.length === numberOfStudiesToQuery) {
|
||||
resolve(studiesQueried);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
queryStudiesWithProgress = function(studiesToQuery) {
|
||||
return OHIF.ui.showFormDialog('dialogProgress', {
|
||||
title: 'Querying Studies...',
|
||||
message: `Queried: 0 / ${studiesToQuery.length}`,
|
||||
total: studiesToQuery.length,
|
||||
task: {
|
||||
run: (dialog) => {
|
||||
queryStudies(studiesToQuery, {
|
||||
notify: stats => {
|
||||
dialog.update(stats.processed);
|
||||
dialog.setMessage(`Queried: ${stats.processed} / ${stats.total}`);
|
||||
}
|
||||
})
|
||||
.then(studiesQueried => {
|
||||
dialog.done(studiesQueried);
|
||||
}, () => {
|
||||
dialog.cancel();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user