projects
/
vchess.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Attempt to get rid of the weird trans-pages errors (especially in Game)
[vchess.git]
/
client
/
src
/
views
/
Hall.vue
diff --git
a/client/src/views/Hall.vue
b/client/src/views/Hall.vue
index
4d830bb
..
f401c6e
100644
(file)
--- a/
client/src/views/Hall.vue
+++ b/
client/src/views/Hall.vue
@@
-73,10
+73,14
@@
main
)
fieldset(v-if="st.user.id > 0")
label(for="selectPlayers") {{ st.tr["Play with"] }}
)
fieldset(v-if="st.user.id > 0")
label(for="selectPlayers") {{ st.tr["Play with"] }}
- select#selectPlayersInList(v-model="newchallenge.to")
+ select#selectPlayersInList(
+ v-model="newchallenge.to"
+ @change="changeChallTarget()"
+ )
option(value="")
option(
v-for="p in Object.values(people)"
option(value="")
option(
v-for="p in Object.values(people)"
+ v-if="!!p.name"
:value="p.name"
)
| {{ p.name }}
:value="p.name"
)
| {{ p.name }}
@@
-263,9
+267,14
@@
export default {
});
if (!this.newchallenge.V && this.newchallenge.vid > 0)
this.loadNewchallVariant();
});
if (!this.newchallenge.V && this.newchallenge.vid > 0)
this.loadNewchallVariant();
+ },
+ $route: function(to, from) {
+ if (to.path != "/") this.cleanBeforeDestroy();
}
},
created: function() {
}
},
created: function() {
+ document.addEventListener('visibilitychange', this.visibilityChange);
+ window.addEventListener("beforeunload", this.cleanBeforeDestroy);
if (this.st.variants.length > 0 && this.newchallenge.vid > 0)
this.loadNewchallVariant();
const my = this.st.user;
if (this.st.variants.length > 0 && this.newchallenge.vid > 0)
this.loadNewchallVariant();
const my = this.st.user;
@@
-296,11
+305,10
@@
export default {
encodeURIComponent(this.$route.path);
this.conn = new WebSocket(this.connexionString);
this.conn.onopen = connectAndPoll;
encodeURIComponent(this.$route.path);
this.conn = new WebSocket(this.connexionString);
this.conn.onopen = connectAndPoll;
- this.conn.
onmessage = this.socketMessageListener
;
- this.conn.
onclose = this.socketCloseListener
;
+ this.conn.
addEventListener("message", this.socketMessageListener)
;
+ this.conn.
addEventListener("close", this.socketCloseListener)
;
},
mounted: function() {
},
mounted: function() {
- document.addEventListener('visibilitychange', this.visibilityChange);
["peopleWrap", "infoDiv", "newgameDiv"].forEach(eltName => {
document.getElementById(eltName)
.addEventListener("click", processModalClick);
["peopleWrap", "infoDiv", "newgameDiv"].forEach(eltName => {
document.getElementById(eltName)
.addEventListener("click", processModalClick);
@@
-384,10
+392,14
@@
export default {
);
},
beforeDestroy: function() {
);
},
beforeDestroy: function() {
- document.removeEventListener('visibilitychange', this.visibilityChange);
- this.send("disconnect");
+ this.cleanBeforeDestroy();
},
methods: {
},
methods: {
+ cleanBeforeDestroy: function() {
+ document.removeEventListener('visibilitychange', this.visibilityChange);
+ window.removeEventListener("beforeunload", this.cleanBeforeDestroy);
+ this.send("disconnect");
+ },
getRandomnessClass: function(pc) {
return {
["random-" + pc.randomness]: true
getRandomnessClass: function(pc) {
return {
["random-" + pc.randomness]: true
@@
-453,6
+465,13
@@
export default {
if (!!this.curChallToAccept.fen) return { "margin-top": "10px" };
return {};
},
if (!!this.curChallToAccept.fen) return { "margin-top": "10px" };
return {};
},
+ changeChallTarget: function() {
+ if (!this.newchallenge.to) {
+ // Reset potential FEN + diagram
+ this.newchallenge.fen = "";
+ this.newchallenge.diag = "";
+ }
+ },
cadenceFocusIfOpened: function() {
if (event.target.checked)
document.getElementById("cadence").focus();
cadenceFocusIfOpened: function() {
if (event.target.checked)
document.getElementById("cadence").focus();
@@
-653,6
+672,8
@@
export default {
break;
case "killed":
// I logged in elsewhere:
break;
case "killed":
// I logged in elsewhere:
+ this.conn.removeEventListener("message", this.socketMessageListener);
+ this.conn.removeEventListener("close", this.socketCloseListener);
this.conn = null;
alert(this.st.tr["New connexion detected: tab now offline"]);
break;
this.conn = null;
alert(this.st.tr["New connexion detected: tab now offline"]);
break;
@@
-901,7
+922,7
@@
export default {
position: parsedFen.position,
orientation: parsedFen.turn
});
position: parsedFen.position,
orientation: parsedFen.turn
});
- }
+ }
else this.newchallenge.diag = "";
},
newChallFromPreset(pchall) {
this.partialResetNewchallenge();
},
newChallFromPreset(pchall) {
this.partialResetNewchallenge();
@@
-1190,7
+1211,6
@@
export default {
// Game state (including FEN): will be updated
moves: [],
clocks: [-1, -1], //-1 = unstarted
// Game state (including FEN): will be updated
moves: [],
clocks: [-1, -1], //-1 = unstarted
- initime: [0, 0], //initialized later
score: "*"
}
);
score: "*"
}
);