UNPKG

mk-component

Version:

- 1、npm install mk-component --save

113 lines (84 loc) 3.24 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _autoSizer = require('./autoSizer'); var _autoSizer2 = _interopRequireDefault(_autoSizer); var _grid = require('./grid'); var _grid2 = _interopRequireDefault(_grid); var _omit = require('omit.js'); var _omit2 = _interopRequireDefault(_omit); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _fixedDataTable = require('fixed-data-table-2'); var _cell = require('./cell'); var _cell2 = _interopRequireDefault(_cell); var _textCell = require('./textCell'); var _textCell2 = _interopRequireDefault(_textCell); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function getInternalGrid(props, width, height) { var enableResizeColumn = !!props.enableResizeColumn; var resizeProps = {}, columns = []; if (enableResizeColumn && props.onColumnResizeEndCallback) { resizeProps = { isColumnResizing: false, onColumnResizeEndCallback: props.onColumnResizeEndCallback }; props.columns && props.columns.forEach(function (c, index) { if (index < props.columns.length - 1) { var cw = props.columnWidths && props.columnWidths[c.props.columnKey]; var p = { isResizable: c.props.isResizeable === false ? false : true }; if (cw) { p.width = cw; p.flexGrow = 0; } c = _react2.default.cloneElement(c, p); } columns.push(c); }); } else { columns = props.columns; } return (0, _grid2.default)((0, _extends3.default)({}, (0, _omit2.default)(props, ['className']), { width: width, height: height }, resizeProps, { columns: columns })); } function DataGrid(props) { var className = (0, _classnames2.default)((0, _defineProperty3.default)({ 'data-grid': true, 'mk-datagrid': true }, props.className, !!props.className)); var width = props.isFix ? props.width : 0; var height = props.isFix ? props.height : 0; return _react2.default.createElement( 'div', { className: className, onKeyDown: props.onKeyDown, onKeyUp: props.onKeyUp }, _react2.default.createElement( _autoSizer2.default, null, function (_ref) { var width = _ref.width, height = _ref.height; return getInternalGrid(props, width, height); } ) ); } DataGrid.Cell = _cell2.default; DataGrid.TextCell = _textCell2.default; DataGrid.Column = _fixedDataTable.Column; DataGrid.ColumnGroup = _fixedDataTable.ColumnGroup; exports.default = DataGrid; module.exports = exports['default'];