mirror of
https://github.com/zadam/trilium.git
synced 2025-01-16 12:08:03 +08:00
optimization of search
This commit is contained in:
parent
5a8c3f6a2b
commit
172f3689fa
2 changed files with 10 additions and 2 deletions
|
@ -152,6 +152,12 @@ function getSomePath(note, path = []) {
|
|||
|
||||
function getNotePath(noteId) {
|
||||
const note = noteCache.notes[noteId];
|
||||
|
||||
if (!note) {
|
||||
console.trace(`Cannot find note ${noteId} in cache.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const retPath = getSomePath(note);
|
||||
|
||||
if (retPath) {
|
||||
|
|
|
@ -4,6 +4,7 @@ class NoteSet {
|
|||
constructor(notes = []) {
|
||||
/** @type {Note[]} */
|
||||
this.notes = notes;
|
||||
this.noteIdSet = new Set(notes.map(note => note.noteId));
|
||||
/** @type {boolean} */
|
||||
this.sorted = false;
|
||||
}
|
||||
|
@ -11,6 +12,7 @@ class NoteSet {
|
|||
add(note) {
|
||||
if (!this.hasNote(note)) {
|
||||
this.notes.push(note);
|
||||
this.noteIdSet.add(note.noteId);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,12 +27,12 @@ class NoteSet {
|
|||
}
|
||||
|
||||
hasNoteId(noteId) {
|
||||
// TODO: optimize
|
||||
return !!this.notes.find(note => note.noteId === noteId);
|
||||
return this.noteIdSet.has(noteId);
|
||||
}
|
||||
|
||||
mergeIn(anotherNoteSet) {
|
||||
this.notes = this.notes.concat(anotherNoteSet.notes);
|
||||
this.noteIdSet = new Set(this.notes.map(note => note.noteId));
|
||||
}
|
||||
|
||||
minus(anotherNoteSet) {
|
||||
|
|
Loading…
Reference in a new issue