Renders one or more Mermaid diagrams from query data, with drag-to-pan and scroll-to-zoom controls, and optional live RPC refresh.
MERMAID — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Params are unused. Each row in self.data_list produces one diagram. Columns 2 and 3 of each row supply optional pre-HTML and post-HTML content rendered via process_text. When self._Options JSON contains a "refresh" key (milliseconds), the diagram is re-fetched via RPC at that interval and re-rendered with mermaid.run(). Returns an HTML fragment.
RpcGetdata(data={})Re-executes the report's query and returns the current Mermaid graph text for live refresh.
Options read from self._Options JSON:
| Key | Effect |
|---|---|
refresh |
Polling interval in ms; enables live RPC refresh when set |
Loads mermaid.min.js and axion.rpc.js as local resources. Each diagram container supports mouse drag (pan) and scroll wheel (zoom) interactions via injected JavaScript. Mermaid is initialised with startOnLoad: true and flowchart zoom/drag enabled.