mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2025-06-21 02:18:24 +02:00
Merge Improvements from JeLuF:gallery
This commit is contained in:
commit
9efae7c702
@ -104,7 +104,7 @@ def init():
|
|||||||
from easydiffusion.easydb.mappings import GalleryImage
|
from easydiffusion.easydb.mappings import GalleryImage
|
||||||
images = db.query(GalleryImage).order_by(GalleryImage.time_created.desc())
|
images = db.query(GalleryImage).order_by(GalleryImage.time_created.desc())
|
||||||
if prompt != "":
|
if prompt != "":
|
||||||
images = images.filter(GalleryImage.path.like("%"+prompt+"%"))
|
images = images.filter(GalleryImage.prompt.like("%"+prompt+"%"))
|
||||||
if model != "":
|
if model != "":
|
||||||
images = images.filter(GalleryImage.use_stable_diffusion_model.like("%"+model+"%"))
|
images = images.filter(GalleryImage.use_stable_diffusion_model.like("%"+model+"%"))
|
||||||
images = images.offset(page*images_per_page).limit(images_per_page)
|
images = images.offset(page*images_per_page).limit(images_per_page)
|
||||||
|
@ -519,14 +519,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div id="tab-content-gallery" class="tab-content">
|
<div id="tab-content-gallery" class="tab-content">
|
||||||
<div id="gallery-search">
|
<div id="gallery-search">
|
||||||
<button class="primaryButton" onclick="decrementGalleryPage()"><i class="fa-solid fa-arrow-left"></i></button>
|
<button id="gallery-prev" class="primaryButton"><i class="fa-solid fa-arrow-left"></i></button>
|
||||||
<input id="gallery-prompt-search" type="text" onkeydown="gallery_keyDown_handler(event)" placeholder="Search for a prompt..."></input>
|
<input id="gallery-prompt-search" type="search" placeholder="Search for a prompt..."></input>
|
||||||
<input id="gallery-model-search" type="text" onkeydown="gallery_keyDown_handler(event)" placeholder="Search for a model..."></input>
|
<input id="gallery-model-search" type="search" placeholder="Search for a model..."></input>
|
||||||
<label for="gallery-page">Page:</label>
|
<label for="gallery-page">Page:</label>
|
||||||
<input id="gallery-page" name="Page" value="0" size="1" onkeypress="gallery_keyDown_handler(event)">
|
<input id="gallery-page" name="Page" value="0" size="1" onkeypress="gallery_keyDown_handler(event)">
|
||||||
<input id="gallery-thumbnail-size" name="gallery-thumbnail-size" class="editor-slider" type="range" value="5.5" min="3" max="20" step="0.05">
|
<input id="gallery-thumbnail-size" name="gallery-thumbnail-size" class="editor-slider" type="range" value="5.5" min="3" max="20" step="0.05">
|
||||||
<button class="primaryButton" id="gallery-refresh" onclick="refreshGallery(true)">Load</button>
|
<button class="primaryButton" id="gallery-refresh" onclick="refreshGallery(true)">Load</button>
|
||||||
<button class="primaryButton" onclick="incrementGalleryPage()"><i class="fa-solid fa-arrow-right"></i></button>
|
<button id="gallery-next" class="primaryButton"><i class="fa-solid fa-arrow-right"></i></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="gallery">
|
<div class="gallery">
|
||||||
<div class="gallery-container" id="imagecontainer"></div>
|
<div class="gallery-container" id="imagecontainer"></div>
|
||||||
|
@ -145,6 +145,12 @@ let embeddingsCardSizeSelector = document.querySelector("#embedding-card-size-se
|
|||||||
let galleryImginfoDialog = document.querySelector("#gallery-imginfo")
|
let galleryImginfoDialog = document.querySelector("#gallery-imginfo")
|
||||||
let galleryThumbnailSize = document.querySelector("#gallery-thumbnail-size")
|
let galleryThumbnailSize = document.querySelector("#gallery-thumbnail-size")
|
||||||
let galleryImginfoDialogContent = document.querySelector("#gallery-imginfo-content")
|
let galleryImginfoDialogContent = document.querySelector("#gallery-imginfo-content")
|
||||||
|
let galleryPageField = document.querySelector("#gallery-page")
|
||||||
|
let galleryPrevBtn = document.querySelector("#gallery-prev")
|
||||||
|
let galleryNextBtn = document.querySelector("#gallery-next")
|
||||||
|
let galleryPromptSearchField = document.querySelector("#gallery-prompt-search")
|
||||||
|
let galleryModelSearchField = document.querySelector("#gallery-model-search")
|
||||||
|
|
||||||
|
|
||||||
let positiveEmbeddingText = document.querySelector("#positive-embedding-text")
|
let positiveEmbeddingText = document.querySelector("#positive-embedding-text")
|
||||||
let negativeEmbeddingText = document.querySelector("#negative-embedding-text")
|
let negativeEmbeddingText = document.querySelector("#negative-embedding-text")
|
||||||
@ -3256,23 +3262,25 @@ function layoutGallery() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
galleryModelSearchField.addEventListener("keyup", debounce(e => refreshGallery(true), 500))
|
||||||
|
galleryPromptSearchField.addEventListener("keyup", debounce(e => refreshGallery(true), 500))
|
||||||
|
|
||||||
function refreshGallery(newsearch = false) {
|
function refreshGallery(newsearch = false) {
|
||||||
let buttons = document.querySelectorAll("#gallery-search button")
|
|
||||||
if (newsearch) {
|
if (newsearch) {
|
||||||
document.getElementById("gallery-page").value = 0
|
galleryPageField.value = 0
|
||||||
}
|
}
|
||||||
let container = document.getElementById("imagecontainer")
|
let container = document.getElementById("imagecontainer")
|
||||||
container.innerHTML = ""
|
container.innerHTML = ""
|
||||||
let params = new URLSearchParams({
|
let params = new URLSearchParams({
|
||||||
prompt: document.getElementById("gallery-prompt-search").value,
|
prompt: document.getElementById("gallery-prompt-search").value,
|
||||||
model: document.getElementById("gallery-model-search").value,
|
model: document.getElementById("gallery-model-search").value,
|
||||||
page: document.getElementById("gallery-page").value
|
page: galleryPageField.value
|
||||||
})
|
})
|
||||||
|
|
||||||
fetch('/all_images?' + params)
|
fetch('/all_images?' + params)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(json => {
|
.then(json => {
|
||||||
if (document.getElementById("gallery-page").value > 0 && json.length == 0) {
|
if (galleryPageField.value > 0 && json.length == 0) {
|
||||||
decrementGalleryPage()
|
decrementGalleryPage()
|
||||||
alert("No more images")
|
alert("No more images")
|
||||||
return
|
return
|
||||||
@ -3295,23 +3303,32 @@ function refreshGallery(newsearch = false) {
|
|||||||
layoutGallery()
|
layoutGallery()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
fetch('/all_images?images_per_page=1&page=' + (parseInt(document.getElementById("gallery-page").value) + 1) * 50) // 50 has to be replaced if custom images per page is implemented
|
|
||||||
|
params.set("images_per_page", 1)
|
||||||
|
// 50 has to be replaced if custom images per page is implemented
|
||||||
|
params.set("page", (parseInt(galleryPageField.value) + 1) * 50)
|
||||||
|
|
||||||
|
fetch("/all_images?" + params)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(json => {
|
.then(json => {
|
||||||
if (json.length == 0) {
|
if (json.length == 0) {
|
||||||
buttons[2].disabled = true
|
galleryNextBtn.disabled = true
|
||||||
} else {
|
} else {
|
||||||
buttons[2].disabled = false
|
galleryNextBtn.disabled = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
if (document.getElementById("gallery-page").value == 0) {
|
if (galleryPageField.value == 0) {
|
||||||
buttons[0].disabled = true
|
galleryPrevBtn.disabled = true
|
||||||
} else {
|
} else {
|
||||||
buttons[0].disabled = false
|
galleryPrevBtn.disabled = false
|
||||||
}
|
}
|
||||||
document.getElementById("gallery-refresh").innerText = "Refresh"
|
document.getElementById("gallery-refresh").innerText = "Refresh"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
galleryPrevBtn.addEventListener("click", decrementGalleryPage)
|
||||||
|
galleryNextBtn.addEventListener("click", incrementGalleryPage)
|
||||||
|
|
||||||
|
|
||||||
document.addEventListener("tabClick", (e) => {
|
document.addEventListener("tabClick", (e) => {
|
||||||
if (e.detail.name == 'gallery') {
|
if (e.detail.name == 'gallery') {
|
||||||
refreshGallery()
|
refreshGallery()
|
||||||
@ -3320,13 +3337,13 @@ document.addEventListener("tabClick", (e) => {
|
|||||||
|
|
||||||
|
|
||||||
function decrementGalleryPage() {
|
function decrementGalleryPage() {
|
||||||
let page = Math.max(document.getElementById("gallery-page").value - 1, 0)
|
let page = Math.max(galleryPageField.value - 1, 0)
|
||||||
document.getElementById("gallery-page").value = page
|
galleryPageField.value = page
|
||||||
refreshGallery(false)
|
refreshGallery(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
function incrementGalleryPage() {
|
function incrementGalleryPage() {
|
||||||
document.getElementById("gallery-page").value++
|
galleryPageField.value++
|
||||||
refreshGallery(false)
|
refreshGallery(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user