@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
TypeScript
/**-----------------------------------------------------------------------------------------
* 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>;
}