diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-05-19 06:53:02 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-19 06:53:02 +0000 |
commit | fe7bcbe340d242560d9818411162206a12e3a146 (patch) | |
tree | 96a7a78340d9956ebcf5b260c8218e61e6878ee0 /script.js | |
parent | 8c1148b9ea439d4446437a6cd431cb6a73cd8a76 (diff) | |
parent | 7b61acbd35e9db43a5279a42afad3f3dc68462c9 (diff) | |
download | stable-diffusion-webui-gfx803-fe7bcbe340d242560d9818411162206a12e3a146.tar.gz stable-diffusion-webui-gfx803-fe7bcbe340d242560d9818411162206a12e3a146.tar.bz2 stable-diffusion-webui-gfx803-fe7bcbe340d242560d9818411162206a12e3a146.zip |
Merge pull request #10534 from thot-experiment/dev
rewrite uiElementIsVisible
Diffstat (limited to 'script.js')
-rw-r--r-- | script.js | 28 |
1 files changed, 15 insertions, 13 deletions
@@ -92,19 +92,21 @@ document.addEventListener('keydown', function(e) { * checks that a UI element is not in another hidden element or tab content */ function uiElementIsVisible(el) { - let isVisible = !el.closest('.\\!hidden'); - if (!isVisible) { - return false; + if (el === document) { + return true; } - while ((isVisible = el.closest('.tabitem')?.style.display) !== 'none') { - if (!isVisible) { - return false; - } else if (el.parentElement) { - el = el.parentElement; - } else { - break; - } - } - return isVisible; + const computedStyle = getComputedStyle(el); + const isVisible = computedStyle.display !== 'none'; + + if (!isVisible) return false; + return uiElementIsVisible(el.parentNode); +} + +function uiElementInSight(el) { + const clRect = el.getBoundingClientRect(); + const windowHeight = window.innerHeight; + const isOnScreen = clRect.bottom > 0 && clRect.top < windowHeight; + + return isOnScreen; } |