@appbuckets/react-ui
Version:
Just Another React UI Framework
78 lines (72 loc) • 2.02 kB
JavaScript
;
var React = require('react');
var RxTable_context = require('../RxTable.context.js');
var AllRowsSelector = require('../atoms/AllRowsSelector.js');
var ColumnHeader = require('../atoms/ColumnHeader.js');
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);
/* --------
* Component Definition
* -------- */
var HeaderRow = function () {
// ----
// Get Context Props
// ----
var _a = RxTable_context.useRxTable(),
classes = _a.classes,
HeaderRowComponent = _a.Components.HeaderRow,
columns = _a.columns,
isDataSelectable = _a.selection.enabled,
hasFilterRow = _a.layout.hasFilterRow,
styles = _a.styles;
// ----
// Row Render
// ----
return React__namespace.createElement(
HeaderRowComponent,
{ className: classes.HeaderRow, style: styles.HeaderRow },
columns.current.map(function (column, index) {
return React__namespace.createElement(ColumnHeader, {
key: column.key,
className:
isDataSelectable && index === 0 && !hasFilterRow
? 'selector'
: undefined,
column: column,
isFilterHeader: false,
overrideContent:
isDataSelectable && index === 0 && !hasFilterRow
? React__namespace.createElement(AllRowsSelector, {
key: column.key,
})
: undefined,
});
})
);
};
HeaderRow.displayName = 'HeaderRow';
module.exports = HeaderRow;