]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/ui/defaults/forms/objects.ts
Lexical: Started adding editor shortcuts
[bookstack] / resources / js / wysiwyg / ui / defaults / forms / objects.ts
index 6bd265e6c2a70b81bb2564d335e44f31ffc93df6..2aefe54145023f9b2bd0bd429e8e58a034dabf94 100644 (file)
@@ -10,7 +10,7 @@ import {$isImageNode, ImageNode} from "../../../nodes/image";
 import {$createLinkNode, $isLinkNode} from "@lexical/link";
 import {$createMediaNodeFromHtml, $createMediaNodeFromSrc, $isMediaNode, MediaNode} from "../../../nodes/media";
 import {$insertNodeToNearestRoot} from "@lexical/utils";
-import {$getNodeFromSelection} from "../../../utils/selection";
+import {$getNodeFromSelection, getLastSelection} from "../../../utils/selection";
 import {EditorFormModal} from "../../framework/modals";
 import {EditorActionField} from "../../framework/blocks/action-field";
 import {EditorButton} from "../../framework/buttons";
@@ -18,6 +18,7 @@ import {showImageManager} from "../../../utils/images";
 import searchImageIcon from "@icons/editor/image-search.svg";
 import searchIcon from "@icons/search.svg";
 import {showLinkSelector} from "../../../utils/links";
+import {LinkField} from "../../framework/blocks/link-field";
 
 export function $showImageForm(image: ImageNode, context: EditorUiContext) {
     const imageModal: EditorFormModal = context.manager.createModal('image');
@@ -38,7 +39,8 @@ export const image: EditorFormDefinition = {
     submitText: 'Apply',
     async action(formData, context: EditorUiContext) {
         context.editor.update(() => {
-            const selectedImage = $getNodeFromSelection(context.lastSelection, $isImageNode);
+            const selection = getLastSelection(context.editor);
+            const selectedImage = $getNodeFromSelection(selection, $isImageNode);
             if ($isImageNode(selectedImage)) {
                 selectedImage.setSrc(formData.get('src')?.toString() || '');
                 selectedImage.setAltText(formData.get('alt')?.toString() || '');
@@ -132,11 +134,11 @@ export const link: EditorFormDefinition = {
         {
             build() {
                 return new EditorActionField(
-                    new EditorFormField({
+                    new LinkField(new EditorFormField({
                         label: 'URL',
                         name: 'url',
                         type: 'text',
-                    }),
+                    })),
                     new EditorButton({
                         label: 'Browse links',
                         icon: searchIcon,