1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Fixed scrolling and note loading issue

This commit is contained in:
Laurent Cozic 2017-10-28 18:44:28 +01:00
parent 269a77e5f3
commit add1cb33bf
2 changed files with 23 additions and 1 deletions

View File

@ -179,7 +179,10 @@ class AppGui {
borderLeftWidth: 1,
};
this.rootWidget_.connect(noteText, (state) => {
return { noteId: state.selectedNoteId };
return {
noteId: state.selectedNoteId,
notes: state.notes,
};
});
const noteMetadata = new NoteMetadataWidget();

View File

@ -7,6 +7,19 @@ class NoteWidget extends TextWidget {
super();
this.noteId_ = 0;
this.note_ = null;
this.notes_ = [];
this.lastLoadedNoteId_ = null;
}
get notes() {
return this.notes_;
}
set notes(v) {
// If the note collection has changed it means the current note might
// have changed or has been deleted, so refresh the note.
this.notes_ = v;
this.reloadNote();
}
get noteId() {
@ -16,14 +29,20 @@ class NoteWidget extends TextWidget {
set noteId(v) {
this.noteId_ = v;
this.note_ = null;
this.reloadNote();
}
reloadNote() {
if (this.noteId_) {
this.doAsync('loadNote', async () => {
this.note_ = await Note.load(this.noteId_);
this.text = this.note_ ? this.note_.title + "\n\n" + this.note_.body : '';
if (this.lastLoadedNoteId_ !== this.noteId_) this.scrollTop = 0;
this.lastLoadedNoteId_ = this.noteId_;
});
} else {
this.text = '';
this.scrollTop = 0;
}
}