choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
107 lines (106 loc) • 4.81 kB
TypeScript
import { ReactNode } from 'react';
import PropTypes from 'prop-types';
import { Moment } from 'moment';
import ViewComponent, { ViewComponentProps } from '../core/ViewComponent';
import { DatePickerKeyboardEvent, RenderFunction, TimeStep } from './DatePicker';
import { ViewMode } from './enum';
import { FieldType } from '../data-set/enum';
export declare function alwaysValidDate(): boolean;
export interface DateViewProps extends ViewComponentProps {
date: Moment;
min?: Moment;
max?: Moment;
mode: ViewMode;
format: string;
step: TimeStep;
renderer?: RenderFunction;
isValidDate?: (currentDate: Moment, selected: Moment) => boolean;
onSelect?: (selectedDate: Moment, expand?: boolean) => void;
onSelectedDateChange?: (selectedDate: Moment, mode?: ViewMode) => void;
onViewModeChange?: (mode: ViewMode) => void;
renderExtraFooter?: () => ReactNode;
extraFooterPlacement?: 'top' | 'bottom';
disabledNow?: boolean;
}
export default class DaysView<T extends DateViewProps> extends ViewComponent<T> implements DatePickerKeyboardEvent {
static displayName: string;
static propTypes: {
id: PropTypes.Requireable<string>;
size: PropTypes.Requireable<import("../core/enum").Size>;
suffixCls: PropTypes.Requireable<string>;
prefixCls: PropTypes.Requireable<string>;
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
disabled: PropTypes.Requireable<boolean>;
hidden: PropTypes.Requireable<boolean>;
autoFocus: PropTypes.Requireable<boolean>;
accessKey: PropTypes.Requireable<string | boolean>;
dir: PropTypes.Requireable<string>;
contentEditable: PropTypes.Requireable<string | boolean>;
draggable: PropTypes.Requireable<string | boolean>;
style: PropTypes.Requireable<object>;
className: PropTypes.Requireable<string>;
tabIndex: PropTypes.Requireable<number>;
lang: PropTypes.Requireable<string>;
spellCheck: PropTypes.Requireable<boolean>;
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
onDoubleClick: PropTypes.Requireable<(...args: any[]) => any>;
onMouseUp: PropTypes.Requireable<(...args: any[]) => any>;
onMouseDown: PropTypes.Requireable<(...args: any[]) => any>;
onMouseMove: PropTypes.Requireable<(...args: any[]) => any>;
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
onMouseOut: PropTypes.Requireable<(...args: any[]) => any>;
onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
onKeyUp: PropTypes.Requireable<(...args: any[]) => any>;
onKeyPress: PropTypes.Requireable<(...args: any[]) => any>;
date: PropTypes.Requireable<object>;
renderer: PropTypes.Requireable<(...args: any[]) => any>;
isValidDate: PropTypes.Requireable<(...args: any[]) => any>;
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
onSelectedDateChange: PropTypes.Requireable<(...args: any[]) => any>;
onViewModeChange: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
suffixCls: string;
extraFooterPlacement: string;
};
static type: FieldType;
getViewClassName(): string;
render(): JSX.Element;
handlePrevYearClick(): void;
handlePrevMonthClick(): void;
handleMonthSelect(): void;
handleYearSelect(): void;
handleNextYearClick(): void;
handleNextMonthClick(): void;
handleKeyDownHome(e: any): void;
handleKeyDownEnd(e: any): void;
handleKeyDownLeft(e: any): void;
handleKeyDownRight(e: any): void;
handleKeyDownUp(e: any): void;
handleKeyDownDown(e: any): void;
handleKeyDownPageUp(e: any): void;
handleKeyDownPageDown(e: any): void;
handleKeyDownEnter(e: any): void;
handleCellClick(date: Moment): void;
choose(date: Moment): void;
changeSelectedDate(selectedDate: Moment, mode?: ViewMode): void;
changeViewMode(mode: ViewMode): void;
renderHeader(): ReactNode;
renderBody(): JSX.Element;
renderPanel(): JSX.Element;
renderPanelHead(): ReactNode;
get customFooter(): JSX.Element | null;
renderFooter(): ReactNode;
renderCell(props: object): ReactNode;
renderInner(text: any): JSX.Element;
getFirstDay(date: any): any;
renderPanelBody(): ReactNode;
getPanelClass(): string;
getDaysOfWeek(): ReactNode[];
getCloneDate(): Moment;
}