From 75c855331a7f05931e27fbbaeae2c8f219f74605 Mon Sep 17 00:00:00 2001 From: Mitchell McCaffrey Date: Thu, 22 Oct 2020 16:09:00 +1100 Subject: [PATCH] Upgraded database for tokens to have width and height --- src/database.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/database.js b/src/database.js index 7fc93c9..8c233fd 100644 --- a/src/database.js +++ b/src/database.js @@ -242,6 +242,32 @@ function loadVersions(db) { token.group = ""; }); }); + // v1.6.1 - Added width and height to tokens + db.version(15) + .stores({}) + .upgrade(async (tx) => { + const tokens = await Dexie.waitFor(tx.table("tokens").toArray()); + let tokenSizes = {}; + for (let token of tokens) { + const url = URL.createObjectURL(new Blob([token.file])); + let image = new Image(); + tokenSizes[token.id] = await Dexie.waitFor( + new Promise((resolve) => { + image.onload = () => { + resolve({ width: image.width, height: image.height }); + }; + image.src = url; + }) + ); + } + return tx + .table("tokens") + .toCollection() + .modify((token) => { + token.width = tokenSizes[token.id].width; + token.height = tokenSizes[token.id].height; + }); + }); } // Get the dexie database used in DatabaseContext