Creating a Custom View
End-to-end walkthrough for building a new screen — let's create a Pit Stop Performance dashboard as a CID custom view.
Assumes the local stack is up and you're logged in as the demo user.
1. Open the editor
Click the Admin ribbon tab → Custom Views sub-toolbar
action. You land at /admin/custom-views.
2. Create the view
Click + New custom view and fill in:
| Field | Value |
|---|---|
| Name | Pit Stop Performance |
| Path | /custom/pit-performance |
| Section | event |
| Icon | local_gas_station_outlined |
| View type | cid |
Save. The view appears in the left list. (It also immediately appears in the ribbon's Event sub-toolbar — that's the live router re-registration in action.)
3. Add a Section
In the right pane, click + Add Section. Title: Stop Summary.
4. Add a Block
Inside the new Section, click + Add Block. Title: Last 3 Stops.
5. Add Lines and Cells
Click + Add Line inside the Block, then + Add Cell three times. Configure each cell:
| Cell | Label | Binding |
|---|---|---|
| 1 | Avg fuel | Expression: Avg(Filter(stops, "type=fuel").durationMs) |
| 2 | Avg tyre | Expression: Avg(Filter(stops, "type=tyre").durationMs) |
| 3 | Stop count | Expression: Count(stops) |
Set the Format on each to s.fff (seconds with thousandths)
for the duration cells and 0 for the count.
6. Save
Click Save. The Section/Block/Line/Cell tree is now persisted to the API. (Remember: section / block / line titles commit on Enter, not every keystroke.)
7. Open the live view
Click the path link /custom/pit-performance at the top of the
editor, or use the new entry in the Event ribbon. Your three
cells render, computed live from the math expressions.
8. Iterate
Go back to Admin → Custom Views, edit the cells, save. The live view re-renders within seconds. No restart, no rebuild.
Variations
Try the same with a single-table view:
| Field | Value |
|---|---|
| View type | single-table |
| Source | Lap |
| Columns | lapNumber, lapTimeMs (format m:ss.000), pitStop, custom param BrakeTempAvg |
| Filter | pitStop == true |
| Sort default | lapNumber asc |
| Row accent | pitDurationMs > 30000 (flags long stops red) |
Next steps
- Try a multi-session-table for cross-session comparisons
- Author a Custom Column profile for the Run Sheet Main tab — this is where you'd add team-specific lap columns
- See Custom Views Editor for the full reference