import React from 'react'; import XBaseDisplay, { XBaseDisplayProps } from "../base/XBaseDisplay"; export interface XCalendarProps extends XBaseDisplayProps { /** * 字段对象 */ fields?: { idField?: string; eventTypeField?: string; titleField?: string; eventCategoryField?: string; startField?: string; endField?: string; filterStartField?: string; filterEndField?: string; }; calendars?: any[]; /** * 日历组件模型对象 */ template?: object; /** * 格式化方法 */ formatDataFun?: (list: object[]) => object[]; /** * 点击事件 */ onClick?: (event: object) => void; /** * 视图类型 */ view?: 'month' | 'week' | 'day'; /** * 是否显示按钮组 */ showButtons?: boolean; } /** * 显示一个日历,可以设置任务列表 * @name 日历组件 * @groupName 图表 */ export default class XCalendar extends XBaseDisplay { static ComponentName: string; static EventType: { 一般: string; 紧急: string; 非常紧急: string; }; static EventCategory: { time: string; milestone: string; allday: string; }; static defaultProps: { view: string; fields: { idField: string; eventTypeField: string; filterStartField: string; filterEndField: string; }; calendars: { id: string; name: string; bgColor: string; dragColor: string; borderColor: string; }[]; template: { milestone(event: any): string; allday(event: any): string; }; showButtons: boolean; formatDataFun: any; styleType: string; hasBox: boolean; showBorder: any; overflow: string; boxStyle: {}; width: string; height: string; visible: boolean; grid: number[]; gridSpan: number[]; parent: string; pureRender: boolean; dataSourceUrl: string; filterData: {}; mustHasFilter: boolean; }; constructor(props: any); componentDidUpdate(prevProps: any): void; componentDidMount(): void; Refresh(filter?: object, isnew?: boolean): Promise; formatData(data: any): any; SetData(data: any): void; onAfterRenderEvent: (res: any) => void; onBeforeDeleteEvent: (res: any) => void; onClickDayName: (res: any) => void; onClickEvent: (res: any) => void; onClickMoreEventsBtn: (res: any) => void; onClickTimezonesCollapseBtn: (timezoneCollapsed: any) => void; onBeforeUpdateEvent: (updateData: any) => void; onBeforeCreateEvent: (eventData: any) => void; calendar: any; getCalInstance(): any; viewModeOptions: { title: string; id: string; }[]; onClickNavi: (action: any) => void; updateText(): void; txtTime: HTMLElement; render(): React.JSX.Element; }