MeasureCell.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 = MeasureCell;
  8. var React = _interopRequireWildcard(require("react"));
  9. var _rcResizeObserver = _interopRequireDefault(require("rc-resize-observer"));
  10. var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
  11. 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); }
  12. 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; }
  13. function MeasureCell(_ref) {
  14. var columnKey = _ref.columnKey,
  15. onColumnResize = _ref.onColumnResize,
  16. column = _ref.column;
  17. var cellRef = React.useRef();
  18. (0, _useLayoutEffect.default)(function () {
  19. if (cellRef.current) {
  20. onColumnResize(columnKey, cellRef.current.offsetWidth);
  21. }
  22. }, []);
  23. return /*#__PURE__*/React.createElement(_rcResizeObserver.default, {
  24. data: columnKey
  25. }, /*#__PURE__*/React.createElement("td", {
  26. ref: cellRef,
  27. style: {
  28. paddingTop: 0,
  29. paddingBottom: 0,
  30. borderTop: 0,
  31. borderBottom: 0,
  32. height: 0
  33. }
  34. }, /*#__PURE__*/React.createElement("div", {
  35. style: {
  36. height: 0,
  37. overflow: 'hidden',
  38. fontWeight: 'bold'
  39. }
  40. }, (column === null || column === void 0 ? void 0 : column.title) || '\xa0')));
  41. }