cap install progress at 99% until complete, add ability to nav to service from marketplace show

This commit is contained in:
Matt Hill
2021-09-11 09:21:23 -06:00
committed by Aiden McClelland
parent a74a4b5c28
commit ac9b1a7744
4 changed files with 20 additions and 12 deletions

View File

@@ -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,
}
}