Wired the recents list with the stream events for realtime update
This commit is contained in:
parent
357dd1871d
commit
04fdcf302d
|
@ -25,22 +25,23 @@ angular.module('RecentsController', ['matrixService', 'eventHandlerService'])
|
||||||
// in order to highlight a specific room in the list
|
// in order to highlight a specific room in the list
|
||||||
$scope.recentsSelectedRoomID;
|
$scope.recentsSelectedRoomID;
|
||||||
|
|
||||||
|
// Refresh the list on matrix invitation and message event
|
||||||
$scope.$on(eventHandlerService.MEMBER_EVENT, function(ngEvent, event, isLive) {
|
$scope.$on(eventHandlerService.MEMBER_EVENT, function(ngEvent, event, isLive) {
|
||||||
var config = matrixService.config();
|
refresh();
|
||||||
if (event.state_key === config.user_id && event.content.membership === "invite") {
|
});
|
||||||
console.log("Invited to room " + event.room_id);
|
$scope.$on(eventHandlerService.MSG_EVENT, function(ngEvent, event, isLive) {
|
||||||
// FIXME push membership to top level key to match /im/sync
|
refresh();
|
||||||
event.membership = event.content.membership;
|
|
||||||
// FIXME bodge a nicer name than the room ID for this invite.
|
|
||||||
event.room_display_name = event.user_id + "'s room";
|
|
||||||
$scope.rooms[event.room_id] = event;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
var refresh = function() {
|
var refresh = function() {
|
||||||
// List all rooms joined or been invited to
|
// List all rooms joined or been invited to
|
||||||
|
// TODO: This is a pity that event-stream-service.js makes the same call
|
||||||
|
// We should be able to reuse event-stream-service.js fetched data
|
||||||
matrixService.rooms(1, false).then(
|
matrixService.rooms(1, false).then(
|
||||||
function(response) {
|
function(response) {
|
||||||
|
// Reset data
|
||||||
|
$scope.rooms = {};
|
||||||
|
|
||||||
var data = matrixService.assignRoomAliases(response.data.rooms);
|
var data = matrixService.assignRoomAliases(response.data.rooms);
|
||||||
for (var i=0; i<data.length; i++) {
|
for (var i=0; i<data.length; i++) {
|
||||||
$scope.rooms[data[i].room_id] = data[i];
|
$scope.rooms[data[i].room_id] = data[i];
|
||||||
|
|
Loading…
Reference in New Issue