projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Modifs to send current live game
[vchess.git]
/
client
/
src
/
utils
/
gameStorage.js
diff --git
a/client/src/utils/gameStorage.js
b/client/src/utils/gameStorage.js
index
94c1c30
..
3bd9934
100644
(file)
--- a/
client/src/utils/gameStorage.js
+++ b/
client/src/utils/gameStorage.js
@@
-12,7
+12,7
@@
// fen: string,
// moves: array of Move objects,
// clocks: array of integers,
// fen: string,
// moves: array of Move objects,
// clocks: array of integers,
-// initime:
integer
(when clock start running),
+// initime:
array of integers
(when clock start running),
// score: string (several options; '*' == running),
// }
// score: string (several options; '*' == running),
// }
@@
-37,7
+37,8
@@
function dbOperation(callback)
alert("Error while loading database: " + event.target.errorCode);
};
// Create objectStore for vchess->games
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
}
}
}
}
@@
-64,7
+65,7
@@
export const GameStorage =
// TODO: also option to takeback a move ?
// NOTE: for live games only (all on server for corr)
// TODO: also option to takeback a move ?
// NOTE: for live games only (all on server for corr)
- update: function(gameId, obj) //colorIdx,
move, fen, addTime, init
ime, score
+ update: function(gameId, obj) //colorIdx,
nextIdx, move, fen, addT
ime, score
{
dbOperation((db) => {
let objectStore = db.transaction("games", "readwrite").objectStore("games");
{
dbOperation((db) => {
let objectStore = db.transaction("games", "readwrite").objectStore("games");
@@
-76,9
+77,8
@@
export const GameStorage =
game.fen = obj.fen;
if (!!obj.addTime) //NaN if first move in game
game.clocks[obj.colorIdx] += obj.addTime;
game.fen = obj.fen;
if (!!obj.addTime) //NaN if first move in game
game.clocks[obj.colorIdx] += obj.addTime;
+ game.initime[obj.nextIdx] = Date.now();
}
}
- if (!!obj.initime) //just a flag (true)
- game.initime = Date.now();
if (!!obj.score)
game.score = obj.score;
objectStore.put(game); //save updated data
if (!!obj.score)
game.score = obj.score;
objectStore.put(game); //save updated data
@@
-116,6
+116,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)
{
// Delete a game in indexedDB
remove: function(gameId, callback)
{