Skip to main content

Module rich_text_editor

Module rich_text_editor 

Source
Expand description

Asset adapter for the first-class RichTextEditor component.

Component::RichTextEditor is dispatched directly by render_component (it is NOT a plugin component in the routing sense). However, it requires Quill 2.0.3 JS and CSS loaded from jsDelivr, SRI-pinned, exactly once per page across multiple editor instances. The cleanest way to deliver that contract without inventing a parallel asset pipeline is to expose Quill’s CDN/SRI declarations through the existing JsonUiPlugin interface and register them in global_plugin_registry() like any other plugin. The plugin’s render() is unreachable (first-class variant is dispatched first); only css_assets() / js_assets() are consumed, via collect_plugin_assets, when collect_plugin_types_node enrolls "RichTextEditor" into the per-page plugin-types set (see render::collect_plugin_types_node).

Conceptual coherence (D-02): first-class components reuse the plugin asset pipeline rather than introducing a parallel CDN path. The surface evolves to absorb the requirement.

Bumping Quill is a deliberate phase: update the constants in crate::assets::quill (and re-run the SRI computation). This module is mechanical glue and does not need to change on a version bump.

Structs§

RichTextEditorPlugin
Asset-only plugin adapter for Component::RichTextEditor.