forked from mystiq/hydrogen-web
close the room tile view model as well when closing a room so it does not stay selected
This commit is contained in:
parent
9b02dc5a3e
commit
59443e6602
1 changed files with 7 additions and 11 deletions
|
@ -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");
|
||||||
|
|
Loading…
Reference in a new issue