зеркало из https://github.com/nextcloud/spreed.git
Make ParticipantCollection to automatically fetch when its room changes
The ParticipantCollection provides the list of participants (including guests) in a room. The Room model is synced through signaling and provides some information about the registered users and the guests in a room, so the ParticipantCollection can listen to changes in those properties to automatically fetch its items again when needed. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
Родитель
e26d1f17b9
Коммит
c516ddf513
|
@ -35,8 +35,20 @@
|
||||||
* @returns {Array}
|
* @returns {Array}
|
||||||
*/
|
*/
|
||||||
setRoom: function(room) {
|
setRoom: function(room) {
|
||||||
|
this.stopListening(this.room, 'change:participants');
|
||||||
|
this.stopListening(this.room, 'change:guestList');
|
||||||
|
|
||||||
this.room = room;
|
this.room = room;
|
||||||
this.url = OC.linkToOCS('apps/spreed/api/v1/room', 2) + this.room.get('token') + '/participants';
|
this.url = OC.linkToOCS('apps/spreed/api/v1/room', 2) + this.room.get('token') + '/participants';
|
||||||
|
|
||||||
|
this.fetch();
|
||||||
|
|
||||||
|
this.listenTo(this.room, 'change:participants', function() {
|
||||||
|
this.fetch();
|
||||||
|
});
|
||||||
|
this.listenTo(this.room, 'change:guestList', function() {
|
||||||
|
this.fetch();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -185,7 +185,6 @@
|
||||||
$sidebar.find('.room-name').text(this.model.get('displayName'));
|
$sidebar.find('.room-name').text(this.model.get('displayName'));
|
||||||
|
|
||||||
OCA.SpreedMe.app._participants.setRoom(this.model);
|
OCA.SpreedMe.app._participants.setRoom(this.model);
|
||||||
OCA.SpreedMe.app._participants.fetch();
|
|
||||||
|
|
||||||
if (!$content.hasClass('with-app-sidebar')) {
|
if (!$content.hasClass('with-app-sidebar')) {
|
||||||
$content.addClass('with-app-sidebar');
|
$content.addClass('with-app-sidebar');
|
||||||
|
|
Загрузка…
Ссылка в новой задаче