From 137d056cb3011a16b55c44d840ee2b60a728d4fe Mon Sep 17 00:00:00 2001 From: ebolam Date: Mon, 1 May 2023 10:48:45 -0400 Subject: [PATCH] Fix for pasting text in the middle of an action --- static/koboldai.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/static/koboldai.js b/static/koboldai.js index 7dfc4a5e..2d62103d 100644 --- a/static/koboldai.js +++ b/static/koboldai.js @@ -3081,6 +3081,7 @@ function gametextwatcher(records) { //Here we want to take care of two possible events //User deleted an action. For this we'll restore the action and set it's text to "" and mark it as dirty //User changes text. For this we simply mark it as dirty + console.log(records); var game_text = document.getElementById("Selected Text"); for (const record of records) { if ((record.type === "childList") && (record.removedNodes.length > 0)) { @@ -3129,7 +3130,7 @@ function gametextwatcher(records) { } } } - //console.log(dirty_chunks); + console.log(dirty_chunks); } function fix_dirty_game_text() { @@ -3165,6 +3166,11 @@ function fix_dirty_game_text() { if (!dirty_chunks.includes(node.previousElementSibling.getAttribute("chunk"))) { dirty_chunks.push(node.previousElementSibling.getAttribute("chunk")); } + //Looks like sometimes it splits the parent. Let's look for that and fix it too + if (node.nextElementSibling && (node.nextElementSibling.getAttribute("chunk") == node.previousElementSibling.getAttribute("chunk"))) { + node.previousElementSibling.innerText = node.previousElementSibling.innerText + node.nextElementSibling.innerText; + node.nextElementSibling.remove(); + } node.remove(); } }