{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _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, _extends({\n        data: item,\n        rowKey: rowKey,\n        index: index\n      }, itemProps));\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":["_extends","_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":["/var/www/gavt/react-demo/node_modules/rc-table/es/VirtualTable/BodyGrid.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _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, _extends({\n        data: item,\n        rowKey: rowKey,\n        index: index\n      }, itemProps));\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":[]}