MeasureRow.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. var _typeof = require("@babel/runtime/helpers/typeof");
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = MeasureRow;
  8. var React = _interopRequireWildcard(require("react"));
  9. var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
  10. var _MeasureCell = _interopRequireDefault(require("./MeasureCell"));
  11. var _isVisible = _interopRequireDefault(require("rc-util/lib/Dom/isVisible"));
  12. var _context = require("@rc-component/context");
  13. var _TableContext = _interopRequireDefault(require("../context/TableContext"));
  14. function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
  15. function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
  16. function MeasureRow(_ref) {
  17. var prefixCls = _ref.prefixCls,
  18. columnsKey = _ref.columnsKey,
  19. onColumnResize = _ref.onColumnResize,
  20. columns = _ref.columns;
  21. var ref = React.useRef(null);
  22. var _useContext = (0, _context.useContext)(_TableContext.default, ['measureRowRender']),
  23. measureRowRender = _useContext.measureRowRender;
  24. var measureRow = /*#__PURE__*/React.createElement("tr", {
  25. "aria-hidden": "true",
  26. className: "".concat(prefixCls, "-measure-row"),
  27. style: {
  28. height: 0
  29. },
  30. ref: ref
  31. }, /*#__PURE__*/React.createElement(_rcResizeObserver.default.Collection, {
  32. onBatchResize: function onBatchResize(infoList) {
  33. if ((0, _isVisible.default)(ref.current)) {
  34. infoList.forEach(function (_ref2) {
  35. var columnKey = _ref2.data,
  36. size = _ref2.size;
  37. onColumnResize(columnKey, size.offsetWidth);
  38. });
  39. }
  40. }
  41. }, columnsKey.map(function (columnKey) {
  42. var column = columns.find(function (col) {
  43. return col.key === columnKey;
  44. });
  45. return /*#__PURE__*/React.createElement(_MeasureCell.default, {
  46. key: columnKey,
  47. columnKey: columnKey,
  48. onColumnResize: onColumnResize,
  49. column: column
  50. });
  51. })));
  52. return measureRowRender ? measureRowRender(measureRow) : measureRow;
  53. }