From ac9b1a7744459552e9c5bc8faf898cf3474d8aeb Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Sat, 11 Sep 2021 09:21:23 -0600 Subject: [PATCH] cap install progress at 99% until complete, add ability to nav to service from marketplace show --- .../apps-routes/app-actions/app-actions.page.html | 2 +- .../pages/apps-routes/app-show/app-show.page.html | 2 +- .../marketplace-show/marketplace-show.page.html | 13 ++++++++++--- ui/src/app/services/package-loading.service.ts | 15 ++++++++------- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html b/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html index d19da4d21..5c1e59586 100644 --- a/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html +++ b/ui/src/app/pages/apps-routes/app-actions/app-actions.page.html @@ -32,7 +32,7 @@ - Actions for {{ pkg.manifest.title }} + Actions for {{ pkg.manifest.title }} -

Installing: {{ installProgress.unpackProgress }}%

+

Unpacking: {{ installProgress.unpackProgress }}%

- + Install - + @@ -63,7 +63,14 @@ Downgrade - + + + + + + + View Service + diff --git a/ui/src/app/services/package-loading.service.ts b/ui/src/app/services/package-loading.service.ts index 8da3009e2..bfcdd1a7b 100644 --- a/ui/src/app/services/package-loading.service.ts +++ b/ui/src/app/services/package-loading.service.ts @@ -10,9 +10,10 @@ export class PackageLoadingService { transform (loadData: InstallProgress): ProgressData { let { downloaded, validated, unpacked, size, 'download-complete': downloadComplete, 'validation-complete': validationComplete, 'unpack-complete': unpackComplete } = loadData - downloaded = downloadComplete ? size : downloaded - validated = validationComplete ? size : validated - unpacked = unpackComplete ? size : unpacked + // only permit 100% when "complete" == true + downloaded = downloadComplete ? size : Math.max(downloaded - 1, 0) + validated = validationComplete ? size : Math.max(validated - 1, 0) + unpacked = unpackComplete ? size : Math.max(unpacked - 1, 0) const downloadWeight = 1 const validateWeight = .2 @@ -26,10 +27,10 @@ export class PackageLoadingService { const denominator = Math.floor(size * (downloadWeight + validateWeight + unpackWeight)) return { - totalProgress: Math.round(100 * numerator / denominator), - downloadProgress: Math.round(100 * downloaded / size), - validateProgress: Math.round(100 * validated / size), - unpackProgress: Math.round(100 * unpacked / size), + totalProgress: Math.floor(100 * numerator / denominator), + downloadProgress: Math.floor(100 * downloaded / size), + validateProgress: Math.floor(100 * validated / size), + unpackProgress: Math.floor(100 * unpacked / size), isComplete: downloadComplete && validationComplete && unpackComplete, } }