diff options
-rw-r--r-- | .eslintignore | 1 | ||||
-rw-r--r-- | src/collectionsintegration.js | 63 | ||||
-rw-r--r-- | src/components/Sidebar/Sidebar.vue | 37 | ||||
-rw-r--r-- | src/views/CollaborationView.vue | 55 | ||||
-rw-r--r-- | webpack.common.js | 1 |
5 files changed, 30 insertions, 127 deletions
diff --git a/.eslintignore b/.eslintignore index a586861bd..764a4f79a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,5 @@ /js/admin/* /js/collections.js -/js/collectionsintegration.js /js/simplewebrtc/bundled.js /js/tests/* /js/vendor/* diff --git a/src/collectionsintegration.js b/src/collectionsintegration.js deleted file mode 100644 index 98fd90ba6..000000000 --- a/src/collectionsintegration.js +++ /dev/null @@ -1,63 +0,0 @@ -/* - * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net> - * - * @author Julius Härtl <jus@bitgrid.net> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - */ - -import Vue from 'vue' -import CollaborationView from './views/CollaborationView' - -// eslint-disable-next-line no-unexpected-multiline -(function(OCP, OCA) { - // eslint-disable-next-line - __webpack_nonce__ = btoa(OC.requestToken) - // eslint-disable-next-line - __webpack_public_path__ = OC.linkTo('spreed', 'js/') - - Vue.prototype.t = t - Vue.prototype.n = n - Vue.prototype.OC = OC - - OCA.Talk = Object.assign({}, OCA.Talk) - OCA.Talk.CollectionsTabView = { - - ComponentVM: null, - MountingPoint: null, - - init(MountingPoint, roomModel) { - this.ComponentVM = new Vue({ - data: { - model: roomModel.toJSON(), - }, - render: h => h(CollaborationView), - }) - - if (MountingPoint) { - this.ComponentVM.$mount(MountingPoint) - } - }, - setRoomModel(roomModel) { - if (this.ComponentVM) { - this.ComponentVM.model = roomModel.toJSON() - } - }, - - } - -})(window.OCP, window.OCA) diff --git a/src/components/Sidebar/Sidebar.vue b/src/components/Sidebar/Sidebar.vue index b32e20dd3..9d4fada58 100644 --- a/src/components/Sidebar/Sidebar.vue +++ b/src/components/Sidebar/Sidebar.vue @@ -24,29 +24,41 @@ v-if="opened" :title="conversation.displayName" :starred.sync="conversation.isFavorite" - @close="show=false" /> + @close="show=false"> + <AppSidebarTab :name="t('spreed', 'Participants')" icon="icon-contacts-dark"> + Participants + </AppSidebarTab> + <AppSidebarTab :name="t('spreed', 'Projects')" icon="icon-projects"> + <CollectionList v-if="conversation.token" + :id="conversation.token" + type="room" + :name="conversation.displayName" /> + </AppSidebarTab> + </AppSidebar> </template> <script> import AppSidebar from 'nextcloud-vue/dist/Components/AppSidebar' +import AppSidebarTab from 'nextcloud-vue/dist/Components/AppSidebarTab' +// import ParticipantsTab from './ParticipantsTab/ParticipantsTab' +import { CollectionList } from 'nextcloud-vue-collections' import { EventBus } from '../../services/EventBus' export default { name: 'Sidebar', components: { AppSidebar, + AppSidebarTab, + CollectionList, + // ParticipantsTab, }, data() { return { - show: true + show: true, } }, - beforeMount() { - EventBus.$on('routeChange', () => { - this.show = true - }) - }, + computed: { opened() { return !!this.token && this.show @@ -59,10 +71,21 @@ export default { return this.$store.getters.conversations[this.token] } return { + token: '', displayName: '', isFavorite: false, } }, }, + + beforeMount() { + EventBus.$on('routeChange', () => { + this.show = true + }) + }, } </script> + +<style scoped> + +</style> diff --git a/src/views/CollaborationView.vue b/src/views/CollaborationView.vue deleted file mode 100644 index 53be81945..000000000 --- a/src/views/CollaborationView.vue +++ /dev/null @@ -1,55 +0,0 @@ -<!-- - - @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net> - - - - @author Julius Härtl <jus@bitgrid.net> - - - - @license GNU AGPL version 3 or any later version - - - - This program is free software: you can redistribute it and/or modify - - it under the terms of the GNU Affero General Public License as - - published by the Free Software Foundation, either version 3 of the - - License, or (at your option) any later version. - - - - This program is distributed in the hope that it will be useful, - - but WITHOUT ANY WARRANTY; without even the implied warranty of - - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - - GNU Affero General Public License for more details. - - - - You should have received a copy of the GNU Affero General Public License - - along with this program. If not, see <http://www.gnu.org/licenses/>. - - - --> - -<template> - <div> - <CollectionList v-if="roomId" - :id="roomId" - type="room" - :name="roomTitle" /> - </div> -</template> - -<script> -import { CollectionList } from 'nextcloud-vue-collections' - -export default { - name: 'CollaborationView', - components: { - CollectionList: CollectionList, - }, - computed: { - roomId() { - if (this.$root.model && this.$root.model.token) { - return '' + this.$root.model.token - } - return null - }, - roomTitle() { - if (this.$root.model && this.$root.model.displayName) { - return '' + this.$root.model.displayName - } - return '' - }, - }, -} -</script> diff --git a/webpack.common.js b/webpack.common.js index 210e88ed0..2f3a5f470 100644 --- a/webpack.common.js +++ b/webpack.common.js @@ -11,7 +11,6 @@ module.exports = { 'admin/stun-server': path.join(__dirname, 'src', 'StunServerSettings.js'), 'admin/turn-server': path.join(__dirname, 'src', 'TurnServerSettings.js'), 'collections': path.join(__dirname, 'src', 'collections.js'), - 'collectionsintegration': path.join(__dirname, 'src', 'collectionsintegration.js'), 'talk': path.join(__dirname, 'src', 'main.js') }, output: { |