UNPKG

@seafile/seafile-calendar

Version:
86 lines (75 loc) 2.67 kB
import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; import React from 'react'; import DateConstants from './DateConstants'; var DAY_NAME_TO_INDEX = DateConstants.DAY_NAME_TO_INDEX, DATE_ROW_COLUMN_COUNT = DateConstants.DATE_ROW_COLUMN_COUNT; var DateTHead = function (_React$Component) { _inherits(DateTHead, _React$Component); function DateTHead() { _classCallCheck(this, DateTHead); return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); } DateTHead.prototype.render = function render() { var props = this.props; var value = props.value; var localeData = value.localeData(); var prefixCls = props.prefixCls; var veryShortWeekdays = []; var weekDays = []; var allWeekdaysMin = localeData.weekdaysMin(); var allWeekdaysShort = localeData.weekdaysShort(); var firstDayName = typeof props.firstDayOfWeek === 'string' ? props.firstDayOfWeek[0].toUpperCase() + props.firstDayOfWeek.slice(1) : 'Sunday'; var firstDay = DAY_NAME_TO_INDEX[firstDayName] ? DAY_NAME_TO_INDEX[firstDayName] : 0; var showWeekNumberEl = void 0; var dateColumnCount = DATE_ROW_COLUMN_COUNT.DATE_COL_COUNT; for (var dateColIndex = 0; dateColIndex < dateColumnCount; dateColIndex++) { var index = (firstDay + dateColIndex) % dateColumnCount; veryShortWeekdays[dateColIndex] = allWeekdaysMin[index]; weekDays[dateColIndex] = allWeekdaysShort[index]; } if (props.showWeekNumber) { showWeekNumberEl = React.createElement( 'th', { role: 'columnheader', className: prefixCls + '-column-header ' + prefixCls + '-week-number-header' }, React.createElement( 'span', { className: prefixCls + '-column-header-inner' }, 'x' ) ); } var weekDaysEls = weekDays.map(function (day, xindex) { return React.createElement( 'th', { key: xindex, role: 'columnheader', title: day, className: prefixCls + '-column-header' }, React.createElement( 'span', { className: prefixCls + '-column-header-inner' }, veryShortWeekdays[xindex] ) ); }); return React.createElement( 'thead', null, React.createElement( 'tr', { role: 'row' }, showWeekNumberEl, weekDaysEls ) ); }; return DateTHead; }(React.Component); export default DateTHead;