@@ -235,6 +235,8 @@ def on_submit_click(company_name, privacy_policy_url, kind):
235235 gr .Markdown ("#### Company Privacy Policy List" )
236236 # Lazy load: summary placeholder (populated on .load())
237237 status_md = gr .Markdown ("" )
238+ # Selected provider shared state (defined early so top-level buttons can access it)
239+ selected_provider = gr .State ("" )
238240 # Show only relevant columns, including Status
239241 display_cols = [
240242 "Status" ,
@@ -371,7 +373,9 @@ def _build_policies_df(provider_filter: str | None = None):
371373 )
372374
373375 # Policies UI will be added after company_info & png_image definitions
374- add_provider_btn = gr .Button ("Add Provider" )
376+ with gr .Row ():
377+ new_provider_btn = gr .Button ("New Provider" )
378+ refresh_all_btn = gr .Button ("Refresh" )
375379 with gr .Group (visible = False , elem_id = "add-provider-modal" ) as add_provider_modal :
376380 with gr .Column (elem_classes = "modal-card" ):
377381 gr .Markdown ("### Add Provider" )
@@ -402,7 +406,7 @@ def _save_new_provider(name: str, industry: str):
402406 "" ,
403407 )
404408
405- add_provider_btn .click (
409+ new_provider_btn .click (
406410 _show_add_provider_modal , inputs = [], outputs = [add_provider_modal ]
407411 )
408412 cancel_new_provider .click (
@@ -426,8 +430,7 @@ def _save_new_provider(name: str, industry: str):
426430 with gr .Column (scale = 1 ):
427431 png_image = gr .Image (label = "Knowledge Graph" , visible = True )
428432 with gr .Column (scale = 1 ):
429- # Policies (documents) sidebar next to image
430- selected_provider = gr .State ("" )
433+ # Policies (documents) sidebar next to image (selected_provider state created earlier)
431434 with gr .Accordion ("Provider Policies" , open = False ) as policies_accordion :
432435 with gr .Row ():
433436 policies_df = gr .Dataframe (
@@ -732,6 +735,10 @@ def _refresh_all(curr_provider):
732735 refresh_policies .click (
733736 _refresh_all , inputs = [selected_provider ], outputs = [company_df , policies_df ]
734737 )
738+ # Global top-level refresh to attempt generation for all providers
739+ refresh_all_btn .click (
740+ _refresh_all , inputs = [selected_provider ], outputs = [company_df , policies_df ]
741+ )
735742
736743 def on_policy_select (_df : pd .DataFrame , selection : gr .SelectData ):
737744 """Policy selection handler using SelectData.index (Gradio 3.48.0).
0 commit comments