aboutsummaryrefslogtreecommitdiffstats
path: root/javascript/imageviewer.js
diff options
context:
space:
mode:
authorFlorian Horn <florianins@gmail.com>2022-10-27 14:20:01 +0000
committerFlorian Horn <florianins@gmail.com>2022-10-27 14:20:01 +0000
commit0995e879cea8ce871489ea8e393bb0eba6edc09c (patch)
treeaec2c731194ab9be9a402d123418b02418f11bca /javascript/imageviewer.js
parent737eb28faca8be2bb996ee0930ec77d1f7ebd939 (diff)
downloadstable-diffusion-webui-gfx803-0995e879cea8ce871489ea8e393bb0eba6edc09c.tar.gz
stable-diffusion-webui-gfx803-0995e879cea8ce871489ea8e393bb0eba6edc09c.tar.bz2
stable-diffusion-webui-gfx803-0995e879cea8ce871489ea8e393bb0eba6edc09c.zip
added save button and shortcut (s) to Modal View
Diffstat (limited to 'javascript/imageviewer.js')
-rw-r--r--javascript/imageviewer.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/javascript/imageviewer.js b/javascript/imageviewer.js
index 9e380c65..3aa3b29e 100644
--- a/javascript/imageviewer.js
+++ b/javascript/imageviewer.js
@@ -81,6 +81,25 @@ function modalImageSwitch(offset) {
}
}
+function saveImage(){
+ const tabTxt2Img = gradioApp().getElementById("tab_txt2img")
+ const tabImg2Img = gradioApp().getElementById("tab_img2img")
+ const saveTxt2Img = "save_txt2img"
+ const saveImg2Img = "save_img2img"
+ if (tabTxt2Img.style["display"] != "none") {
+ gradioApp().getElementById(saveTxt2Img).click()
+ } else if (tabImg2Img.style["display"] != "none") {
+ gradioApp().getElementById(saveImg2Img).click()
+ } else {
+ console.error("missing implementation for saving modal of this type")
+ }
+}
+
+function modalSaveImage(event) {
+ saveImage()
+ event.stopPropagation()
+}
+
function modalNextImage(event) {
modalImageSwitch(1)
event.stopPropagation()
@@ -93,6 +112,9 @@ function modalPrevImage(event) {
function modalKeyHandler(event) {
switch (event.key) {
+ case "s":
+ saveImage()
+ break;
case "ArrowLeft":
modalPrevImage(event)
break;
@@ -198,6 +220,13 @@ document.addEventListener("DOMContentLoaded", function() {
modalTileImage.title = "Preview tiling";
modalControls.appendChild(modalTileImage)
+ const modalSave = document.createElement("span")
+ modalSave.className = "modalSave cursor"
+ modalSave.innerHTML = "&#x1F5AB;"
+ modalSave.addEventListener("click", modalSaveImage, true)
+ modalSave.title = "Save Image(s)"
+ modalControls.appendChild(modalSave)
+
const modalClose = document.createElement('span')
modalClose.className = 'modalClose cursor';
modalClose.innerHTML = '&times;'