[BUGFIX] Enable configuration passthrough for custom CKEditor5 plugins
Use JavaScript object destructuring to "remove" all options from the configuration object, that are consumed by our CKEditor5 wrapper. Also cleanup RTE resource and config handling to not write unused options into the configuration array and to avoid resolving legacy (CKEditor4) resource paths which are dropped anyway. As a drive-by, dots are now substituted with '_' in RTE field IDs to avoid the following hassle: Dots are interpreted as CSS classes when the ID value is used in combination with a number sign (#) to create a CSS selector for the respective field ID. That means the selector will not match. The class selector additionally becomes invalid once there is a digit after the dot, as CSS classes need to start with strings. (Example: EXT:styleguide in_flex » tab » rte.2). Resolves: #100784 Resolves: #101437 Releases: main, 12.4 Change-Id: I076b838c03588ad6eb8ad075a9df58501f146376 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/81535 Tested-by:core-ci <typo3@b13.com> Tested-by:
Benjamin Franzke <ben@bnf.dev> Reviewed-by:
Benjamin Franzke <ben@bnf.dev>
Showing
- Build/Sources/TypeScript/rte_ckeditor/ckeditor5.ts 115 additions, 107 deletionsBuild/Sources/TypeScript/rte_ckeditor/ckeditor5.ts
- Build/Sources/TypeScript/rte_ckeditor/plugin/typo3-link.ts 11 additions, 1 deletionBuild/Sources/TypeScript/rte_ckeditor/plugin/typo3-link.ts
- typo3/sysext/core/Configuration/RTE/SysNews.yaml 0 additions, 3 deletionstypo3/sysext/core/Configuration/RTE/SysNews.yaml
- typo3/sysext/rte_ckeditor/Classes/Form/Element/RichTextElement.php 9 additions, 32 deletions...ext/rte_ckeditor/Classes/Form/Element/RichTextElement.php
- typo3/sysext/rte_ckeditor/Configuration/RTE/Default.yaml 0 additions, 2 deletionstypo3/sysext/rte_ckeditor/Configuration/RTE/Default.yaml
- typo3/sysext/rte_ckeditor/Resources/Public/JavaScript/ckeditor5.js 2 additions, 2 deletions...ext/rte_ckeditor/Resources/Public/JavaScript/ckeditor5.js
Please register or sign in to comment