@@ -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
196200def 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