recent notes can now both jump and add link

This commit is contained in:
azivner 2017-10-01 23:07:32 -04:00
parent 5d4c06a229
commit ade9da4a8a
5 changed files with 60 additions and 15 deletions

2
TODO
View file

@ -28,7 +28,7 @@ Encryption:
Bugs:
- deleting cloned nodes ends with 500 (probably only on folders)
- Uncaught Error: cannot call methods on fancytree prior to initialization; attempted to call method 'getTree'
- recent changes sorts 1st october to the end
- FIXED: recent changes sorts 1st october to the end
Others:
- dates should be stored in UTC to work correctly with time zones

View file

@ -82,7 +82,15 @@
<div id="recentNotesDialog" title="Recent notes" style="display: none;">
<select id="recentNotesSelectBox" size="15" style="width: 100%">
</select>
</select>
<br/><br/>
<p>
<button class="btn btn-sm" id="recentNotesJumpTo">Jump to</button>
&nbsp;
<button class="btn btn-sm" id="recentNotesAddLink">Add link</button>
</p>
</div>
<div id="insertLinkDialog" title="Insert link" style="display: none;">

View file

@ -11,16 +11,7 @@ $(document).bind('keydown', 'alt+l', function() {
});
function setDefaultLinkTitle(noteId) {
const note = getNodeByKey(noteId);
if (!note) {
return;
}
let noteTitle = note.title;
if (noteTitle.endsWith(" (clone)")) {
noteTitle = noteTitle.substr(0, noteTitle.length - 8);
}
const noteTitle = getNoteTitle(noteId);
$("#linkTitle").val(noteTitle);
}

View file

@ -15,6 +15,8 @@ function addRecentNote(noteTreeId, noteContentId) {
}
$(document).bind('keydown', 'alt+q', function() {
$('#noteDetail').summernote('editor.saveRange');
$("#recentNotesDialog").dialog({
modal: true,
width: 500
@ -47,23 +49,52 @@ $(document).bind('keydown', 'alt+q', function() {
});
});
function getSelectedNoteIdFromRecentNotes() {
return $("#recentNotesSelectBox option:selected").val();
}
function setActiveNoteBasedOnRecentNotes() {
let noteId = $("#recentNotesSelectBox option:selected").val();
const noteId = getSelectedNoteIdFromRecentNotes();
getNodeByKey(noteId).setActive();
$("#recentNotesDialog").dialog('close');
}
function addLinkBasedOnRecentNotes() {
const noteId = getSelectedNoteIdFromRecentNotes();
const linkTitle = getNoteTitle(noteId);
const noteDetail = $('#noteDetail');
$("#recentNotesDialog").dialog("close");
noteDetail.summernote('editor.restoreRange');
noteDetail.summernote('createLink', {
text: linkTitle,
url: 'app#' + noteId,
isNewWindow: true
});
}
$('#recentNotesSelectBox').keydown(function(e) {
let key = e.which;
const key = e.which;
if (key === 13)// the enter key code
{
setActiveNoteBasedOnRecentNotes();
}
else if (key === 76 /* l */) {
addLinkBasedOnRecentNotes();
}
e.preventDefault();
});
$('#recentNotesSelectBox').dblclick(function(e) {
setActiveNoteBasedOnRecentNotes();
});
});
$('#recentNotesJumpTo').click(setActiveNoteBasedOnRecentNotes);
$('#recentNotesAddLink').click(addLinkBasedOnRecentNotes);

View file

@ -10,6 +10,21 @@ function getNodeByKey(noteId) {
return globalTree.fancytree('getNodeByKey', noteId);
}
function getNoteTitle(noteId) {
const note = getNodeByKey(noteId);
if (!note) {
return;
}
let noteTitle = note.title;
if (noteTitle.endsWith(" (clone)")) {
noteTitle = noteTitle.substr(0, noteTitle.length - 8);
}
return noteTitle;
}
function getFullName(noteId) {
let note = getNodeByKey(noteId);