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
|
|
@ -25,6 +25,8 @@ interface DragState {
|
|||
targetY: number;
|
||||
currentY: number;
|
||||
animationId: number;
|
||||
sourceDateKey: string; // Source column date (where drag started)
|
||||
sourceResourceId?: string; // Source column resource (where drag started)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -144,7 +146,7 @@ export class DragDropManager {
|
|||
// Remove ghost
|
||||
this.dragState.ghostElement.remove();
|
||||
|
||||
// Get column data
|
||||
// Get column data (target = current column, source = where drag started)
|
||||
const dateKey = this.dragState.columnElement.dataset.date || '';
|
||||
const resourceId = this.dragState.columnElement.dataset.resourceId;
|
||||
|
||||
|
|
@ -155,7 +157,9 @@ export class DragDropManager {
|
|||
snappedY,
|
||||
columnElement: this.dragState.columnElement,
|
||||
dateKey,
|
||||
resourceId
|
||||
resourceId,
|
||||
sourceDateKey: this.dragState.sourceDateKey,
|
||||
sourceResourceId: this.dragState.sourceResourceId
|
||||
};
|
||||
|
||||
this.eventBus.emit(CoreEvents.EVENT_DRAG_END, payload);
|
||||
|
|
@ -200,7 +204,9 @@ export class DragDropManager {
|
|||
currentColumn: columnElement,
|
||||
targetY: Math.max(0, targetY),
|
||||
currentY: startY,
|
||||
animationId: 0
|
||||
animationId: 0,
|
||||
sourceDateKey: columnElement.dataset.date || '',
|
||||
sourceResourceId: columnElement.dataset.resourceId
|
||||
};
|
||||
|
||||
// Emit drag:start
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue