refactoring and fixes for saved note

This commit is contained in:
zadam
2020-02-14 20:18:09 +01:00
parent 380bb0cd01
commit 8d2c2202fa
8 changed files with 45 additions and 83 deletions

View File

@@ -1,5 +1,4 @@
import hoistedNoteService from "../services/hoisted_note.js";
import searchNotesService from "../services/search_notes.js";
import treeService from "../services/tree.js";
import utils from "../services/utils.js";
import contextMenuWidget from "../services/context_menu.js";
@@ -12,6 +11,7 @@ import ws from "../services/ws.js";
import TabAwareWidget from "./tab_aware_widget.js";
import server from "../services/server.js";
import noteCreateService from "../services/note_create.js";
import toastService from "../services/toast.js";
const TPL = `
<div class="tree">
@@ -41,7 +41,7 @@ export default class NoteTreeWidget extends TabAwareWidget {
this.$widget = $(TPL);
this.$widget.on("click", ".unhoist-button", hoistedNoteService.unhoist);
this.$widget.on("click", ".refresh-search-button", searchNotesService.refreshSearch);
this.$widget.on("click", ".refresh-search-button", () => this.refreshSearch());
// fancytree doesn't support middle click so this is a way to support it
this.$widget.on('mousedown', '.fancytree-title', e => {
@@ -438,6 +438,15 @@ export default class NoteTreeWidget extends TabAwareWidget {
}
}
async refreshSearch() {
const activeNode = this.getActiveNode();
activeNode.load(true);
activeNode.setExpanded(true);
toastService.showMessage("Saved search note refreshed.");
}
async entitiesReloadedListener({loadResults}) {
const noteIdsToUpdate = new Set();
const noteIdsToReload = new Set();

View File

@@ -1,6 +1,4 @@
import BasicWidget from "./basic_widget.js";
import searchService from "../services/search_notes.js";
import treeCache from "../services/tree_cache.js";
import toastService from "../services/toast.js";
import appContext from "../services/app_context.js";
import noteCreateService from "../services/note_create.js";
@@ -109,14 +107,13 @@ export default class SearchBoxWidget extends BasicWidget {
}
// FIXME
let activeNode = appContext.getMainNoteTree().getActiveNode();
const parentNote = await treeCache.getNote(activeNode.data.noteId);
let activeNote = appContext.tabManager.getActiveTabNote();
if (parentNote.type === 'search') {
activeNode = activeNode.getParent();
if (activeNote.type === 'search') {
activeNote = (await activeNote.getParentNotes())[0];
}
await noteCreateService.createNote(activeNode.data.noteId, {
await noteCreateService.createNote(activeNote.noteId, {
type: "search",
mime: "application/json",
title: searchString,
@@ -134,7 +131,7 @@ export default class SearchBoxWidget extends BasicWidget {
this.$searchBox.tooltip({
trigger: 'focus',
html: true,
title: searchService.getHelpText(),
title: window.glob.SEARCH_HELP_TEXT,
placement: 'right',
delay: {
show: 500, // necessary because sliding out may cause wrong position

View File

@@ -1,4 +1,3 @@
import searchNotesService from "../../services/search_notes.js";
import TypeWidget from "./type_widget.js";
const TPL = `
@@ -6,11 +5,6 @@ const TPL = `
<div style="display: flex; align-items: center; margin-right: 20px; margin-top: 15px;">
<strong>Search string: &nbsp; &nbsp;</strong>
<textarea rows="4" style="width: auto !important; flex-grow: 4" class="search-string form-control"></textarea>
<span>
&nbsp; &nbsp;
<button type="button" class="btn btn-primary note-detail-search-refresh-results-button">Refresh search results</button>
</span>
</div>
<br />
@@ -26,19 +20,12 @@ export default class SearchTypeWidget extends TypeWidget {
this.$searchString = this.$widget.find(".search-string");
this.$component = this.$widget.find('.note-detail-search');
this.$help = this.$widget.find(".note-detail-search-help");
this.$refreshButton = this.$widget.find('.note-detail-search-refresh-results-button');
this.$refreshButton.on('click', async () => {
await this.spacedUpdate.updateNowIfNecessary();
await searchNotesService.refreshSearch();
});
return this.$widget;
}
async doRefresh(note) {
this.$help.html(searchNotesService.getHelpText());
this.$help.html(window.glob.SEARCH_HELP_TEXT);
this.$component.show();
@@ -53,7 +40,7 @@ export default class SearchTypeWidget extends TypeWidget {
this.$searchString.val('');
}
this.$searchString.on('input', () => this.noteChanged());
this.$searchString.on('input', () => this.spacedUpdate.scheduleUpdate());
}
getContent() {