| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- var vue = require('vue');
- var utils = require('../utils.js');
- var row = require('../components/row.js');
- function _isSlot(s) {
- return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
- }
- const RowRenderer = (props, {
- slots
- }) => {
- const {
- columns,
- columnsStyles,
- depthMap,
- expandColumnKey,
- expandedRowKeys,
- estimatedRowHeight,
- hasFixedColumns,
- rowData,
- rowIndex,
- style,
- isScrolling,
- rowProps,
- rowClass,
- rowKey,
- rowEventHandlers,
- ns,
- onRowHovered,
- onRowExpanded
- } = props;
- const rowKls = utils.tryCall(rowClass, {
- columns,
- rowData,
- rowIndex
- }, "");
- const additionalProps = utils.tryCall(rowProps, {
- columns,
- rowData,
- rowIndex
- });
- const _rowKey = rowData[rowKey];
- const depth = depthMap[_rowKey] || 0;
- const canExpand = Boolean(expandColumnKey);
- const isFixedRow = rowIndex < 0;
- const kls = [ns.e("row"), rowKls, {
- [ns.e(`row-depth-${depth}`)]: canExpand && rowIndex >= 0,
- [ns.is("expanded")]: canExpand && expandedRowKeys.includes(_rowKey),
- [ns.is("fixed")]: !depth && isFixedRow,
- [ns.is("customized")]: Boolean(slots.row)
- }];
- const onRowHover = hasFixedColumns ? onRowHovered : void 0;
- const _rowProps = {
- ...additionalProps,
- columns,
- columnsStyles,
- class: kls,
- depth,
- expandColumnKey,
- estimatedRowHeight: isFixedRow ? void 0 : estimatedRowHeight,
- isScrolling,
- rowIndex,
- rowData,
- rowKey: _rowKey,
- rowEventHandlers,
- style
- };
- const handlerMouseEnter = (e) => {
- onRowHover == null ? void 0 : onRowHover({
- hovered: true,
- rowKey: _rowKey,
- event: e,
- rowData,
- rowIndex
- });
- };
- const handlerMouseLeave = (e) => {
- onRowHover == null ? void 0 : onRowHover({
- hovered: false,
- rowKey: _rowKey,
- event: e,
- rowData,
- rowIndex
- });
- };
- return vue.createVNode(row["default"], vue.mergeProps(_rowProps, {
- "onRowExpand": onRowExpanded,
- "onMouseenter": handlerMouseEnter,
- "onMouseleave": handlerMouseLeave,
- "rowkey": _rowKey
- }), _isSlot(slots) ? slots : {
- default: () => [slots]
- });
- };
- var Row = RowRenderer;
- exports["default"] = Row;
- //# sourceMappingURL=row.js.map
|