diff options
author | AUTOMATIC <16777216c@gmail.com> | 2023-01-28 20:31:48 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2023-01-28 20:31:48 +0000 |
commit | 0a8515085ef258d4b76fdc000f7ed9d55751d6b8 (patch) | |
tree | b2d7bc802224be388abe5ac3da90e1c7930a749a /javascript/extraNetworks.js | |
parent | 1d8e06d542176beade37d2d36cb57460c3c6772f (diff) | |
download | stable-diffusion-webui-gfx803-0a8515085ef258d4b76fdc000f7ed9d55751d6b8.tar.gz stable-diffusion-webui-gfx803-0a8515085ef258d4b76fdc000f7ed9d55751d6b8.tar.bz2 stable-diffusion-webui-gfx803-0a8515085ef258d4b76fdc000f7ed9d55751d6b8.zip |
make it so that clicking on hypernet/lora card one more time removes the related from the prompt
Diffstat (limited to 'javascript/extraNetworks.js')
-rw-r--r-- | javascript/extraNetworks.js | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index c5a9adb3..b5536a34 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -48,10 +48,39 @@ function setupExtraNetworks(){ onUiLoaded(setupExtraNetworks)
+var re_extranet = /<([^:]+:[^:]+):[\d\.]+>/;
+var re_extranet_g = /\s+<([^:]+:[^:]+):[\d\.]+>/g;
+
+function tryToRemoveExtraNetworkFromPrompt(textarea, text){
+ var m = text.match(re_extranet)
+ if(! m) return false
+
+ var partToSearch = m[1]
+ var replaced = false
+ var newTextareaText = textarea.value.replaceAll(re_extranet_g, function(found, index){
+ m = found.match(re_extranet);
+ if(m[1] == partToSearch){
+ replaced = true;
+ return ""
+ }
+ return found;
+ })
+
+ if(replaced){
+ textarea.value = newTextareaText
+ return true;
+ }
+
+ return false
+}
+
function cardClicked(tabname, textToAdd, allowNegativePrompt){
var textarea = allowNegativePrompt ? activePromptTextarea[tabname] : gradioApp().querySelector("#" + tabname + "_prompt > label > textarea")
- textarea.value = textarea.value + " " + textToAdd
+ if(! tryToRemoveExtraNetworkFromPrompt(textarea, textToAdd)){
+ textarea.value = textarea.value + " " + textToAdd
+ }
+
updateInput(textarea)
}
|