From 9dd95b62a95aeea7b3c1ea705fca1acb7d8afed8 Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 20 Mar 2021 19:44:43 +0100 Subject: [PATCH] added ScrollingContainer to guarantee scrolling to top when switching notes --- .../app/layouts/desktop_extra_window_layout.js | 16 +++++++++------- .../app/layouts/desktop_main_window_layout.js | 16 +++++++++------- src/public/app/layouts/mobile_layout.js | 16 +++++++++++----- src/public/app/widgets/scrolling_container.js | 18 ++++++++++++++++++ .../app/widgets/type_widgets/type_widget.js | 10 ---------- 5 files changed, 47 insertions(+), 29 deletions(-) create mode 100644 src/public/app/widgets/scrolling_container.js diff --git a/src/public/app/layouts/desktop_extra_window_layout.js b/src/public/app/layouts/desktop_extra_window_layout.js index b89b976e4..ca85978bb 100644 --- a/src/public/app/layouts/desktop_extra_window_layout.js +++ b/src/public/app/layouts/desktop_extra_window_layout.js @@ -23,6 +23,7 @@ import NotePropertiesWidget from "../widgets/type_property_widgets/note_properti import NoteIconWidget from "../widgets/note_icon.js"; import NotePathsWidget from "../widgets/note_paths.js"; import SearchResultWidget from "../widgets/search_result.js"; +import ScrollingContainer from "../widgets/scrolling_container.js"; export default class DesktopExtraWindowLayout { constructor(customWidgets) { @@ -65,13 +66,14 @@ export default class DesktopExtraWindowLayout { .child(new InheritedAttributesWidget()) ) ) - .child(new Container() - .css('height: 100%; overflow: auto;') - .child(new TabCachingWidget(() => new SqlTableSchemasWidget())) - .child(new TabCachingWidget(() => new NoteDetailWidget())) - .child(new TabCachingWidget(() => new NoteListWidget())) - .child(new TabCachingWidget(() => new SearchResultWidget())) - .child(new TabCachingWidget(() => new SqlResultWidget())) + .child( + new TabCachingWidget(() => new ScrollingContainer() + .child(new SqlTableSchemasWidget()) + .child(new NoteDetailWidget()) + .child(new NoteListWidget()) + .child(new SearchResultWidget()) + .child(new SqlResultWidget()) + ) ) .child(...this.customWidgets.get('center-pane')) ) diff --git a/src/public/app/layouts/desktop_main_window_layout.js b/src/public/app/layouts/desktop_main_window_layout.js index 34537bbdf..f1995339c 100644 --- a/src/public/app/layouts/desktop_main_window_layout.js +++ b/src/public/app/layouts/desktop_main_window_layout.js @@ -34,6 +34,7 @@ import NotePropertiesWidget from "../widgets/type_property_widgets/note_properti import NoteIconWidget from "../widgets/note_icon.js"; import SearchResultWidget from "../widgets/search_result.js"; import SyncStatusWidget from "../widgets/sync_status.js"; +import ScrollingContainer from "../widgets/scrolling_container.js"; const RIGHT_PANE_CSS = `