@@ -136,7 +136,7 @@ def make_user_input(user_input, k, v):
136136
137137
138138@solara .component
139- def MesaComponent (viz ):
139+ def MesaComponent (viz , space_drawer = None , play_interval = 400 ):
140140 solara .Markdown (viz .name )
141141
142142 # 1. User inputs
@@ -178,7 +178,7 @@ def on_value_play(change):
178178 )
179179 widgets .Play (
180180 value = 0 ,
181- interval = 400 ,
181+ interval = play_interval ,
182182 repeat = True ,
183183 show_repeat = False ,
184184 on_value = on_value_play ,
@@ -196,7 +196,10 @@ def on_value_play(change):
196196
197197 with solara .GridFixed (columns = 2 ):
198198 # 4. Space
199- make_space (viz )
199+ if space_drawer is None :
200+ make_space (viz )
201+ else :
202+ space_drawer (viz )
200203 # 5. Plots
201204 for i , measure in enumerate (viz .measures ):
202205 if callable (measure ):
@@ -207,8 +210,16 @@ def on_value_play(change):
207210
208211
209212def JupyterViz (
210- model_class , model_params , measures = None , name = "Mesa Model" , agent_portrayal = None
213+ model_class ,
214+ model_params ,
215+ measures = None ,
216+ name = "Mesa Model" ,
217+ agent_portrayal = None ,
218+ space_drawer = None ,
219+ play_interval = 400 ,
211220):
212221 return MesaComponent (
213- JupyterContainer (model_class , model_params , measures , name , agent_portrayal )
222+ JupyterContainer (model_class , model_params , measures , name , agent_portrayal ),
223+ space_drawer = space_drawer ,
224+ play_interval = play_interval ,
214225 )
0 commit comments