diff --git a/ui/plugins/ui/Autoscroll.plugin.js b/ui/plugins/ui/Autoscroll.plugin.js new file mode 100644 index 00000000..aec9523d --- /dev/null +++ b/ui/plugins/ui/Autoscroll.plugin.js @@ -0,0 +1,42 @@ +(function () { + "use strict" + + var styleSheet = document.createElement("style"); + styleSheet.textContent = ` + .auto-scroll { + float: right; + } + `; + document.head.appendChild(styleSheet); + + const autoScrollControl = document.createElement('div'); + autoScrollControl.innerHTML = ` + ` + autoScrollControl.className = "auto-scroll" + clearAllPreviewsBtn.parentNode.insertBefore(autoScrollControl, clearAllPreviewsBtn.nextSibling) + prettifyInputs(document); + let autoScroll = document.querySelector("#auto_scroll") + + SETTINGS_IDS_LIST.push("auto_scroll") + initSettings() + + // observe for changes in the preview pane + var observer = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + if (mutation.target.className == 'img-batch') { + Autoscroll(mutation.target) + } + }) + }) + + observer.observe(document.getElementById('preview'), { + childList: true, + subtree: true + }) + + function Autoscroll(target) { + if (autoScroll.checked && target !== null) { + target.parentElement.parentElement.parentElement.scrollIntoView(); + } + } +})()