mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	note map can display notes if hoisted in hidden subtree
This commit is contained in:
		| @@ -887,7 +887,7 @@ class Note extends AbstractEntity { | ||||
|     /** | ||||
|      * @returns {{notes: Note[], relationships: Array.<{parentNoteId: string, childNoteId: string}>}} | ||||
|      */ | ||||
|     getSubtree({includeArchived = true, resolveSearch = false} = {}) { | ||||
|     getSubtree({includeArchived = true, includeHidden = false, resolveSearch = false} = {}) { | ||||
|         const noteSet = new Set(); | ||||
|         const relationships = []; // list of tuples parentNoteId -> childNoteId | ||||
|  | ||||
| @@ -903,8 +903,7 @@ class Note extends AbstractEntity { | ||||
|         } | ||||
|  | ||||
|         function addSubtreeNotesInner(note, parentNote = null) { | ||||
|             // share can be removed after 0.57 since it will be put under hidden | ||||
|             if (note.noteId === '_hidden' || note.noteId === '_share') { | ||||
|             if (note.noteId === '_hidden' && !includeHidden) { | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
| @@ -1042,6 +1041,10 @@ class Note extends AbstractEntity { | ||||
|         return false; | ||||
|     } | ||||
|  | ||||
|     isInHiddenSubtree() { | ||||
|         return this.noteId === '_hidden' || this.hasAncestor('_hidden'); | ||||
|     } | ||||
|  | ||||
|     getTargetRelations() { | ||||
|         return this.targetRelations; | ||||
|     } | ||||
|   | ||||
| @@ -710,6 +710,10 @@ class NoteShort { | ||||
|         return false; | ||||
|     } | ||||
|  | ||||
|     isInHiddenSubtree() { | ||||
|         return this.noteId === '_hidden' || this.hasAncestor('_hidden'); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @deprecated NOOP | ||||
|      */ | ||||
|   | ||||
| @@ -93,7 +93,11 @@ function getLinkMap(req) { | ||||
|         // for search notes we want to consider the direct search results only without the descendants | ||||
|         unfilteredNotes = mapRootNote.getSearchResultNotes(); | ||||
|     } else { | ||||
|         unfilteredNotes = mapRootNote.getSubtree({includeArchived: false, resolveSearch: true}).notes; | ||||
|         unfilteredNotes = mapRootNote.getSubtree({ | ||||
|             includeArchived: false, | ||||
|             resolveSearch: true, | ||||
|             includeHidden: mapRootNote.isInHiddenSubtree() | ||||
|         }).notes; | ||||
|     } | ||||
|  | ||||
|     const noteIds = new Set( | ||||
| @@ -156,7 +160,11 @@ function getTreeMap(req) { | ||||
|     // if the map root itself has ignore (journal typically) then there wouldn't be anything to display so | ||||
|     // we'll just ignore it | ||||
|     const ignoreExcludeFromNoteMap = mapRootNote.hasLabel('excludeFromNoteMap'); | ||||
|     const subtree = mapRootNote.getSubtree({includeArchived: false, resolveSearch: true}); | ||||
|     const subtree = mapRootNote.getSubtree({ | ||||
|         includeArchived: false, | ||||
|         resolveSearch: true, | ||||
|         includeHidden: mapRootNote.isInHiddenSubtree() | ||||
|     }); | ||||
|  | ||||
|     const notes = subtree.notes | ||||
|         .filter(note => ignoreExcludeFromNoteMap || !note.hasLabel('excludeFromNoteMap')) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user