Skip to content
This repository was archived by the owner on Apr 5, 2022. It is now read-only.

Commit 9e2e3db

Browse files
Add auto-scroll pause functionality
1 parent 4191efe commit 9e2e3db

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

assets/console.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,11 @@ window.addEventListener('load', () => {
9999
// Clear the input box
100100
commandInput.value = '';
101101
});
102+
103+
const consoleWindow = document.getElementById('console-output-wrapper');
104+
consoleWindow.addEventListener('scroll', (evt) => {
105+
autoScrollPaused = Math.ceil(consoleWindow.scrollTop + consoleWindow.offsetHeight) < consoleWindow.scrollHeight;
106+
});
102107
});
103108

104109
const appendConsoleMessage = (message) => {
@@ -113,7 +118,7 @@ const appendConsoleMessage = (message) => {
113118
messageDiv.classList.add('console-output');
114119
messageDiv.innerText = message;
115120
monitor.appendChild(messageDiv);
116-
messageDiv.scrollIntoView(false);
121+
if (!autoScrollPaused) { messageDiv.scrollIntoView(false); }
117122
};
118123

119124
const appendFormattedConsoleMessage = (messageParts) => {
@@ -157,7 +162,7 @@ const appendFormattedConsoleMessage = (messageParts) => {
157162

158163
// Append the message div to the monitor
159164
monitor.appendChild(messageDiv);
160-
messageDiv.scrollIntoView(false);
165+
if (!autoScrollPaused) { messageDiv.scrollIntoView(false); }
161166
};
162167

163168
const cacheCommand = (command) => {

assets/globals.js

+3
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,6 @@ let ootLocationsByName = {};
4343

4444
// The user has the option to pause receiving items
4545
let receiveItems = true;
46+
47+
// Tracks if auto-scrolling is currently paused
48+
let autoScrollPaused = false;

0 commit comments

Comments
 (0)