@orfeas126/box-ui-elements
Version:
Box UI Elements
40 lines • 2.06 kB
JavaScript
const _excluded = ["infiniteLoaderProps"];
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
import * as React from 'react';
import InfiniteLoader from '@box/react-virtualized/dist/commonjs/InfiniteLoader';
function getDisplayName(WrappedComponent) {
return WrappedComponent.displayName || WrappedComponent.name || 'Component';
}
function withInfiniteLoader(WrappedComponent) {
const InfiniteLoaderComponent = _ref => {
let {
infiniteLoaderProps: {
isRowLoaded,
loadMoreRows,
minimumBatchSize,
rowCount,
threshold
}
} = _ref,
rest = _objectWithoutProperties(_ref, _excluded);
return /*#__PURE__*/React.createElement(InfiniteLoader, {
isRowLoaded: isRowLoaded,
loadMoreRows: loadMoreRows,
minimumBatchSize: minimumBatchSize,
rowCount: rowCount,
threshold: threshold
}, ({
onRowsRendered,
registerChild
}) => /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, rest, {
ref: registerChild,
onRowsRendered: onRowsRendered
})));
};
InfiniteLoaderComponent.displayName = `WithInfiniteLoader(${getDisplayName(WrappedComponent)})`;
return InfiniteLoaderComponent;
}
export default withInfiniteLoader;
//# sourceMappingURL=withInfiniteLoader.js.map