Renders a Packery draggable grid layout where each data row provides one grid item, with positions persisted to localStorage.
PACKERY — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Parameters are unused. Each row in data_list contributes one grid item rendered from data_list[i][0] (processed through process_text). Grid item positions are saved and restored from localStorage under the key packery-layout. Returns an HTML string.
Options read from self._Options JSON:
| Key | Effect |
|---|---|
column_width |
Column snap width in pixels (default: 100). |
row_height |
Row snap height in pixels (default: equals column_width). |
element_background |
Background colour of grid items (default: $package_pallete_primary$). |
grid_background |
Background colour of the grid container (default: $package_pallete_secondary$). |
grid_height |
CSS max-height of the grid (default: 100%). |
grid_width |
CSS max-width of the grid (default: 100%). |
Loads Packery 2 and Draggabilly 2 from unpkg CDN. Grid items snap to the nearest column/row boundary on drag end. Dragging is enabled by default; see ObjReportPackeryStill for a non-draggable variant. A typical query uses UNION to combine multiple {report:...} embed tokens, one per grid item.