@@ -136,7 +136,7 @@ def make_user_input(user_input, k, v):
136
136
137
137
138
138
@solara .component
139
- def MesaComponent (viz ):
139
+ def MesaComponent (viz , space_drawer = None , play_interval = 400 ):
140
140
solara .Markdown (viz .name )
141
141
142
142
# 1. User inputs
@@ -178,7 +178,7 @@ def on_value_play(change):
178
178
)
179
179
widgets .Play (
180
180
value = 0 ,
181
- interval = 400 ,
181
+ interval = play_interval ,
182
182
repeat = True ,
183
183
show_repeat = False ,
184
184
on_value = on_value_play ,
@@ -196,7 +196,10 @@ def on_value_play(change):
196
196
197
197
with solara .GridFixed (columns = 2 ):
198
198
# 4. Space
199
- make_space (viz )
199
+ if space_drawer is None :
200
+ make_space (viz )
201
+ else :
202
+ space_drawer (viz )
200
203
# 5. Plots
201
204
for i , measure in enumerate (viz .measures ):
202
205
if callable (measure ):
@@ -207,8 +210,16 @@ def on_value_play(change):
207
210
208
211
209
212
def 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 ,
211
220
):
212
221
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 ,
214
225
)
0 commit comments