UNPKG

@progress/kendo-react-scheduler

Version:

React Scheduler brings the functionality of Outlook's Calendar to a single UI component. KendoReact Scheduler package

178 lines (177 loc) 6.67 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { SchedulerModelFields, DataItem, SchedulerGroup, Item, Slot, Occurrence } from '../models/index.js'; import { ZonedDate } from '@progress/kendo-date-math'; import { SchedulerResource } from '../models/SchedulerResource'; import { SchedulerSlotHandle } from '../slots/SchedulerSlot.js'; import { SchedulerItemHandle } from '../items/SchedulerItem.js'; import { IntlService } from '@progress/kendo-react-intl'; import { Fields } from '../models/Fields'; import * as React from 'react'; /** @hidden */ export declare const first: <T>(arr: T[]) => T; /** @hidden */ export declare const last: <T>(arr: T[]) => T; /** @hidden */ export declare const isMultiDay: (item: DataItem) => boolean; /** @hidden */ export declare const isGroupped: (resources: any) => boolean; /** * @hidden */ export declare function formatEventTime(intl: IntlService, start: Date, end: Date, isAllDay: boolean, allDayText?: string): string; /** * @hidden * TODO Move to date-math */ export declare const addUTCDays: (date: Date, offset: number) => Date; /** @hidden */ export declare function dateWithTime(target: Date, time: Date): Date; /** * @hidden */ export declare const getToday: () => Date; /** @hidden */ export declare const slotDive: (x: number, y: number, maxDepth: number, level?: number) => HTMLElement | null; /** * @hidden */ export declare const getField: (obj: any, field: any) => any; /** * @hidden */ export declare const setField: (obj: any, field: string | undefined, value: any) => any; /** * @hidden */ export declare function assignField(target: any, source: any, field: string): any; /** * @hidden */ export declare function assignFields(target: any, source: any, ...fields: string[]): any; /** * @hidden */ export declare const isPresent: (value: any) => boolean; /** * @hidden */ export declare const isRecurringMaster: (event: Item) => boolean | "" | null; /** @hidden */ export declare function toUTCDate(localDate: Date): Date; /** @hidden */ export declare function getUTCDate(utcDate: Date): Date; /** @hidden */ export declare function toUTCDateTime(localDate: Date): Date; /** @hidden */ export declare function toInvariantTime(date: Date): Date; /** @hidden */ export declare function isRecurringException(event: Item): boolean; /** * @hidden */ export declare const isRecurring: (event: DataItem, fields: SchedulerModelFields) => boolean; /** * @hidden */ export declare const groupResources: (group: SchedulerGroup | undefined, resources: any[]) => any[]; /** * @hidden */ export declare const findMaster: (event: DataItem, fields: SchedulerModelFields, data: DataItem[]) => DataItem | undefined; /** * @hidden */ export declare const isMaster: (event: Occurrence, fields: SchedulerModelFields) => boolean; /** * @hidden */ export declare const buildException: (event: DataItem, fields: SchedulerModelFields, data: DataItem[]) => DataItem; /** * @hidden */ export declare const isException: (event: DataItem, fields: SchedulerModelFields) => boolean; /** @hidden */ export declare const intersects: (startTime: Date, endTime: Date, periodStart: Date, periodEnd: Date, inclusive?: boolean) => boolean; /** @hidden */ export declare const roundAllDayEnd: ({ start, end }: any) => ZonedDate; /** * @hidden */ export declare const defaultModelFields: { id: string; start: string; startTimezone: string; originalStart: string; end: string; endTimezone: string; isAllDay: string; title: string; description: string; recurrenceRule: string; recurrenceId: string; recurrenceExceptions: string; }; /** @hidden */ export declare const getModelFields: (modelFields: any) => { fields: Fields; }; /** @hidden */ export declare const isInTimeRange: (date: Date, min: Date, max: Date) => boolean; /** @hidden */ export declare const isInDaysRange: (date: number, min: number, max: number) => boolean; /** @hidden */ export declare const toSchedulerGroups: (group?: SchedulerGroup, resources?: any[]) => any[]; /** @hidden */ export declare const toSchedulerResources: (resources?: SchedulerResource[]) => SchedulerResource[]; /** @hidden */ export declare const generateResourceFields: (groups: any[], defaultFields: any) => Object; /** * @hidden * * TODO: Move to @progress/kendo-common */ export declare const isBlank: (value: any) => boolean; /** * @hidden * * TODO: Move to @progress/kendo-common */ export declare const isNullOrEmptyString: (value?: string) => boolean; /** * @hidden */ export declare const setTime: (origin: Date, candidate: Date) => Date; /** @hidden */ export declare const extractGroups: (dataItem: DataItem, fields: SchedulerModelFields, group: SchedulerGroup, resources: SchedulerResource[]) => any; /** @hidden */ export declare const extractResourceFields: (dataItem: DataItem, fields: SchedulerModelFields, resources?: SchedulerResource[]) => Object; /** @hidden */ export declare const extractResources: (dataItem: DataItem, fields: SchedulerModelFields, resources?: SchedulerResource[]) => any[]; /** @hidden */ export declare const shallowCompare: (x: any, y: any) => boolean; /** @hidden */ export declare const findMissing: (orderNumbers: number[]) => number; /** @hidden */ export declare const calculateOrder: (current: SchedulerItemHandle, items: SchedulerItemHandle[], slots: React.RefObject<SchedulerSlotHandle | null>[], ignoreIsAllDay?: boolean) => any; /** @hidden */ export declare const calculateProportionalOrder: (current: SchedulerItemHandle, siblings: SchedulerItemHandle[]) => number; /** @hidden */ export declare const mapSlotsToItems: (items: Item[], slots: Slot[], ignoreIsAllDay?: boolean) => void; /** @hidden */ export declare const mapItemsToSlots: (items: Item[], slots: Slot[], ignoreIsAllDay?: boolean) => void; /** @hidden */ export declare const noop: (..._args: any) => void; /** @hidden */ export declare const findFirstItem: (current: SchedulerSlotHandle) => SchedulerItemHandle | null; /** @hidden */ export declare const findNextItem: (ref: React.RefObject<SchedulerItemHandle | null>, all: React.RefObject<SchedulerItemHandle | null>[], ignoreIsAllDay?: boolean | undefined, backwards?: boolean) => React.RefObject<SchedulerItemHandle | null> | null; /** * @hidden */ export declare const orderSort: (a: Item, b: Item) => number;