Extension Hooks¤
Overview of all the extension hooks available in Django Components.
Read more on Extensions.
on_component_class_created ¤
on_component_class_created(ctx: OnComponentClassCreatedContext) -> None
Available data:
| name | type | description |
|---|---|---|
component_cls | Type[Component] | The created Component class |
on_component_class_deleted ¤
on_component_class_deleted(ctx: OnComponentClassDeletedContext) -> None
Called when a Component class is being deleted.
This hook is called before the Component class is deleted from memory.
Use this hook to perform any cleanup related to the Component class.
Example:
from django_components import ComponentExtension, OnComponentClassDeletedContext
class MyExtension(ComponentExtension):
def on_component_class_deleted(self, ctx: OnComponentClassDeletedContext) -> None:
# Remove Component class from the extension's cache on deletion
self.cache.pop(ctx.component_cls, None)
Available data:
| name | type | description |
|---|---|---|
component_cls | Type[Component] | The to-be-deleted Component class |
on_component_data ¤
on_component_data(ctx: OnComponentDataContext) -> None
Called when a Component was triggered to render, after a component's context and data methods have been processed.
This hook is called after Component.get_context_data(), Component.get_js_data() and Component.get_css_data().
This hook runs after on_component_input.
Use this hook to modify or validate the component's data before rendering.
Example:
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 | Dictionary of context data from Component.get_context_data() |
css_data | Dict | Dictionary of CSS data from Component.get_css_data() |
js_data | Dict | Dictionary of JavaScript data from Component.get_js_data() |
on_component_input ¤
on_component_input(ctx: OnComponentInputContext) -> None
Called when a Component was triggered to render, but before a component's context and data methods are invoked.
This hook is called before Component.get_context_data(), Component.get_js_data() and Component.get_css_data().
Use this hook to modify or validate component inputs before they're processed.
Example:
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 | Dictionary of slot definitions |
on_component_registered ¤
on_component_registered(ctx: OnComponentRegisteredContext) -> None
Called when a Component class is registered with a ComponentRegistry.
This hook is called after a Component class is successfully registered.
Example:
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 |
on_component_unregistered ¤
on_component_unregistered(ctx: OnComponentUnregisteredContext) -> None
Called when a Component class is unregistered from a ComponentRegistry.
This hook is called after a Component class is removed from the registry.
Example:
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 |
on_registry_created ¤
on_registry_created(ctx: OnRegistryCreatedContext) -> None
Called when a new ComponentRegistry is created.
This hook is called after a new ComponentRegistry instance is initialized.
Use this hook to perform any initialization needed for the registry.
Example:
Available data:
| name | type | description |
|---|---|---|
registry | ComponentRegistry | The created ComponentRegistry instance |
on_registry_deleted ¤
on_registry_deleted(ctx: OnRegistryDeletedContext) -> None
Called when a ComponentRegistry is being deleted.
This hook is called before a ComponentRegistry instance is deleted.
Use this hook to perform any cleanup related to the registry.
Example:
Available data:
| name | type | description |
|---|---|---|
registry | ComponentRegistry | The to-be-deleted ComponentRegistry instance |