mirror of
https://github.com/zadam/trilium.git
synced 2025-06-05 17:38:47 +02:00
#129, recent notes are now visible in the jump to dialog
This commit is contained in:
parent
7564bf388c
commit
2a08aef885
@ -5,8 +5,6 @@ import searchNotesService from '../services/search_notes.js';
|
||||
|
||||
const $dialog = $("#jump-to-note-dialog");
|
||||
const $autoComplete = $("#jump-to-note-autocomplete");
|
||||
const $form = $("#jump-to-note-form");
|
||||
const $jumpToNoteButton = $("#jump-to-note-button");
|
||||
const $showInFullTextButton = $("#show-in-full-text-button");
|
||||
|
||||
async function showDialog() {
|
||||
@ -34,25 +32,22 @@ async function showDialog() {
|
||||
}
|
||||
},
|
||||
focus: function(event, ui) {
|
||||
return $(ui.item).val() !== 'No results';
|
||||
event.preventDefault();
|
||||
},
|
||||
minLength: 2
|
||||
minLength: 0,
|
||||
autoFocus: true,
|
||||
select: function (event, ui) {
|
||||
if (ui.item.value === 'No results') {
|
||||
return false;
|
||||
}
|
||||
|
||||
treeService.activateNode(ui.item.value);
|
||||
|
||||
$dialog.dialog('close');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getSelectedNotePath() {
|
||||
const val = $autoComplete.val();
|
||||
return linkService.getNodePathFromLabel(val);
|
||||
}
|
||||
|
||||
function goToNote() {
|
||||
const notePath = getSelectedNotePath();
|
||||
|
||||
if (notePath) {
|
||||
treeService.activateNode(notePath);
|
||||
|
||||
$dialog.dialog('close');
|
||||
}
|
||||
$autoComplete.autocomplete("search", "");
|
||||
}
|
||||
|
||||
function showInFullText(e) {
|
||||
@ -69,14 +64,6 @@ function showInFullText(e) {
|
||||
$dialog.dialog('close');
|
||||
}
|
||||
|
||||
$form.submit(() => {
|
||||
goToNote();
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
$jumpToNoteButton.click(goToNote);
|
||||
|
||||
$showInFullTextButton.click(showInFullText);
|
||||
|
||||
$dialog.bind('keydown', 'ctrl+return', showInFullText);
|
||||
|
@ -1,20 +1,50 @@
|
||||
"use strict";
|
||||
|
||||
const noteCacheService = require('../../services/note_cache');
|
||||
const repository = require('../../services/repository');
|
||||
|
||||
async function getAutocomplete(req) {
|
||||
const query = req.query.query;
|
||||
|
||||
const results = noteCacheService.findNotes(query);
|
||||
let results;
|
||||
|
||||
if (query.trim().length === 0) {
|
||||
results = await getRecentNotes();
|
||||
}
|
||||
else {
|
||||
results = noteCacheService.findNotes(query);
|
||||
}
|
||||
|
||||
return results.map(res => {
|
||||
return {
|
||||
value: res.title + ' (' + res.path + ')',
|
||||
value: res.path,
|
||||
label: res.title
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function getRecentNotes() {
|
||||
const recentNotes = await repository.getEntities(`
|
||||
SELECT
|
||||
recent_notes.*
|
||||
FROM
|
||||
recent_notes
|
||||
JOIN branches USING(branchId)
|
||||
WHERE
|
||||
recent_notes.isDeleted = 0
|
||||
AND branches.isDeleted = 0
|
||||
ORDER BY
|
||||
dateCreated DESC
|
||||
LIMIT 200`);
|
||||
|
||||
return recentNotes.map(rn => {
|
||||
return {
|
||||
path: rn.notePath,
|
||||
title: noteCacheService.getNoteTitleForPath(rn.notePath.split('/'))
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getAutocomplete
|
||||
};
|
@ -302,18 +302,12 @@
|
||||
</div>
|
||||
|
||||
<div id="jump-to-note-dialog" title="Jump to note" style="display: none;">
|
||||
<form id="jump-to-note-form">
|
||||
<div class="form-group">
|
||||
<label for="jump-to-note-autocomplete">Note</label>
|
||||
<input id="jump-to-note-autocomplete" placeholder="search for note by its name" style="width: 100%;">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="jump-to-note-autocomplete">Note</label>
|
||||
<input id="jump-to-note-autocomplete" placeholder="search for note by its name" style="width: 100%;">
|
||||
</div>
|
||||
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<button id="jump-to-note-button" class="btn btn-sm btn-primary">Jump <kbd>enter</kbd></button>
|
||||
|
||||
<button id="show-in-full-text-button" class="btn btn-sm">Search in full text <kbd>ctrl+enter</kbd></button>
|
||||
</div>
|
||||
</form>
|
||||
<button id="show-in-full-text-button" class="btn btn-sm">Search in full text <kbd>ctrl+enter</kbd></button>
|
||||
</div>
|
||||
|
||||
<div id="protected-session-password-dialog" title="Protected session" style="display: none;">
|
||||
|
Loading…
x
Reference in New Issue
Block a user