Renders a responsive MagicGrid masonry layout where each data row embeds a sub-report inside a collapsible panel.
MAGICGRID — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Parameters are unused at the top level but passed through to sub-reports. Each row in data_list must provide: [0] report code, [1] panel title, [2] param1 for the sub-report. Sub-reports are rendered via process_text("{report:code:param}"). Returns an HTML string.
RenderPanel(title, content)Renders a single AdminLTE box panel with a collapse button, title, and content area. Applies palette colours cycling through positions 1–10.
Requires magic-grid.min.js from the local resource path. The MagicGrid instance is configured with animate: true, static: true, gutter: 5, and maxColumns: 3. Palette colours are applied via get_palette().