es-grid-template
Version:
es-grid-template
94 lines (92 loc) • 3.31 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _sortable = require("@dnd-kit/sortable");
var _react = _interopRequireDefault(require("react"));
var _useContext = require("../useContext");
var _TableHeadCell = _interopRequireDefault(require("./TableHeadCell"));
// import type { Person } from "../../tanstack-table/makeData"
const TableHeadRow = ({
table,
columnVirtualizer,
rowHeaderVirtualizer,
headerGroup,
virtualPaddingLeft,
virtualPaddingRight,
fixedLeftColumns,
fixedRightColumns,
rowHeaderVirtual
}) => {
const {
prefix
} = _react.default.useContext(_useContext.TableContext);
const virtualColumns = columnVirtualizer.getVirtualItems();
const columnOrder = table.getState().columnOrder;
return /*#__PURE__*/_react.default.createElement("tr", {
key: headerGroup.id,
ref: el => {
if (el) rowHeaderVirtualizer.measureElement(el);
}
// data-index={rowHeaderVirtual?.index}
,
"data-index": headerGroup.id,
className: `${prefix}-grid-row`,
style: {
display: 'flex',
width: '100%',
minHeight: rowHeaderVirtual?.size
}
}, /*#__PURE__*/_react.default.createElement(_sortable.SortableContext, {
items: columnOrder,
strategy: _sortable.horizontalListSortingStrategy
}, fixedLeftColumns.length > 0 ? fixedLeftColumns.map(column => {
return /*#__PURE__*/_react.default.createElement(_TableHeadCell.default, {
columnVirtualizer: columnVirtualizer,
rowHeaderVirtualizer: rowHeaderVirtualizer,
key: column.id,
table: table,
header: headerGroup.headers.find(h => h.column.id === column.id)
// column={column as any}
});
}) : null, virtualPaddingLeft ? /*#__PURE__*/_react.default.createElement("th", {
className: "",
style: {
display: 'flex',
width: virtualPaddingLeft
}
}) : null, virtualColumns.map(virtualColumn => {
const header = headerGroup.headers[virtualColumn.index];
const isFixed = table.getState().columnPinning.left?.includes(header.column.id) || table.getState().columnPinning.right?.includes(header.column.id);
if (header && !isFixed) {
return /*#__PURE__*/_react.default.createElement(_TableHeadCell.default, {
key: header.id,
header: header,
table: table,
columnVirtualizer: columnVirtualizer,
rowHeaderVirtualizer: rowHeaderVirtualizer
});
}
}),
//fake empty column to the right for virtualization scroll padding
fixedRightColumns.length > 0 ? fixedRightColumns.map(column => /*#__PURE__*/_react.default.createElement(_TableHeadCell.default, {
columnVirtualizer: columnVirtualizer,
rowHeaderVirtualizer: rowHeaderVirtualizer,
table: table,
key: column.id,
header: headerGroup.headers.find(h => h.column.id === column.id)
// column={column as any}
})) : null, virtualPaddingRight ?
/*#__PURE__*/
//fake empty column to the right for virtualization scroll padding
_react.default.createElement("th", {
className: "nnnnnnnnnnnn",
style: {
display: 'flex',
width: virtualPaddingRight
}
}) : null));
};
var _default = exports.default = TableHeadRow;