Refactors view management in calendar component

Introduces ViewSelectorManager to handle view state and UI interactions

Separates view logic from configuration management
Adds explicit tracking of current calendar view
Enhances view selection and state management

Improves modularity and separation of concerns
This commit is contained in:
Janus C. H. Knudsen 2025-11-07 23:07:00 +01:00
parent c1e0da056c
commit 29ba0bfa37
6 changed files with 162 additions and 123 deletions

View file

@ -12,7 +12,7 @@ import { EventRenderingService } from './renderers/EventRendererManager';
import { GridManager } from './managers/GridManager';
import { ScrollManager } from './managers/ScrollManager';
import { NavigationManager } from './managers/NavigationManager';
import { ViewManager } from './managers/ViewManager';
import { ViewSelectorManager } from './managers/ViewSelectorManager';
import { CalendarManager } from './managers/CalendarManager';
import { DragDropManager } from './managers/DragDropManager';
import { AllDayManager } from './managers/AllDayManager';
@ -124,7 +124,7 @@ async function initializeCalendar(): Promise<void> {
builder.registerType(GridManager).as<GridManager>();
builder.registerType(ScrollManager).as<ScrollManager>();
builder.registerType(NavigationManager).as<NavigationManager>();
builder.registerType(ViewManager).as<ViewManager>();
builder.registerType(ViewSelectorManager).as<ViewSelectorManager>();
builder.registerType(DragDropManager).as<DragDropManager>();
builder.registerType(AllDayManager).as<AllDayManager>();
builder.registerType(ResizeHandleManager).as<ResizeHandleManager>();
@ -146,7 +146,7 @@ async function initializeCalendar(): Promise<void> {
const resizeHandleManager = app.resolveType<ResizeHandleManager>();
const headerManager = app.resolveType<HeaderManager>();
const dragDropManager = app.resolveType<DragDropManager>();
const viewManager = app.resolveType<ViewManager>();
const viewSelectorManager = app.resolveType<ViewSelectorManager>();
const navigationManager = app.resolveType<NavigationManager>();
const edgeScrollManager = app.resolveType<EdgeScrollManager>();
const allDayManager = app.resolveType<AllDayManager>();