teams-bots/write-message/venv/lib/python3.10/site-packages/rich_toolkit/button.py

30 lines
654 B
Python

from __future__ import annotations
from typing import TYPE_CHECKING, Any, Callable, Optional
from .element import Element
if TYPE_CHECKING:
from .styles.base import BaseStyle
class Button(Element):
def __init__(
self,
name: str,
label: str,
callback: Optional[Callable] = None,
style: Optional[BaseStyle] = None,
**metadata: Any,
):
self.name = name
self.label = label
self.callback = callback
super().__init__(style=style, metadata=metadata)
def activate(self) -> Any:
if self.callback:
return self.callback()
return True