Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.js10
-rw-r--r--src/views/RoomSelector.vue7
2 files changed, 16 insertions, 1 deletions
diff --git a/src/main.js b/src/main.js
index fb35a20fe..7fa07da8c 100644
--- a/src/main.js
+++ b/src/main.js
@@ -70,7 +70,7 @@ Vue.use(VueObserveVisibility)
Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] })
Vue.use(vOutsideEvents)
-export default new Vue({
+const instance = new Vue({
el: '#content',
store,
router,
@@ -154,3 +154,11 @@ Sidebar.prototype.close = function() {
Object.assign(window.OCA.Files, {
Sidebar: new Sidebar(),
})
+
+// make the instance available to global components that might run on the same page
+if (!window.OCA.Talk) {
+ window.OCA.Talk = {}
+}
+OCA.Talk.instance = instance
+
+export default instance
diff --git a/src/views/RoomSelector.vue b/src/views/RoomSelector.vue
index db0796c19..ec9dca165 100644
--- a/src/views/RoomSelector.vue
+++ b/src/views/RoomSelector.vue
@@ -87,6 +87,7 @@ export default {
return {
rooms: [],
selectedRoom: null,
+ currentRoom: null,
loading: true,
}
},
@@ -94,6 +95,7 @@ export default {
availableRooms() {
return this.rooms.filter((room) => {
return room.type !== CONVERSATION.TYPE.CHANGELOG
+ && (!this.currentRoom || this.currentRoom !== room.token)
&& (!this.showPostableOnly || room.readOnly === CONVERSATION.STATE.READ_WRITE)
&& room.objectType !== 'file'
&& room.objectType !== 'share:password'
@@ -102,6 +104,11 @@ export default {
},
beforeMount() {
this.fetchRooms()
+
+ const $store = OCA.Talk?.instance?.$store
+ if ($store) {
+ this.currentRoom = $store.getters.getToken()
+ }
},
methods: {
fetchRooms() {