Improves drag and drop functionality
Enhances drag and drop behavior by introducing free positioning during auto-scroll and snapping to grid intervals. - Introduces a `calculateFreePosition` method to allow events to follow the mouse exactly during auto-scroll. - Modifies the drag move event to emit the snapped position during normal drag behavior. - Updates event rendering to use grid settings for snap intervals. - Updates grid styles to configure CSS variables dynamically.
This commit is contained in:
parent
b4d758b6d9
commit
7a1c776bc1
4 changed files with 50 additions and 25 deletions
|
|
@ -8,6 +8,7 @@ import { calendarConfig } from '../core/CalendarConfig';
|
|||
import { CoreEvents } from '../constants/CoreEvents';
|
||||
import { ResourceCalendarData, CalendarView } from '../types/CalendarTypes';
|
||||
import { GridRenderer } from '../renderers/GridRenderer';
|
||||
import { GridStyleManager } from '../renderers/GridStyleManager';
|
||||
import { DateCalculator } from '../utils/DateCalculator';
|
||||
|
||||
/**
|
||||
|
|
@ -19,11 +20,13 @@ export class GridManager {
|
|||
private resourceData: ResourceCalendarData | null = null;
|
||||
private currentView: CalendarView = 'week';
|
||||
private gridRenderer: GridRenderer;
|
||||
private styleManager: GridStyleManager;
|
||||
private eventCleanup: (() => void)[] = [];
|
||||
|
||||
constructor() {
|
||||
// Initialize GridRenderer with config
|
||||
// Initialize GridRenderer and StyleManager with config
|
||||
this.gridRenderer = new GridRenderer();
|
||||
this.styleManager = new GridStyleManager();
|
||||
this.init();
|
||||
}
|
||||
|
||||
|
|
@ -85,6 +88,9 @@ export class GridManager {
|
|||
return;
|
||||
}
|
||||
|
||||
// Update CSS variables first
|
||||
this.styleManager.updateGridStyles(this.resourceData);
|
||||
|
||||
// Delegate to GridRenderer with current view context
|
||||
this.gridRenderer.renderGrid(
|
||||
this.container,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue