UNPKG

react-windowed-list

Version:

A fast, versatile virtual-render list component for React

90 lines (72 loc) 2.66 kB
'use strict'; exports.__esModule = true; exports.scrollTo = exports.scrollAround = exports.getVisibleRange = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // external dependencies // classes var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactParm = require('react-parm'); var _WindowedListRenderer = require('./WindowedListRenderer'); var _WindowedListRenderer2 = _interopRequireDefault(_WindowedListRenderer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @function getVisibleRange * * @description * get the visible range on the windowed list component * * @param {ReactComponent} ref the WindowedList component * @returns {Array<number>} */ var getVisibleRange = exports.getVisibleRange = function getVisibleRange(_ref) { var ref = _ref.ref; return ref && ref.originalComponent ? ref.originalComponent.getVisibleRange() : [0, 0]; }; /** * @function scrollAround * * @description * scroll around the index passed on the windowed list component * * @param {ReactComponent} ref the WindowedList component * @param {number} index the index to scroll around * @returns {Array<number>} */ var scrollAround = exports.scrollAround = function scrollAround(_ref2, _ref3) { var ref = _ref2.ref; var index = _ref3[0]; return ref && ref.originalComponent ? ref.originalComponent.scrollAround(index) : null; }; /** * @function scrollTo * * @description * scroll to the index passed on the windowed list component * * @param {ReactComponent} ref the WindowedList component * @param {number} index the index to scroll to * @returns {Array<number>} */ var scrollTo = exports.scrollTo = function scrollTo(_ref4, _ref5) { var ref = _ref4.ref; var index = _ref5[0]; return ref && ref.originalComponent ? ref.originalComponent.scrollTo(index) : null; }; var WindowedList = function WindowedList(props, instance) { return ( /* eslint-disable prettier */ _react2.default.createElement(_WindowedListRenderer2.default, _extends({}, props, { ref: (0, _reactParm.createComponentRef)(instance, 'ref') })) /* eslint-enable */ ); }; WindowedList.displayName = 'WindowedList'; exports.default = (0, _reactParm.createComponent)(WindowedList, { // instance values ref: null, // instance methods getVisibleRange: getVisibleRange, scrollAround: scrollAround, scrollTo: scrollTo });