1 line
28 KiB
JSON
1 line
28 KiB
JSON
{"ast":null,"code":"import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'emptyNode', 'scrollX']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode,\n scrollX = _useContext.scrollX;\n var _useContext2 = useContext(StaticContext),\n sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight,\n getComponent = _useContext2.getComponent,\n onTablePropScroll = _useContext2.onScroll;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n key = _ref.key;\n total += width;\n return [key, width, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var obj = {\n scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n }\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current2;\n return ((_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.scrollTo({\n left: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return 1; // continue\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n if (_loop3(_i2)) continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n\n // default 'div' in rc-virtual-list\n var wrapperComponent = getComponent(['body', 'wrapper']);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\n var bodyContent;\n if (flattenData.length) {\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n bodyContent = /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n prefixCls: \"\".concat(tblPrefixCls, \"-virtual\"),\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n component: wrapperComponent,\n scrollWidth: scrollX,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var x = _ref4.x;\n onScroll({\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, {\n data: item,\n rowKey: rowKey,\n index: index,\n style: itemProps.style\n });\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls\n }, emptyNode));\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, bodyContent);\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;","map":{"version":3,"names":["_typeof","_slicedToArray","useContext","classNames","VirtualList","React","Cell","TableContext","responseImmutable","useFlattenRecords","BodyLine","GridContext","StaticContext","Grid","forwardRef","props","ref","data","onScroll","_useContext","flattenColumns","onColumnResize","getRowKey","expandedKeys","prefixCls","childrenColumnName","emptyNode","scrollX","_useContext2","sticky","scrollY","listItemHeight","getComponent","onTablePropScroll","listRef","useRef","flattenData","columnsWidth","useMemo","total","map","_ref","width","key","columnsOffset","colWidth","useEffect","forEach","_ref2","_ref3","useImperativeHandle","obj","scrollTo","config","_listRef$current","current","Object","defineProperty","get","_listRef$current2","getScrollInfo","x","set","value","_listRef$current3","left","getRowSpan","column","index","_flattenData$index","record","onCell","_cellProps$rowSpan","cellProps","rowSpan","extraRender","info","start","end","getSize","offsetY","firstRowSpanColumns","filter","startIndex","_loop","i","length","lastRowSpanColumns","endIndex","_loop2","_i","Math","max","spanLines","_loop3","_i2","item","some","push","nodes","rowKey","getHeight","endItemIndex","endItemKey","sizeInfo","bottom","top","createElement","style","extra","gridContext","tblPrefixCls","concat","wrapperComponent","RowComponent","cellComponent","bodyContent","horizontalScrollBarStyle","position","offsetScroll","fullHeight","styles","horizontalScrollBar","className","height","itemHeight","itemKey","component","scrollWidth","onVirtualScroll","_ref4","scrollLeft","itemProps","Provider","ResponseGrid","process","env","NODE_ENV","displayName"],"sources":["C:/Users/Аришина)/source/repos/PromoCursed/node_modules/rc-table/es/VirtualTable/BodyGrid.js"],"sourcesContent":["import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useContext } from '@rc-component/context';\nimport classNames from 'classnames';\nimport VirtualList from 'rc-virtual-list';\nimport * as React from 'react';\nimport Cell from \"../Cell\";\nimport TableContext, { responseImmutable } from \"../context/TableContext\";\nimport useFlattenRecords from \"../hooks/useFlattenRecords\";\nimport BodyLine from \"./BodyLine\";\nimport { GridContext, StaticContext } from \"./context\";\nvar Grid = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var data = props.data,\n onScroll = props.onScroll;\n var _useContext = useContext(TableContext, ['flattenColumns', 'onColumnResize', 'getRowKey', 'prefixCls', 'expandedKeys', 'childrenColumnName', 'emptyNode', 'scrollX']),\n flattenColumns = _useContext.flattenColumns,\n onColumnResize = _useContext.onColumnResize,\n getRowKey = _useContext.getRowKey,\n expandedKeys = _useContext.expandedKeys,\n prefixCls = _useContext.prefixCls,\n childrenColumnName = _useContext.childrenColumnName,\n emptyNode = _useContext.emptyNode,\n scrollX = _useContext.scrollX;\n var _useContext2 = useContext(StaticContext),\n sticky = _useContext2.sticky,\n scrollY = _useContext2.scrollY,\n listItemHeight = _useContext2.listItemHeight,\n getComponent = _useContext2.getComponent,\n onTablePropScroll = _useContext2.onScroll;\n\n // =========================== Ref ============================\n var listRef = React.useRef();\n\n // =========================== Data ===========================\n var flattenData = useFlattenRecords(data, childrenColumnName, expandedKeys, getRowKey);\n\n // ========================== Column ==========================\n var columnsWidth = React.useMemo(function () {\n var total = 0;\n return flattenColumns.map(function (_ref) {\n var width = _ref.width,\n key = _ref.key;\n total += width;\n return [key, width, total];\n });\n }, [flattenColumns]);\n var columnsOffset = React.useMemo(function () {\n return columnsWidth.map(function (colWidth) {\n return colWidth[2];\n });\n }, [columnsWidth]);\n React.useEffect(function () {\n columnsWidth.forEach(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n width = _ref3[1];\n onColumnResize(key, width);\n });\n }, [columnsWidth]);\n\n // =========================== Ref ============================\n React.useImperativeHandle(ref, function () {\n var obj = {\n scrollTo: function scrollTo(config) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(config);\n }\n };\n Object.defineProperty(obj, 'scrollLeft', {\n get: function get() {\n var _listRef$current2;\n return ((_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.getScrollInfo().x) || 0;\n },\n set: function set(value) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.scrollTo({\n left: value\n });\n }\n });\n return obj;\n });\n\n // ======================= Col/Row Span =======================\n var getRowSpan = function getRowSpan(column, index) {\n var _flattenData$index;\n var record = (_flattenData$index = flattenData[index]) === null || _flattenData$index === void 0 ? void 0 : _flattenData$index.record;\n var onCell = column.onCell;\n if (onCell) {\n var _cellProps$rowSpan;\n var cellProps = onCell(record, index);\n return (_cellProps$rowSpan = cellProps === null || cellProps === void 0 ? void 0 : cellProps.rowSpan) !== null && _cellProps$rowSpan !== void 0 ? _cellProps$rowSpan : 1;\n }\n return 1;\n };\n var extraRender = function extraRender(info) {\n var start = info.start,\n end = info.end,\n getSize = info.getSize,\n offsetY = info.offsetY;\n\n // Do nothing if no data\n if (end < 0) {\n return null;\n }\n\n // Find first rowSpan column\n var firstRowSpanColumns = flattenColumns.filter(\n // rowSpan is 0\n function (column) {\n return getRowSpan(column, start) === 0;\n });\n var startIndex = start;\n var _loop = function _loop(i) {\n firstRowSpanColumns = firstRowSpanColumns.filter(function (column) {\n return getRowSpan(column, i) === 0;\n });\n if (!firstRowSpanColumns.length) {\n startIndex = i;\n return 1; // break\n }\n };\n for (var i = start; i >= 0; i -= 1) {\n if (_loop(i)) break;\n }\n\n // Find last rowSpan column\n var lastRowSpanColumns = flattenColumns.filter(\n // rowSpan is not 1\n function (column) {\n return getRowSpan(column, end) !== 1;\n });\n var endIndex = end;\n var _loop2 = function _loop2(_i) {\n lastRowSpanColumns = lastRowSpanColumns.filter(function (column) {\n return getRowSpan(column, _i) !== 1;\n });\n if (!lastRowSpanColumns.length) {\n endIndex = Math.max(_i - 1, end);\n return 1; // break\n }\n };\n for (var _i = end; _i < flattenData.length; _i += 1) {\n if (_loop2(_i)) break;\n }\n\n // Collect the line who has rowSpan\n var spanLines = [];\n var _loop3 = function _loop3(_i2) {\n var item = flattenData[_i2];\n\n // This code will never reach, just incase\n if (!item) {\n return 1; // continue\n }\n if (flattenColumns.some(function (column) {\n return getRowSpan(column, _i2) > 1;\n })) {\n spanLines.push(_i2);\n }\n };\n for (var _i2 = startIndex; _i2 <= endIndex; _i2 += 1) {\n if (_loop3(_i2)) continue;\n }\n\n // Patch extra line on the page\n var nodes = spanLines.map(function (index) {\n var item = flattenData[index];\n var rowKey = getRowKey(item.record, index);\n var getHeight = function getHeight(rowSpan) {\n var endItemIndex = index + rowSpan - 1;\n var endItemKey = getRowKey(flattenData[endItemIndex].record, endItemIndex);\n var sizeInfo = getSize(rowKey, endItemKey);\n return sizeInfo.bottom - sizeInfo.top;\n };\n var sizeInfo = getSize(rowKey);\n return /*#__PURE__*/React.createElement(BodyLine, {\n key: index,\n data: item,\n rowKey: rowKey,\n index: index,\n style: {\n top: -offsetY + sizeInfo.top\n },\n extra: true,\n getHeight: getHeight\n });\n });\n return nodes;\n };\n\n // ========================= Context ==========================\n var gridContext = React.useMemo(function () {\n return {\n columnsOffset: columnsOffset\n };\n }, [columnsOffset]);\n\n // ========================== Render ==========================\n var tblPrefixCls = \"\".concat(prefixCls, \"-tbody\");\n\n // default 'div' in rc-virtual-list\n var wrapperComponent = getComponent(['body', 'wrapper']);\n var RowComponent = getComponent(['body', 'row'], 'div');\n var cellComponent = getComponent(['body', 'cell'], 'div');\n var bodyContent;\n if (flattenData.length) {\n // ========================== Sticky Scroll Bar ==========================\n var horizontalScrollBarStyle = {};\n if (sticky) {\n horizontalScrollBarStyle.position = 'sticky';\n horizontalScrollBarStyle.bottom = 0;\n if (_typeof(sticky) === 'object' && sticky.offsetScroll) {\n horizontalScrollBarStyle.bottom = sticky.offsetScroll;\n }\n }\n bodyContent = /*#__PURE__*/React.createElement(VirtualList, {\n fullHeight: false,\n ref: listRef,\n prefixCls: \"\".concat(tblPrefixCls, \"-virtual\"),\n styles: {\n horizontalScrollBar: horizontalScrollBarStyle\n },\n className: tblPrefixCls,\n height: scrollY,\n itemHeight: listItemHeight || 24,\n data: flattenData,\n itemKey: function itemKey(item) {\n return getRowKey(item.record);\n },\n component: wrapperComponent,\n scrollWidth: scrollX,\n onVirtualScroll: function onVirtualScroll(_ref4) {\n var x = _ref4.x;\n onScroll({\n scrollLeft: x\n });\n },\n onScroll: onTablePropScroll,\n extraRender: extraRender\n }, function (item, index, itemProps) {\n var rowKey = getRowKey(item.record, index);\n return /*#__PURE__*/React.createElement(BodyLine, {\n data: item,\n rowKey: rowKey,\n index: index,\n style: itemProps.style\n });\n });\n } else {\n bodyContent = /*#__PURE__*/React.createElement(RowComponent, {\n className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n }, /*#__PURE__*/React.createElement(Cell, {\n component: cellComponent,\n prefixCls: prefixCls\n }, emptyNode));\n }\n return /*#__PURE__*/React.createElement(GridContext.Provider, {\n value: gridContext\n }, bodyContent);\n});\nvar ResponseGrid = responseImmutable(Grid);\nif (process.env.NODE_ENV !== 'production') {\n ResponseGrid.displayName = 'ResponseGrid';\n}\nexport default ResponseGrid;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |