trilium/public/javascripts/note_history.js

61 lines
1.7 KiB
JavaScript
Raw Normal View History

let globalHistoryItems = null;
2017-10-09 23:28:56 +08:00
function showCurrentNoteHistory() {
showNoteHistoryDialog(globalCurrentNote.detail.note_id);
}
function showNoteHistoryDialog(noteId, noteHistoryId) {
$("#note-history-dialog").dialog({
2017-09-22 10:20:10 +08:00
modal: true,
width: 800,
height: 700
});
$("#note-history-list").empty();
$("#note-history-content").empty();
2017-09-22 10:20:10 +08:00
$.ajax({
url: baseApiUrl + 'notes-history/' + noteId,
2017-09-22 10:20:10 +08:00
type: 'GET',
success: result => {
globalHistoryItems = result;
for (const row of result) {
const dateModified = getDateFromTS(row.date_modified_to);
$("#note-history-list").append($('<option>', {
value: row.note_history_id,
2017-09-27 11:23:03 +08:00
text: formatDateTime(dateModified)
}));
2017-09-22 10:20:10 +08:00
}
if (result.length > 0) {
if (!noteHistoryId) {
noteHistoryId = $("#note-history-list option:first").val();
}
2017-09-22 10:20:10 +08:00
$("#note-history-list").val(noteHistoryId).trigger('change');
2017-09-22 10:20:10 +08:00
}
},
error: () => error("Error getting note history.")
2017-09-22 10:20:10 +08:00
});
}
2017-10-09 23:28:56 +08:00
$(document).bind('keydown', 'alt+h', showCurrentNoteHistory);
$("#note-history-list").on('change', () => {
const optVal = $("#note-history-list").find(":selected").val();
2017-10-25 08:00:54 +08:00
const historyItem = globalHistoryItems.find(r => r.note_history_id === optVal);
let noteTitle = historyItem.note_title;
let noteText = historyItem.note_text;
if (historyItem.encryption > 0) {
noteTitle = decryptString(noteTitle);
noteText = decryptString(noteText);
}
$("#note-history-title").html(noteTitle);
$("#note-history-content").html(noteText);
2017-09-22 10:20:10 +08:00
});