projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix player name update
[vchess.git]
/
client
/
src
/
utils
/
gameStorage.js
diff --git
a/client/src/utils/gameStorage.js
b/client/src/utils/gameStorage.js
index
514448b
..
99206ed
100644
(file)
--- a/
client/src/utils/gameStorage.js
+++ b/
client/src/utils/gameStorage.js
@@
-19,10
+19,11
@@
import { store } from "@/store";
function dbOperation(callback) {
let db = null;
function dbOperation(callback) {
let db = null;
- let DBOpenRequest = window.indexedDB.open("vchess",
4
);
+ let DBOpenRequest = window.indexedDB.open("vchess",
5
);
DBOpenRequest.onerror = function(event) {
DBOpenRequest.onerror = function(event) {
- alert(store.state.tr["Database error: stop private browsing, or update your browser"]);
+ alert(store.state.tr[
+ "Database error: stop private browsing, or update your browser"]);
callback("error", null);
};
callback("error", null);
};
@@
-52,7
+53,7
@@
function dbOperation(callback) {
export const GameStorage = {
// Optional callback to get error status
add: function(game, callback) {
export const GameStorage = {
// Optional callback to get error status
add: function(game, callback) {
- dbOperation((err,db) => {
+ dbOperation((err,
db) => {
if (!!err) {
callback("error");
return;
if (!!err) {
callback("error");
return;
@@
-73,7
+74,7
@@
export const GameStorage = {
// obj: chat, move, fen, clocks, score[Msg], initime, ...
update: function(gameId, obj) {
// live
// obj: chat, move, fen, clocks, score[Msg], initime, ...
update: function(gameId, obj) {
// live
- dbOperation((err,db) => {
+ dbOperation((err,
db) => {
let objectStore = db
.transaction("games", "readwrite")
.objectStore("games");
let objectStore = db
.transaction("games", "readwrite")
.objectStore("games");
@@
-85,6
+86,11
@@
export const GameStorage = {
if (obj.moveIdx < game.moves.length) return;
Object.keys(obj).forEach(k => {
if (k == "move") game.moves.push(obj[k]);
if (obj.moveIdx < game.moves.length) return;
Object.keys(obj).forEach(k => {
if (k == "move") game.moves.push(obj[k]);
+ else if (k == "chat") game.chats.push(obj[k]);
+ else if (k == "chatRead") game.chatRead = Date.now();
+ else if (k == "delchat") game.chats = [];
+ else if (k == "playerName")
+ game.players[obj[k].idx].name = obj[k].name;
else game[k] = obj[k];
});
objectStore.put(game); //save updated data
else game[k] = obj[k];
});
objectStore.put(game); //save updated data
@@
-95,7
+101,7
@@
export const GameStorage = {
// Retrieve (all) running local games
getRunning: function(callback) {
// Retrieve (all) running local games
getRunning: function(callback) {
- dbOperation((err,db) => {
+ dbOperation((err,
db) => {
let objectStore = db
.transaction("games", "readonly")
.objectStore("games");
let objectStore = db
.transaction("games", "readonly")
.objectStore("games");
@@
-122,7
+128,7
@@
export const GameStorage = {
// Retrieve completed local games
getNext: function(upperDt, callback) {
// Retrieve completed local games
getNext: function(upperDt, callback) {
- dbOperation((err,db) => {
+ dbOperation((err,
db) => {
let objectStore = db
.transaction("games", "readonly")
.objectStore("games");
let objectStore = db
.transaction("games", "readonly")
.objectStore("games");
@@
-154,11
+160,10
@@
export const GameStorage = {
});
},
});
},
- // Retrieve any game from its identifier
s (locally or on server)
+ // Retrieve any game from its identifier
.
// NOTE: need callback because result is obtained asynchronously
get: function(gameId, callback) {
// NOTE: need callback because result is obtained asynchronously
get: function(gameId, callback) {
- // Local game
- dbOperation((err,db) => {
+ dbOperation((err, db) => {
let objectStore = db.transaction("games").objectStore("games");
objectStore.get(gameId).onsuccess = function(event) {
// event.target.result is null if game not found
let objectStore = db.transaction("games").objectStore("games");
objectStore.get(gameId).onsuccess = function(event) {
// event.target.result is null if game not found
@@
-169,7
+174,7
@@
export const GameStorage = {
// Delete a game in indexedDB
remove: function(gameId, callback) {
// Delete a game in indexedDB
remove: function(gameId, callback) {
- dbOperation((err,db) => {
+ dbOperation((err,
db) => {
if (!err) {
let transaction = db.transaction("games", "readwrite");
transaction.oncomplete = function() {
if (!err) {
let transaction = db.transaction("games", "readwrite");
transaction.oncomplete = function() {