From 6308c6c4b0027ecd3724e585752a9ac1392559f3 Mon Sep 17 00:00:00 2001 From: Evan Simkowitz Date: Tue, 23 Apr 2024 15:38:02 -0700 Subject: [PATCH] Simplify scrollHistoryItemIntoView method (#595) * Simplify scrollHistoryItemIntoView * remove unnecessary block argument * actually the block nearest is necessary, otherwise the scroll will jump even if the item is already in view --- src/models/input.ts | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/src/models/input.ts b/src/models/input.ts index 3e54aea7..0ec199c7 100644 --- a/src/models/input.ts +++ b/src/models/input.ts @@ -412,35 +412,7 @@ class InputModel { if (elem == null) { return; } - const historyDiv = elem.closest(".cmd-history"); - if (historyDiv == null) { - return; - } - const buffer = 15; - let titleHeight = 24; - const titleDiv: HTMLElement = document.querySelector(".cmd-history .history-title"); - if (titleDiv != null) { - titleHeight = titleDiv.offsetHeight + 2; - } - const elemOffset = elem.offsetTop; - const elemHeight = elem.clientHeight; - const topPos = historyDiv.scrollTop; - const endPos = topPos + historyDiv.clientHeight; - if (elemOffset + elemHeight + buffer > endPos) { - if (elemHeight + buffer > historyDiv.clientHeight - titleHeight) { - historyDiv.scrollTop = elemOffset - titleHeight; - return; - } - historyDiv.scrollTop = elemOffset - historyDiv.clientHeight + elemHeight + buffer; - return; - } - if (elemOffset < topPos + titleHeight) { - if (elemHeight + buffer > historyDiv.clientHeight - titleHeight) { - historyDiv.scrollTop = elemOffset - titleHeight; - return; - } - historyDiv.scrollTop = elemOffset - titleHeight - buffer; - } + elem.scrollIntoView({ block: "nearest" }); } grabSelectedHistoryItem(): void {