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'; }); });