react-vtree
Version:
React component for efficiently rendering large tree structures
62 lines (44 loc) • 2 kB
JavaScript
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;
;