From e4f459fa2bd13b5fc47fc1a1609f4f5388997849 Mon Sep 17 00:00:00 2001 From: azivner Date: Thu, 26 Jul 2018 17:35:32 +0200 Subject: [PATCH] #129, removed recent notes dialog as its not necessary anymore --- .../javascripts/dialogs/jump_to_note.js | 3 +- .../javascripts/dialogs/recent_notes.js | 74 ------------------- src/public/javascripts/services/bootstrap.js | 1 - .../javascripts/services/entrypoints.js | 4 - src/public/javascripts/services/tree.js | 12 ++- src/routes/api/recent_notes.js | 26 ------- src/routes/routes.js | 1 - src/views/index.ejs | 5 -- 8 files changed, 12 insertions(+), 114 deletions(-) delete mode 100644 src/public/javascripts/dialogs/recent_notes.js diff --git a/src/public/javascripts/dialogs/jump_to_note.js b/src/public/javascripts/dialogs/jump_to_note.js index a03c1936e..32b5cce11 100644 --- a/src/public/javascripts/dialogs/jump_to_note.js +++ b/src/public/javascripts/dialogs/jump_to_note.js @@ -14,7 +14,8 @@ async function showDialog() { $dialog.dialog({ modal: true, - width: 800 + width: 800, + position: { my: "center top+100", at: "top", of: window } }); await $autoComplete.autocomplete({ diff --git a/src/public/javascripts/dialogs/recent_notes.js b/src/public/javascripts/dialogs/recent_notes.js deleted file mode 100644 index 99b386924..000000000 --- a/src/public/javascripts/dialogs/recent_notes.js +++ /dev/null @@ -1,74 +0,0 @@ -import treeService from '../services/tree.js'; -import server from '../services/server.js'; - -const $dialog = $("#recent-notes-dialog"); -const $searchInput = $('#recent-notes-search-input'); - -function addRecentNote(branchId, notePath) { - setTimeout(async () => { - // we include the note into recent list only if the user stayed on the note at least 5 seconds - if (notePath && notePath === treeService.getCurrentNotePath()) { - const result = await server.put('recent-notes/' + branchId + '/' + encodeURIComponent(notePath)); - } - }, 1500); -} - -async function showDialog() { - glob.activeDialog = $dialog; - - $dialog.dialog({ - modal: true, - width: 800, - height: 100, - position: { my: "center top+100", at: "top", of: window } - }); - - $searchInput.val(''); - - const result = await server.get('recent-notes'); - - // remove the current note - const recNotes = result.filter(note => note.notePath !== treeService.getCurrentNotePath()); - - const items = recNotes.map(rn => { - return { - label: rn.title, - value: rn.notePath - }; - }); - - $searchInput.autocomplete({ - source: items, - minLength: 0, - autoFocus: true, - select: function (event, ui) { - treeService.activateNode(ui.item.value); - - $searchInput.autocomplete('destroy'); - $dialog.dialog('close'); - }, - focus: function (event, ui) { - event.preventDefault(); - }, - close: function (event, ui) { - if (event.keyCode === 27) { // escape closes dialog - $searchInput.autocomplete('destroy'); - $dialog.dialog('close'); - } - else { - // keep autocomplete open - // we're kind of abusing autocomplete to work in a way which it's not designed for - $searchInput.autocomplete("search", ""); - } - }, - create: () => $searchInput.autocomplete("search", ""), - classes: { - "ui-autocomplete": "recent-notes-autocomplete" - } - }); -} - -export default { - showDialog, - addRecentNote -}; \ No newline at end of file diff --git a/src/public/javascripts/services/bootstrap.js b/src/public/javascripts/services/bootstrap.js index ca7f16183..84273e479 100644 --- a/src/public/javascripts/services/bootstrap.js +++ b/src/public/javascripts/services/bootstrap.js @@ -4,7 +4,6 @@ import labelsDialog from '../dialogs/labels.js'; import noteRevisionsDialog from '../dialogs/note_revisions.js'; import noteSourceDialog from '../dialogs/note_source.js'; import recentChangesDialog from '../dialogs/recent_changes.js'; -import recentNotesDialog from '../dialogs/recent_notes.js'; import optionsDialog from '../dialogs/options.js'; import sqlConsoleDialog from '../dialogs/sql_console.js'; diff --git a/src/public/javascripts/services/entrypoints.js b/src/public/javascripts/services/entrypoints.js index 953295e3f..d9bc7fd23 100644 --- a/src/public/javascripts/services/entrypoints.js +++ b/src/public/javascripts/services/entrypoints.js @@ -6,7 +6,6 @@ import zoomService from "./zoom.js"; import noteRevisionsDialog from "../dialogs/note_revisions.js"; import optionsDialog from "../dialogs/options.js"; import addLinkDialog from "../dialogs/add_link.js"; -import recentNotesDialog from "../dialogs/recent_notes.js"; import jumpToNoteDialog from "../dialogs/jump_to_note.js"; import noteSourceDialog from "../dialogs/note_source.js"; import recentChangesDialog from "../dialogs/recent_changes.js"; @@ -35,9 +34,6 @@ function registerEntrypoints() { $("#protected-session-on").click(protectedSessionService.enterProtectedSession); $("#protected-session-off").click(protectedSessionService.leaveProtectedSession); - $("#recent-notes-button").click(recentNotesDialog.showDialog); - utils.bindShortcut('ctrl+e', recentNotesDialog.showDialog); - $("#toggle-search-button").click(searchNotesService.toggleSearch); utils.bindShortcut('ctrl+s', searchNotesService.toggleSearch); diff --git a/src/public/javascripts/services/tree.js b/src/public/javascripts/services/tree.js index 0490ed2fa..71efe1c21 100644 --- a/src/public/javascripts/services/tree.js +++ b/src/public/javascripts/services/tree.js @@ -8,7 +8,6 @@ import treeChangesService from './branches.js'; import treeUtils from './tree_utils.js'; import utils from './utils.js'; import server from './server.js'; -import recentNotesDialog from '../dialogs/recent_notes.js'; import treeCache from './tree_cache.js'; import infoService from "./info.js"; import treeBuilder from "./tree_builder.js"; @@ -239,6 +238,15 @@ async function setExpandedToServer(branchId, isExpanded) { await server.put('branches/' + branchId + '/expanded/' + expandedNum); } +function addRecentNote(branchId, notePath) { + setTimeout(async () => { + // we include the note into recent list only if the user stayed on the note at least 5 seconds + if (notePath && notePath === getCurrentNotePath()) { + await server.put('recent-notes/' + branchId + '/' + encodeURIComponent(notePath)); + } + }, 1500); +} + function setCurrentNotePathToHash(node) { utils.assertArguments(node); @@ -247,7 +255,7 @@ function setCurrentNotePathToHash(node) { document.location.hash = currentNotePath; - recentNotesDialog.addRecentNote(currentBranchId, currentNotePath); + addRecentNote(currentBranchId, currentNotePath); } function getSelectedNodes(stopOnParents = false) { diff --git a/src/routes/api/recent_notes.js b/src/routes/api/recent_notes.js index 90adc708d..f4caca12f 100644 --- a/src/routes/api/recent_notes.js +++ b/src/routes/api/recent_notes.js @@ -1,30 +1,7 @@ "use strict"; -const repository = require('../../services/repository'); const optionService = require('../../services/options'); const RecentNote = require('../../entities/recent_note'); -const noteCacheService = require('../../services/note_cache'); - -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`); - - for (const rn of recentNotes) { - rn.title = noteCacheService.getNoteTitleForPath(rn.notePath.split('/')); - } - - return recentNotes; -} async function addRecentNote(req) { const branchId = req.params.branchId; @@ -36,11 +13,8 @@ async function addRecentNote(req) { }).save(); await optionService.setOption('startNotePath', notePath); - - return await getRecentNotes(); } module.exports = { - getRecentNotes, addRecentNote }; \ No newline at end of file diff --git a/src/routes/routes.js b/src/routes/routes.js index aa3663bc1..0b6b01433 100644 --- a/src/routes/routes.js +++ b/src/routes/routes.js @@ -161,7 +161,6 @@ function register(app) { apiRoute(GET, '/api/event-log', eventLogRoute.getEventLog); - apiRoute(GET, '/api/recent-notes', recentNotesRoute.getRecentNotes); apiRoute(PUT, '/api/recent-notes/:branchId/:notePath', recentNotesRoute.addRecentNote); apiRoute(GET, '/api/app-info', appInfoRoute.getAppInfo); diff --git a/src/views/index.ejs b/src/views/index.ejs index eef78b766..95f83358f 100644 --- a/src/views/index.ejs +++ b/src/views/index.ejs @@ -19,7 +19,6 @@
-
Protected session: @@ -262,10 +261,6 @@
- -