From a24387b28b8718c20dc04fb5ac22f4237c3b5d7a Mon Sep 17 00:00:00 2001 From: Evren Ozkan Date: Tue, 23 Feb 2016 11:50:01 -0500 Subject: [PATCH] LT-73 Add progress dialog component --- .../lesionTrackerLayout.html | 7 +-- .../lesionTrackerProgressDialog.html | 14 ++++++ .../lesionTrackerProgressDialog.js | 44 +++++++++++++++++++ .../lesionTrackerProgressDialog.styl | 18 ++++++++ Packages/lesiontracker/package.js | 5 +++ 5 files changed, 85 insertions(+), 3 deletions(-) create mode 100644 Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.html create mode 100644 Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.js create mode 100644 Packages/lesiontracker/client/components/lesionTrackerProgressDialog/lesionTrackerProgressDialog.styl 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 @@ + \ 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' ]);