Skip to content
Snippets Groups Projects
Commit 04fdcf30 authored by Emmanuel ROHEE's avatar Emmanuel ROHEE
Browse files

Wired the recents list with the stream events for realtime update

parent 357dd187
No related branches found
No related tags found
No related merge requests found
...@@ -25,22 +25,23 @@ angular.module('RecentsController', ['matrixService', 'eventHandlerService']) ...@@ -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];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment