UNPKG

react-virtualized

Version:

React components for efficiently rendering large, scrollable lists and tabular data

110 lines (78 loc) 4.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _defaultHeaderRenderer = require('./defaultHeaderRenderer'); var _defaultHeaderRenderer2 = _interopRequireDefault(_defaultHeaderRenderer); var _defaultCellRenderer = require('./defaultCellRenderer'); var _defaultCellRenderer2 = _interopRequireDefault(_defaultCellRenderer); var _defaultCellDataGetter = require('./defaultCellDataGetter'); var _defaultCellDataGetter2 = _interopRequireDefault(_defaultCellDataGetter); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!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) { if (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 } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /** * Describes the header and cell contents of a table column. */ var Column = function (_Component) { _inherits(Column, _Component); function Column() { _classCallCheck(this, Column); return _possibleConstructorReturn(this, (Column.__proto__ || Object.getPrototypeOf(Column)).apply(this, arguments)); } return Column; }(_react.Component); Column.defaultProps = { cellDataGetter: _defaultCellDataGetter2.default, cellRenderer: _defaultCellRenderer2.default, flexGrow: 0, flexShrink: 1, headerRenderer: _defaultHeaderRenderer2.default, style: {} }; Column.propTypes = { /** Optional aria-label value to set on the column header */ 'aria-label': _react.PropTypes.string, /** * Callback responsible for returning a cell's data, given its :dataKey * ({ columnData: any, dataKey: string, rowData: any }): any */ cellDataGetter: _react.PropTypes.func, /** * Callback responsible for rendering a cell's contents. * ({ cellData: any, columnData: any, dataKey: string, rowData: any, rowIndex: number }): node */ cellRenderer: _react.PropTypes.func, /** Optional CSS class to apply to cell */ className: _react.PropTypes.string, /** Optional additional data passed to this column's :cellDataGetter */ columnData: _react.PropTypes.object, /** Uniquely identifies the row-data attribute correspnding to this cell */ dataKey: _react.PropTypes.any.isRequired, /** If sort is enabled for the table at large, disable it for this column */ disableSort: _react.PropTypes.bool, /** Flex grow style; defaults to 0 */ flexGrow: _react.PropTypes.number, /** Flex shrink style; defaults to 1 */ flexShrink: _react.PropTypes.number, /** Optional CSS class to apply to this column's header */ headerClassName: _react.PropTypes.string, /** * Optional callback responsible for rendering a column header contents. * ({ columnData: object, dataKey: string, disableSort: boolean, label: string, sortBy: string, sortDirection: string }): PropTypes.node */ headerRenderer: _react.PropTypes.func.isRequired, /** Header label for this column */ label: _react.PropTypes.string, /** Maximum width of column; this property will only be used if :flexGrow is > 0. */ maxWidth: _react.PropTypes.number, /** Minimum width of column. */ minWidth: _react.PropTypes.number, /** Optional inline style to apply to cell */ style: _react.PropTypes.object, /** Flex basis (width) for this column; This value can grow or shrink based on :flexGrow and :flexShrink properties. */ width: _react.PropTypes.number.isRequired }; exports.default = Column;