add possibility to define search home for hoisted notes, #1694

This commit is contained in:
zadam 2021-02-27 21:18:10 +01:00
parent 2c755bcc38
commit cb91dadeca
2 changed files with 16 additions and 7 deletions

View File

@ -66,14 +66,22 @@ function createSearchNote(req) {
const searchString = params.searchString || ""; const searchString = params.searchString || "";
let ancestorNoteId = params.ancestorNoteId; let ancestorNoteId = params.ancestorNoteId;
const hoistedNote = cls.getHoistedNoteId() ? repository.getNote(cls.getHoistedNoteId()) : null;
let searchHome;
if (hoistedNote) {
([searchHome] = hoistedNote.getDescendantNotesWithLabel('hoistedSearchHome'));
}
if (!searchHome) {
const today = dateUtils.localNowDate(); const today = dateUtils.localNowDate();
let searchHome = searchHome = attributeService.getNoteWithLabel('searchHome')
attributeService.getNoteWithLabel('searchHome')
|| dateNoteService.getDateNote(today); || dateNoteService.getDateNote(today);
}
if (cls.getHoistedNoteId() && cls.getHoistedNoteId() !== 'root') { if (hoistedNote && hoistedNote.noteId !== 'root') {
const hoistedNote = repository.getNote(cls.getHoistedNoteId());
if (!hoistedNote.getDescendantNoteIds().includes(searchHome.noteId)) { if (!hoistedNote.getDescendantNoteIds().includes(searchHome.noteId)) {
// otherwise the note would be saved outside of the hoisted context which is weird // otherwise the note would be saved outside of the hoisted context which is weird
@ -81,7 +89,7 @@ function createSearchNote(req) {
} }
if (!ancestorNoteId) { if (!ancestorNoteId) {
ancestorNoteId = cls.getHoistedNoteId(); ancestorNoteId = hoistedNote.noteId;
} }
} }

View File

@ -38,6 +38,7 @@ const BUILTIN_ATTRIBUTES = [
{ type: 'label', name: 'workspaceIconClass' }, { type: 'label', name: 'workspaceIconClass' },
{ type: 'label', name: 'workspaceTabBackgroundColor' }, { type: 'label', name: 'workspaceTabBackgroundColor' },
{ type: 'label', name: 'searchHome' }, { type: 'label', name: 'searchHome' },
{ type: 'label', name: 'hoistedSearchHome' },
{ type: 'label', name: 'sqlConsoleHome' }, { type: 'label', name: 'sqlConsoleHome' },
{ type: 'label', name: 'datePattern' }, { type: 'label', name: 'datePattern' },