Merge pull request #65 from vector-im/bwindels/close-room-properly

close the room tile view model as well when closing a room
This commit is contained in:
Bruno Windels 2020-08-27 08:08:23 +00:00 committed by GitHub
commit 26cc5087d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -57,24 +57,20 @@ export class SessionViewModel extends ViewModel {
} }
_closeCurrentRoom() { _closeCurrentRoom() {
if (this._currentRoomViewModel) { this._currentRoomTileViewModel?.close();
this._currentRoomViewModel = this.disposeTracked(this._currentRoomViewModel); this._currentRoomViewModel = this.disposeTracked(this._currentRoomViewModel);
this.emitChange("currentRoom");
}
} }
_openRoom(room, roomTileVM) { _openRoom(room, roomTileVM) {
if (this._currentRoomTileViewModel) { this._closeCurrentRoom();
this._currentRoomTileViewModel.close();
}
this._currentRoomTileViewModel = roomTileVM; this._currentRoomTileViewModel = roomTileVM;
if (this._currentRoomViewModel) {
this._currentRoomViewModel = this.disposeTracked(this._currentRoomViewModel);
}
this._currentRoomViewModel = this.track(new RoomViewModel(this.childOptions({ this._currentRoomViewModel = this.track(new RoomViewModel(this.childOptions({
room, room,
ownUserId: this._session.user.id, ownUserId: this._session.user.id,
closeCallback: () => this._closeCurrentRoom(), closeCallback: () => {
this._closeCurrentRoom();
this.emitChange("currentRoom");
},
}))); })));
this._currentRoomViewModel.load(); this._currentRoomViewModel.load();
this.emitChange("currentRoom"); this.emitChange("currentRoom");