From cff0c200078fb1c2e727e4ff1e37dc4f9cc57f78 Mon Sep 17 00:00:00 2001 From: Roland Date: Wed, 3 May 2023 09:01:25 -0600 Subject: [PATCH] Smoothing scroll of edit modal. --- app/src/Tags.js | 5 +++-- app/src/components/Common.js | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/Tags.js b/app/src/Tags.js index bce5b54c..9530ff3b 100644 --- a/app/src/Tags.js +++ b/app/src/Tags.js @@ -15,7 +15,7 @@ import { TableHeaderCell, TableRow, } from "semantic-ui-react"; -import {contrastingColor} from "./components/Common"; +import {contrastingColor, scrollToTopOfElement} from "./components/Common"; import { Button, FormInput, @@ -200,7 +200,8 @@ function EditTagsModal() { setTagColor(color || DEFAULT_TAG_COLOR); setTagId(id); // Scroll to top of Edit Modal. - document.getElementById('editModalContent').scrollTop = 0; + const editModalContent = document.getElementById('editModalContent'); + scrollToTopOfElement(editModalContent); } const localSaveTag = async () => { diff --git a/app/src/components/Common.js b/app/src/components/Common.js index 932570ef..567a2cf5 100644 --- a/app/src/components/Common.js +++ b/app/src/components/Common.js @@ -359,6 +359,13 @@ export function scrollToTop() { }); } +export function scrollToTopOfElement(element, smooth=true) { + element.scroll({ + top: 0, + behavior: smooth ? 'smooth' : 'auto', + }); +} + export function SearchInput({ searchStr, onSubmit,