Enhances event layout engine with advanced rendering logic
Introduces sophisticated event layout algorithm for handling complex scheduling scenarios Adds support for: - Grid and stacked event rendering - Automatic column allocation - Nested event stacking - Threshold-based event grouping Improves visual representation of overlapping and concurrent events
This commit is contained in:
parent
4e22fbc948
commit
70172e8f10
26 changed files with 2108 additions and 44 deletions
|
|
@ -1,16 +1,222 @@
|
|||
[
|
||||
{
|
||||
"id": "RES-DEC08-001",
|
||||
"title": "Balayage",
|
||||
"description": "Test event for V2 rendering",
|
||||
"start": "2025-12-08T09:00:00Z",
|
||||
"end": "2025-12-08T11:00:00Z",
|
||||
"id": "EVT-DEC08-001",
|
||||
"title": "Balayage langt hår",
|
||||
"description": "Fuld balayage behandling",
|
||||
"start": "2025-12-08T10:00:00",
|
||||
"end": "2025-12-08T11:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-DEC08-001",
|
||||
"bookingId": "BOOK-001",
|
||||
"resourceId": "EMP001",
|
||||
"customerId": "CUST001",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 120, "color": "purple" }
|
||||
"metadata": { "duration": 60, "color": "purple" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC08-002",
|
||||
"title": "Klipning og styling",
|
||||
"description": "Dameklipning med føn",
|
||||
"start": "2025-12-08T14:00:00",
|
||||
"end": "2025-12-08T15:30:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-002",
|
||||
"resourceId": "EMP001",
|
||||
"customerId": "CUST002",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 90, "color": "pink" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC08-003",
|
||||
"title": "Permanent",
|
||||
"description": "Permanent med curler",
|
||||
"start": "2025-12-08T09:00:00",
|
||||
"end": "2025-12-08T11:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-003",
|
||||
"resourceId": "EMP002",
|
||||
"customerId": "CUST003",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 120, "color": "indigo" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC08-004",
|
||||
"title": "Farve behandling",
|
||||
"description": "Farve og pleje",
|
||||
"start": "2025-12-08T13:00:00",
|
||||
"end": "2025-12-08T15:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-004",
|
||||
"resourceId": "EMP002",
|
||||
"customerId": "CUST004",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 120, "color": "orange" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC09-001",
|
||||
"title": "Herreklipning",
|
||||
"description": "Klassisk herreklip",
|
||||
"start": "2025-12-09T11:00:00",
|
||||
"end": "2025-12-09T11:30:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-005",
|
||||
"resourceId": "EMP003",
|
||||
"customerId": "CUST005",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 30, "color": "teal" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC09-002",
|
||||
"title": "Skæg trimning",
|
||||
"description": "Skæg trim og styling",
|
||||
"start": "2025-12-09T16:00:00",
|
||||
"end": "2025-12-09T16:30:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-006",
|
||||
"resourceId": "EMP003",
|
||||
"customerId": "CUST006",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 30, "color": "cyan" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC09-003",
|
||||
"title": "Bryllupsfrisure",
|
||||
"description": "Bryllupsfrisure med prøve",
|
||||
"start": "2025-12-09T08:00:00",
|
||||
"end": "2025-12-09T10:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-007",
|
||||
"resourceId": "EMP004",
|
||||
"customerId": "CUST007",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 120, "color": "green" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC10-001",
|
||||
"title": "Highlights",
|
||||
"description": "Highlights med folie",
|
||||
"start": "2025-12-10T12:00:00",
|
||||
"end": "2025-12-10T14:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-008",
|
||||
"resourceId": "EMP005",
|
||||
"customerId": "CUST008",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 120, "color": "lime" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC10-002",
|
||||
"title": "Styling konsultation",
|
||||
"description": "Rådgivning om ny stil",
|
||||
"start": "2025-12-10T15:00:00",
|
||||
"end": "2025-12-10T15:30:00",
|
||||
"type": "meeting",
|
||||
"allDay": false,
|
||||
"resourceId": "EMP005",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 30, "color": "amber" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC10-003",
|
||||
"title": "Olaplex behandling",
|
||||
"description": "Fuld Olaplex kur",
|
||||
"start": "2025-12-10T09:00:00",
|
||||
"end": "2025-12-10T10:30:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-009",
|
||||
"resourceId": "EMP001",
|
||||
"customerId": "CUST009",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 90, "color": "blue" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC11-001",
|
||||
"title": "Extensions",
|
||||
"description": "Hair extensions påsætning",
|
||||
"start": "2025-12-11T09:00:00",
|
||||
"end": "2025-12-11T12:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-010",
|
||||
"resourceId": "EMP002",
|
||||
"customerId": "CUST010",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 180, "color": "deep-purple" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC11-002",
|
||||
"title": "Børneklip",
|
||||
"description": "Klipning af barn",
|
||||
"start": "2025-12-11T14:00:00",
|
||||
"end": "2025-12-11T14:30:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-011",
|
||||
"resourceId": "EMP003",
|
||||
"customerId": "CUST011",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 30, "color": "light-blue" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC11-003",
|
||||
"title": "Frisør møde",
|
||||
"description": "Team møde",
|
||||
"start": "2025-12-11T08:00:00",
|
||||
"end": "2025-12-11T08:30:00",
|
||||
"type": "meeting",
|
||||
"allDay": false,
|
||||
"resourceId": "EMP001",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 30, "color": "red" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC12-001",
|
||||
"title": "Keratin behandling",
|
||||
"description": "Brasiliansk keratin",
|
||||
"start": "2025-12-12T10:00:00",
|
||||
"end": "2025-12-12T13:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-012",
|
||||
"resourceId": "EMP004",
|
||||
"customerId": "CUST012",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 180, "color": "violet" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC12-002",
|
||||
"title": "Vask og føn",
|
||||
"description": "Express service",
|
||||
"start": "2025-12-12T15:00:00",
|
||||
"end": "2025-12-12T15:45:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-013",
|
||||
"resourceId": "EMP005",
|
||||
"customerId": "CUST013",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 45, "color": "light-green" }
|
||||
},
|
||||
{
|
||||
"id": "EVT-DEC12-003",
|
||||
"title": "Farvekorrektion",
|
||||
"description": "Korrektion af tidligere farve",
|
||||
"start": "2025-12-12T09:00:00",
|
||||
"end": "2025-12-12T12:00:00",
|
||||
"type": "customer",
|
||||
"allDay": false,
|
||||
"bookingId": "BOOK-014",
|
||||
"resourceId": "EMP001",
|
||||
"customerId": "CUST014",
|
||||
"syncStatus": "synced",
|
||||
"metadata": { "duration": 180, "color": "magenta" }
|
||||
}
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue