aboutsummaryrefslogtreecommitdiffstats
path: root/javascript/inspiration.js
diff options
context:
space:
mode:
Diffstat (limited to 'javascript/inspiration.js')
-rw-r--r--javascript/inspiration.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/javascript/inspiration.js b/javascript/inspiration.js
new file mode 100644
index 00000000..39844544
--- /dev/null
+++ b/javascript/inspiration.js
@@ -0,0 +1,48 @@
+function public_image_index_in_gallery(item, gallery){
+ var imgs = gallery.querySelectorAll("img.h-full")
+ var index;
+ var i = 0;
+ imgs.forEach(function(e){
+ if (e == item)
+ index = i;
+ i += 1;
+ });
+ var all_imgs = gallery.querySelectorAll("img")
+ if (all_imgs.length > imgs.length){
+ var num = imgs.length / 2
+ index = (index < num) ? index : (index - num)
+ }
+ return index;
+}
+
+function inspiration_selected(name, name_list){
+ var btn = gradioApp().getElementById("inspiration_select_button")
+ return [gradioApp().getElementById("inspiration_select_button").getAttribute("img-index")];
+}
+
+function inspiration_click_get_button(){
+ gradioApp().getElementById("inspiration_get_button").click();
+}
+
+var inspiration_image_click = function(){
+ var index = public_image_index_in_gallery(this, gradioApp().getElementById("inspiration_gallery"));
+ var btn = gradioApp().getElementById("inspiration_select_button");
+ btn.setAttribute("img-index", index);
+ setTimeout(function(btn){btn.click();}, 10, btn);
+}
+
+document.addEventListener("DOMContentLoaded", function() {
+ var mutationObserver = new MutationObserver(function(m){
+ var gallery = gradioApp().getElementById("inspiration_gallery")
+ if (gallery) {
+ var node = gallery.querySelector(".absolute.backdrop-blur.h-full")
+ if (node) {
+ node.style.display = "None";
+ }
+ gallery.querySelectorAll('img').forEach(function(e){
+ e.onclick = inspiration_image_click
+ });
+ }
+ });
+ mutationObserver.observe( gradioApp(), { childList:true, subtree:true });
+});