From 0d9a3f4b4f5f2e7c43bc08f5c0f538e904e6f471 Mon Sep 17 00:00:00 2001 From: Spythere Date: Tue, 6 Sep 2022 12:44:18 +0200 Subject: [PATCH] =?UTF-8?q?Rozszerzone=20opcje=20filtr=C3=B3w=20dziennik?= =?UTF-8?q?=C3=B3w?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JournalView/JournalDispatchers.vue | 34 ++-- src/components/JournalView/JournalOptions.vue | 167 +++++++++++------- .../JournalView/JournalTimetables.vue | 30 ++-- src/styles/JournalSection.scss | 9 +- src/styles/global.scss | 17 +- src/styles/search_box.scss | 11 +- 6 files changed, 155 insertions(+), 113 deletions(-) diff --git a/src/components/JournalView/JournalDispatchers.vue b/src/components/JournalView/JournalDispatchers.vue index 96464e8..f6d8a8b 100644 --- a/src/components/JournalView/JournalDispatchers.vue +++ b/src/components/JournalView/JournalDispatchers.vue @@ -8,7 +8,7 @@ :sorter-option-ids="['timestampFrom', 'duration']" /> -
+
@@ -34,10 +34,10 @@
-
-
{{ $t('journal.no-further-data') }}
-
{{ $t('journal.loading-further-data') }}
+
{{ $t('journal.no-further-data') }}
+
{{ $t('journal.loading-further-data') }}
+ @@ -137,8 +137,6 @@ export default defineComponent({ this.searchersValues['search-dispatcher'] = this.dispatcherName?.toString() || ''; this.search(); } - - window.addEventListener('scroll', this.handleScroll); }, mounted() { @@ -147,27 +145,15 @@ export default defineComponent({ } }, - deactivated() { - window.removeEventListener('scroll', this.handleScroll); - }, - methods: { - closeDispatcherStatsCard() { - this.statsCardOpen = false; - }, + handleScroll(e: Event) { + const listElement = e.target as HTMLElement; + const scrollTop = listElement.scrollTop; + const elementHeight = listElement.scrollHeight - listElement.offsetHeight; - handleScroll() { - this.showReturnButton = window.scrollY > window.innerHeight; + if (!this.scrollDataLoaded || this.scrollNoMoreData || this.dataStatus != DataStatus.Loaded) return; - const element = this.$refs.scrollElement as HTMLElement; - - if ( - element.getBoundingClientRect().bottom * 0.85 < window.innerHeight && - this.scrollDataLoaded && - !this.scrollNoMoreData && - this.dataStatus == DataStatus.Loaded - ) - this.addHistoryData(); + if (scrollTop > elementHeight * 0.85) this.addHistoryData(); }, search() { diff --git a/src/components/JournalView/JournalOptions.vue b/src/components/JournalView/JournalOptions.vue index 56b4f1a..e31e565 100644 --- a/src/components/JournalView/JournalOptions.vue +++ b/src/components/JournalView/JournalOptions.vue @@ -1,16 +1,30 @@