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
40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
from collections import Counter
|
|
|
|
from prefab_ui.app import PrefabApp
|
|
from prefab_ui.components import Column, DataTable, DataTableColumn, Grid
|
|
from prefab_ui.components.charts import PieChart
|
|
|
|
members = [
|
|
{"name": "Alice Chen", "role": "Staff Engineer", "office": "San Francisco"},
|
|
{"name": "Bob Martinez", "role": "Lead Designer", "office": "New York"},
|
|
{"name": "Carol Johnson", "role": "Senior Engineer", "office": "London"},
|
|
{"name": "David Kim", "role": "Product Manager", "office": "San Francisco"},
|
|
{"name": "Eva Mueller", "role": "Engineer", "office": "Berlin"},
|
|
{"name": "Frank Lee", "role": "Data Scientist", "office": "San Francisco"},
|
|
{"name": "Grace Park", "role": "Engineering Manager", "office": "New York"},
|
|
]
|
|
|
|
office_counts = [
|
|
{"office": office, "count": count}
|
|
for office, count in Counter(m["office"] for m in members).items()
|
|
]
|
|
|
|
with PrefabApp() as app:
|
|
with Column(gap=4, css_class="p-6"):
|
|
with Grid(columns=[1, 2], gap=4):
|
|
PieChart(
|
|
data=office_counts,
|
|
data_key="count",
|
|
name_key="office",
|
|
show_legend=True,
|
|
)
|
|
DataTable(
|
|
columns=[
|
|
DataTableColumn(key="name", header="Name", sortable=True),
|
|
DataTableColumn(key="role", header="Role", sortable=True),
|
|
DataTableColumn(key="office", header="Office", sortable=True),
|
|
],
|
|
rows=members,
|
|
search=True,
|
|
)
|