Extension hooks¤
Overview of all the extension hooks available in Django Components.
Read more on Extensions.
Hooks¤
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 |
Objects¤
OnComponentClassCreatedContext ¤
Attributes:
-
component_cls(Type[Component]) –
component_cls instance-attribute ¤
The created Component class
OnComponentClassDeletedContext ¤
Attributes:
-
component_cls(Type[Component]) –
component_cls instance-attribute ¤
The to-be-deleted Component class
OnComponentDataContext ¤
Attributes:
-
component(Component) – -
component_cls(Type[Component]) – -
component_id(str) – -
context_data(Dict) – -
css_data(Dict) – -
js_data(Dict) –
component_cls instance-attribute ¤
The Component class
component_id instance-attribute ¤
component_id: str
The unique identifier for this component instance
context_data instance-attribute ¤
context_data: Dict
Dictionary of context data from Component.get_context_data()
OnComponentInputContext ¤
Attributes:
-
args(List) – -
component(Component) – -
component_cls(Type[Component]) – -
component_id(str) – -
context(Context) – -
kwargs(Dict) – -
slots(Dict) –
component instance-attribute ¤
component: Component
The Component instance that received the input and is being rendered
component_cls instance-attribute ¤
The Component class
component_id instance-attribute ¤
component_id: str
The unique identifier for this component instance
OnComponentRegisteredContext ¤
Attributes:
-
component_cls(Type[Component]) – -
name(str) – -
registry(ComponentRegistry) –
component_cls instance-attribute ¤
The registered Component class
registry instance-attribute ¤
registry: ComponentRegistry
The registry the component was registered to
OnComponentUnregisteredContext ¤
Attributes:
-
component_cls(Type[Component]) – -
name(str) – -
registry(ComponentRegistry) –
component_cls instance-attribute ¤
The unregistered Component class
registry instance-attribute ¤
registry: ComponentRegistry
The registry the component was unregistered from
OnRegistryCreatedContext ¤
Attributes:
-
registry(ComponentRegistry) –
OnRegistryDeletedContext ¤
Attributes:
-
registry(ComponentRegistry) –
registry instance-attribute ¤
registry: ComponentRegistry
The to-be-deleted ComponentRegistry instance