react-widgets
Version:
An à la carte set of polished, extensible, and accessible inputs built for React
35 lines (26 loc) • 1.02 kB
JavaScript
;
var babelHelpers = require('../util/babelHelpers.js');
exports.__esModule = true;
var _domHelpersUtilScrollTo = require('dom-helpers/util/scrollTo');
var _domHelpersUtilScrollTo2 = babelHelpers.interopRequireDefault(_domHelpersUtilScrollTo);
exports['default'] = {
_scrollTo: function _scrollTo(selected, list, focused) {
var state = this._scrollState || (this._scrollState = {}),
handler = this.props.onMove,
lastVisible = state.visible,
lastItem = state.focused,
shown,
changed;
state.visible = !(!list.offsetWidth || !list.offsetHeight);
state.focused = focused;
changed = lastItem !== focused;
shown = state.visible && !lastVisible;
if (shown || state.visible && changed) {
if (handler) handler(selected, list, focused);else {
state.scrollCancel && state.scrollCancel();
state.scrollCancel = _domHelpersUtilScrollTo2['default'](selected, list);
}
}
}
};
module.exports = exports['default'];