Исходный код EJIO.ctk_extender.widget.form.events
## /ctk_extender/widget/form/events.py
from typing import Any
from ...event import Event
__all__ = [
'FormSubmittedEvent',
'FormValidationErrorEvent',
'FormReadyEvent',
]
[документация]
class FormSubmittedEvent(Event):
"""Событие, возникающее при успешной валидации и отправке формы."""
def __init__(self, sender: Any, data: dict[str, Any]) -> None:
"""
:param sender: Экземпляр формы, сгенерировавший событие.
:param data: Словарь собранных и очищенных данных {имя_поля: значение}.
"""
super().__init__(sender)
self._data: dict[str, Any] = data
@property
def data(self) -> dict[str, Any]:
return self._data
[документация]
class FormValidationErrorEvent(Event):
"""Событие, возникающее, если форма не прошла валидацию."""
def __init__(self, sender: Any, errors: dict[str, str]) -> None:
"""
:param sender: Экземпляр формы.
:param errors: Словарь ошибок {имя_поля: текст_ошибки}.
"""
super().__init__(sender)
self._errors: dict[str, str] = errors
@property
def errors(self) -> dict[str, str]:
return self._errors
[документация]
class FormReadyEvent(Event):
"""Событие-ответ, сообщающее форме, что её обработка завершена и она может принимать новые клики."""
def __init__(self, target_form: Any) -> None:
super().__init__(target_form)
self._target_form: Any = target_form
@property
def target_form(self) -> Any:
return self._target_form