zent
Version:
一套前端设计语言和基于React的实现
120 lines (92 loc) • 3.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _PanelHeader = require('../common/PanelHeader');
var _PanelHeader2 = _interopRequireDefault(_PanelHeader);
var _TimeCell = require('./TimeCell');
var _TimeCell2 = _interopRequireDefault(_TimeCell);
var _utils = require('../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var ROW = 9;
var COL = 7;
var MinutePanel = function (_ref) {
(0, _inherits3['default'])(MinutePanel, _ref);
function MinutePanel() {
(0, _classCallCheck3['default'])(this, MinutePanel);
return (0, _possibleConstructorReturn3['default'])(this, (MinutePanel.__proto__ || Object.getPrototypeOf(MinutePanel)).apply(this, arguments));
}
(0, _createClass3['default'])(MinutePanel, [{
key: 'isSelected',
value: function isSelected(val) {
var selected = this.props.selected;
return selected.getMinutes() === val;
}
}, {
key: 'isCurrent',
value: function isCurrent(val) {
return _utils.CURRENT.getMinutes() === val;
}
}, {
key: 'getMinutes',
value: function getMinutes() {
var cells = [];
var i = 0;
for (var j = 0; j < ROW; j++) {
cells[j] = [];
for (var k = 0; k < COL && i < 60; k++) {
var isDisabled = this.props.isDisabled && this.props.isDisabled(i);
var isSelected = this.isSelected(i);
var isCurrent = this.isCurrent(i);
var className = (0, _classnames2['default'])({
'panel__cell time-panel__cell': true,
'panel__cell--disabled': isDisabled,
'panel__cell--selected': isSelected,
'panel__cell--current': isCurrent
});
cells[j][k] = {
text: (0, _utils.padLeft)(i),
value: i,
isDisabled: isDisabled,
className: className
};
i++;
}
}
return cells;
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
hidePanel = _props.hidePanel,
onSelect = _props.onSelect;
var minutes = this.getMinutes();
var title = '选择分钟';
return _react2['default'].createElement(
'div',
{ className: 'minute-panel' },
_react2['default'].createElement(_PanelHeader2['default'], { title: title, showNext: false, prev: hidePanel }),
_react2['default'].createElement(
'div',
{ className: 'minute-table panel-table' },
_react2['default'].createElement(_TimeCell2['default'], { cells: minutes, onSelect: onSelect })
)
);
}
}]);
return MinutePanel;
}(_react.PureComponent || _react.Component);
exports['default'] = MinutePanel;