mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| let globalRecentNotes = [];
 | |
| 
 | |
| function addRecentNote(noteTreeId, noteContentId) {
 | |
|     const origDate = new Date();
 | |
| 
 | |
|     setTimeout(function() {
 | |
|         // we include the note into recent list only if the user stayed on the note at least 5 seconds
 | |
|         if (noteTreeId === globalCurrentNote.detail.note_id || noteContentId === globalCurrentNote.detail.note_id) {
 | |
|             // if it's already there, remove the note
 | |
|             globalRecentNotes = globalRecentNotes.filter(note => note !== noteTreeId);
 | |
| 
 | |
|             globalRecentNotes.unshift(noteTreeId);
 | |
|         }
 | |
|     }, 1500);
 | |
| }
 | |
| 
 | |
| $(document).bind('keydown', 'alt+q', function() {
 | |
|     $("#recentNotesDialog").dialog({
 | |
|         modal: true,
 | |
|         width: 500
 | |
|     });
 | |
| 
 | |
|     let recentNotesSelectBox = $('#recentNotesSelectBox');
 | |
| 
 | |
|     recentNotesSelectBox.find('option').remove();
 | |
| 
 | |
|     // remove the current note
 | |
|     let recNotes = globalRecentNotes.filter(note => note !== globalCurrentNote.detail.note_id);
 | |
| 
 | |
|     $.each(recNotes, function(key, valueNoteId) {
 | |
|         let noteTitle = getFullName(valueNoteId);
 | |
| 
 | |
|         if (!noteTitle) {
 | |
|             return;
 | |
|         }
 | |
| 
 | |
|         let option = $("<option></option>")
 | |
|                 .attr("value", valueNoteId)
 | |
|                 .text(noteTitle);
 | |
| 
 | |
|         // select the first one (most recent one) by default
 | |
|         if (key === 0) {
 | |
|             option.attr("selected", "selected");
 | |
|         }
 | |
| 
 | |
|         recentNotesSelectBox.append(option);
 | |
|     });
 | |
| });
 | |
| 
 | |
| function setActiveNoteBasedOnRecentNotes() {
 | |
|     let noteId = $("#recentNotesSelectBox option:selected").val();
 | |
| 
 | |
|     getNodeByKey(noteId).setActive();
 | |
| 
 | |
|     $("#recentNotesDialog").dialog('close');
 | |
| }
 | |
| 
 | |
| $('#recentNotesSelectBox').keydown(function(e) {
 | |
|     let key = e.which;
 | |
| 
 | |
|     if (key === 13)// the enter key code
 | |
|     {
 | |
|         setActiveNoteBasedOnRecentNotes();
 | |
|     }
 | |
| });
 | |
| 
 | |
| $('#recentNotesSelectBox').dblclick(function(e) {
 | |
|     setActiveNoteBasedOnRecentNotes();
 | |
| }); |