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.