diff options
author | Sorin Davidoi <sorin.davidoi@gmail.com> | 2017-05-24 17:55:00 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-24 17:55:00 +0200 |
commit | 8e4d1cba00b48bc52dc406956a245856c489e48a (patch) | |
tree | 80793edff7a146d5afc0b7df09da696d623111a6 /app/javascript/mastodon/base_polyfills.js | |
parent | 676ba50601d04dcd15930bb92aea918cb6cdf041 (diff) |
Lazy load toots using IntersectionObserver (#3191)
* refactor(components/status_list): Lazy load using IntersectionObserver * refactor(components/status_list): Avoid setState bottleneck * refactor(components/status_list): Update state correctly * fix(components/status): Render if isIntersecting is undefined * refactor(components/status): Recycle timeout * refactor(components/status): Reduce animation duration * refactor(components/status): Use requestIdleCallback * chore: Split polyfill bundles * refactor(components/status_list): Increase rootMargin to 300% * fix(components/status): Check if onRef is not defined * chore: Add note about polyfill bundle splitting * fix(components/status): Reduce animation duration to 0.3 seconds
Diffstat (limited to 'app/javascript/mastodon/base_polyfills.js')
-rw-r--r-- | app/javascript/mastodon/base_polyfills.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/javascript/mastodon/base_polyfills.js b/app/javascript/mastodon/base_polyfills.js new file mode 100644 index 000000000..266a0020c --- /dev/null +++ b/app/javascript/mastodon/base_polyfills.js @@ -0,0 +1,18 @@ +import 'intl'; +import 'intl/locale-data/jsonp/en.js'; +import 'es6-symbol/implement'; +import includes from 'array-includes'; +import assign from 'object-assign'; +import isNaN from 'is-nan'; + +if (!Array.prototype.includes) { + includes.shim(); +} + +if (!Object.assign) { + Object.assign = assign; +} + +if (!Number.isNaN) { + Number.isNaN = isNaN; +} |