60e0ffc959
Upgrade checks / Notify on failure (push) Has been cancelled
Upgrade checks / Close issue on success (push) Has been cancelled
Schema Crash Test / Real-world schema crash test (232K schemas) (push) Has been cancelled
Run static analysis / static_analysis (push) Has been cancelled
Tests / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Tests / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Tests / Tests with lowest-direct dependencies (push) Has been cancelled
Tests / MCP conformance tests (push) Has been cancelled
Tests / Integration tests (push) Has been cancelled
Tests / Package install smoke (push) Has been cancelled
Upgrade checks / Static analysis (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.13 on ubuntu-latest (push) Has been cancelled
Upgrade checks / Tests: Python 3.10 on windows-latest (push) Has been cancelled
Upgrade checks / Integration tests (push) Has been cancelled
Update MCPServerConfig Schema / update-config-schema (push) Has been cancelled
Update SDK Documentation / update-sdk-docs (push) Has been cancelled
67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
from prefab_ui.app import PrefabApp
|
|
from prefab_ui.components import (
|
|
Column,
|
|
Row,
|
|
Select,
|
|
SelectOption,
|
|
Switch,
|
|
Text,
|
|
)
|
|
from prefab_ui.components.charts import BarChart, ChartSeries
|
|
from prefab_ui.components.control_flow import If
|
|
from prefab_ui.components.metric import Metric
|
|
from prefab_ui.rx import Rx
|
|
|
|
region = Rx("region")
|
|
|
|
north = [
|
|
{"month": "Jan", "sales": 22000},
|
|
{"month": "Feb", "sales": 25500},
|
|
{"month": "Mar", "sales": 24200},
|
|
]
|
|
south = [
|
|
{"month": "Jan", "sales": 5800},
|
|
{"month": "Feb", "sales": 6400},
|
|
{"month": "Mar", "sales": 5600},
|
|
]
|
|
west = [
|
|
{"month": "Jan", "sales": 6000},
|
|
{"month": "Feb", "sales": 6000},
|
|
{"month": "Mar", "sales": 5600},
|
|
]
|
|
|
|
with PrefabApp(
|
|
state={
|
|
"region": "north",
|
|
"north": north,
|
|
"south": south,
|
|
"west": west,
|
|
"show_target": True,
|
|
},
|
|
) as app:
|
|
with Column(
|
|
gap=4,
|
|
css_class="p-6",
|
|
let={
|
|
"data": "{{ region == 'south' ? south : region == 'west' ? west : north }}",
|
|
},
|
|
):
|
|
with Row(gap=4, align="center"):
|
|
with Select(name="region", css_class="w-40"):
|
|
SelectOption(value="north", label="North")
|
|
SelectOption(value="south", label="South")
|
|
SelectOption(value="west", label="West")
|
|
Switch(name="show_target", css_class="ml-auto")
|
|
Text("Show target", css_class="text-sm text-muted-foreground")
|
|
BarChart(
|
|
data=Rx("data"),
|
|
series=[ChartSeries(data_key="sales", label="Sales")],
|
|
x_axis="month",
|
|
height=200,
|
|
)
|
|
with If(Rx("show_target")):
|
|
Metric(
|
|
label="Q1 Target",
|
|
value="$75,000",
|
|
)
|