UNPKG

@progress/kendo-angular-scheduler

Version:

Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.

104 lines (103 loc) 3.84 kB
/**----------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Observable, Subject } from 'rxjs'; import { SlotDragStartEvent } from '../events/slot-drag-start-event'; import { DateRange, SchedulerView } from '../types'; import { ExtendedSlotRange, slotDragEventName, SlotRange } from '../types/slot-selection'; import * as i0 from "@angular/core"; /** * A service for publishing the view state and actions to the Scheduler. */ export declare class ViewStateService { /** * Represents a stream that publishes the visible date range for the current view to the Scheduler. */ readonly dateRange: Observable<DateRange>; /** * Represents a stream that publishes changes to the selected date, which initiate from the view. */ readonly nextDate: Observable<Date>; /** * Represents a stream for navigating from the current view to another view. */ readonly navigate: Observable<any>; /** * Represents a stream that publishes events for navigation between views. */ readonly viewEvent: Observable<any>; /** * Represents a stream that indicates when the view layout finishes. */ readonly layoutEnd: Observable<any>; /** * Represents a stream that indicates when the view options change. */ readonly optionsChange: Observable<any>; /** * Represents a stream that indicates when the user starts a new slot selection. */ readonly slotSelectionStart: Observable<SlotRange>; /** * Represents a stream that indicates when the user drags over a different slot during selection. */ readonly slotSelectionDrag: Observable<SlotRange>; /** * Represents a stream that indicates when the user finishes making a slot selection. */ readonly slotSelectionEnd: Observable<SlotRange>; /** * @hidden */ toggleWorkHours: Subject<any>; /** * @hidden */ toolbarVisibilityByView: Map<SchedulerView, boolean>; private dateRangeSource; private nextDateSource; private navigateSource; private viewEventSource; private layoutEndSource; private optionsChangeSource; private slotSelectionStartSource; private slotSelectionStartDragSource; private slotSelectionStartEndSource; constructor(); /** * Publishes the date that will be displayed by the Scheduler * typically as a result from processing a navigation action. */ notifyNextDate(date: Date): void; /** * Publishes the visible date range of the view. * The view will calculate and set the new data range when * the selected date changes. */ notifyDateRange(range: DateRange): void; /** * Notifies the Scheduler that the view has completed its layout. */ notifyLayoutEnd(): void; /** * Navigates to another view. */ navigateTo(args: any): void; /** * Notifies the Scheduler that the view options have been changed. */ notifyOptionsChange(changes?: any): void; /** * Emits a DOM event to the Scheduler. */ emitEvent(name: string | slotDragEventName, args?: any): void; /** @hidden */ notifySlotSelectionStart(selection: SlotDragStartEvent): void; /** @hidden */ notifySlotSelectionDrag(selection: ExtendedSlotRange): void; /** @hidden */ notifySlotSelectionEnd(selection: ExtendedSlotRange): void; static ɵfac: i0.ɵɵFactoryDeclaration<ViewStateService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ViewStateService>; }