Renders an ApexCharts heatmap chart, grouping SQL result rows into named series by an x/y/series structure.
APEXHEATMAP — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Inherited from ObjReportApexBase. Param1, Param2, and Param3 are substituted into the report's SQL query as $param1$, $param2$, and $param3$ tokens. Returns an HTML string containing the chart container and initialisation script.
RpcGetseries(data)Overrides the base implementation. Executes the configured SQL query (with token substitution) and returns sql_get_series() results. The browser-side callback groups rows by their series field and builds the ApexCharts seriesArray of { name, data: [{x, y}] } objects.
GetTemplate()Overrides the base template to omit forceNiceScale on the Y axis and to include heatmap-specific JavaScript that groups flat row data into per-series arrays before calling chart.updateSeries().
Uses the ApexCharts JS library (apexcharts.js) and axion.rpc.js. The SQL query must return rows with at least three columns representing series, x, and y values. Polling behaviour and visibility-guard logic are identical to ObjReportApexBase.