diff --git a/src/public/javascripts/dialogs/note_revisions.js b/src/public/javascripts/dialogs/note_revisions.js index aa7b26053..952ec04d4 100644 --- a/src/public/javascripts/dialogs/note_revisions.js +++ b/src/public/javascripts/dialogs/note_revisions.js @@ -5,13 +5,24 @@ import toastService from "../services/toast.js"; const $dialog = $("#note-revisions-dialog"); const $list = $("#note-revision-list"); +const $listDropdown = $("#note-revision-list-dropdown"); const $content = $("#note-revision-content"); const $title = $("#note-revision-title"); const $titleButtons = $("#note-revision-title-buttons"); const $eraseAllRevisionsButton = $("#note-revisions-erase-all-revisions-button"); +$listDropdown.dropdown(); + +$listDropdown.parent().on('hide.bs.dropdown', e => { + // prevent closing dropdown by clicking outside + if (e.clickEvent) { + e.preventDefault(); + } +}); + let revisionItems = []; let note; +let noteRevisionId; export async function showCurrentNoteRevisions() { await showNoteRevisionsDialog(noteDetailService.getActiveTabNoteId()); @@ -27,7 +38,7 @@ export async function showNoteRevisionsDialog(noteId, noteRevisionId) { await loadNoteRevisions(noteId, noteRevisionId); } -async function loadNoteRevisions(noteId, noteRevisionId) { +async function loadNoteRevisions(noteId, noteRevId) { $list.empty(); $content.empty(); @@ -35,27 +46,34 @@ async function loadNoteRevisions(noteId, noteRevisionId) { revisionItems = await server.get(`notes/${noteId}/revisions`); for (const item of revisionItems) { - $list.append($('