UNPKG

7.25 kBSource Map (JSON)View Raw
1{"version":3,"sources":["table/TableFooter.js"],"names":["React","useCallback","useContext","observer","action","get","set","classNames","measureScrollbar","pxToRem","TableContext","ColumnLock","DragColumnAlign","TableFooterCell","isStickySupport","ResizeObservedRow","CUSTOMIZED_KEY","TableFooter","props","lock","columnGroups","prefixCls","rowHeight","tableStore","overflowX","handleResize","index","height","lockColumnsFootRowsHeight","getTds","customizable","rowDraggable","dragColumnAlign","hasPlaceholder","overflowY","left","right","tds","leafs","map","columnGroup","cols","key","colSpan","length","cellProps","createElement","undefined","placeHolderProps","classList","style","push","className","join","autoFootHeight","tr","classString","onResize","rowIndex","displayName"],"mappings":"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","sourcesContent":["import React, { useCallback, useContext } from 'react';\nimport { observer } from 'mobx-react-lite';\nimport { action, get, set } from 'mobx';\nimport classNames from 'classnames';\nimport measureScrollbar from '../../../es/_util/measureScrollbar';\nimport { pxToRem } from '../../../es/_util/UnitConvertor';\nimport TableContext from './TableContext';\nimport { ColumnLock, DragColumnAlign } from './enum';\nimport TableFooterCell from './TableFooterCell';\nimport { isStickySupport } from './utils';\nimport ResizeObservedRow from './ResizeObservedRow';\nimport { CUSTOMIZED_KEY } from './TableStore';\nconst TableFooter = observer(function TableFooter(props) {\n const { lock, columnGroups } = props;\n const { prefixCls, rowHeight, tableStore } = useContext(TableContext);\n const { overflowX } = tableStore;\n const handleResize = useCallback(action((index, height) => {\n set(tableStore.lockColumnsFootRowsHeight, index, height);\n }), [tableStore]);\n const getTds = () => {\n const { customizable, rowDraggable, dragColumnAlign } = tableStore;\n const hasPlaceholder = tableStore.overflowY && lock !== ColumnLock.left;\n const right = hasPlaceholder ? measureScrollbar() : 0;\n const tds = columnGroups.leafs.map((columnGroup, index, cols) => {\n const { key } = columnGroup;\n if (key !== CUSTOMIZED_KEY) {\n const colSpan = customizable && lock !== ColumnLock.left && (!rowDraggable || dragColumnAlign !== DragColumnAlign.right) && index === cols.length - 2 ? 2 : 1;\n const cellProps = {};\n if (colSpan > 1) {\n cellProps.colSpan = colSpan;\n }\n return (React.createElement(TableFooterCell, Object.assign({ key: key, columnGroup: columnGroup, right: right }, cellProps)));\n }\n return undefined;\n });\n if (hasPlaceholder) {\n const placeHolderProps = {\n key: 'fixed-column',\n };\n const classList = [`${prefixCls}-cell`];\n if (isStickySupport() && overflowX) {\n placeHolderProps.style = { right: 0 };\n classList.push(`${prefixCls}-cell-fix-right`);\n }\n placeHolderProps.className = classList.join(' ');\n tds.push(React.createElement(\"th\", Object.assign({}, placeHolderProps), \"\\u00A0\"));\n }\n return tds;\n };\n const style = !isStickySupport() && lock && (rowHeight === 'auto' || tableStore.autoFootHeight) ? {\n height: pxToRem(get(tableStore.lockColumnsFootRowsHeight, 0)),\n } : undefined;\n const tr = (React.createElement(\"tr\", { style: style }, getTds()));\n const classString = classNames(`${prefixCls}-tfoot`, {\n [`${prefixCls}-tfoot-bordered`]: overflowX,\n });\n return (React.createElement(\"tfoot\", { className: classString }, !isStickySupport() && !lock && (rowHeight === 'auto' || tableStore.autoFootHeight) ? (React.createElement(ResizeObservedRow, { onResize: handleResize, rowIndex: 0 }, tr)) : tr));\n});\nTableFooter.displayName = 'TableFooter';\nexport default TableFooter;\n"],"file":"TableFooter.js"}
\No newline at end of file