import gradio as gr import base64 #import execjs # Define the Mermaid code for the flowchart mm_html="""
    graph LR
    A --- B
    B-->C[fa:fa-ban forbidden]
    B-->D(fa:fa-spinner);
""" mermaid_code = """graph TD; A[Start] --> B[Decision] B -- Yes --> C[Option 1] B -- No --> D[Option 2] C --> E[End] D --> E E[End] --> F[End] """ # Create an ExecJS context js_c=(""" let mermaid = require('mermaid'); mermaid.initialize({startOnLoad:true}); function renderMermaid(mermaidCode) { mermaid.mermaidAPI.render('mermaid', mermaidCode, function(svgCode, bindFunctions) { document.getElementById('diagram').innerHTML = svgCode; }); } """) #def call_chart(mermaidCode): def mm(graph=mermaid_code): out_html=f'''
''' return gr.update(out_html) """ graph LR; A--> B & C & D; B--> A & E; C--> A & E; D--> A & E; E--> B & C & D; """ with gr.Blocks() as app: inp_text=gr.Textbox(value=mermaid_code) btn=gr.Button() out_html=gr.HTML() btn.click(mm,inp_text,out_html) app.load(mm,inp_text,out_html) app.launch()