1 import {EditorFormDefinition, EditorSelectFormFieldDefinition} from "../framework/forms";
2 import {EditorUiContext} from "../framework/core";
3 import {$createLinkNode} from "@lexical/link";
4 import {$createTextNode, $getSelection} from "lexical";
7 export const link: EditorFormDefinition = {
9 action(formData, context: EditorUiContext) {
10 context.editor.update(() => {
12 const selection = $getSelection();
14 const linkNode = $createLinkNode(formData.get('url')?.toString() || '', {
15 title: formData.get('title')?.toString() || '',
16 target: formData.get('target')?.toString() || '',
18 linkNode.append($createTextNode(formData.get('text')?.toString() || ''));
20 selection?.insertNodes([linkNode]);
31 label: 'Text to display',
41 label: 'Open link in...',
46 'New window': '_blank',
48 } as EditorSelectFormFieldDefinition,