What is @ckeditor/ckeditor5-restricted-editing?
@ckeditor/ckeditor5-restricted-editing is a plugin for CKEditor 5 that allows you to restrict editing to specific parts of the content. This is useful for scenarios where you want to protect certain parts of the document from being modified by users while allowing them to edit other parts.
What are @ckeditor/ckeditor5-restricted-editing's main functionalities?
Enable Restricted Editing Mode
This code initializes the CKEditor with the Restricted Editing Mode plugin enabled. It adds the 'restrictedEditing' button to the toolbar, allowing users to toggle the restricted editing mode.
ClassicEditor.create(document.querySelector('#editor'), { plugins: [ RestrictedEditingMode, ... ], toolbar: [ 'restrictedEditing', ... ] })
Mark Editable Regions
This code marks a specific range in the document as an editable region. Users will be able to edit only within this range when the restricted editing mode is enabled.
editor.execute('restrictedEditingException', { commandParams: { range: editor.model.createRange(editor.model.createPositionAt(editor.model.document.getRoot(), 0), editor.model.createPositionAt(editor.model.document.getRoot(), 5)) } })
Toggle Restricted Editing Mode
This code toggles the restricted editing mode on or off. When enabled, users can only edit the marked editable regions.
editor.execute('restrictedEditing')
Other packages similar to @ckeditor/ckeditor5-restricted-editing
quill
Quill is a modern WYSIWYG editor built for compatibility and extensibility. While it does not have a built-in restricted editing mode, it offers a modular architecture that allows developers to implement similar functionality through custom modules.
tinymce
TinyMCE is a popular rich text editor that provides a wide range of features and plugins. It does not have a direct equivalent to restricted editing mode, but it offers content protection features through its premium plugins.
prosemirror
ProseMirror is a toolkit for building rich text editors with a focus on extensibility and customizability. Developers can create custom plugins to implement restricted editing functionality similar to @ckeditor/ckeditor5-restricted-editing.
43.1.0 (September 5, 2024)
We are happy to announce the release of CKEditor 5 v43.1.0.
Release highlights
This release includes important bug fixes and enhancements for the editor:
-
Block merge fields: In contrast to regular, inline merge fields, the block merge fields are designed to represent complex, block-level structures, such as a dynamically generated table, a row of products, or a personalized call-to-action segment. Block merge fields are supposed to be replaced by arbitrary HTML data when the document template is post-processed or exported to a PDF or Word file.
-
Nested dropdown menus: this release introduces a new UI component: nested dropdown menus. They can be used by feature developers to easily provide an advanced user interface where UI elements are organized into a nested menu structure.
-
Customizable accessible label: You can now configure the label for the accessible editable area through the editor settings, ensuring it fits your system’s needs.
-
Improved table and cell border controls: It is now easier to manage both table and cell borders. The table user interface now clearly indicates the default border settings, allowing you to set “no borders” (None
) for tables and cells without any additional configuration.
⚠️ In some cases this update may lead to data changes in the tables’ HTML markup when the editor loads them. However, visually nothing will change, and the experience will be the same.
The full list of enhancements can be found below.