UNPKG

react-vtree

Version:

React component for efficiently rendering large tree structures

62 lines (44 loc) 2 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.FixedSizeTree = void 0; var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _react = _interopRequireDefault(require("react")); var _reactWindow = require("react-window"); var _Tree2 = _interopRequireWildcard(require("./Tree")); var _utils = require("./utils"); var computeTree = (0, _Tree2.createTreeComputer)({ createRecord: _utils.createRecord, shouldUpdateRecords: _utils.shouldUpdateRecords, updateRecord: _utils.updateRecord, updateRecordOnNewData: _utils.updateRecordOnNewData }); var FixedSizeTree = /*#__PURE__*/function (_Tree) { (0, _inheritsLoose2.default)(FixedSizeTree, _Tree); function FixedSizeTree(props, context) { var _this; _this = _Tree.call(this, props, context) || this; _this.state = (0, _extends2.default)({}, _this.state, { computeTree: computeTree }); return _this; } var _proto = FixedSizeTree.prototype; _proto.render = function render() { var _this$props = this.props, children = _this$props.children, treeWalker = _this$props.treeWalker, rowComponent = _this$props.rowComponent, rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["children", "treeWalker", "rowComponent"]); return /*#__PURE__*/_react.default.createElement(_reactWindow.FixedSizeList, Object.assign({}, rest, { itemCount: this.state.order.length, itemData: this.state, ref: this.list }), rowComponent); }; return FixedSizeTree; }(_Tree2.default); exports.FixedSizeTree = FixedSizeTree;