From be8417856a7282024e41c301c202d02822df9dc7 Mon Sep 17 00:00:00 2001 From: Ivan Usov Date: Tue, 9 Nov 2021 11:00:47 +0100 Subject: [PATCH] Open hdf file on file selection For #44 --- pyzebra/app/panel_hdf_viewer.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pyzebra/app/panel_hdf_viewer.py b/pyzebra/app/panel_hdf_viewer.py index 225b780..d688738 100644 --- a/pyzebra/app/panel_hdf_viewer.py +++ b/pyzebra/app/panel_hdf_viewer.py @@ -132,6 +132,9 @@ def create(): upload_hdf_button.on_change("value", upload_hdf_button_callback) def file_open_button_callback(): + if not file_select.value: + return + if data_source.value == "proposal number": _open_file(file_select.value[0], None) else: @@ -274,10 +277,21 @@ def create(): nu_range.bounds = (min(nu_start, nu_end), max(nu_start, nu_end)) def file_select_callback(_attr, old, new): + if not new: + # skip empty selections + return + # Avoid selection of multiple indicies (via Shift+Click or Ctrl+Click) if len(new) > 1: # drop selection to the previous one file_select.value = old + return + + if len(old) > 1: + # skip unnecessary update caused by selection drop + return + + file_open_button_callback() file_select = MultiSelect(title="Available .hdf files:", width=210, height=250) file_select.on_change("value", file_select_callback)