diff --git a/src/public/javascripts/desktop.js b/src/public/javascripts/desktop.js
index 02cb5fd5d..189a8f07f 100644
--- a/src/public/javascripts/desktop.js
+++ b/src/public/javascripts/desktop.js
@@ -107,6 +107,8 @@ $("#logout-button").click(() => {
$("#tree").on("click", ".unhoist-button", hoistedNoteService.unhoist);
+$("#tree").on("click", ".refresh-search-button", searchNotesService.refreshSearch);
+
$("body").on("click", "a.external", function () {
window.open($(this).attr("href"), '_blank');
});
diff --git a/src/public/javascripts/services/note_detail_search.js b/src/public/javascripts/services/note_detail_search.js
index c6e27ee0b..2cd9dd9d2 100644
--- a/src/public/javascripts/services/note_detail_search.js
+++ b/src/public/javascripts/services/note_detail_search.js
@@ -1,6 +1,5 @@
import noteDetailService from "./note_detail.js";
-import treeService from "./tree.js";
-import infoService from './info.js';
+import searchNotesService from "./search_notes.js";
const $searchString = $("#search-string");
const $component = $('#note-detail-search');
@@ -31,9 +30,7 @@ function getContent() {
$refreshButton.click(async () => {
await noteDetailService.saveNoteIfChanged();
- treeService.reload();
-
- infoService.showMessage('Tree has been refreshed.');
+ await searchNotesService.refreshSearch();
});
export default {
diff --git a/src/public/javascripts/services/search_notes.js b/src/public/javascripts/services/search_notes.js
index 3d2b1d7ca..e26f5e821 100644
--- a/src/public/javascripts/services/search_notes.js
+++ b/src/public/javascripts/services/search_notes.js
@@ -96,6 +96,15 @@ async function saveSearch() {
resetSearch();
}
+async function refreshSearch() {
+ const activeNode = treeService.getActiveNode();
+
+ activeNode.load(true);
+ activeNode.setExpanded(true);
+
+ infoService.showMessage("Saved search note refreshed.");
+}
+
function init() {
const hashValue = treeService.getHashValueFromAddress();
@@ -129,6 +138,7 @@ export default {
toggleSearch,
resetSearch,
showSearch,
+ refreshSearch,
doSearch,
init
};
\ No newline at end of file
diff --git a/src/public/javascripts/services/tree.js b/src/public/javascripts/services/tree.js
index 333e55bf9..3e28bdf84 100644
--- a/src/public/javascripts/services/tree.js
+++ b/src/public/javascripts/services/tree.js
@@ -453,6 +453,14 @@ function initFancyTree(tree) {
$span.append(unhoistButton);
}
+
+ const note = await treeCache.getNote(node.data.noteId);
+
+ if (note.type === 'search' && $span.find('.refresh-search-button').length === 0) {
+ const refreshSearchButton = $(' ');
+
+ $span.append(refreshSearchButton);
+ }
},
// this is done to automatically lazy load all expanded search notes after tree load
loadChildren: function(event, data) {
diff --git a/src/public/stylesheets/desktop.css b/src/public/stylesheets/desktop.css
index 7664a0ed2..dfed75129 100644
--- a/src/public/stylesheets/desktop.css
+++ b/src/public/stylesheets/desktop.css
@@ -133,4 +133,10 @@ li.dropdown-submenu:hover > ul.dropdown-menu {
.dropdown-menu > li > a:hover:after {
text-decoration: underline;
transform: rotate(-90deg);
+}
+
+.refresh-search-button {
+ cursor: pointer;
+ position: relative;
+ top: -1px;
}
\ No newline at end of file
diff --git a/src/views/details/search.ejs b/src/views/details/search.ejs
index 0f7cf41b1..70d938ea1 100644
--- a/src/views/details/search.ejs
+++ b/src/views/details/search.ejs
@@ -5,7 +5,7 @@
-
+