UNPKG

@appbuckets/react-ui

Version:
91 lines (84 loc) 2.48 kB
'use strict'; var React = require('react'); var clsx = require('clsx'); var ColumnHeader = require('../atoms/ColumnHeader.js'); var RxTable_context = require('../RxTable.context.js'); var AllRowsSelector = require('../atoms/AllRowsSelector.js'); var DataFilterElement = require('../atoms/DataFilterElement.js'); function _interopDefaultLegacy(e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty( n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; }, } ); } }); } n['default'] = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/ _interopNamespace(React); var clsx__default = /*#__PURE__*/ _interopDefaultLegacy(clsx); /* -------- * Component Definition * -------- */ var FiltersRow = function () { // ---- // Get Context Props // ---- var _a = RxTable_context.useRxTable(), classes = _a.classes, columns = _a.columns, HeaderRowComponent = _a.Components.HeaderRow, isDataSelectable = _a.selection.enabled, styles = _a.styles; // ---- // Build Classes // ---- var rowClasses = clsx__default['default']( classes.FilterRow || classes.HeaderRow, 'filter' ); // ---- // Return Filter Row // ---- return React__namespace.createElement( HeaderRowComponent, { className: rowClasses, style: styles.FilterRow || styles.HeaderRow }, columns.current.map(function (column, index) { return React__namespace.createElement(ColumnHeader, { key: column.key, className: isDataSelectable && index === 0 ? 'selector' : undefined, column: column, isFilterHeader: true, overrideContent: isDataSelectable && index === 0 ? React__namespace.createElement(AllRowsSelector, { key: column.key, }) : React__namespace.createElement(DataFilterElement, { columnKey: column.key, filter: column.filter, }), }); }) ); }; FiltersRow.displayName = 'FiltersRow'; module.exports = FiltersRow;