diff --git a/src/public/app/components/note_context.js b/src/public/app/components/note_context.js index 6b4bc62b6..aafda843b 100644 --- a/src/public/app/components/note_context.js +++ b/src/public/app/components/note_context.js @@ -61,8 +61,11 @@ class NoteContext extends Component { console.log(resolvedNotePath, "resolvedNotePath"); - if (this.hoistedNoteId === 'root' && this.notePath.startsWith("root/hidden")) { - // hidden subtree displays only when hoisted so it doesn't make sense to keep root as hoisted note + if (this.hoistedNoteId === 'root' + && this.notePath.startsWith("root/hidden") + && !this.note.hasLabel("keepCurrentHoisting") + ) { + // hidden subtree displays only when hoisted, so it doesn't make sense to keep root as hoisted note let hoistedNoteId = 'hidden'; diff --git a/src/services/builtin_attributes.js b/src/services/builtin_attributes.js index e1eb571aa..43f67cea2 100644 --- a/src/services/builtin_attributes.js +++ b/src/services/builtin_attributes.js @@ -60,6 +60,7 @@ module.exports = [ { type: 'label', name: 'template' }, { type: 'label', name: 'toc' }, { type: 'label', name: 'color' }, + { type: 'label', name: 'keepCurrentHoisting'}, // relation names { type: 'relation', name: 'internalLink' }, diff --git a/src/services/hidden_subtree.js b/src/services/hidden_subtree.js index f99c4976d..64800471c 100644 --- a/src/services/hidden_subtree.js +++ b/src/services/hidden_subtree.js @@ -36,7 +36,8 @@ const HIDDEN_SUBTREE_DEFINITION = { title: 'Note Map', type: 'noteMap', attributes: [ - { type: 'label', name: 'mapRootId', value: 'hoisted' } + { type: 'label', name: 'mapRootNoteId', value: 'hoisted' }, + { type: 'label', name: 'keepCurrentHoisting' } ] }, {