UNPKG

@progress/kendo-react-scheduler

Version:

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

88 lines (87 loc) 4.27 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 { FormProps, FormRenderProps } from '@progress/kendo-react-form'; import { DialogProps } from '@progress/kendo-react-dialogs'; import { DataItem } from '../models/index.js'; import { SchedulerFormEditorProps } from '../editors/SchedulerFormEditor.js'; import { Omit } from '../models/Omit'; import * as React from 'react'; export interface SchedulerFormStateChangeEvent<T> { /** * The SchedulerForm instance that triggered the event. */ target: SchedulerFormHandle; /** * The value associated with the event. */ value: T; /** * The React synthetic event object. */ syntheticEvent: React.SyntheticEvent; } /** * Represents the props of the KendoReact [SchedulerForm](https://www.telerik.com/kendo-react-ui/components/scheduler/api/schedulerform) component. */ export interface SchedulerFormProps extends Omit<FormProps, 'render' | 'onSubmit'> { /** * Specifies the `dataItem` to be visualized inside the form. */ dataItem: DataItem; /** * The Form content that will be rendered. The default rendering includes a `dialog` and `editor`. * * For more information about customizing some parts of the default rendering please refer to the [SchedulerForm Customization](https://www.telerik.com/kendo-react-ui/components/scheduler/customization/form/overview) article. */ render?: (props: FormRenderProps) => any; /** * Fires when you click the `cancel` button. */ onCancel?: (event: SchedulerFormStateChangeEvent<null>) => void; /** * Fires when you click the `close` button. */ onClose?: (event: SchedulerFormStateChangeEvent<null>) => void; /** * Fires when you click the `submit` button. */ onSubmit: (event: SchedulerFormStateChangeEvent<any>) => void; /** * Overrides the component used for visualizing the `editor`. * The [SchedulerFormEditor](https://www.telerik.com/kendo-react-ui/components/scheduler/api/schedulerformeditor) component is used, by default. * * For more information, please refer to the [`Scheduler Form Customization`](https://www.telerik.com/kendo-react-ui/components/scheduler/customization/form/overview) article. */ editor?: React.ComponentType<SchedulerFormEditorProps>; /** * Overrides the component used for visualizing the `dialog`. * The [KendoReact Dialog](https://www.telerik.com/kendo-react-ui/components/dialogs/api/dialog) component is used, by default. * * For more information, please refer to the [`Scheduler Form Customization`](https://www.telerik.com/kendo-react-ui/components/scheduler/customization/form/overview) article. */ dialog?: React.ComponentType<DialogProps>; } /** * Represent the `ref` of the SchedulerForm component. */ export interface SchedulerFormHandle { /** * Represents the properties passed to the current instance of the `SchedulerForm`. */ props: SchedulerFormProps; } /** * Represents the default `form` component rendered by the [SchedulerEditItem](https://www.telerik.com/kendo-react-ui/components/scheduler/api/scheduleredititem) and [SchedulerEditSlot](https://www.telerik.com/kendo-react-ui/components/scheduler/api/schedulereditslot) components. * * Accepts [SchedulerFormProps](https://www.telerik.com/kendo-react-ui/components/scheduler/api/schedulerformprops) properties and provide [SchedulerFormHandle](https://www.telerik.com/kendo-react-ui/components/scheduler/api/schedulerformhandle) `ref` callback. */ export declare const SchedulerForm: React.ForwardRefExoticComponent<SchedulerFormProps & React.RefAttributes<SchedulerFormHandle | null>>; export declare const schedulerFormDefaultProps: { dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<import('@progress/kendo-react-dialogs').DialogHandle | null>>; validator: () => {}; };