diff options
Diffstat (limited to 'src/components/ContentTemplate.vue')
-rw-r--r-- | src/components/ContentTemplate.vue | 128 |
1 files changed, 62 insertions, 66 deletions
diff --git a/src/components/ContentTemplate.vue b/src/components/ContentTemplate.vue index 8971fcdf6..412f074c3 100644 --- a/src/components/ContentTemplate.vue +++ b/src/components/ContentTemplate.vue @@ -1,82 +1,78 @@ <template> - <NcAppContent - :show-details="showDetails" - @update:showDetails="unselectItem()" - > - <template #list> - <NcAppContentList> - <div class="header"> - <slot name="header"></slot> - </div> - - <FeedItemDisplayList - :items="items" - :fetch-key="fetchKey" - :config="config" - @load-more="emit('load-more')" - /> - </NcAppContentList> - </template> - - <NcAppContentDetails class="content-details-container"> - <FeedItemDisplay v-if="selectedFeedItem" :item="selectedFeedItem" /> - </NcAppContentDetails> - </NcAppContent> + <NcAppContent :show-details="showDetails" + @update:showDetails="unselectItem()"> + <template #list> + <NcAppContentList> + <div class="header"> + <slot name="header" /> + </div> + + <FeedItemDisplayList :items="items" + :fetch-key="fetchKey" + :config="config" + @load-more="emit('load-more')" /> + </NcAppContentList> + </template> + + <NcAppContentDetails class="content-details-container"> + <FeedItemDisplay v-if="selectedFeedItem" :item="selectedFeedItem" /> + </NcAppContentDetails> + </NcAppContent> </template> <script setup lang="ts"> - import { PropType, computed, ref, watch } from 'vue'; +import { PropType, computed, ref, watch } from 'vue' - import itemStore from '../store/item'; +import itemStore from '../store/item' - import NcAppContent from '@nextcloud/vue/dist/Components/NcAppContent'; - import NcAppContentList from '@nextcloud/vue/dist/Components/NcAppContentList'; - import NcAppContentDetails from '@nextcloud/vue/dist/Components/NcAppContentDetails'; +import NcAppContent from '@nextcloud/vue/dist/Components/NcAppContent' +import NcAppContentList from '@nextcloud/vue/dist/Components/NcAppContentList' +import NcAppContentDetails from '@nextcloud/vue/dist/Components/NcAppContentDetails' - import {FeedItem} from '../types/FeedItem'; +import { FeedItem } from '../types/FeedItem' - import FeedItemDisplayList from './feed-display/FeedItemDisplayList.vue'; - import FeedItemDisplay from './feed-display/FeedItemDisplay.vue'; +import FeedItemDisplayList from './feed-display/FeedItemDisplayList.vue' +import FeedItemDisplay from './feed-display/FeedItemDisplay.vue' - defineProps({ - items: { - type: Array as PropType<Array<FeedItem>>, - required: true - }, - fetchKey: { - type: String, - required: true - }, - config: { - type: Object - } - }) +defineProps({ + items: { + type: Array as PropType<Array<FeedItem>>, + required: true, + }, + fetchKey: { + type: String, + required: true, + }, + config: { + type: Object, + }, +}) - const emit = defineEmits<{ +const emit = defineEmits<{ (event: 'load-more'): void - }>(); - - const showDetails = ref(false); - - const selectedFeedItem = computed(() => { - return itemStore.getters.selected(itemStore.state); - }) - - watch(selectedFeedItem, (newSelectedFeedItem) => { - if (newSelectedFeedItem) { - showDetails.value = true; - } else { - showDetails.value = false; - } - }) - - function unselectItem() { - itemStore.mutations.SET_SELECTED_ITEM( - itemStore.state, - {id: undefined} - ); + }>() + +const showDetails = ref(false) + +const selectedFeedItem = computed(() => { + return itemStore.getters.selected(itemStore.state) +}) + +watch(selectedFeedItem, (newSelectedFeedItem) => { + if (newSelectedFeedItem) { + showDetails.value = true + } else { + showDetails.value = false } +}) + +function unselectItem() { + itemStore.mutations.SET_SELECTED_ITEM( + itemStore.state, + { id: undefined }, + ) +} </script> |