Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
f838f24
Initial commit with some changes already:
maxschulz-COL Oct 23, 2025
0463bc7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 23, 2025
2b67e42
Some notes
maxschulz-COL Oct 23, 2025
052f67f
New breakthrough with type
maxschulz-COL Oct 23, 2025
c169712
Type does not fix wrong validation
maxschulz-COL Oct 27, 2025
e227e99
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 27, 2025
7587ae5
Write proper tests
maxschulz-COL Oct 27, 2025
1c3bab0
Clean up app.py
maxschulz-COL Oct 27, 2025
bb426a8
Merge branch 'mm_latest' of github.com:mckinsey/vizro into mm_latest
maxschulz-COL Oct 27, 2025
be72ff0
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 27, 2025
3dc8dff
Refactor type handling in VizroBaseModel to respect custom component …
maxschulz-COL Oct 27, 2025
535e814
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 27, 2025
02d71c8
First addition of MM
maxschulz-COL Oct 28, 2025
93d1d12
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 28, 2025
0b8f25a
Build in the tree mechanism
maxschulz-COL Oct 28, 2025
7fff354
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 28, 2025
745ceb5
Add in private attribute to check if it gets lost on copy
maxschulz-COL Oct 28, 2025
54ccf3f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 28, 2025
bcd4cea
Some notes
maxschulz-COL Oct 29, 2025
a0408ca
Add basic tree tests
maxschulz-COL Oct 29, 2025
1524ed1
Fix the issue of model copying
maxschulz-COL Oct 29, 2025
cd95f51
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2025
8a7dc2f
Add proper tests to check idempotency
maxschulz-COL Oct 29, 2025
80e09fc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2025
19ca1f6
Clean-up
maxschulz-COL Oct 29, 2025
cbab0e9
Merge branch 'mm_latest' of github.com:mckinsey/vizro into mm_latest
maxschulz-COL Oct 29, 2025
d2df87a
Check for private attribute loosing and JSON schema
maxschulz-COL Oct 29, 2025
1a1ba96
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 29, 2025
e2b23bd
Summarize Fake Vizro creation
maxschulz-COL Oct 29, 2025
558db74
Merge branch 'mm_latest' of github.com:mckinsey/vizro into mm_latest
maxschulz-COL Oct 29, 2025
706d226
Initial ideas for CLAUDE.md
maxschulz-COL Oct 30, 2025
ff9f8b7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2025
520884e
Building in the Forward Reference issue
maxschulz-COL Oct 30, 2025
08bcc8d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2025
c62fcb4
Update TODOs
maxschulz-COL Oct 30, 2025
0712576
Merge branch 'main' into mm_latest
maxschulz-COL Oct 30, 2025
a5c3fbf
Additional notes
maxschulz-COL Oct 30, 2025
dff25a8
Build in forward refs further
maxschulz-COL Oct 30, 2025
77ef0a0
First work on cicular dep issue
maxschulz-COL Oct 30, 2025
c8ce772
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 30, 2025
8c848e5
Remove guidance file to get them from main
maxschulz-COL Oct 30, 2025
aa02376
Merge branch 'main' into mm_latest
maxschulz-COL Oct 30, 2025
c37ca44
Todo
maxschulz-COL Oct 30, 2025
b049825
Remove __pydantic_init_subclass__ to get around circular dependency i…
maxschulz-COL Oct 31, 2025
0d66612
First "working" dashboard
maxschulz-COL Oct 31, 2025
f5e391a
Make all Vizro models fields into a discriminated unions
maxschulz-COL Oct 31, 2025
fdd1d3b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 31, 2025
e21a8c9
Move everything to typing
maxschulz-COL Oct 31, 2025
38771ff
Merge branch 'mm_latest' of github.com:mckinsey/vizro into mm_latest
maxschulz-COL Oct 31, 2025
2da8b33
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 31, 2025
661ac0d
Custom components work without add_type!
maxschulz-COL Oct 31, 2025
7e8f230
Dashboard successfully validates
maxschulz-COL Oct 31, 2025
f784a97
Dashboard renders although not fully functional
maxschulz-COL Oct 31, 2025
d92fd1f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 31, 2025
2820792
ToDos
maxschulz-COL Oct 31, 2025
12e9411
Merge branch 'mm_latest' of github.com:mckinsey/vizro into mm_latest
maxschulz-COL Oct 31, 2025
51e3181
Merge branch 'main' into mm_latest
maxschulz-COL Nov 3, 2025
52fe528
Check for custom component in tree
maxschulz-COL Nov 3, 2025
ca76bc6
Add custom components also to tree
maxschulz-COL Nov 3, 2025
c612d91
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Nov 3, 2025
b69ca54
Add models to tree in FIlter model
maxschulz-COL Nov 3, 2025
2042782
Add remaining later built components
maxschulz-COL Nov 4, 2025
0916173
Merge branch 'main' into mm_latest
maxschulz-COL Nov 4, 2025
fb5804f
Updated models.py list
maxschulz-COL Nov 4, 2025
b46dbc5
Working on current container bug
maxschulz-COL Nov 4, 2025
ad94f03
Add container to scratch app
maxschulz-COL Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 40 additions & 39 deletions vizro-core/examples/dev/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -995,7 +995,7 @@ def my_custom_table(data_frame=None, chosen_columns: Optional[list[str]] = None)
class TooltipNonCrossRangeSlider(vm.RangeSlider):
"""Custom numeric multi-selector `TooltipNonCrossRangeSlider`."""

