diff --git a/src/public/app/widgets/containers/shortcut_container.js b/src/public/app/widgets/containers/shortcut_container.js index 3686121a3..ee8f30fe5 100644 --- a/src/public/app/widgets/containers/shortcut_container.js +++ b/src/public/app/widgets/containers/shortcut_container.js @@ -77,9 +77,9 @@ export default class ShortcutContainer extends FlexContainer { } entitiesReloadedEvent({loadResults}) { - if (loadResults.getNoteIds().find(noteId => noteId.startsWith("lb_")) - || loadResults.getBranches().find(branch => branch.branchId.startsWith("lb_")) - || loadResults.getAttributes().find(attr => attr.noteId.startsWith("lb_"))) { + if (loadResults.getNoteIds().find(noteId => froca.notes[noteId]?.isLaunchBarConfig()) + || loadResults.getBranches().find(branch => branch.parentNoteId.startsWith("lb_")) + || loadResults.getAttributes().find(attr => froca.notes[attr.noteId]?.isLaunchBarConfig())) { this.load(); } } diff --git a/src/public/app/widgets/note_tree.js b/src/public/app/widgets/note_tree.js index 6756e98a8..3da0c0eab 100644 --- a/src/public/app/widgets/note_tree.js +++ b/src/public/app/widgets/note_tree.js @@ -1535,5 +1535,9 @@ export default class NoteTreeWidget extends NoteContextAwareWidget { if (!resp.success) { alert(resp.message); } + + await ws.waitForMaxKnownEntityChangeId(); + + appContext.tabManager.getActiveContext().setNote(resp.note.noteId); } } diff --git a/src/services/special_notes.js b/src/services/special_notes.js index 85f1cf7f0..93ef52e8e 100644 --- a/src/services/special_notes.js +++ b/src/services/special_notes.js @@ -383,9 +383,48 @@ function createMissingSpecialNotes() { } function createShortcut(parentNoteId, type) { - if (type === 'note') { + let note; + if (type === 'note') { + note = noteService.createNewNote({ + title: "Note shortcut", + type: 'shortcut', + content: '', + parentNoteId: parentNoteId + }).note; + + note.addLabel('relation:targetNote', 'promoted'); + } else if (type === 'widget') { + note = noteService.createNewNote({ + title: "Widget shortcut", + type: 'shortcut', + content: '', + parentNoteId: parentNoteId + }).note; + + note.addLabel('relation:widget', 'promoted'); + } else if (type === 'spacer') { + note = noteService.createNewNote({ + title: "Spacer", + type: 'shortcut', + content: '', + parentNoteId: parentNoteId + }).note; + + note.addLabel('builtinWidget', 'spacer'); + note.addLabel('iconClass', 'bx bx-move-vertical'); + note.addLabel('label:baseSize', 'promoted,number'); + note.addLabel('baseSize', '40'); + note.addLabel('label:growthFactor', 'promoted,number'); + note.addLabel('growthFactor', '0'); + } else { + throw new Error(`Unrecognized shortcut type ${type}`); } + + return { + success: true, + note + }; } module.exports = {