More Fixes

This commit is contained in:
ebolam
2023-04-26 16:08:18 -04:00
parent 56145fc8bc
commit dbd6558733

View File

@@ -3080,36 +3080,44 @@ function gametextwatcher(records) {
//Node was actually deleted. //Node was actually deleted.
if (!dirty_chunks.includes(chunk.getAttribute("chunk"))) { if (!dirty_chunks.includes(chunk.getAttribute("chunk"))) {
dirty_chunks.push(chunk.getAttribute("chunk")); dirty_chunks.push(chunk.getAttribute("chunk"));
//Stupid firefox sometimes looses focus as you type after deleting stuff. Fix that here
//var sel = window.getSelection();
//if (sel.anchorNode instanceof HTMLElement) {
// sel.anchorNode.focus();
//} else {
// game_text.focus();
//}
} }
} }
} }
} }
} else { }
//get the actual chunk rather than the sub-node //get the actual chunk rather than the sub-node
var chunk = record.target; //console.log(record);
var found_chunk = false; var chunk = record.target;
while (chunk != game_text) { var found_chunk = false;
if (chunk) { while (chunk != game_text) {
if ((chunk instanceof HTMLElement) && (chunk.hasAttribute("chunk"))) { if (chunk) {
found_chunk = true; if ((chunk instanceof HTMLElement) && (chunk.hasAttribute("chunk"))) {
break; found_chunk = true;
}
chunk = chunk.parentNode;
} else {
break; break;
} }
chunk = chunk.parentNode;
} else {
break;
} }
if ((found_chunk) && (chunk.original_text != chunk.innerText)) {; }
if (!dirty_chunks.includes(chunk.getAttribute("chunk"))) { if ((found_chunk) && (chunk.original_text != chunk.innerText)) {;
dirty_chunks.push(chunk.getAttribute("chunk")); if (!dirty_chunks.includes(chunk.getAttribute("chunk"))) {
} dirty_chunks.push(chunk.getAttribute("chunk"));
} else if ((record.addedNodes.length > 0) && !(found_chunk) && !(record.addedNodes[0] instanceof HTMLElement)) { }
if (!dirty_chunks.includes("game_text")) { } else if ((record.addedNodes.length > 0) && !(found_chunk) && !(record.addedNodes[0] instanceof HTMLElement)) {
dirty_chunks.push("game_text"); if (!dirty_chunks.includes("game_text")) {
} dirty_chunks.push("game_text");
} }
} }
} }
//console.log(dirty_chunks);
} }
function fix_dirty_game_text() { function fix_dirty_game_text() {
@@ -3133,7 +3141,7 @@ function fix_dirty_game_text() {
console.log("Firing Fix messed up text"); console.log("Firing Fix messed up text");
//Fixing text outside of chunks //Fixing text outside of chunks
for (node of game_text.childNodes) { for (node of game_text.childNodes) {
if (!(node instanceof HTMLElement) || !node.hasAttribute("chunk")) { if ((!(node instanceof HTMLElement) || !node.hasAttribute("chunk")) && (node.wholeText.trim() != "")) {
console.log("Found Node that needs to be combined"); console.log("Found Node that needs to be combined");
console.log(node); console.log(node);
//We have a text only node. It should be moved into the previous chunk //We have a text only node. It should be moved into the previous chunk