mirror of
https://github.com/zadam/trilium.git
synced 2025-11-09 21:30:53 +08:00
refactor(note_autocomplete): simplify big switch statement removing duplicate logic
This commit is contained in:
parent
505dcdd1c1
commit
feb337d3a1
1 changed files with 13 additions and 65 deletions
|
|
@ -479,11 +479,21 @@ function initNoteAutocomplete($el: JQuery<HTMLElement>, options?: Options) {
|
|||
break;
|
||||
}
|
||||
|
||||
// --- CREATE NOTE INTO INBOX ---
|
||||
case SuggestionAction.CreateNoteIntoInbox: {
|
||||
case SuggestionAction.CreateNoteIntoInbox:
|
||||
case SuggestionAction.CreateAndLinkNoteIntoInbox:
|
||||
case SuggestionAction.CreateNoteIntoPath:
|
||||
case SuggestionAction.CreateAndLinkNoteIntoPath: {
|
||||
let target = "inbox";
|
||||
if (
|
||||
suggestion.action === SuggestionAction.CreateNoteIntoPath ||
|
||||
suggestion.action === SuggestionAction.CreateAndLinkNoteIntoPath
|
||||
) {
|
||||
target = "path";
|
||||
}
|
||||
|
||||
const { note } = await noteCreateService.createNote(
|
||||
{
|
||||
target: "inbox",
|
||||
target: target,
|
||||
title: suggestion.noteTitle,
|
||||
activate: true,
|
||||
promptForType: true,
|
||||
|
|
@ -500,68 +510,6 @@ function initNoteAutocomplete($el: JQuery<HTMLElement>, options?: Options) {
|
|||
break;
|
||||
}
|
||||
|
||||
case SuggestionAction.CreateAndLinkNoteIntoInbox: {
|
||||
const { note } = await noteCreateService.createNote(
|
||||
{
|
||||
target: "inbox",
|
||||
title: suggestion.noteTitle,
|
||||
activate: false,
|
||||
promptForType: true,
|
||||
} as CreateNoteIntoInboxOpts,
|
||||
);
|
||||
|
||||
if (!note) return;
|
||||
|
||||
const hoistedNoteId = appContext.tabManager.getActiveContext()?.hoistedNoteId;
|
||||
suggestion.notePath = note?.getBestNotePathString(hoistedNoteId);
|
||||
|
||||
$el.trigger("autocomplete:noteselected", [suggestion]);
|
||||
$el.autocomplete("close");
|
||||
break;
|
||||
}
|
||||
|
||||
case SuggestionAction.CreateNoteIntoPath: {
|
||||
const { note } = await noteCreateService.createNote(
|
||||
{
|
||||
target: "into",
|
||||
parentNoteUrl: suggestion.parentNoteId,
|
||||
title: suggestion.noteTitle,
|
||||
activate: true,
|
||||
promptForType: true,
|
||||
} as CreateNoteWithUrlOpts,
|
||||
);
|
||||
|
||||
if (!note) return;
|
||||
|
||||
const hoistedNoteId = appContext.tabManager.getActiveContext()?.hoistedNoteId;
|
||||
suggestion.notePath = note?.getBestNotePathString(hoistedNoteId);
|
||||
|
||||
$el.trigger("autocomplete:noteselected", [suggestion]);
|
||||
$el.autocomplete("close");
|
||||
break;
|
||||
}
|
||||
|
||||
case SuggestionAction.CreateAndLinkNoteIntoPath: {
|
||||
const { note } = await noteCreateService.createNote(
|
||||
{
|
||||
target: "into",
|
||||
parentNoteUrl: suggestion.parentNoteId,
|
||||
title: suggestion.noteTitle,
|
||||
activate: false,
|
||||
promptForType: true,
|
||||
} as CreateNoteWithUrlOpts
|
||||
);
|
||||
|
||||
if (!note) return;
|
||||
|
||||
const hoistedNoteId = appContext.tabManager.getActiveContext()?.hoistedNoteId;
|
||||
suggestion.notePath = note?.getBestNotePathString(hoistedNoteId);
|
||||
|
||||
$el.trigger("autocomplete:noteselected", [suggestion]);
|
||||
$el.autocomplete("close");
|
||||
break;
|
||||
}
|
||||
|
||||
case SuggestionAction.SearchNotes: {
|
||||
const searchString = suggestion.noteTitle;
|
||||
appContext.triggerCommand("searchNotes", { searchString });
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue