Implements advanced event stacking and grid layout
Introduces a 3-phase algorithm in `EventStackManager` for dynamic event positioning. Groups events by start time proximity to determine optimal layout. Optimizes horizontal space by using side-by-side grid columns for simultaneous events and allowing non-overlapping events to share stack levels. Supports nested stacking for late-arriving events within grid columns. Includes comprehensive documentation (`STACKING_CONCEPT.md`) and a visual demonstration (`stacking-visualization.html`) to explain the new layout logic. Updates event rendering to utilize the new manager and adds extensive test coverage.
This commit is contained in:
parent
57bf122675
commit
2f58ceccd4
8 changed files with 4509 additions and 14 deletions
|
|
@ -1962,6 +1962,58 @@
|
|||
"color": "#2196f3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1511",
|
||||
"title": "Eftermiddags Kodning",
|
||||
"start": "2025-10-01T10:30:00Z",
|
||||
"end": "2025-10-01T11:00:00Z",
|
||||
"type": "milestone",
|
||||
"allDay": false,
|
||||
"syncStatus": "synced",
|
||||
"metadata": {
|
||||
"duration": 180,
|
||||
"color": "#2196f3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1512",
|
||||
"title": "Eftermiddags Kodning",
|
||||
"start": "2025-10-01T11:30:00Z",
|
||||
"end": "2025-10-01T12:30:00Z",
|
||||
"type": "milestone",
|
||||
"allDay": false,
|
||||
"syncStatus": "synced",
|
||||
"metadata": {
|
||||
"duration": 180,
|
||||
"color": "#2196f3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1513",
|
||||
"title": "Eftermiddags Kodning",
|
||||
"start": "2025-10-01T12:00:00Z",
|
||||
"end": "2025-10-01T13:00:00Z",
|
||||
"type": "work",
|
||||
"allDay": false,
|
||||
"syncStatus": "synced",
|
||||
"metadata": {
|
||||
"duration": 180,
|
||||
"color": "#2196f3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1514",
|
||||
"title": "Eftermiddags Kodning 2",
|
||||
"start": "2025-10-01T12:00:00Z",
|
||||
"end": "2025-10-01T13:00:00Z",
|
||||
"type": "work",
|
||||
"allDay": false,
|
||||
"syncStatus": "synced",
|
||||
"metadata": {
|
||||
"duration": 180,
|
||||
"color": "#2196f3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "152",
|
||||
"title": "Team Standup",
|
||||
|
|
@ -1991,8 +2043,8 @@
|
|||
{
|
||||
"id": "154",
|
||||
"title": "Bug Fixing Session",
|
||||
"start": "2025-10-02T11:00:00Z",
|
||||
"end": "2025-10-02T13:00:00Z",
|
||||
"start": "2025-10-02T07:00:00Z",
|
||||
"end": "2025-10-02T09:00:00Z",
|
||||
"type": "work",
|
||||
"allDay": false,
|
||||
"syncStatus": "synced",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue