A draggable, resizable grid layout for Panel applications (Muuri + interact.js).
pip install panel-tilesfrom panel_tiles import TileGrid
...
grid = TileGrid(
objects=[
revenue_ind,
growth_ind,
users_ind,
retention_ind,
pn.pane.Bokeh(line_fig),
pn.pane.Bokeh(bar_fig),
table,
],
layout=[
{"width": 25, "height": 100, "visible": True},
{"width": 25, "height": 100, "visible": True},
{"width": 25, "height": 100, "visible": True},
{"width": 25, "height": 100, "visible": True},
{"width": 50, "height": 300, "visible": True},
{"width": 50, "height": 300, "visible": True},
{"width": 100, "height": 250, "visible": True},
],
sizing_mode="stretch_width",
height=750,
)
pmui.Page(main=[grid], title="panel-tiles").servable()- Drag-and-drop tile reordering
- Resize tiles from the corner handle
- Configurable layout with percentage widths and pixel heights
- Close buttons with hide or remove behavior
- Persist user layouts to localStorage
- Read-only mode for fixed dashboards
- Dynamic add/remove of tiles at runtime
Managed with pixi.
git clone https://github.com/panel-extensions/panel-tiles.git
cd panel-tiles
pixi run postinstall
pixi run compile
pixi run testUI tests:
pixi run -e test-ui test-uiSee LICENSE.
