@seafile/seafile-calendar
Version:
React Calendar
86 lines (75 loc) • 2.67 kB
JavaScript
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;