diff options
author | Vincent Petry <vincent@nextcloud.com> | 2021-02-09 19:06:58 +0300 |
---|---|---|
committer | Vincent Petry <vincent@nextcloud.com> | 2021-02-12 15:56:43 +0300 |
commit | ddf06db9028910782c2eefe888d7eeb1eba554c3 (patch) | |
tree | 1b62ae1eb07cdbafe8a934a7ca8460c1956860ce /src/views | |
parent | a5b115f943167732356abc4a946a93510915add0 (diff) |
Add sharing deck card with a conversation
Added deck action for sharing/linking that uses the RoomSelector.
Improved RoomSelector
Co-authored-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
Diffstat (limited to 'src/views')
-rw-r--r-- | src/views/RoomSelector.vue | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/views/RoomSelector.vue b/src/views/RoomSelector.vue index 7b0842aa6..dbfe28713 100644 --- a/src/views/RoomSelector.vue +++ b/src/views/RoomSelector.vue @@ -24,9 +24,9 @@ <Modal @close="close"> <div id="modal-inner" class="talk-modal" :class="{ 'icon-loading': loading }"> <div id="modal-content"> - <h2>{{ t('spreed', 'Link to a conversation') }}</h2> + <h2>{{ t('spreed', 'Select a conversation') }}</h2> <div id="room-list"> - <ul v-if="!loading"> + <ul v-if="!loading && availableRooms.length > 0"> <li v-for="room in availableRooms" :key="room.token" :class="{selected: selectedRoom === room.token }" @@ -38,9 +38,16 @@ <span>{{ room.displayName }}</span> </li> </ul> + <div v-else-if="!loading"> + {{ t('spreed', 'No conversations found') }} + </div> </div> <div id="modal-buttons"> - <button v-if="!loading" class="primary" @click="select"> + <button + v-if="!loading && availableRooms.length > 0" + class="primary" + :disabled="!selectedRoom" + @click="select"> {{ t('spreed', 'Select conversation') }} </button> </div> @@ -53,6 +60,7 @@ import Modal from '@nextcloud/vue/dist/Components/Modal' import axios from '@nextcloud/axios' import { generateOcsUrl } from '@nextcloud/router' +import { CONVERSATION } from '../constants' import ConversationIcon from '../components/ConversationIcon' export default { @@ -66,26 +74,12 @@ export default { rooms: [], selectedRoom: null, loading: true, - // TODO: should be included once this is properly available - types: { - ROOM_TYPE_ONE_TO_ONE: 1, - ROOM_TYPE_GROUP: 2, - ROOM_TYPE_PUBLIC: 3, - ROOM_TYPE_CHANGELOG: 4, - }, } }, computed: { - currentRoom() { - if (OCA.SpreedMe && OCA.SpreedMe.app.activeRoom) { - return OCA.SpreedMe.app.activeRoom.get('token') - } - return null - }, availableRooms() { return this.rooms.filter((room) => { - return room.token !== this.currentRoom - && room.type !== this.types.ROOM_TYPE_CHANGELOG + return room.type !== CONVERSATION.TYPE.CHANGELOG && room.objectType !== 'file' && room.objectType !== 'share:password' }) @@ -138,6 +132,7 @@ export default { #room-list { overflow-y: auto; flex: 0 1 auto; + height: 100%; } li { @@ -159,6 +154,9 @@ li { & > span { padding: 5px 5px 5px 10px; vertical-align: middle; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; } } |