From f4c615cfec095435ef193f542defe3ca6a8c40d5 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 29 May 2025 18:26:12 +0300 Subject: [PATCH] fix(editor): ctrl-clicking a reference link would open it in a new browser tab --- packages/ckeditor5/src/plugins/referencelink.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/ckeditor5/src/plugins/referencelink.ts b/packages/ckeditor5/src/plugins/referencelink.ts index 106065ec6..a790eb0a1 100644 --- a/packages/ckeditor5/src/plugins/referencelink.ts +++ b/packages/ckeditor5/src/plugins/referencelink.ts @@ -1,4 +1,4 @@ -import { Command, Element, Plugin, toWidget, viewToModelPositionOutsideModelElement, Widget } from "ckeditor5"; +import { Command, Element, LinkEditing, Plugin, toWidget, viewToModelPositionOutsideModelElement, Widget } from "ckeditor5"; export default class ReferenceLink extends Plugin { static get requires() { @@ -38,7 +38,7 @@ class ReferenceLinkCommand extends Command { class ReferenceLinkEditing extends Plugin { static get requires() { - return [ Widget ]; + return [ Widget, LinkEditing ]; } init() { @@ -52,6 +52,12 @@ class ReferenceLinkEditing extends Plugin { viewToModelPositionOutsideModelElement( this.editor.model, viewElement => viewElement.hasClass( 'reference-link' ) ) ); + + this.editor.plugins.get("LinkEditing")._registerLinkOpener(() => { + // Prevent reference links from being opened in a new browser tab. + // This works even if the link is not a reference link, since it is handled by Trilium. + return true; + }); } _defineSchema() {