aboutsummaryrefslogtreecommitdiffstats
path: root/script.js
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-09-18 05:37:03 +0000
committerAUTOMATIC <16777216c@gmail.com>2022-09-18 05:37:03 +0000
commita86c2794197692fe3cfab06247d0d20423e401cd (patch)
treeb93c86c70688fdea4ee7bc26411a95334cf1cf7a /script.js
parent3f91de3c9193fd5ff5293a62875e637cd6f1ef84 (diff)
downloadstable-diffusion-webui-gfx803-a86c2794197692fe3cfab06247d0d20423e401cd.tar.gz
stable-diffusion-webui-gfx803-a86c2794197692fe3cfab06247d0d20423e401cd.tar.bz2
stable-diffusion-webui-gfx803-a86c2794197692fe3cfab06247d0d20423e401cd.zip
script.js split work
Diffstat (limited to 'script.js')
-rw-r--r--script.js142
1 files changed, 9 insertions, 133 deletions
diff --git a/script.js b/script.js
index e533d084..fe91e503 100644
--- a/script.js
+++ b/script.js
@@ -76,91 +76,12 @@ function gradioApp(){
global_progressbar = null
-function closeModal() {
- gradioApp().getElementById("lightboxModal").style.display = "none";
+uiUpdateCallbacks = []
+function onUiUpdate(callback){
+ uiUpdateCallbacks.push(callback)
}
-function showModal(event) {
- var source = event.target || event.srcElement;
- gradioApp().getElementById("modalImage").src = source.src
- var lb = gradioApp().getElementById("lightboxModal")
- lb.style.display = "block";
- lb.focus()
- event.stopPropagation()
-}
-
-function negmod(n, m) {
- return ((n % m) + m) % m;
-}
-
-function modalImageSwitch(offset){
- var galleryButtons = gradioApp().querySelectorAll(".gallery-item.transition-all")
-
- if(galleryButtons.length>1){
- var currentButton = gradioApp().querySelector(".gallery-item.transition-all.\\!ring-2")
-
- var result = -1
- galleryButtons.forEach(function(v, i){ if(v==currentButton) { result = i } })
-
- if(result != -1){
- nextButton = galleryButtons[negmod((result+offset),galleryButtons.length)]
- nextButton.click()
- gradioApp().getElementById("modalImage").src = nextButton.children[0].src
- setTimeout( function(){gradioApp().getElementById("lightboxModal").focus()},10)
- }
- }
-
-}
-
-function modalNextImage(event){
- modalImageSwitch(1)
- event.stopPropagation()
-}
-
-function modalPrevImage(event){
- modalImageSwitch(-1)
- event.stopPropagation()
-}
-
-function modalKeyHandler(event){
- switch (event.key) {
- case "ArrowLeft":
- modalPrevImage(event)
- break;
- case "ArrowRight":
- modalNextImage(event)
- break;
- }
-}
-
-function showGalleryImage(){
- setTimeout(function() {
- fullImg_preview = gradioApp().querySelectorAll('img.w-full.object-contain')
-
- if(fullImg_preview != null){
- fullImg_preview.forEach(function function_name(e) {
- if(e && e.parentElement.tagName == 'DIV'){
-
- e.style.cursor='pointer'
-
- e.addEventListener('click', function (evt) {
- showModal(evt)
-
- },true);
- }
- });
- }
-
- }, 100);
-}
-
-function galleryImageHandler(e){
- if(e && e.parentElement.tagName == 'BUTTON'){
- e.onclick = showGalleryImage;
- }
-}
-
-function addTitles(root){
+function uiUpdate(root){
root.querySelectorAll('span, button, select').forEach(function(span){
tooltip = titles[span.textContent];
@@ -206,63 +127,18 @@ function addTitles(root){
});
mutationObserver.observe( progressbar, { childList:true, subtree:true })
}
-
- fullImg_preview = gradioApp().querySelectorAll('img.w-full')
- if(fullImg_preview != null){
- fullImg_preview.forEach(galleryImageHandler);
- }
-
+
+ uiUpdateCallbacks.forEach(function(x){
+ x()
+ })
}
document.addEventListener("DOMContentLoaded", function() {
var mutationObserver = new MutationObserver(function(m){
- addTitles(gradioApp());
+ uiUpdate(gradioApp());
});
mutationObserver.observe( gradioApp(), { childList:true, subtree:true })
-
- const modalFragment = document.createDocumentFragment();
- const modal = document.createElement('div')
- modal.onclick = closeModal;
-
- const modalClose = document.createElement('span')
- modalClose.className = 'modalClose cursor';
- modalClose.innerHTML = '&times;'
- modalClose.onclick = closeModal;
- modal.id = "lightboxModal";
- modal.tabIndex=0
- modal.addEventListener('keydown', modalKeyHandler, true)
- modal.appendChild(modalClose)
-
- const modalImage = document.createElement('img')
- modalImage.id = 'modalImage';
- modalImage.onclick = closeModal;
- modalImage.tabIndex=0
- modalImage.addEventListener('keydown', modalKeyHandler, true)
- modal.appendChild(modalImage)
-
- const modalPrev = document.createElement('a')
- modalPrev.className = 'modalPrev';
- modalPrev.innerHTML = '&#10094;'
- modalPrev.tabIndex=0
- modalPrev.addEventListener('click',modalPrevImage,true);
- modalPrev.addEventListener('keydown', modalKeyHandler, true)
- modal.appendChild(modalPrev)
-
- const modalNext = document.createElement('a')
- modalNext.className = 'modalNext';
- modalNext.innerHTML = '&#10095;'
- modalNext.tabIndex=0
- modalNext.addEventListener('click',modalNextImage,true);
- modalNext.addEventListener('keydown', modalKeyHandler, true)
-
- modal.appendChild(modalNext)
-
-
- gradioApp().getRootNode().appendChild(modal)
-
- document.body.appendChild(modalFragment);
-
});
function selected_gallery_index(){