Refactors drag and drop manager for efficiency.
Streamlines drag and drop logic by removing unnecessary state variables and simplifying column change handling, enhancing performance and code maintainability.
This commit is contained in:
parent
0764437642
commit
42e28f46bc
3 changed files with 8 additions and 37 deletions
|
|
@ -113,17 +113,16 @@ export class DateEventRenderer implements EventRendererStrategy {
|
|||
/**
|
||||
* Handle column change during drag
|
||||
*/
|
||||
public handleColumnChange(dragColumnChangeEvent: DragColumnChangeEventPayload): void {
|
||||
if (!this.draggedClone) return;
|
||||
public handleColumnChange(payload: DragColumnChangeEventPayload): void {
|
||||
|
||||
const eventsLayer = dragColumnChangeEvent.newColumn.element.querySelector('swp-events-layer');
|
||||
if (eventsLayer && this.draggedClone.parentElement !== eventsLayer) {
|
||||
eventsLayer.appendChild(this.draggedClone);
|
||||
const eventsLayer = payload.newColumn.element.querySelector('swp-events-layer');
|
||||
if (eventsLayer && payload.draggedClone.parentElement !== eventsLayer) {
|
||||
eventsLayer.appendChild(payload.draggedClone);
|
||||
|
||||
// Recalculate timestamps with new column date
|
||||
const currentTop = parseFloat(this.draggedClone.style.top) || 0;
|
||||
const swpEvent = this.draggedClone as SwpEventElement;
|
||||
const columnDate = this.dateService.parseISO(dragColumnChangeEvent.newColumn.date);
|
||||
const currentTop = parseFloat(payload.draggedClone.style.top) || 0;
|
||||
const swpEvent = payload.draggedClone as SwpEventElement;
|
||||
const columnDate = this.dateService.parseISO(payload.newColumn.date);
|
||||
swpEvent.updatePosition(columnDate, currentTop);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue