From 7ff8b3ea14432f0ab00330696862b161aad57f02 Mon Sep 17 00:00:00 2001 From: Kodjo Sossouvi Date: Thu, 13 Nov 2025 21:15:45 +0100 Subject: [PATCH] I can convert commands to the requested type --- src/myfasthtml/controls/TabsManager.py | 2 +- src/myfasthtml/core/commands.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/myfasthtml/controls/TabsManager.py b/src/myfasthtml/controls/TabsManager.py index 0cef558..6255899 100644 --- a/src/myfasthtml/controls/TabsManager.py +++ b/src/myfasthtml/controls/TabsManager.py @@ -176,7 +176,7 @@ class TabsManager(MultipleInstance): content = component return Div( - content if content else Div("No active tab", cls="mf-empty-content"), + content if content else Div("No Content", cls="mf-empty-content"), cls="mf-tab-content", id=f"{self._id}-content" ) diff --git a/src/myfasthtml/core/commands.py b/src/myfasthtml/core/commands.py index f70eb7c..bb896a7 100644 --- a/src/myfasthtml/core/commands.py +++ b/src/myfasthtml/core/commands.py @@ -116,6 +116,19 @@ class Command(BaseCommand): self.args = args self.kwargs = kwargs + def _convert(self, key, value): + if key in self.callback_parameters: + param = self.callback_parameters[key] + if param.annotation == bool: + return value == "true" + elif param.annotation == int: + return int(value) + elif param.annotation == float: + return float(value) + elif param.annotation == list: + return value.split(",") + return value + def execute(self, client_response: dict = None): ret_from_bindings = [] @@ -129,7 +142,7 @@ class Command(BaseCommand): if client_response: for k, v in client_response.items(): if k in self.callback_parameters: - new_kwargs[k] = v + new_kwargs[k] = self._convert(k, v) if 'client_response' in self.callback_parameters: new_kwargs['client_response'] = client_response