From a1e0c866aafec521b6aca1e8bb3099c82ba925f5 Mon Sep 17 00:00:00 2001 From: tamaina Date: Sun, 31 May 2020 12:53:06 +0900 Subject: feat(client): 自動でもっと見るオプション (#6403) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * wip * ugokanai * wip * implement setting subscribing * fix lint * :v: * Update notifications.vue Co-authored-by: syuilo --- src/client/components/drive.vue | 30 ++++++++++++++++++++++++++---- src/client/components/notes.vue | 8 ++++---- src/client/components/notifications.vue | 2 +- src/client/components/ui/pagination.vue | 4 ++-- src/client/components/user-list.vue | 2 +- src/client/components/users-dialog.vue | 3 +-- 6 files changed, 35 insertions(+), 14 deletions(-) (limited to 'src/client/components') diff --git a/src/client/components/drive.vue b/src/client/components/drive.vue index 65eb1cb816..3e7b7d04ae 100644 --- a/src/client/components/drive.vue +++ b/src/client/components/drive.vue @@ -19,17 +19,17 @@ @drop.prevent.stop="onDrop" >
-
+
- {{ $t('loadMore') }} + {{ $t('loadMore') }}
-
+
- {{ $t('loadMore') }} + {{ $t('loadMore') }}

{{ $t('empty-draghover') }}

@@ -116,6 +116,13 @@ export default Vue.extend({ fetching: true, + ilFilesObserver: new IntersectionObserver( + (entries) => entries.some((entry) => entry.isIntersecting) + && !this.fetching && this.moreFiles && + this.fetchMoreFiles() + ), + moreFilesElement: null as Element, + faAngleRight }; }, @@ -127,6 +134,12 @@ export default Vue.extend({ }, mounted() { + if (this.$store.state.device.enableInfiniteScroll && this.$refs.loadMoreFiles) { + this.$nextTick(() => { + this.ilFilesObserver.observe((this.$refs.loadMoreFiles as Vue).$el) + }); + } + this.connection = this.$root.stream.useSharedConnection('drive'); this.connection.on('fileCreated', this.onStreamDriveFileCreated); @@ -143,8 +156,17 @@ export default Vue.extend({ } }, + activated() { + if (this.$store.state.device.enableInfiniteScroll) { + this.$nextTick(() => { + this.ilFilesObserver.observe((this.$refs.loadMoreFiles as Vue).$el) + }); + } + }, + beforeDestroy() { this.connection.dispose(); + this.ilFilesObserver.disconnect(); }, methods: { diff --git a/src/client/components/notes.vue b/src/client/components/notes.vue index 515bc58e2e..c83cbd1aa1 100644 --- a/src/client/components/notes.vue +++ b/src/client/components/notes.vue @@ -7,8 +7,8 @@ -
- @@ -18,8 +18,8 @@ -
- diff --git a/src/client/components/notifications.vue b/src/client/components/notifications.vue index 3ed198a04c..36464a3096 100644 --- a/src/client/components/notifications.vue +++ b/src/client/components/notifications.vue @@ -5,7 +5,7 @@ - diff --git a/src/client/components/ui/pagination.vue b/src/client/components/ui/pagination.vue index e888b7420c..79d322bbc4 100644 --- a/src/client/components/ui/pagination.vue +++ b/src/client/components/ui/pagination.vue @@ -4,8 +4,8 @@
-
- +
+ diff --git a/src/client/components/user-list.vue b/src/client/components/user-list.vue index 7a9cd58a48..0204cf9d06 100644 --- a/src/client/components/user-list.vue +++ b/src/client/components/user-list.vue @@ -22,7 +22,7 @@
-
diff --git a/src/client/components/users-dialog.vue b/src/client/components/users-dialog.vue index 0e0cc36c2a..575d031182 100644 --- a/src/client/components/users-dialog.vue +++ b/src/client/components/users-dialog.vue @@ -15,8 +15,7 @@
- - -- cgit v1.2.3-freya