diff --git a/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.html b/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.html
index f98d6df58..3cf2f369a 100644
--- a/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.html
+++ b/Packages/lesiontracker/client/components/lesionTrackerLayout/lesionTrackerLayout.html
@@ -16,7 +16,7 @@
{{else}}
- {{ >optionsButton }}
+ {{>optionsButton }}
@@ -44,6 +44,7 @@
Open Health Imaging Foundation
- {{> timeoutCountdownDialog}}
- {{ >yield }}
+ {{>timeoutCountdownDialog}}
+ {{>lesionTrackerProgressDialog}}
+ {{>yield }}
\ No newline at end of file
diff --git a/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.html b/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.html
new file mode 100644
index 000000000..f99c70c64
--- /dev/null
+++ b/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ {{progressStatus}}
+
+
+
+
+
\ No newline at end of file
diff --git a/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.js b/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.js
new file mode 100644
index 000000000..12286d8a0
--- /dev/null
+++ b/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.js
@@ -0,0 +1,44 @@
+progressDialog = {
+ 'show': function(title, numberOfTotal) {
+ Session.set("progressDialogSettings", { title: title, numberOfCompleted: 0, numberOfTotal: numberOfTotal });
+
+ $('#lesionTrackerProgressDialog').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 });
+ $('#lesionTrackerProgressDialog').css('display', 'none');
+ },
+};
+
+Template.lesionTrackerProgressDialog.helpers({
+ 'progressDialogTitle': function () {
+ if (Session.get("progressDialogSettings") && Session.get("progressDialogSettings").title) {
+ return Session.get("progressDialogSettings").title;
+ }
+
+ return "";
+ },
+ 'progressStatus': function() {
+ var numberOfCompleted = 0;
+ if (Session.get("progressDialogSettings") && Session.get("progressDialogSettings").numberOfCompleted) {
+ numberOfCompleted = Session.get("progressDialogSettings").numberOfCompleted;
+ }
+
+ var numberofTotal = 1;
+ if (Session.get("progressDialogSettings") && Session.get("progressDialogSettings").numberOfTotal) {
+ numberofTotal = Session.get("progressDialogSettings").numberOfTotal;
+ }
+
+ return parseInt((numberOfCompleted / numberofTotal) * 100) + "%";
+ }
+});
diff --git a/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.styl b/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.styl
new file mode 100644
index 000000000..a4966225d
--- /dev/null
+++ b/Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.styl
@@ -0,0 +1,18 @@
+#lesionTrackerProgressDialog
+ display: none
+ position: absolute
+ top: 0
+ bottom: 0
+ left: 0
+ right: 0
+ margin: auto
+ width: 20%
+ height: 15%
+ z-index: 100
+ border-radius: 5px
+ padding: 10px 20px 10px 20px
+ background-color: rgba(255,255,255,1)
+ outline: none
+
+ .dialogContent
+ margin-bottom: 20px
diff --git a/Packages/lesiontracker/package.js b/Packages/lesiontracker/package.js
index 040240fec..a11146119 100644
--- a/Packages/lesiontracker/package.js
+++ b/Packages/lesiontracker/package.js
@@ -117,6 +117,7 @@ Package.onUse(function(api) {
api.addFiles('client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.html', 'client');
api.addFiles('client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.styl', 'client');
api.addFiles('client/components/lesionTrackerWorklistStudy/lesionTrackerWorklistStudy.js', 'client');
+
api.addFiles('client/components/timeoutCountdownDialog/timeoutCountdownDialog.html', 'client');
api.addFiles('client/components/timeoutCountdownDialog/timeoutCountdownDialog.styl', 'client');
api.addFiles('client/components/timeoutCountdownDialog/timeoutCountdownDialog.js', 'client');
@@ -128,6 +129,10 @@ Package.onUse(function(api) {
api.addFiles('client/components/lesionTrackerViewportOverlay/lesionTrackerViewportOverlay.styl', 'client');
api.addFiles('client/components/lesionTrackerViewportOverlay/lesionTrackerViewportOverlay.js', 'client');
+ api.addFiles('client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.html', 'client');
+ api.addFiles('client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.styl', 'client');
+ api.addFiles('client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.js', 'client');
+
// Server functions
api.addFiles('server/collections.js', 'server');
api.addFiles('server/removeCollections.js', [ 'server' ]);