diff --git a/javascript/panoramaviewer-ext.js b/javascript/panoramaviewer-ext.js index 7f225e4..b6c40c6 100644 --- a/javascript/panoramaviewer-ext.js +++ b/javascript/panoramaviewer-ext.js @@ -109,8 +109,7 @@ function panorama_send_image(dataURL, name = "Embed Resource") { } function panorama_change_mode(mode) { - return () => { - openpanorama.frame.contentWindow.postMessage({ + openpanorama.frame.contentWindow.postMessage({ type: "panoramaviewer/change-mode", mode: mode }) @@ -278,7 +277,7 @@ function onGalleryDrop(ev) { document.addEventListener("DOMContentLoaded", () => { const onload = () => { - if (gradioApp) { + if (typeof gradioApp === "function") { let target = gradioApp().getElementById("txt2img_results") if (!target) { @@ -296,13 +295,11 @@ document.addEventListener("DOMContentLoaded", () => { e.parentElement.style.display = "none" }) - /* no tab anymore, no functionality - if (gradioApp().getElementById("panoviewer-iframe")) { - openpanoramajs(); - } else { - setTimeout(onload, 10); - } - */ + if (gradioApp().getElementById("panoviewer-iframe")) { + openpanoramajs(); + } else { + setTimeout(onload, 10); + } } else { setTimeout(onload, 3); diff --git a/scripts/panorama-3dviewer.py b/scripts/panorama-3dviewer.py index ec68174..c3d6d72 100644 --- a/scripts/panorama-3dviewer.py +++ b/scripts/panorama-3dviewer.py @@ -7,7 +7,7 @@ import io from PIL import Image usefulDirs = scripts.basedir().split(os.sep)[-2:] -iframesrc = "file="+usefulDirs[0]+"/"+usefulDirs[1]+"/scripts/viewer.html" +iframesrc = "file="+usefulDirs[0]+"/"+usefulDirs[1]+"/scripts/tab_video.html" # js 2 gradio messaging?! how to do better? gallery_input_ondrop=None @@ -29,13 +29,12 @@ def onPanModeChange(m): def add_tab(): with gr.Blocks(analytics_enabled=False) as ui: with gr.Column(): - selectedPanMode = gr.Dropdown(choices=["Equirectangular", "Cubemap: Polyhedron net"],value="Equirectangular",label="Select projection mode", elem_id="panoviewer_mode") + selectedPanMode = gr.Dropdown(choices=["Equirectangular", "Cubemap: Polyhedron net","Equi Video"],value="Equirectangular",label="Select projection mode", elem_id="panoviewer_mode") gr.HTML(value=f"") - selectedPanMode.change(fn=onPanModeChange, inputs=[selectedPanMode],outputs=[], _js="panorama_change_mode(\""+selectedPanMode.value+"\")") - # unless we have functionality in this tab. Gallery-Viewer should be sufficient if not easier. -# return [(ui, "Panorama Viewer", "panorama-3dviewer")] - return [] + selectedPanMode.change(onPanModeChange, inputs=[selectedPanMode],outputs=[], _js="panorama_change_mode") + + return [(ui, "Panorama Viewer", "panorama-3dviewer")] def dropHandleGallery(x): diff --git a/scripts/tab_video.html b/scripts/tab_video.html new file mode 100644 index 0000000..68bd1ef --- /dev/null +++ b/scripts/tab_video.html @@ -0,0 +1,64 @@ +
+ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scripts/viewer.html b/scripts/viewer.html index ce5acd1..b5c6a05 100644 --- a/scripts/viewer.html +++ b/scripts/viewer.html @@ -11,13 +11,71 @@ + + +