react-bootstrap-table-next
Version:
Next generation of react-bootstrap-table
65 lines (51 loc) • 2.13 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _utils = require('./utils');
var _utils2 = _interopRequireDefault(_utils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var FiltersCell = function FiltersCell(props) {
var index = props.index,
column = props.column,
onExternalFilter = props.onExternalFilter,
currFilters = props.currFilters,
onFilter = props.onFilter;
var filterRenderer = column.filterRenderer,
filter = column.filter;
var filterElm = void 0;
var cellAttrs = {};
var cellStyle = {};
cellAttrs.style = cellStyle;
if (column.headerAlign) {
cellStyle.textAlign = _utils2.default.isFunction(column.headerAlign) ? column.headerAlign(column, index) : column.headerAlign;
}
if (column.filterRenderer) {
var onCustomFilter = onExternalFilter(column, filter.props.type);
filterElm = filterRenderer(onCustomFilter, column);
} else if (filter) {
filterElm = _react2.default.createElement(filter.Filter, _extends({}, filter.props, {
filterState: currFilters[column.dataField],
onFilter: onFilter,
column: column
}));
}
return _react2.default.createElement('th', cellAttrs, filterElm);
};
FiltersCell.propTypes = {
index: _propTypes2.default.number.isRequired,
column: _propTypes2.default.object.isRequired,
currFilters: _propTypes2.default.object.isRequired,
onFilter: _propTypes2.default.func,
onExternalFilter: _propTypes2.default.func
};
FiltersCell.defaultProps = {
onFilter: function onFilter() {},
onExternalFilter: function onExternalFilter() {}
};
exports.default = FiltersCell;
;