| window.main_viewer_height = 512; |
|
|
| function refresh_grid() { |
| let gridContainer = document.querySelector('#final_gallery .grid-container'); |
| let final_gallery = document.getElementById('final_gallery'); |
|
|
| if (gridContainer) if (final_gallery) { |
| let rect = final_gallery.getBoundingClientRect(); |
| let cols = Math.ceil((rect.width - 16.0) / rect.height); |
| if (cols < 2) cols = 2; |
| gridContainer.style.setProperty('--grid-cols', cols); |
| } |
| } |
|
|
| function refresh_grid_delayed() { |
| refresh_grid(); |
| setTimeout(refresh_grid, 100); |
| setTimeout(refresh_grid, 500); |
| setTimeout(refresh_grid, 1000); |
| } |
|
|
| function resized() { |
| let windowHeight = window.innerHeight - 260; |
| let elements = document.getElementsByClassName('main_view'); |
|
|
| if (windowHeight > 745) windowHeight = 745; |
|
|
| for (let i = 0; i < elements.length; i++) { |
| elements[i].style.height = windowHeight + 'px'; |
| } |
|
|
| window.main_viewer_height = windowHeight; |
|
|
| refresh_grid(); |
| } |
|
|
| function viewer_to_top(delay = 100) { |
| setTimeout(() => window.scrollTo({top: 0, behavior: 'smooth'}), delay); |
| } |
|
|
| function viewer_to_bottom(delay = 100) { |
| let element = document.getElementById('positive_prompt'); |
| let yPos = window.main_viewer_height; |
|
|
| if (element) { |
| yPos = element.getBoundingClientRect().top + window.scrollY; |
| } |
|
|
| setTimeout(() => window.scrollTo({top: yPos - 8, behavior: 'smooth'}), delay); |
| } |
|
|
| window.addEventListener('resize', (e) => { |
| resized(); |
| }); |
|
|
| onUiLoaded(async () => { |
| resized(); |
| }); |
|
|
| function on_style_selection_blur() { |
| let target = document.querySelector("#gradio_receiver_style_selections textarea"); |
| target.value = "on_style_selection_blur " + Math.random(); |
| let e = new Event("input", {bubbles: true}) |
| Object.defineProperty(e, "target", {value: target}) |
| target.dispatchEvent(e); |
| } |
|
|
| onUiLoaded(async () => { |
| let spans = document.querySelectorAll('.aspect_ratios span'); |
|
|
| spans.forEach(function (span) { |
| span.innerHTML = span.innerHTML.replace(/</g, '<').replace(/>/g, '>'); |
| }); |
|
|
| document.querySelector('.style_selections').addEventListener('focusout', function (event) { |
| setTimeout(() => { |
| if (!this.contains(document.activeElement)) { |
| on_style_selection_blur(); |
| } |
| }, 200); |
| }); |
|
|
| let inputs = document.querySelectorAll('.lora_weight input[type="range"]'); |
|
|
| inputs.forEach(function (input) { |
| input.style.marginTop = '12px'; |
| }); |
| }); |
|
|