UNPKG

es-grid-template

Version:

es-grid-template

153 lines (148 loc) 5.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _TableBodyCell = _interopRequireDefault(require("./TableBodyCell")); var _TableBodyCellEdit = _interopRequireDefault(require("./TableBodyCellEdit")); var _react = _interopRequireDefault(require("react")); var _useContext = require("../useContext"); var _classnames = _interopRequireDefault(require("classnames")); const TableBodyRow = ({ tableId, table, columnVirtualizer, row, rowVirtualizer, virtualPaddingLeft, virtualPaddingRight, virtualRow, fixedLeftColumns, fixedRightColumns, commandClick, editAble, isEditing, contextMenuItems, ...rest }) => { const { prefix, recordDoubleClick, onContextMenu } = _react.default.useContext(_useContext.TableContext); const visibleCells = row.getVisibleCells(); const virtualColumns = columnVirtualizer.getVirtualItems(); // table.options.set return /*#__PURE__*/_react.default.createElement("tr", { "data-index": virtualRow.index //needed for dynamic row height measurement , ref: node => rowVirtualizer.measureElement(node) //measure dynamic row height , key: row.id // className={} ui-rc-table-row-selected , className: (0, _classnames.default)(`${prefix}-grid-row`, { [`${prefix}-grid-row-selected`]: row.getIsSelected() }), style: { // display: 'flex', // position: 'absolute', transform: `translateY(${virtualRow.start}px)`, //this should always be a `style` as it changes on scroll // width: '100%', // height: isEditing ? '36px' : undefined, height: isEditing ? virtualRow.size : undefined, minHeight: isEditing ? undefined : virtualRow.size }, onDoubleClick: e => { recordDoubleClick?.({ e, rowData: row.original, rowIndex: row.index }); }, onContextMenu: e => { if (contextMenuItems && contextMenuItems.length) { onContextMenu?.(row.original)(e); } } // onContextMenu={onContextMenu(row.original)} }, fixedLeftColumns.length > 0 ? fixedLeftColumns.map(column => { const cell = row.getVisibleCells().find(c => c.column.id === column.id); if (editAble) { return /*#__PURE__*/_react.default.createElement(_TableBodyCellEdit.default, (0, _extends2.default)({}, rest, { table: table, tableId: tableId, key: cell.id, cell: cell, commandClick: commandClick, isEditing: isEditing, rowVirtualizer: rowVirtualizer, columnVirtualizer: columnVirtualizer })); } return /*#__PURE__*/_react.default.createElement(_TableBodyCell.default, { key: column.id, table: table, cell: row.getVisibleCells().find(c => c.column.id === column.id), commandClick: commandClick }); }) : null, virtualPaddingLeft ? /*#__PURE__*/_react.default.createElement("td", { className: "", style: { display: "flex", width: virtualPaddingLeft } }) : null, virtualColumns.map(vc => { const cell = visibleCells[vc.index]; const isFixed = table.getState().columnPinning.left?.includes(cell.column.id) || table.getState().columnPinning.right?.includes(cell.column.id); if (cell && !isFixed) { if (editAble) { return /*#__PURE__*/_react.default.createElement(_TableBodyCellEdit.default, (0, _extends2.default)({}, rest, { table: table, key: cell.id, tableId: tableId, cell: cell, commandClick: commandClick, isEditing: isEditing, rowVirtualizer: rowVirtualizer, columnVirtualizer: columnVirtualizer })); } return /*#__PURE__*/_react.default.createElement(_TableBodyCell.default, { table: table, key: cell.id, cell: cell, commandClick: commandClick }); } }), fixedRightColumns.length > 0 ? fixedRightColumns.map(column => { if (editAble) { return /*#__PURE__*/_react.default.createElement(_TableBodyCellEdit.default, (0, _extends2.default)({}, rest, { table: table, key: column.id, tableId: tableId, cell: row.getVisibleCells().find(c => c.column.id === column.id), commandClick: commandClick, isEditing: isEditing, rowVirtualizer: rowVirtualizer, columnVirtualizer: columnVirtualizer })); } return /*#__PURE__*/_react.default.createElement(_TableBodyCell.default, { key: column.id, table: table, cell: row.getVisibleCells().find(c => c.column.id === column.id), commandClick: commandClick }); }) : null, virtualPaddingRight ? /*#__PURE__*/_react.default.createElement("td", { className: "", style: { display: "flex", width: virtualPaddingRight } }) : null); }; var _default = exports.default = TableBodyRow;