mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
better handling of renames in recent notes list (but hacky and not perfect)
This commit is contained in:
parent
bf22cc55e1
commit
001d91172a
@ -26,12 +26,18 @@ $(document).bind('keydown', 'alt+q', function() {
|
|||||||
recentNotesSelectBox.find('option').remove();
|
recentNotesSelectBox.find('option').remove();
|
||||||
|
|
||||||
// remove the current note
|
// remove the current note
|
||||||
let recNotes = recentNotes.filter(note => note.noteId !== globalNote.detail.note_id);
|
let recNotes = recentNotes.filter(note => note !== globalNote.detail.note_id);
|
||||||
|
|
||||||
|
$.each(recNotes, function(key, valueNoteId) {
|
||||||
|
let noteTitle = globalNoteNames[valueNoteId];
|
||||||
|
|
||||||
|
if (!noteTitle) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$.each(recNotes, function(key, value) {
|
|
||||||
let option = $("<option></option>")
|
let option = $("<option></option>")
|
||||||
.attr("value", value.noteId)
|
.attr("value", valueNoteId)
|
||||||
.text(value.noteTitle);
|
.text(noteTitle);
|
||||||
|
|
||||||
// select the first one (most recent one) by default
|
// select the first one (most recent one) by default
|
||||||
if (key === 0) {
|
if (key === 0) {
|
||||||
|
@ -42,6 +42,8 @@ function saveNoteIfChanged(callback) {
|
|||||||
|
|
||||||
note.detail.note_title = title;
|
note.detail.note_title = title;
|
||||||
|
|
||||||
|
globalNoteNames[note.detail.note_id] = title;
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: baseUrl + 'notes/' + note.detail.note_id,
|
url: baseUrl + 'notes/' + note.detail.note_id,
|
||||||
type: 'PUT',
|
type: 'PUT',
|
||||||
@ -123,6 +125,8 @@ function createNote(node, parentKey, target) {
|
|||||||
"note_id": result.note_id
|
"note_id": result.note_id
|
||||||
};
|
};
|
||||||
|
|
||||||
|
globalNoteNames[result.note_id] = newNoteName;
|
||||||
|
|
||||||
newNoteCreated = true;
|
newNoteCreated = true;
|
||||||
|
|
||||||
if (target === 'after') {
|
if (target === 'after') {
|
||||||
@ -164,27 +168,24 @@ function loadNote(noteId) {
|
|||||||
|
|
||||||
$(window).resize(); // to trigger resizing of editor
|
$(window).resize(); // to trigger resizing of editor
|
||||||
|
|
||||||
addRecentNote(noteId, note.detail.note_id, note.detail.note_title);
|
addRecentNote(noteId, note.detail.note_id);
|
||||||
|
|
||||||
noteChangeDisabled = false;
|
noteChangeDisabled = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function addRecentNote(noteTreeId, noteContentId, noteTitle) {
|
function addRecentNote(noteTreeId, noteContentId) {
|
||||||
const origDate = new Date();
|
const origDate = new Date();
|
||||||
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
// we include the note into recent list only if the user stayed on the note at least 5 seconds
|
// we include the note into recent list only if the user stayed on the note at least 5 seconds
|
||||||
if (noteTreeId === globalNote.detail.note_id || noteContentId === globalNote.detail.note_id) {
|
if (noteTreeId === globalNote.detail.note_id || noteContentId === globalNote.detail.note_id) {
|
||||||
// if it's already there, remove the note
|
// if it's already there, remove the note
|
||||||
recentNotes = recentNotes.filter(note => note.noteId !== noteTreeId);
|
recentNotes = recentNotes.filter(note => note !== noteTreeId);
|
||||||
|
|
||||||
console.log("added after " + (new Date().getTime() - origDate.getTime()));
|
console.log("added after " + (new Date().getTime() - origDate.getTime()));
|
||||||
|
|
||||||
recentNotes.unshift({
|
recentNotes.unshift(noteTreeId);
|
||||||
noteId: noteTreeId,
|
|
||||||
noteTitle: noteTitle
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}, 1500);
|
}, 1500);
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,11 @@ const keybindings = {
|
|||||||
node.getParent().renderTitle();
|
node.getParent().renderTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete globalNoteNames[node.key];
|
||||||
|
|
||||||
|
// remove from recent notes
|
||||||
|
recentNotes = recentNotes.filter(note => note !== node.key);
|
||||||
|
|
||||||
node.remove();
|
node.remove();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -89,6 +94,7 @@ const keybindings = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const globalNoteNames = {};
|
||||||
|
|
||||||
$(function(){
|
$(function(){
|
||||||
$.get(baseUrl + 'tree').then(resp => {
|
$.get(baseUrl + 'tree').then(resp => {
|
||||||
@ -101,6 +107,8 @@ $(function(){
|
|||||||
|
|
||||||
function copyTitle(notes) {
|
function copyTitle(notes) {
|
||||||
for (let note of notes) {
|
for (let note of notes) {
|
||||||
|
globalNoteNames[note.note_id] = note.note_title;
|
||||||
|
|
||||||
note.title = note.note_title;
|
note.title = note.note_title;
|
||||||
|
|
||||||
if (note.is_clone) {
|
if (note.is_clone) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user