Fix fragile tile position lookup
This code didn't work when Trivabble was served as text/html, which adds a <tbody> tag in the DOM, while this tag is not added when Trivabble is served as application/xhtml+xml.
This commit is contained in:
parent
cdd2ca777a
commit
1f9e062014
|
@ -612,33 +612,32 @@
|
|||
rackBCR = rack.getBoundingClientRect();
|
||||
bagBCR = bag.getBoundingClientRect();
|
||||
|
||||
let from;
|
||||
let from = null;
|
||||
let index;
|
||||
|
||||
let p = movingTile.parentNode;
|
||||
let oldP = movingTile;
|
||||
let oldOldP = null;
|
||||
let p = movingTile;
|
||||
|
||||
while (p) {
|
||||
if (p === board) {
|
||||
while (p && !from) {
|
||||
index = boardCells.indexOf(p);
|
||||
if (index !== -1) {
|
||||
from = "board";
|
||||
index = boardCells.indexOf(oldOldP);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if (p === rack) {
|
||||
index = playerLetters.indexOf(p);
|
||||
if (index !== -1) {
|
||||
from = "rack";
|
||||
index = playerLetters.indexOf(oldP);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
oldOldP = oldP;
|
||||
oldP = p;
|
||||
p = p.parentNode;
|
||||
}
|
||||
|
||||
if (!from) {
|
||||
fatalError(new Error("Error: did not find the parent of the moving tile"));
|
||||
return;
|
||||
}
|
||||
|
||||
moveCMD = {
|
||||
cmd: "moveLetter",
|
||||
from: from,
|
||||
|
|
Loading…
Reference in New Issue