import React, {PropTypes, Component} from 'react'; import CalendarLocale from 'rc-calendar/lib/locale/zh_CN'; import FullCalendar from 'rc-calendar/lib/FullCalendar'; import Notes from './Notes'; import NoteList from './NoteList'; import {PREFIX_CLS} from './Constants'; function noop () { return null; } function zerofixed (v) { if (v < 10) return '0' + v; return v + ''; } const MonthCellNoteNum = ({num, prefixCls}) => { return (
{num}
待办事项数
); }; class NoticeCalendar extends Component { monthCellRender(value, locale) { const prefixCls = this.props.prefixCls; const month = value.getMonth(); const noteNum = this.props.getMonthData(value); if (noteNum > 0) { return ( {locale.format.shortMonths[month]} ); } return ( {locale.format.shortMonths[month]} ); } fullscreenDateCellRender(value) { const prefixCls = this.props.prefixCls; let listData = this.props.getDateData(value); return ( { zerofixed(value.getDayOfMonth()) } ); } dateCellRender(value) { const prefixCls = this.props.prefixCls; const el = ({ zerofixed(value.getDayOfMonth()) }); const listData = this.props.getDateData(value); return (
{ el } { (listData && listData.length > 0) ? : null }
); } render() { const props = this.props; const {fullscreen, monthCellRender, dateCellRender, fullscreenDateCellRender} = props; const _monthCellRender = monthCellRender ? monthCellRender : this.monthCellRender; const _dateCellRender = dateCellRender ? dateCellRender : this.dateCellRender; const _fullscreenDateCellRender = fullscreenDateCellRender ? fullscreenDateCellRender : this.fullscreenDateCellRender; return (); } } NoticeCalendar.propTypes = { monthCellRender: PropTypes.func, dateCellRender: PropTypes.func, fullDateCellRender: PropTypes.func, getMonthData: PropTypes.func, getDateData: PropTypes.func, fullscreen: PropTypes.bool, locale: PropTypes.object, prefixCls: PropTypes.string, }; NoticeCalendar.defaultProps = { locale: CalendarLocale, getMonthData: noop, getDateData: noop, fullscreen: false, prefixCls: PREFIX_CLS, }; export default NoticeCalendar;