UNPKG

react-bootstrap-table-next

Version:
96 lines (74 loc) 2.63 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _filtersCell = require('./filters-cell'); var _filtersCell2 = _interopRequireDefault(_filtersCell); var _const = require('./const'); var _const2 = _interopRequireDefault(_const); var _rowTemplate = require('./row/row-template'); var _rowTemplate2 = _interopRequireDefault(_rowTemplate); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Filters = function Filters(props) { var columns = props.columns, onFilter = props.onFilter, currFilters = props.currFilters, filterPosition = props.filterPosition, onExternalFilter = props.onExternalFilter, className = props.className, selectRow = props.selectRow, expandRow = props.expandRow; function renderContent() { var filterColumns = []; var showFiltersRow = false; columns.forEach(function (column, i) { filterColumns.push(_react2.default.createElement(_filtersCell2.default, { index: i, key: column.dataField, column: column, currFilters: currFilters, onExternalFilter: onExternalFilter, onFilter: onFilter })); if (column.filterRenderer || column.filter) { if (!showFiltersRow) { showFiltersRow = true; } } }); return filterColumns; } return _react2.default.createElement( 'tbody', { className: className, style: { display: filterPosition === _const2.default.FILTERS_POSITION_TOP ? 'table-header-group' : 'table-footer-group' } }, _react2.default.createElement(_rowTemplate2.default, { renderContent: renderContent, selectRow: selectRow, expandRow: expandRow, cellEl: 'td' }) ); }; /* eslint react/require-default-props: 0 */ Filters.propTypes = { columns: _propTypes2.default.array.isRequired, onFilter: _propTypes2.default.func, filterPosition: _propTypes2.default.oneOf([_const2.default.FILTERS_POSITION_TOP, _const2.default.FILTERS_POSITION_INLINE, _const2.default.FILTERS_POSITION_BOTTOM]), currFilters: _propTypes2.default.object, onExternalFilter: _propTypes2.default.func, className: _propTypes2.default.string, selectRow: _propTypes2.default.object, expandRow: _propTypes2.default.object }; Filters.defaultProps = { position: _const2.default.FILTERS_POSITION_TOP }; exports.default = Filters;