react-virtualized
Version:
React components for efficiently rendering large, scrollable lists and tabular data
110 lines (78 loc) • 4.17 kB
JavaScript
'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;