UNPKG

zent

Version:

一套前端设计语言和基于React的实现

121 lines (97 loc) 3.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _helper = require('../helper'); var _helper2 = _interopRequireDefault(_helper); var _zentCheckbox = require('zent-checkbox'); var _zentCheckbox2 = _interopRequireDefault(_zentCheckbox); var _assign = require('zent-utils/lodash/assign'); var _assign2 = _interopRequireDefault(_assign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var Td = _react2['default'].createClass({ displayName: 'Td', renderText: function renderText(name, data) { return data[name]; }, renderContent: function renderContent() { var _props = this.props, column = _props.column, data = _props.data, pos = _props.pos; var name = column.name, bodyRender = column.bodyRender; if (typeof bodyRender !== 'undefined') { if (typeof bodyRender === 'function') { if (bodyRender.prototype && bodyRender.prototype.isReactComponent) { var BodyRender = bodyRender; return _react2['default'].createElement(BodyRender, { data: data, name: name, pos: pos }); } return typeof bodyRender(data, pos) !== 'undefined' ? bodyRender(data, pos) : ''; } return bodyRender; } return this.renderText(name, data); }, onSelect: function onSelect(e) { var isChecked = e.target.checked; var _props2 = this.props, selection = _props2.selection, data = _props2.data, rowKey = _props2.rowKey; selection.onSelect(data[rowKey], isChecked); }, render: function render() { var _props3 = this.props, column = _props3.column, selection = _props3.selection, data = _props3.data, rowKey = _props3.rowKey; var textAlign = column.textAlign, _column$className = column.className, className = _column$className === undefined ? 'cell' : _column$className; var needSelect = selection.needSelect, canSelect = selection.canSelect; var self = this; var width = _helper2['default'].getCalculatedWidth(column.width); if (needSelect) { className += ' cell--selection'; } if (column.isMoney) { className += ' cell--money'; } var styleObj = {}; if (width) { styleObj = { width: width, flex: '0 1 auto' }; } if (textAlign) { if (['left', 'center', 'right'].indexOf(textAlign)) { styleObj = (0, _assign2['default'])(styleObj, { textAlign: textAlign }); } } return _react2['default'].createElement( 'div', { className: className, style: styleObj }, needSelect && _react2['default'].createElement(_zentCheckbox2['default'], { className: 'select-check', checked: canSelect && selection.selectedRowKeys.indexOf(data[rowKey]) !== -1, disabled: !canSelect, onChange: self.onSelect }), this.renderContent() ); } }); exports['default'] = Td; module.exports = exports['default'];