
* feat: on_xx_loaded extension hooks * refactor: fix tests
11 KiB
Extension hooks
Overview of all the extension hooks available in Django Components.
Read more on Extensions.
Hooks
::: django_components.extension.ComponentExtension.on_component_class_created options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The created Component class |
::: django_components.extension.ComponentExtension.on_component_class_deleted options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The to-be-deleted Component class |
::: django_components.extension.ComponentExtension.on_component_data options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component |
Component |
The Component instance that is being rendered |
component_cls |
Type[Component] |
The Component class |
component_id |
str |
The unique identifier for this component instance |
context_data |
Dict |
Deprecated. Use template_data instead. Will be removed in v1.0. |
css_data |
Dict |
Dictionary of CSS data from Component.get_css_data() |
js_data |
Dict |
Dictionary of JavaScript data from Component.get_js_data() |
template_data |
Dict |
Dictionary of template data from Component.get_template_data() |
::: django_components.extension.ComponentExtension.on_component_input options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
args |
List |
List of positional arguments passed to the component |
component |
Component |
The Component instance that received the input and is being rendered |
component_cls |
Type[Component] |
The Component class |
component_id |
str |
The unique identifier for this component instance |
context |
Context |
The Django template Context object |
kwargs |
Dict |
Dictionary of keyword arguments passed to the component |
slots |
Dict[str, Slot] |
Dictionary of slot definitions |
::: django_components.extension.ComponentExtension.on_component_registered options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The registered Component class |
name |
str |
The name the component was registered under |
registry |
ComponentRegistry |
The registry the component was registered to |
::: django_components.extension.ComponentExtension.on_component_rendered options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component |
Component |
The Component instance that is being rendered |
component_cls |
Type[Component] |
The Component class |
component_id |
str |
The unique identifier for this component instance |
error |
Optional[Exception] |
The error that occurred during rendering, or None if rendering was successful |
result |
Optional[str] |
The rendered component, or None if rendering failed |
::: django_components.extension.ComponentExtension.on_component_unregistered options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The unregistered Component class |
name |
str |
The name the component was registered under |
registry |
ComponentRegistry |
The registry the component was unregistered from |
::: django_components.extension.ComponentExtension.on_css_loaded options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The Component class whose CSS was loaded |
content |
str |
The CSS content (string) |
::: django_components.extension.ComponentExtension.on_js_loaded options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The Component class whose JS was loaded |
content |
str |
The JS content (string) |
::: django_components.extension.ComponentExtension.on_registry_created options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
registry |
ComponentRegistry |
The created ComponentRegistry instance |
::: django_components.extension.ComponentExtension.on_registry_deleted options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
registry |
ComponentRegistry |
The to-be-deleted ComponentRegistry instance |
::: django_components.extension.ComponentExtension.on_slot_rendered options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component |
Component |
The Component instance that contains the {% slot %} tag |
component_cls |
Type[Component] |
The Component class that contains the {% slot %} tag |
component_id |
str |
The unique identifier for this component instance |
result |
SlotResult |
The rendered result of the slot |
slot |
Slot |
The Slot instance that was rendered |
slot_is_default |
bool |
Whether the slot is default |
slot_is_required |
bool |
Whether the slot is required |
slot_name |
str |
The name of the {% slot %} tag |
slot_node |
SlotNode |
The node instance of the {% slot %} tag |
::: django_components.extension.ComponentExtension.on_template_compiled options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The Component class whose template was loaded |
template |
django.template.base.Template |
The compiled template object |
::: django_components.extension.ComponentExtension.on_template_loaded options: heading_level: 3 show_root_heading: true show_signature: true separate_signature: true show_symbol_type_heading: false show_symbol_type_toc: false show_if_no_docstring: true show_labels: false
Available data:
name | type | description |
---|---|---|
component_cls |
Type[Component] |
The Component class whose template was loaded |
content |
str |
The template string |
name |
Optional[str] |
The name of the template |
origin |
Optional[django.template.base.Origin] |
The origin of the template |
Objects
::: django_components.extension.OnComponentClassCreatedContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnComponentClassDeletedContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnComponentDataContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnComponentInputContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnComponentRegisteredContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnComponentUnregisteredContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnRegistryCreatedContext options: heading_level: 3 show_if_no_docstring: true
::: django_components.extension.OnRegistryDeletedContext options: heading_level: 3 show_if_no_docstring: true