Skip to content

Commit 0d37405

Browse files
committed
update demos
1 parent ad6272a commit 0d37405

File tree

2 files changed

+37
-83
lines changed

2 files changed

+37
-83
lines changed

examples/serve/panels-demo/demo_panels/panel_histo2d.py

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -127,33 +127,6 @@ def render_panel(
127127
)
128128

129129

130-
@panel.callback(
131-
Input("@app", "selectedDatasetId"),
132-
Input("@app", "selectedPlaceGeometry"),
133-
Input("select_var_1"),
134-
Input("select_var_2"),
135-
Input("button", "clicked"),
136-
Output("error_message", "children"),
137-
)
138-
def update_error_message(
139-
ctx: Context,
140-
dataset_id: str | None = None,
141-
place_geometry: str | None = None,
142-
var_1_name: str | None = None,
143-
var_2_name: str | None = None,
144-
_clicked: bool | None = None,
145-
) -> str:
146-
dataset = get_dataset(ctx, dataset_id)
147-
if dataset is None:
148-
return "Missing dataset selection"
149-
elif not place_geometry:
150-
return "Missing place geometry selection"
151-
elif not var_1_name or not var_2_name:
152-
return "Missing variable selection"
153-
else:
154-
return ""
155-
156-
157130
@panel.callback(
158131
State("@app", "selectedDatasetId"),
159132
State("@app", "selectedPlaceGeometry"),
@@ -190,11 +163,7 @@ def update_plot(
190163
).transform
191164
place_geometry = shapely.ops.transform(project, place_geometry)
192165

193-
if (
194-
place_geometry is None
195-
or place_geometry.is_empty
196-
or isinstance(place_geometry, shapely.geometry.Point)
197-
):
166+
if place_geometry is None or isinstance(place_geometry, shapely.geometry.Point):
198167
return (
199168
None,
200169
"Selected geometry must cover an area.",
@@ -377,3 +346,30 @@ def show_progress(
377346
_clicked: bool | None = None, # trigger, will always be True
378347
) -> alt.Chart | None:
379348
return CircularProgress(id="button", size=28)
349+
350+
351+
@panel.callback(
352+
Input("@app", "selectedDatasetId"),
353+
Input("@app", "selectedPlaceGeometry"),
354+
State("select_var_1"),
355+
State("select_var_2"),
356+
Input("button", "clicked"),
357+
Output("error_message", "children"),
358+
)
359+
def update_error_message(
360+
ctx: Context,
361+
dataset_id: str | None = None,
362+
place_geometry: str | None = None,
363+
var_1_name: str | None = None,
364+
var_2_name: str | None = None,
365+
_clicked: bool | None = None,
366+
) -> str:
367+
dataset = get_dataset(ctx, dataset_id)
368+
if dataset is None:
369+
return "Missing dataset selection"
370+
elif not place_geometry:
371+
return "Missing place geometry selection"
372+
elif not var_1_name or not var_2_name:
373+
return "Missing variable selection"
374+
else:
375+
return ""

examples/serve/panels-demo/demo_panels/panel_spectrum.py

Lines changed: 9 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -106,30 +106,6 @@ def render_panel(
106106
)
107107

108108

109-
@panel.callback(
110-
Input("@app", "selectedPlaceGroup"),
111-
Input("@app", "selectedDatasetId"),
112-
Input("@app", "selectedTimeLabel"),
113-
Input("button", "clicked"),
114-
Output("error_message", "children"),
115-
)
116-
def update_error_message(
117-
ctx: Context,
118-
place_group: list[dict[str, Any]] | None = None,
119-
dataset_id: str | None = None,
120-
_time_label: float | None = None,
121-
_clicked: bool | None = None,
122-
) -> str:
123-
dataset = get_dataset(ctx, dataset_id)
124-
points = get_places(ctx, place_group)
125-
if dataset is None:
126-
return "Missing dataset selection"
127-
elif not points:
128-
return "Missing point selection"
129-
else:
130-
return ""
131-
132-
133109
def get_spectra(
134110
dataset: xr.Dataset,
135111
place_group: gpd.GeoDataFrame,
@@ -189,15 +165,13 @@ def get_spectra(
189165

190166
@panel.callback(
191167
State("@app", "selectedDatasetTitle"),
192-
State("@app", "selectedTimeLabel"),
193168
Input("@app", "selectedTimeLabel"),
194169
Output("text", "children"),
195170
)
196171
def update_text(
197172
ctx: Context,
198173
dataset_title: str | None = None,
199174
time_label: str | None = None,
200-
_time_label: bool | None = None,
201175
) -> list | None:
202176

203177
if time_label:
@@ -209,7 +183,6 @@ def update_text(
209183
State("@app", "selectedDatasetId"),
210184
Input("@app", "selectedTimeLabel"),
211185
State("@app", "selectedPlaceGroup"),
212-
State("@app", "selectedPlaceGeometry"),
213186
State("select_places", "value"),
214187
Input("button", "clicked"),
215188
Output("plot", "chart"),
@@ -220,17 +193,22 @@ def update_plot(
220193
dataset_id: str | None = None,
221194
time_label: str | None = None,
222195
place_group: list[dict[str, Any]] | None = None,
223-
place_geometry: str | None = None,
224196
place: list | None = None,
225197
_clicked: bool | None = None,
226198
) -> tuple[alt.Chart | None, str]:
227199
dataset = get_dataset(ctx, dataset_id)
200+
has_point = any(
201+
feature.get("geometry", {}).get("type") == "Point"
202+
for collection in place_group
203+
for feature in collection.get("features", [])
204+
)
228205
if dataset is None:
229206
return None, "Missing dataset selection"
230-
elif not place_geometry:
231-
return None, "Missing place geometry selection"
207+
elif not place_group or not has_point:
208+
return None, "Missing point selection"
232209
elif not place:
233-
return None, "Missing point value selection from dropdown"
210+
return None, "Missing point selection from dropdown"
211+
234212
place_group = gpd.GeoDataFrame(
235213
[
236214
{
@@ -304,23 +282,3 @@ def update_theme(
304282
theme_mode = "default"
305283

306284
return theme_mode
307-
308-
309-
@panel.callback(
310-
State("@app", "selectedDatasetId"),
311-
State("@app", "selectedTimeLabel"),
312-
State("@app", "selectedPlaceGroup"),
313-
State("select_places", "value"),
314-
Input("@app", "selectedTimeLabel"),
315-
Output("plot", "chart"),
316-
Output("error_message", "children"),
317-
)
318-
def update_timestep(
319-
ctx: Context,
320-
dataset_id: str,
321-
time_label: str,
322-
place_group: list[dict[str, Any]],
323-
place: list,
324-
_new_time_label: bool | None = None,
325-
) -> tuple[alt.Chart, str] | None:
326-
return update_plot(ctx, dataset_id, time_label, place_group, place)

0 commit comments

Comments
 (0)