summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Tirk <paultirk@paultirk.com>2024-03-22 12:04:15 +0100
committerBenjamin Brahmer <info@b-brahmer.de>2024-05-07 13:52:59 +0200
commita4911e2b74cef818d2fc2d5abf44f516177d4c44 (patch)
tree6c059816b2112d2942c4e5b7ae8e3969b80b4d03
parent9c3f3e3dca24a4c37623f14c270b1c2a9ed232fb (diff)
reset content scroll position when changing feed item
Signed-off-by: Paul Tirk <paultirk@paultirk.com>
-rw-r--r--src/components/ContentTemplate.vue35
-rw-r--r--src/components/feed-display/FeedItemDisplay.vue2
2 files changed, 26 insertions, 11 deletions
diff --git a/src/components/ContentTemplate.vue b/src/components/ContentTemplate.vue
index ddfe200de..25d1c1f43 100644
--- a/src/components/ContentTemplate.vue
+++ b/src/components/ContentTemplate.vue
@@ -14,15 +14,17 @@
</NcAppContentList>
</template>
- <NcAppContentDetails>
- <FeedItemDisplay v-if="selectedFeedItem" :item="selectedFeedItem" />
- <NcEmptyContent v-else
- :title="t('news', 'No article selected')"
- :description="t('news', 'Please select an article from the list...')">
- <template #icon>
- <TextIcon />
- </template>
- </NcEmptyContent>
+ <NcAppContentDetails class="feed-item-content">
+ <div ref="contentElement" class="feed-item-content-wrapper">
+ <FeedItemDisplay v-if="selectedFeedItem" :item="selectedFeedItem" />
+ <NcEmptyContent v-else
+ :title="t('news', 'No article selected')"
+ :description="t('news', 'Please select an article from the list...')">
+ <template #icon>
+ <TextIcon />
+ </template>
+ </NcEmptyContent>
+ </div>
</NcAppContentDetails>
</NcAppContent>
</template>
@@ -68,6 +70,8 @@ const emit = defineEmits<{(event: 'load-more'): void}>()
const showDetails = ref(false)
+const contentElement = ref()
+
const selectedFeedItem = computed(() => {
return itemStore.getters.selected(itemStore.state)
})
@@ -75,6 +79,7 @@ const selectedFeedItem = computed(() => {
watch(selectedFeedItem, (newSelectedFeedItem) => {
if (newSelectedFeedItem) {
showDetails.value = true
+ contentElement.value?.scrollTo(0, 0)
} else {
showDetails.value = false
}
@@ -92,3 +97,15 @@ function unselectItem() {
}
</script>
+
+<style>
+.feed-item-content {
+ overflow:hidden;
+ height: 100%
+}
+
+.feed-item-content-wrapper {
+ height: 100%;
+ overflow-y: scroll;
+}
+</style>
diff --git a/src/components/feed-display/FeedItemDisplay.vue b/src/components/feed-display/FeedItemDisplay.vue
index cb9becdbc..1126a0577 100644
--- a/src/components/feed-display/FeedItemDisplay.vue
+++ b/src/components/feed-display/FeedItemDisplay.vue
@@ -200,7 +200,6 @@ export default Vue.extend({
<style>
.feed-item-display {
- max-height: 100%;
overflow-y: hidden;
display: flex;
flex-direction: column;
@@ -208,7 +207,6 @@ export default Vue.extend({
.article {
padding: 0 50px 50px 50px;
- overflow-y: scroll;
height: 100%;
max-width: 1024px;
margin-left: auto;