Improves drag and drop functionality
Refactors drag and drop logic to use the dragged clone consistently, fixing issues with event handling and element manipulation during drag operations. Also includes a fix where the original element is removed after a drag is completed. Adds column bounds cache update after drag operations for improved column detection.
This commit is contained in:
parent
83e01f9cb7
commit
5417a2b6b1
7 changed files with 50 additions and 45 deletions
|
|
@ -210,7 +210,7 @@ export class EventRenderingService {
|
|||
|
||||
// Handle drag end events and delegate to appropriate renderer
|
||||
this.eventBus.on('drag:end', (event: Event) => {
|
||||
const { draggedElement, finalPosition, target } = (event as CustomEvent<DragEndEventPayload>).detail;
|
||||
const { originalElement: draggedElement, finalPosition, target } = (event as CustomEvent<DragEndEventPayload>).detail;
|
||||
const finalColumn = finalPosition.column;
|
||||
const finalY = finalPosition.snappedY;
|
||||
const eventId = draggedElement.dataset.eventId || '';
|
||||
|
|
@ -252,14 +252,14 @@ export class EventRenderingService {
|
|||
}
|
||||
|
||||
if (this.strategy.handleColumnChange) {
|
||||
const eventId = columnChangeEvent.draggedElement.dataset.eventId || '';
|
||||
const eventId = columnChangeEvent.originalElement.dataset.eventId || '';
|
||||
this.strategy.handleColumnChange(columnChangeEvent);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
this.dragMouseLeaveHeaderListener = (event: Event) => {
|
||||
const { targetDate, mousePosition, originalElement, cloneElement } = (event as CustomEvent<DragMouseLeaveHeaderEventPayload>).detail;
|
||||
const { targetDate, mousePosition, originalElement, draggedClone: cloneElement } = (event as CustomEvent<DragMouseLeaveHeaderEventPayload>).detail;
|
||||
|
||||
if (cloneElement)
|
||||
cloneElement.style.display = '';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue