mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
Add shortcut to delete newly created note quickly (#2177)
* Add shortcut to delete newly created note quickly * Add space
This commit is contained in:
parent
8769fd71cb
commit
3d9260c974
@ -80,7 +80,7 @@ export default class Entrypoints extends Component {
|
||||
|
||||
await appContext.tabManager.openContextWithNote(note.noteId, true, null, hoistedNoteId);
|
||||
|
||||
appContext.triggerEvent('focusAndSelectTitle');
|
||||
appContext.triggerEvent('focusAndSelectTitle', {isNewNote: true});
|
||||
}
|
||||
|
||||
async toggleNoteHoistingCommand() {
|
||||
|
@ -52,7 +52,7 @@ async function createNote(parentNotePath, options = {}) {
|
||||
await activeNoteContext.setNote(`${parentNotePath}/${note.noteId}`);
|
||||
|
||||
if (options.focus === 'title') {
|
||||
appContext.triggerEvent('focusAndSelectTitle');
|
||||
appContext.triggerEvent('focusAndSelectTitle', {isNewNote: true});
|
||||
}
|
||||
else if (options.focus === 'content') {
|
||||
appContext.triggerEvent('focusOnDetail', {ntxId: activeNoteContext.ntxId});
|
||||
|
@ -4,6 +4,7 @@ import protectedSessionHolder from "../services/protected_session_holder.js";
|
||||
import server from "../services/server.js";
|
||||
import SpacedUpdate from "../services/spaced_update.js";
|
||||
import appContext from "../services/app_context.js";
|
||||
import branchService from "../services/branches.js";
|
||||
|
||||
const TPL = `
|
||||
<div class="note-title-widget">
|
||||
@ -40,6 +41,8 @@ export default class NoteTitleWidget extends NoteContextAwareWidget {
|
||||
await server.put(`notes/${this.noteId}/change-title`, {title}, this.componentId);
|
||||
});
|
||||
|
||||
this.deleteNoteOnEscape = false;
|
||||
|
||||
appContext.addBeforeUnloadListener(this);
|
||||
}
|
||||
|
||||
@ -49,6 +52,14 @@ export default class NoteTitleWidget extends NoteContextAwareWidget {
|
||||
|
||||
this.$noteTitle.on('input', () => this.spacedUpdate.scheduleUpdate());
|
||||
|
||||
this.$noteTitle.on('blur', () => { this.deleteNoteOnEscape = false });
|
||||
|
||||
utils.bindElShortcut(this.$noteTitle, 'esc', () => {
|
||||
if (this.deleteNoteOnEscape && this.noteContext.isActive()) {
|
||||
branchService.deleteNotes(Object.values(this.noteContext.note.parentToBranch));
|
||||
}
|
||||
});
|
||||
|
||||
utils.bindElShortcut(this.$noteTitle, 'return', () => {
|
||||
this.triggerCommand('focusOnAttributes', {ntxId: this.noteContext.ntxId});
|
||||
});
|
||||
@ -84,11 +95,13 @@ export default class NoteTitleWidget extends NoteContextAwareWidget {
|
||||
}
|
||||
}
|
||||
|
||||
focusAndSelectTitleEvent() {
|
||||
focusAndSelectTitleEvent({isNewNote} = {isNewNote: false}) {
|
||||
if (this.noteContext && this.noteContext.isActive()) {
|
||||
this.$noteTitle
|
||||
.trigger('focus')
|
||||
.trigger('select');
|
||||
|
||||
this.deleteNoteOnEscape = isNewNote;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user