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 |