Adds navigation buttons management and refactors navigation
Introduces NavigationButtonsManager to handle navigation button interactions Renames NavigationRenderer to WeekInfoRenderer for clarity Adds new NAV_BUTTON_CLICKED event for better separation of concerns Improves event-driven navigation workflow
This commit is contained in:
parent
29ba0bfa37
commit
bd8f5ae6c6
5 changed files with 102 additions and 30 deletions
|
|
@ -12,6 +12,7 @@ import { EventRenderingService } from './renderers/EventRendererManager';
|
|||
import { GridManager } from './managers/GridManager';
|
||||
import { ScrollManager } from './managers/ScrollManager';
|
||||
import { NavigationManager } from './managers/NavigationManager';
|
||||
import { NavigationButtonsManager } from './managers/NavigationButtonsManager';
|
||||
import { ViewSelectorManager } from './managers/ViewSelectorManager';
|
||||
import { CalendarManager } from './managers/CalendarManager';
|
||||
import { DragDropManager } from './managers/DragDropManager';
|
||||
|
|
@ -38,7 +39,7 @@ import { DateColumnRenderer, type IColumnRenderer } from './renderers/ColumnRend
|
|||
import { DateEventRenderer, type IEventRenderer } from './renderers/EventRenderer';
|
||||
import { AllDayEventRenderer } from './renderers/AllDayEventRenderer';
|
||||
import { GridRenderer } from './renderers/GridRenderer';
|
||||
import { NavigationRenderer } from './renderers/NavigationRenderer';
|
||||
import { WeekInfoRenderer } from './renderers/WeekInfoRenderer';
|
||||
|
||||
// Import utilities and services
|
||||
import { DateService } from './utils/DateService';
|
||||
|
|
@ -116,7 +117,7 @@ async function initializeCalendar(): Promise<void> {
|
|||
builder.registerType(TimeFormatter).as<TimeFormatter>();
|
||||
builder.registerType(PositionUtils).as<PositionUtils>();
|
||||
// Note: AllDayLayoutEngine is instantiated per-operation with specific dates, not a singleton
|
||||
builder.registerType(NavigationRenderer).as<NavigationRenderer>();
|
||||
builder.registerType(WeekInfoRenderer).as<WeekInfoRenderer>();
|
||||
builder.registerType(AllDayEventRenderer).as<AllDayEventRenderer>();
|
||||
|
||||
builder.registerType(EventRenderingService).as<EventRenderingService>();
|
||||
|
|
@ -124,6 +125,7 @@ async function initializeCalendar(): Promise<void> {
|
|||
builder.registerType(GridManager).as<GridManager>();
|
||||
builder.registerType(ScrollManager).as<ScrollManager>();
|
||||
builder.registerType(NavigationManager).as<NavigationManager>();
|
||||
builder.registerType(NavigationButtonsManager).as<NavigationButtonsManager>();
|
||||
builder.registerType(ViewSelectorManager).as<ViewSelectorManager>();
|
||||
builder.registerType(DragDropManager).as<DragDropManager>();
|
||||
builder.registerType(AllDayManager).as<AllDayManager>();
|
||||
|
|
@ -148,6 +150,7 @@ async function initializeCalendar(): Promise<void> {
|
|||
const dragDropManager = app.resolveType<DragDropManager>();
|
||||
const viewSelectorManager = app.resolveType<ViewSelectorManager>();
|
||||
const navigationManager = app.resolveType<NavigationManager>();
|
||||
const navigationButtonsManager = app.resolveType<NavigationButtonsManager>();
|
||||
const edgeScrollManager = app.resolveType<EdgeScrollManager>();
|
||||
const allDayManager = app.resolveType<AllDayManager>();
|
||||
const urlManager = app.resolveType<URLManager>();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue