diff --git a/src/components/Note/NoteEditor.vue b/src/components/Note/NoteEditor.vue index ecb2563..5143ac9 100644 --- a/src/components/Note/NoteEditor.vue +++ b/src/components/Note/NoteEditor.vue @@ -13,7 +13,7 @@ import ListPlugin from '@ckeditor/ckeditor5-list/src/list' import AutoformatPlugin from '@ckeditor/ckeditor5-autoformat/src/autoformat' import ContextedPlugin from '@/ckeditor/ContextedPlugin' import { mdToHtml, htmlToMd } from '@/utils/markdown' -import { getNoteByTitle, setActiveNote } from '@/composables/useNotes' +import { getNoteByTitle, setActiveNote, addNote } from '@/composables/useNotes' import Autocomplete from '@/components/Autocomplete.vue' const props = defineProps<{ note: Note }>() @@ -62,9 +62,11 @@ watch(editorData, () => emit('update', htmlToMd(editorData.value))) let editorInstance: any const handleClick = ({ data }: { data: any }) => { + if (!data.domTarget.hasAttribute('data-contexted-link')) return const noteTitle = data.domTarget.textContent as string - const note = getNoteByTitle(noteTitle) - if (note) setActiveNote(note.id) + let note: BaseNote | Note | undefined = getNoteByTitle(noteTitle) + if (!note) note = addNote(noteTitle, '') + setActiveNote(note.id) } const autocompleteRef = ref | null>(null) diff --git a/src/composables/useNotes.ts b/src/composables/useNotes.ts index ced2cfd..e71c78c 100644 --- a/src/composables/useNotes.ts +++ b/src/composables/useNotes.ts @@ -104,6 +104,7 @@ export const addNote = (title: string, content: string, goToNote: boolean = fals } baseNotes[id] = newNote if (goToNote) setActiveNote(id) + return newNote } export const deleteNote = (noteId: string) => {