react-blazing-infinity-scroll
Version:
React component that supports infinity scroll aiming blazing speed
1 lines • 2.6 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.InfiniteScroll=t(require("react")):e.InfiniteScroll=t(e.react)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";var n=this&&this.__extends||function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.getThresholdNode=function(){var e=t.props,r=e.hasMore,n=e.loaderHeight,i=e.loaderComponent;return r?i?o.createElement("div",{ref:function(e){return t.thresholdNode=e}},i):o.createElement("div",{ref:function(e){return t.thresholdNode=e},style:{height:n||250}}):null},t.loadItems=function(){var e=t.props,r=e.isLoading,n=e.loadMoreFunc;r||n()},t}return n(t,e),t.prototype.componentDidMount=function(){var e=this,t=this.props,r=t.parentElement,n=t.thresholdMargin;this.intersectionObserver=new IntersectionObserver(function(t){t.forEach(function(t){t.isIntersecting&&e.loadItems()})},{root:r||null,rootMargin:n||"0px"}),this.intersectionObserver.observe(this.thresholdNode)},t.prototype.render=function(){return o.createElement("div",null,this.props.children,this.getThresholdNode())},t}(o.PureComponent);t.default=i},function(t,r){t.exports=e}])});