X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=client%2Fsrc%2Futils%2FgameStorage.js;h=77acf94356b546dc98ed310f968c1ed490adc9bd;hb=66d03f23c9ce085877c3f7272db44dc382762b5a;hp=75696a09630b2b9eabfe7285fe15781f438583ce;hpb=809ba2aa7682693e33f7b92c1fdfbb3b004befb4;p=vchess.git diff --git a/client/src/utils/gameStorage.js b/client/src/utils/gameStorage.js index 75696a09..77acf943 100644 --- a/client/src/utils/gameStorage.js +++ b/client/src/utils/gameStorage.js @@ -37,7 +37,8 @@ function dbOperation(callback) alert("Error while loading database: " + event.target.errorCode); }; // Create objectStore for vchess->games - db.createObjectStore("games", { keyPath: "gameId" }); + let objectStore = db.createObjectStore("games", { keyPath: "gameId" }); + objectStore.createIndex("score", "score"); //to search by game result } } @@ -74,8 +75,7 @@ export const GameStorage = { game.moves.push(obj.move); game.fen = obj.fen; - if (!!obj.addTime) //NaN if first move in game - game.clocks[obj.colorIdx] += obj.addTime; + game.clocks[obj.colorIdx] += obj.addTime; game.initime[obj.nextIdx] = Date.now(); } if (!!obj.score) @@ -115,6 +115,16 @@ export const GameStorage = }); }, + getCurrent: function(callback) + { + dbOperation((db) => { + let objectStore = db.transaction('games').objectStore('games'); + objectStore.get("*").onsuccess = function(event) { + callback(event.target.result); + }; + }); + }, + // Delete a game in indexedDB remove: function(gameId, callback) {