fix: Fixed issue where pasting an image into Super would not correctly link it to note

This commit is contained in:
Aman Harwara
2023-03-24 15:00:40 +05:30
parent 0196b69a8b
commit 5cd04b1474

View File

@@ -15,10 +15,12 @@ import { $createFileNode } from './Nodes/FileUtils'
import { $wrapNodeInElement, mergeRegister } from '@lexical/utils' import { $wrapNodeInElement, mergeRegister } from '@lexical/utils'
import { useFilesController } from '@/Controllers/FilesControllerProvider' import { useFilesController } from '@/Controllers/FilesControllerProvider'
import { FilesControllerEvent } from '@/Controllers/FilesController' import { FilesControllerEvent } from '@/Controllers/FilesController'
import { useLinkingController } from '@/Controllers/LinkingControllerProvider'
export default function FilePlugin(): JSX.Element | null { export default function FilePlugin(): JSX.Element | null {
const [editor] = useLexicalComposerContext() const [editor] = useLexicalComposerContext()
const filesController = useFilesController() const filesController = useFilesController()
const linkingController = useLinkingController()
useEffect(() => { useEffect(() => {
if (!editor.hasNodes([FileNode])) { if (!editor.hasNodes([FileNode])) {
@@ -31,6 +33,7 @@ export default function FilePlugin(): JSX.Element | null {
const uploadedFile = await filesController.uploadNewFile(file) const uploadedFile = await filesController.uploadNewFile(file)
if (uploadedFile) { if (uploadedFile) {
editor.dispatchCommand(INSERT_FILE_COMMAND, uploadedFile.uuid) editor.dispatchCommand(INSERT_FILE_COMMAND, uploadedFile.uuid)
void linkingController.linkItemToSelectedItem(uploadedFile)
} }
} catch (error) { } catch (error) {
console.error(error) console.error(error)
@@ -67,7 +70,7 @@ export default function FilePlugin(): JSX.Element | null {
COMMAND_PRIORITY_NORMAL, COMMAND_PRIORITY_NORMAL,
), ),
) )
}, [editor, filesController]) }, [editor, filesController, linkingController])
useEffect(() => { useEffect(() => {
const disposer = filesController.addEventObserver((event, data) => { const disposer = filesController.addEventObserver((event, data) => {