Dashboard composer
Drag-and-drop layout on react-grid-layout with compactType={null} — widgets stay where they are on resize (no stacking).
Widget types
- Line — history over time, several series
- Gauge — a single value on a half-circle with min/max
- Sparkline — a mini line + the latest value
- Badge — a number with a label, optional thresholds (warning/critical)
- Table — all series as a list with the latest value
Drag handle
Only the widget header — clicks on the chart legend don't start a drag.