1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-07-19 20:23:18 +03:00

Fix #4422 by persisting the "currently composed" message

This allows for browsing through history without losing the message currently being composed.
This commit is contained in:
Luke Barnard
2017-06-29 17:02:19 +01:00
parent 6bd7284161
commit e5e7dec131
2 changed files with 27 additions and 7 deletions

View File

@ -52,21 +52,19 @@ export default class ComposerHistoryManager {
history: Array<HistoryItem> = [];
prefix: string;
lastIndex: number = 0;
currentIndex: number = -1;
currentIndex: number = 0;
constructor(roomId: string, prefix: string = 'mx_composer_history_') {
this.prefix = prefix + roomId;
// TODO: Performance issues?
for(; sessionStorage.getItem(`${this.prefix}[${this.lastIndex}]`); this.lastIndex++, this.currentIndex++) {
let item;
for(; item = sessionStorage.getItem(`${this.prefix}[${this.currentIndex}]`); this.currentIndex++) {
this.history.push(
Object.assign(
new HistoryItem(),
JSON.parse(sessionStorage.getItem(`${this.prefix}[${this.lastIndex}]`)),
),
Object.assign(new HistoryItem(), JSON.parse(item)),
);
}
this.currentIndex--;
this.lastIndex = this.currentIndex;
}
addItem(message: string, format: MessageFormat) {