Calendar/wwwroot/js/managers/NavigationButtonsManager.d.ts

41 lines
1.2 KiB
TypeScript
Raw Normal View History

2026-02-03 00:02:25 +01:00
import { IEventBus } from '../types/CalendarTypes';
/**
* NavigationButtonsManager - Manages navigation button UI and state
*
* RESPONSIBILITY:
* ===============
* This manager owns all logic related to the <swp-nav-group> UI element.
* It follows the principle that each functional UI element has its own manager.
*
* RESPONSIBILITIES:
* - Handles button clicks on swp-nav-button elements
* - Validates navigation actions (prev, next, today)
* - Emits NAV_BUTTON_CLICKED events
* - Manages button UI listeners
*
* EVENT FLOW:
* ===========
* User clicks button validateAction() emit event NavigationManager handles navigation
*
* SUBSCRIBERS:
* ============
* - NavigationManager: Performs actual navigation logic (animations, grid updates, week calculations)
*/
export declare class NavigationButtonsManager {
private eventBus;
private buttonListeners;
constructor(eventBus: IEventBus);
/**
* Setup click listeners on all navigation buttons
*/
private setupButtonListeners;
/**
* Handle navigation action
*/
private handleNavigation;
/**
* Validate if string is a valid navigation action
*/
private isValidAction;
}