ohif-viewer/Packages/worklist/client/components/progressDialog/progressDialog.js

70 lines
1.9 KiB
JavaScript

progressDialog = {
show: function(title, numberOfTotal) {
Session.set('progressDialogSettings', {
title: title,
numberOfCompleted: 0,
numberOfTotal: numberOfTotal
});
$('#progressDialog').css('display', 'block');
},
update: function(numberOfCompleted) {
var progressDialogSettings = Session.get('progressDialogSettings');
progressDialogSettings.numberOfCompleted = numberOfCompleted;
Session.set('progressDialogSettings', progressDialogSettings);
if (progressDialogSettings.numberOfCompleted === progressDialogSettings.numberOfTotal) {
progressDialog.close();
}
},
close: function() {
Session.set('progressDialogSettings', {
title: '',
numberOfCompleted: 0,
numberOfTotal: 1
});
$('#progressDialog').css('display', 'none');
},
setMessage: function(message) {
let progressDialogSettings = Session.get('progressDialogSettings');
progressDialogSettings.message = message;
Session.set('progressDialogSettings', progressDialogSettings);
}
};
Template.progressDialog.helpers({
progressDialogTitle() {
var settings = Session.get('progressDialogSettings');
if (!settings) {
return;
}
return settings.title;
},
progressStatus() {
const settings = Session.get('progressDialogSettings');
if (!settings) {
return;
}
if (settings.numberOfCompleted === undefined ||
settings.numberOfTotal === undefined) {
return;
}
return settings.numberOfCompleted / settings.numberOfTotal;
},
progressMessage() {
var settings = Session.get('progressDialogSettings');
if (!settings) {
return;
}
return settings.message;
}
});