/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { SchedulerView } from './scheduler-view'; /** * Represents an action that switches the current view to the next period * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar)). * * @example * ```typescript * const action = { * type: 'next' * }; * ``` */ export interface Next { /** @hidden */ type: 'next'; } /** * Represents an action that switches the current view to the previous period * ([more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/navigationaction)). * * @example * ```typescript * const action = { * type: 'prev' * }; * ``` */ export interface Prev { /** @hidden */ type: 'prev'; } /** * Represents an action that switches the current view to today's date * [more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/navigationaction). * * @example * ```typescript * const action = { * type: 'today' * }; * ``` */ export interface Today { /** @hidden */ type: 'today'; } /** * Represents an action that switches the current view to a specific date * ([more information](https://www.telerik.com/kendo-angular-ui/components/scheduler/api/navigationaction)). * * @example * ```typescript * const action = { * type: 'select-date', * date: new Date('2018-10-22') * }; * ``` */ export interface SelectDate { /** @hidden */ type: 'select-date'; /** * Defines the date selected by the Scheduler. */ date: Date; } /** * Represents an action that changes the selected view to a specific instance * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar)). * * @example * ```typescript * const action = { * type: 'view-change', * view: schedulerView * }; * ``` */ export interface ViewChange { /** @hidden */ type: 'view-change'; /** * Defines the next view entry to display. */ view: SchedulerView; } /** * Represents an action that displays the details for a specific date. * * @example * ```typescript * const action = { * type: 'show-date', * view: schedulerView, * date: new Date() * }; * ``` */ export interface ShowDate { /** @hidden */ type: 'show-date'; /** * Defines the view in which the date displays. */ view: SchedulerView; /** * Defines the new selected date. */ date: Date; } /** * Represents an action that scrolls the view to a specific time. */ export interface ScrollTime { /** @hidden */ type: 'scroll-time'; /** * Defines the time to which the view scrolls. */ time: string | Date; } /** * Represents an action that focuses the previous event. */ export interface FocusPrev { /** @hidden */ type: 'focus-prev'; } /** * Represents an action that focuses the next event. */ export interface FocusNext { /** @hidden */ type: 'focus-next'; } /** * Represents an action that toggles the **Show Business Hours** option. */ export interface ToggleBusinessHours { /** @hidden */ type: 'toggle-business-hours'; } /** * Represents an action that focuses the first toolbar tool. */ export interface FocusToolbar { /** @hidden */ type: 'focus-toolbar'; } /** * Represents a discriminated union of supported navigation actions * ([more information and examples](https://www.telerik.com/kendo-angular-ui/components/scheduler/toolbar)). */ export type NavigationAction = Next | Prev | SelectDate | Today | ViewChange | ShowDate | ScrollTime | FocusPrev | FocusNext | ToggleBusinessHours | FocusToolbar;