From ff08c8d95d004801bf810f8eb0ccc538bb8f890e Mon Sep 17 00:00:00 2001 From: Thomas Weber Date: Tue, 22 Jun 2021 13:29:00 -0500 Subject: [PATCH] Better large asset progress bars --- src/packager/packager.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/packager/packager.js b/src/packager/packager.js index f7389a3..b9c516a 100644 --- a/src/packager/packager.js +++ b/src/packager/packager.js @@ -60,6 +60,13 @@ class Packager extends EventTarget { if (!asset) { throw new Error(`Invalid asset: ${name}`); } + const dispatchProgress = (progress) => this.dispatchEvent(new CustomEvent('large-asset-fetch', { + detail: { + asset: name, + progress + } + })); + dispatchProgress(0); let result; let cameFromCache = false; try { @@ -68,6 +75,7 @@ class Packager extends EventTarget { result = cached; cameFromCache = true; } + dispatchProgress(0.5); } catch (e) { console.warn(e); } @@ -76,12 +84,7 @@ class Packager extends EventTarget { url: asset.src, type: asset.type || 'arraybuffer', progressCallback: (progress) => { - this.dispatchEvent(new CustomEvent('large-asset-fetch', { - detail: { - asset: name, - progress - } - })); + dispatchProgress(progress); } }); } @@ -98,6 +101,7 @@ class Packager extends EventTarget { console.warn(e); } } + dispatchProgress(1); return result; }