type: Literal["other_range_slider"] = "other_range_slider"
type: Literal["custom_component"] = "custom_component"

def build(self):
"""Extend existing component by calling the super build and update properties."""
Expand All @@ -1005,14 +1005,14 @@ def build(self):
return range_slider_build_obj


vm.Filter.add_type("selector", TooltipNonCrossRangeSlider)
# vm.Filter.add_type("selector", TooltipNonCrossRangeSlider)


# 2. Create new custom component
class Jumbotron(vm.VizroBaseModel):
"""New custom component `Jumbotron`."""

type: Literal["jumbotron"] = "jumbotron"
type: Literal["custom_component"] = "custom_component"
title: str
subtitle: str
text: str
Expand All @@ -1022,7 +1022,7 @@ def build(self):
return html.Div([html.H2(self.title), html.H3(self.subtitle), html.P(self.text)])


vm.Page.add_type("components", Jumbotron)
# vm.Page.add_type("components", Jumbotron)

custom_components = vm.Page(
title="Custom Components",
Expand Down Expand Up @@ -1093,53 +1093,54 @@ def multiple_cards(data_frame: pd.DataFrame, n_rows: Optional[int] = 1) -> html.


# DASHBOARD -------------------------------------------------------------------
components = [graphs, ag_grid, table, cards, figure, button, containers, tabs, tooltip]
components = [tabs] # graphs, ag_grid, table, cards, figure, button, containers, tooltip
controls = [filters, parameters, selectors, controls_in_containers]
actions = [export_data_action]
layout = [grid_layout, flex_layout]
extensions = [custom_charts, custom_tables, custom_figures, custom_components]

dashboard = vm.Dashboard(
title="Vizro Features",
pages=[home, *components, *controls, *actions, *layout, *extensions],
navigation=vm.Navigation(
nav_selector=vm.NavBar(
items=[
vm.NavLink(label="Homepage", pages=["Homepage"], icon="Home"),
vm.NavLink(
label="Features",
pages={
"Components": [
"Graphs",
"AG Grid",
"Table",
"Cards",
"Figure",
"Button",
"Containers",
"Tabs",
"Tooltip",
],
"Controls": ["Filters", "Parameters", "Selectors", "Controls in containers"],
"Layout": ["Grid layout", "flex-layout"],
"Actions": ["Export data"],
"Extensions": [
"Custom Charts",
"Custom Tables",
"Custom Components",
"Custom Figures",
],
},
icon="Library Add",
),
]
)
),
pages=[*components], # home, *controls, *actions, *layout, *extensions
# navigation=vm.Navigation(
# nav_selector=vm.NavBar(
# items=[
# vm.NavLink(label="Homepage", pages=["Homepage"], icon="Home"),
# vm.NavLink(
# label="Features",
# pages={
# "Components": [
# "Graphs",
# "AG Grid",
# "Table",
# "Cards",
# "Figure",
# "Button",
# "Containers",
# "Tabs",
# "Tooltip",
# ],
# "Controls": ["Filters", "Parameters", "Selectors", "Controls in containers"],
# "Layout": ["Grid layout", "flex-layout"],
# "Actions": ["Export data"],
# "Extensions": [
# "Custom Charts",
# "Custom Tables",
# "Custom Components",
# "Custom Figures",
# ],
# },
# icon="Library Add",
# ),
# ]
# )
# ),
)


if __name__ == "__main__":
# Move app definition outside of __main__ block for the HF demo to work
dashboard = vm.Dashboard.model_validate(dashboard, context={"build_tree": True})
app = Vizro().build(dashboard)
app.dash.layout.children.append(
dbc.NavLink(
Expand Down
Loading