I can persist tabmanager state

This commit is contained in:
2025-11-11 23:03:52 +01:00
parent 7f56b89e66
commit fb57a6a81d
9 changed files with 164 additions and 50 deletions

View File

@@ -5,7 +5,8 @@ from fasthtml.components import *
from myfasthtml.controls.Layout import Layout
from myfasthtml.controls.TabsManager import TabsManager
from myfasthtml.controls.helpers import Ids
from myfasthtml.controls.helpers import Ids, mk
from myfasthtml.core.commands import Command
from myfasthtml.core.instances import InstancesManager
from myfasthtml.myfastapp import create_app
@@ -30,11 +31,14 @@ def index(session):
for i in range(1000):
layout.left_drawer.append(Div(f"Left Drawer Item {i}"))
tabs_manager = InstancesManager.get(session, Ids.TabsManager, TabsManager)
tabs_manager.add_tab("Users", Div("Content 1"))
tabs_manager.add_tab("Users", Div("Content 2"))
tabs_manager.add_tab("Users", Div("Content 3"))
tabs_manager = TabsManager(session, _id="main")
btn = mk.button("Add Tab",
command=Command("AddTab",
"Add a new tab",
tabs_manager.on_new_tab, "Tabs", Div("Content")).
htmx(target=f"#{tabs_manager.get_id()}"))
layout.set_main(tabs_manager)
layout.set_footer(btn)
return layout