diff --git a/typo3/sysext/rte_ckeditor/Resources/Public/JavaScript/RteLinkBrowser.js b/typo3/sysext/rte_ckeditor/Resources/Public/JavaScript/RteLinkBrowser.js index 8b85c324a2b0..29a6728be03c 100644 --- a/typo3/sysext/rte_ckeditor/Resources/Public/JavaScript/RteLinkBrowser.js +++ b/typo3/sysext/rte_ckeditor/Resources/Public/JavaScript/RteLinkBrowser.js @@ -20,12 +20,13 @@ define(['jquery', 'TYPO3/CMS/Recordlist/LinkBrowser', 'TYPO3/CMS/Backend/Modal'] /** * - * @type {{plugin: null, CKEditor: null, siteUrl: string}} + * @type {{plugin: null, CKEditor: null, ranges: null, siteUrl: string}} * @exports TYPO3/CMS/RteCkeditor/RteLinkBrowser */ var RteLinkBrowser = { plugin: null, CKEditor: null, + ranges: null, siteUrl: '' }; @@ -51,6 +52,9 @@ define(['jquery', 'TYPO3/CMS/Recordlist/LinkBrowser', 'TYPO3/CMS/Backend/Modal'] }); } + // Backup all ranges that are active when the Link Browser is requested + RteLinkBrowser.ranges = RteLinkBrowser.CKEditor.getSelection().getRanges(); + // siteUrl etc are added as data attributes to the body tag $.extend(RteLinkBrowser, $('body').data()); @@ -116,6 +120,7 @@ define(['jquery', 'TYPO3/CMS/Recordlist/LinkBrowser', 'TYPO3/CMS/Backend/Modal'] linkElement.setAttribute('href', link); var selection = RteLinkBrowser.CKEditor.getSelection(); + selection.selectRanges(RteLinkBrowser.ranges); if (selection && selection.getSelectedText() === '') { selection.selectElement(selection.getStartElement()); }