Skip to content

Commit d07e0a1

Browse files
committed
fix session_plot_mode logic
1 parent b7c8d22 commit d07e0a1

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

code/Home.py

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def draw_session_plots(df_to_draw_session):
133133
my_bar.progress(int((i + 1) / len(df_to_draw_session) * 100))
134134

135135

136-
def session_plot_settings(df_selected, need_click=True):
136+
def session_plot_settings(df_selected_from_plotly=None, need_click=True):
137137
with st.form(key='session_plot_settings'):
138138
st.markdown('##### Show plots for individual sessions ')
139139
cols = st.columns([2, 6, 1])
@@ -146,10 +146,14 @@ def session_plot_settings(df_selected, need_click=True):
146146
default=session_plot_modes[0],
147147
key='session_plot_mode',
148148
)
149-
150-
n_session_to_draw = len(df_selected) \
151-
if 'selected from table or plot' in st.session_state.selected_draw_sessions \
152-
else len(st.session_state.df_session_filtered)
149+
150+
if "selected" in st.session_state.selected_draw_sessions:
151+
if df_selected_from_plotly is None: # Selected from dataframe
152+
df_to_draw_sessions = st.session_state.df_selected_from_dataframe
153+
else:
154+
df_to_draw_sessions = df_selected_from_plotly
155+
else: # all sessions filtered from sidebar
156+
df_to_draw_sessions = st.session_state.df_session_filtered
153157

154158
_ = number_input_wrapper_for_url_query(
155159
st_prefix=cols[2],
@@ -177,20 +181,20 @@ def session_plot_settings(df_selected, need_click=True):
177181
key='session_plot_selected_draw_types',
178182
)
179183

180-
cols[0].markdown(f'{n_session_to_draw} sessions to draw')
184+
cols[0].markdown(f'{len(df_to_draw_sessions)} sessions to draw')
181185
draw_it_now_override = cols[2].checkbox('Auto show', value=not need_click, disabled=not need_click)
182186
submitted = cols[0].form_submit_button(
183187
"Update settings", type="primary"
184188
)
185189

186190
if not need_click:
187-
return True
191+
return True, df_to_draw_sessions
188192

189193
if draw_it_now_override:
190-
return True
194+
return True, df_to_draw_sessions
191195

192-
draw_it = st.button(f'Show {n_session_to_draw} sessions!', use_container_width=False, type="primary")
193-
return draw_it
196+
draw_it = st.button(f'Show {len(df_to_draw_sessions)} sessions!', use_container_width=False, type="primary")
197+
return draw_it, df_to_draw_sessions
194198

195199

196200
def plot_x_y_session():
@@ -620,13 +624,7 @@ def add_main_tabs():
620624
# Add session_plot_setting
621625
with st.columns([1])[0]:
622626
st.markdown("***")
623-
if_draw_all_sessions = session_plot_settings(df_selected_from_plotly)
624-
625-
df_to_draw_sessions = (
626-
df_selected_from_plotly
627-
if "selected" in st.session_state.get("selected_draw_sessions", "sessions selected from table or plot")
628-
else st.session_state.df_session_filtered
629-
)
627+
if_draw_all_sessions, df_to_draw_sessions = session_plot_settings(df_selected_from_plotly=df_selected_from_plotly, need_click=True)
630628

631629
if if_draw_all_sessions and len(df_to_draw_sessions):
632630
draw_session_plots(df_to_draw_sessions)
@@ -666,13 +664,8 @@ def add_main_tabs():
666664
with placeholder:
667665
cols = st.columns([1])
668666
with cols[0]:
669-
df_to_draw_sessions = (
670-
st.session_state.df_selected_from_dataframe
671-
if "selected" in st.session_state.get("selected_draw_sessions", "sessions selected from table or plot")
672-
else st.session_state.df_session_filtered
673-
)
674-
if_draw_all_sessions = session_plot_settings(
675-
df_to_draw_sessions, need_click=False
667+
if_draw_all_sessions, df_to_draw_sessions = session_plot_settings(
668+
df_selected_from_plotly=None, need_click=False
676669
)
677670

678671
if if_draw_all_sessions and len(df_to_draw_sessions):

0 commit comments

Comments
 (0)