Clear all stores after logout

This commit is contained in:
Jannis Mattheis 2018-10-21 18:57:35 +02:00
parent 9d41520521
commit b946ac2bc4
2 changed files with 11 additions and 6 deletions

View File

@ -75,10 +75,14 @@ const initStores = (): StoreMapping => {
stores.messagesStore.publishSingleMessage(message); stores.messagesStore.publishSingleMessage(message);
Notifications.notifyNewMessage(message); Notifications.notifyNewMessage(message);
}); });
stores.appStore.refresh();
} else { } else {
stores.messagesStore.clearAll();
stores.appStore.clear();
stores.clientStore.clear();
stores.userStore.clear();
stores.wsStore.close(); stores.wsStore.close();
} }
stores.appStore.refresh();
} }
); );

View File

@ -93,6 +93,12 @@ export class MessagesStore {
this.snack('Message deleted'); this.snack('Message deleted');
}; };
@action
public clearAll = () => {
this.state = {};
this.createEmptyStatesForApps(this.appStore.getItems());
};
public exists = (id: number) => this.stateOf(id).loaded; public exists = (id: number) => this.stateOf(id).loaded;
private removeFromList(messages: IMessage[], messageToDelete: IMessage): false | number { private removeFromList(messages: IMessage[], messageToDelete: IMessage): false | number {
@ -106,11 +112,6 @@ export class MessagesStore {
return false; return false;
} }
private clearAll = () => {
this.state = {};
this.createEmptyStatesForApps(this.appStore.getItems());
};
private clear = (appId: number) => (this.state[appId] = this.emptyState()); private clear = (appId: number) => (this.state[appId] = this.emptyState());
private fetchMessages = ( private fetchMessages = (