Add modal creation and functions
This commit is contained in:
parent
65be5312dc
commit
1a51337077
60
script.js
60
script.js
@ -76,6 +76,35 @@ function gradioApp(){
|
|||||||
|
|
||||||
global_progressbar = null
|
global_progressbar = null
|
||||||
|
|
||||||
|
function closeModal() {
|
||||||
|
gradioApp().getElementById("lightboxModal").style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
function showModal(elem) {
|
||||||
|
gradioApp().getElementById("modalImage").src = elem.src
|
||||||
|
gradioApp().getElementById("lightboxModal").style.display = "block";
|
||||||
|
}
|
||||||
|
|
||||||
|
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'
|
||||||
|
|
||||||
|
elemfunc = function(elem){
|
||||||
|
elem.onclick = function(){showModal(elem)};
|
||||||
|
}
|
||||||
|
elemfunc(e)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
|
||||||
function addTitles(root){
|
function addTitles(root){
|
||||||
root.querySelectorAll('span, button, select').forEach(function(span){
|
root.querySelectorAll('span, button, select').forEach(function(span){
|
||||||
tooltip = titles[span.textContent];
|
tooltip = titles[span.textContent];
|
||||||
@ -118,6 +147,16 @@ function addTitles(root){
|
|||||||
img2img_preview.style.height = img2img_gallery.clientHeight + "px"
|
img2img_preview.style.height = img2img_gallery.clientHeight + "px"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fullImg_preview = gradioApp().querySelectorAll('img.w-full')
|
||||||
|
|
||||||
|
if(fullImg_preview != null){
|
||||||
|
|
||||||
|
fullImg_preview.forEach(function function_name(e) {
|
||||||
|
if(e && e.parentElement.tagName == 'BUTTON'){
|
||||||
|
e.onclick = showGalleryImage;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
window.setTimeout(requestProgress, 500)
|
window.setTimeout(requestProgress, 500)
|
||||||
});
|
});
|
||||||
@ -131,6 +170,27 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||||||
addTitles(gradioApp());
|
addTitles(gradioApp());
|
||||||
});
|
});
|
||||||
mutationObserver.observe( gradioApp(), { childList:true, subtree:true })
|
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 = '×'
|
||||||
|
modalClose.onclick = closeModal;
|
||||||
|
modal.id = "lightboxModal";
|
||||||
|
modal.appendChild(modalClose)
|
||||||
|
|
||||||
|
const modalImage = document.createElement('img')
|
||||||
|
modalImage.id = 'modalImage';
|
||||||
|
modalImage.onclick = closeModal;
|
||||||
|
modal.appendChild(modalImage)
|
||||||
|
|
||||||
|
gradioApp().getRootNode().appendChild(modal)
|
||||||
|
|
||||||
|
document.body.appendChild(modalFragment);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function selected_gallery_index(){
|
function selected_gallery_index(){
|
||||||
|
Loading…
Reference in New Issue
Block a user