diff options
author | Sj-Si <sjw.jetty@gmail.com> | 2024-01-18 03:38:51 +0000 |
---|---|---|
committer | Sj-Si <sjw.jetty@gmail.com> | 2024-01-18 03:38:51 +0000 |
commit | f25c81a74462554890ac7327a30629b332db1084 (patch) | |
tree | e25f38eeee9a47c397d46879275235690f41897c /javascript/extraNetworks.js | |
parent | ccee26b0653b4f6778c107d68df52da27446abd2 (diff) | |
download | stable-diffusion-webui-gfx803-f25c81a74462554890ac7327a30629b332db1084.tar.gz stable-diffusion-webui-gfx803-f25c81a74462554890ac7327a30629b332db1084.tar.bz2 stable-diffusion-webui-gfx803-f25c81a74462554890ac7327a30629b332db1084.zip |
Fix embeddings add/remove to/from prompt on click bugs.
Diffstat (limited to 'javascript/extraNetworks.js')
-rw-r--r-- | javascript/extraNetworks.js | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index caaa3fae..1e2786ab 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -169,8 +169,8 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text, isNeg) { var m = text.match(isNeg ? re_extranet_neg : re_extranet); var replaced = false; var newTextareaText; + var extraTextBeforeNet = opts.extra_networks_add_text_separator; if (m) { - var extraTextBeforeNet = opts.extra_networks_add_text_separator; var extraTextAfterNet = m[2]; var partToSearch = m[1]; var foundAtPosition = -1; @@ -183,7 +183,6 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text, isNeg) { } return found; }); - if (foundAtPosition >= 0) { if (extraTextAfterNet && newTextareaText.substr(foundAtPosition, extraTextAfterNet.length) == extraTextAfterNet) { newTextareaText = newTextareaText.substr(0, foundAtPosition) + newTextareaText.substr(foundAtPosition + extraTextAfterNet.length); @@ -193,13 +192,8 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text, isNeg) { } } } else { - newTextareaText = textarea.value.replaceAll(new RegExp(text, "g"), function(found) { - if (found == text) { - replaced = true; - return ""; - } - return found; - }); + newTextareaText = textarea.value.replaceAll(new RegExp(`((?:${extraTextBeforeNet})?${text})`, "g"), ""); + replaced = (newTextareaText != textarea.value); } if (replaced) { @@ -211,7 +205,6 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text, isNeg) { } function updatePromptArea(text, textArea, isNeg) { - if (!tryToRemoveExtraNetworkFromPrompt(textArea, text, isNeg)) { textArea.value = textArea.value + opts.extra_networks_add_text_separator + text; } |