chowa
Version:
UI component library based on React
93 lines (92 loc) • 2.99 kB
TypeScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import * as PropTypes from 'prop-types';
import * as moment from 'moment';
import { Mode } from '../calendar-mode';
import { CEvent } from '../tool';
import { SelectOptionProps } from '../../select';
import MinCalendar from '../min';
export declare type EventType = 'info' | 'primary' | 'danger' | 'success' | 'warning';
export interface Event {
start: moment.Moment;
finish: moment.Moment;
content: string;
category: string;
type: EventType;
[key: string]: any;
}
export interface FullCalendarProps {
className?: string;
style?: React.CSSProperties;
defaultMode?: Mode;
defaultValue?: moment.Moment;
defaultEvents?: Event[];
events?: Event[];
modeSelectable?: boolean;
dateSelectable?: boolean;
editable?: boolean;
appendable?: boolean;
onDelete?: (event: Event) => void;
onEdit?: (event: Event, index: number) => void;
onAppend?: (event: Event) => void;
categories: SelectOptionProps[];
}
export interface FullCalendarState {
activeMode: Mode;
selfValue: moment.Moment;
includeCurrentDay: boolean;
renderEvents: Event[];
contextmenuVisible: boolean;
contextmenuStyle: React.CSSProperties;
contextmenuInfo: {
mom: moment.Moment;
event: CEvent;
};
editModalVisible: boolean;
}
declare class FullCalendar extends React.PureComponent<FullCalendarProps, FullCalendarState> {
static propTypes: {
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
defaultMode: PropTypes.Requireable<Mode>;
defaultValue: PropTypes.Requireable<object>;
defaultEvents: PropTypes.Requireable<any[]>;
events: PropTypes.Requireable<any[]>;
modeSelectable: PropTypes.Requireable<boolean>;
dateSelectable: PropTypes.Requireable<boolean>;
editable: PropTypes.Requireable<boolean>;
appendable: PropTypes.Requireable<boolean>;
};
static defaultProps: {
defaultMode: Mode;
modeSelectable: boolean;
dateSelectable: boolean;
editable: boolean;
appendable: boolean;
};
static Min: typeof MinCalendar;
private wrapperEle;
constructor(props: FullCalendarProps);
componentDidUpdate(preProps: FullCalendarProps, preState: FullCalendarState): void;
private selectCurrentDay;
private prePageHandler;
private nextPageHandler;
private onModeChangeHandler;
private getDisplayDate;
private onContextMenuHandler;
private autoHideContextmenu;
private showEditModal;
private hiddenEditModal;
private deleteEvent;
private appendHandler;
private editHandler;
render(): JSX.Element;
}
export default FullCalendar;