{"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\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    Object.defineProperty(obj, 'scrollLeft', {\n      get: function get() {\n        var _listRef$current;\n        return ((_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.getScrollInfo().x) || 0;\n      },\n      set: function set(value) {\n        var _listRef$current2;\n        (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.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 \"break\";\n      }\n    };\n    for (var i = start; i >= 0; i -= 1) {\n      var _ret = _loop(i);\n      if (_ret === \"break\") 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 \"break\";\n      }\n    };\n    for (var _i = end; _i < flattenData.length; _i += 1) {\n      var _ret2 = _loop2(_i);\n      if (_ret2 === \"break\") 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 \"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      var _ret3 = _loop3(_i2);\n      if (_ret3 === \"continue\") 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  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      styles: {\n        horizontalScrollBar: horizontalScrollBarStyle\n      },\n      className: classNames(tblPrefixCls, \"\".concat(tblPrefixCls, \"-virtual\")),\n      height: scrollY,\n      itemHeight: listItemHeight || 24,\n      data: flattenData,\n      itemKey: function itemKey(item) {\n        return getRowKey(item.record);\n      },\n      scrollWidth: scrollX,\n      onVirtualScroll: function onVirtualScroll(_ref4) {\n        var x = _ref4.x;\n        onScroll({\n          scrollLeft: x\n        });\n      },\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(\"div\", {\n      className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n    }, /*#__PURE__*/React.createElement(Cell, {\n      component: \"div\",\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","listRef","useRef","flattenData","columnsWidth","useMemo","total","map","_ref","width","key","columnsOffset","colWidth","useEffect","forEach","_ref2","_ref3","useImperativeHandle","obj","Object","defineProperty","get","_listRef$current","current","getScrollInfo","x","set","value","_listRef$current2","scrollTo","left","getRowSpan","column","index","_flattenData$index","record","onCell","_cellProps$rowSpan","cellProps","rowSpan","extraRender","info","start","end","getSize","offsetY","firstRowSpanColumns","filter","startIndex","_loop","i","length","_ret","lastRowSpanColumns","endIndex","_loop2","_i","Math","max","_ret2","spanLines","_loop3","_i2","item","some","push","_ret3","nodes","rowKey","getHeight","endItemIndex","endItemKey","sizeInfo","bottom","top","createElement","style","extra","gridContext","tblPrefixCls","concat","bodyContent","horizontalScrollBarStyle","position","offsetScroll","fullHeight","styles","horizontalScrollBar","className","height","itemHeight","itemKey","scrollWidth","onVirtualScroll","_ref4","scrollLeft","itemProps","component","Provider","ResponseGrid","process","env","NODE_ENV","displayName"],"sources":["/var/www/gavt/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\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    Object.defineProperty(obj, 'scrollLeft', {\n      get: function get() {\n        var _listRef$current;\n        return ((_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.getScrollInfo().x) || 0;\n      },\n      set: function set(value) {\n        var _listRef$current2;\n        (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 ? void 0 : _listRef$current2.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 \"break\";\n      }\n    };\n    for (var i = start; i >= 0; i -= 1) {\n      var _ret = _loop(i);\n      if (_ret === \"break\") 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 \"break\";\n      }\n    };\n    for (var _i = end; _i < flattenData.length; _i += 1) {\n      var _ret2 = _loop2(_i);\n      if (_ret2 === \"break\") 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 \"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      var _ret3 = _loop3(_i2);\n      if (_ret3 === \"continue\") 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  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      styles: {\n        horizontalScrollBar: horizontalScrollBarStyle\n      },\n      className: classNames(tblPrefixCls, \"\".concat(tblPrefixCls, \"-virtual\")),\n      height: scrollY,\n      itemHeight: listItemHeight || 24,\n      data: flattenData,\n      itemKey: function itemKey(item) {\n        return getRowKey(item.record);\n      },\n      scrollWidth: scrollX,\n      onVirtualScroll: function onVirtualScroll(_ref4) {\n        var x = _ref4.x;\n        onScroll({\n          scrollLeft: x\n        });\n      },\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(\"div\", {\n      className: classNames(\"\".concat(prefixCls, \"-placeholder\"))\n    }, /*#__PURE__*/React.createElement(Cell, {\n      component: \"div\",\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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"},"metadata":{},"sourceType":"module","externalDependencies":[]}