import gradio as gr from datetime import datetime def search(query, collections): response = f"Results for query: {query} from collections: {', '.join(collections)}" return response def toggle_advanced_options(_): collections.visible = not collections.visible return gr.update(visible=collections.visible) last_updated_date = datetime.now().strftime("%B %d, %Y") app = gr.Blocks() with app: gr.Markdown(f"### FindMyPlot\nFind a plot within experimental high energy physics collider results.\nIndex last updated {last_updated_date}.") query_input = gr.Textbox(label="Search", placeholder="Enter your query here...", lines=2) collections = gr.CheckboxGroup(choices=["ATLAS_Conference_Notes", "ATLAS_Papers", "CMS_Papers", "ATLAS_PUB_Notes", "CMS_Physics_Analysis_Summaries"], label="Select Collections", value=["ATLAS_Conference_Notes", "ATLAS_Papers"], visible=False) # Start hidden advanced_options_button = gr.Button("Advanced Options") search_button = gr.Button("Search") output_chat = gr.Textbox(label="Results", lines=6, interactive=True) advanced_options_button.click(fn=toggle_advanced_options, inputs=None, outputs=None) search_button.click(fn=search, inputs=[query_input, collections], outputs=output_chat) if __name__ == "__main__": app.launch()