all files / src/fullWeek/ WeekTHead.jsx

84.93% Statements 62/73
57.5% Branches 23/40
90.91% Functions 10/11
100% Lines 51/51
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112                            160×                   10×   10× 10× 10× 10× 10× 10×   10× 80× 10×   70× 70× 60×   10×   70× 70× 70×     10×     10×   10× 10× 10× 80×   80× 80×                             10×                          
'use strict';
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
 
var _react = require('react');
 
var _react2 = _interopRequireDefault(_react);
 
var _moment = require('moment');
 
var _moment2 = _interopRequireDefault(_moment);
 
var _classnames2 = require('classnames');
 
var _classnames3 = _interopRequireDefault(_classnames2);
 
var _util = require('rc-calendar/lib/util/');
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
 
function _defineProperty(obj, key, value) { Iif (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
function _possibleConstructorReturn(self, call) { Iif (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { Iif (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
 
var DATE_COL_COUNT = 8;
 
var DateTHead = function (_React$Component) {
  _inherits(DateTHead, _React$Component);
 
  function DateTHead() {
    _classCallCheck(this, DateTHead);
 
    return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
  }
 
  DateTHead.prototype.getRenderData = function getRenderData() {
    var value = this.props.value;
 
    var now = (0, _moment2['default'])();
    var current = value || now;
    var cloneValue = current.clone();
    var localeData = current.localeData();
    var currentDay = (0, _moment2['default'])(value).format('E');
    var weekDays = [];
 
    for (var i = 0; i < DATE_COL_COUNT; i++) {
      if (i === 0) {
        weekDays[i] = { label: '', value: '' };
      } else {
        var diff = currentDay - i;
        if (diff < 0) {
          current = (0, _moment2['default'])(cloneValue).add(Math.abs(diff), 'd');
        } else {
          current = (0, _moment2['default'])(cloneValue).subtract(diff, 'd');
        }
        weekDays[i] = {};
        weekDays[i].label = localeData.weekdaysShort(current);
        weekDays[i].value = current;
      }
    }
    return weekDays;
  };
 
  DateTHead.prototype.render = function render() {
    var prefixCls = this.props.prefixCls;
 
    var now = (0, _moment2['default'])();
    var weekDays = this.getRenderData();
    var weekDaysEls = weekDays.map(function (day) {
      var _classnames;
 
      var cls = (0, _classnames3['default'])((_classnames = {}, _defineProperty(_classnames, prefixCls + '-column-header', true), _defineProperty(_classnames, prefixCls + '-today', day.value && (0, _moment2['default'])(day.value).isSame(now, 'day')), _classnames));
      return _react2['default'].createElement(
        'th',
        { key: day.value, role: 'columnheader', title: day, className: cls },
        _react2['default'].createElement(
          'span',
          { className: (0, _classnames3['default'])(prefixCls + '-column-header-inner') },
          _react2['default'].createElement(
            'span',
            { className: 'header-date' },
            day.value && day.value.date()
          ),
          day.label
        )
      );
    });
    return _react2['default'].createElement(
      'thead',
      null,
      _react2['default'].createElement(
        'tr',
        { role: 'row' },
        weekDaysEls
      )
    );
  };
 
  return DateTHead;
}(_react2['default'].Component);
 
exports['default'] = DateTHead;
module.exports = exports['default'];