react-elegant-ui
Version:
Elegant UI components, made by BEM best practices for react
26 lines • 725 B
JavaScript
import { canUseDOM } from './canUseDOM';
export var readyStatesList = ['loading', 'interactive', 'complete'];
export var readyStatesDict = {
loading: 0,
interactive: 1,
complete: 2
};
/**
* Run callback after specified ready state
*
* It useful when you need run code if page loaded or wait loading and run after
*/
export var runByReadyState = function (callback, state) {
if (state === void 0) {
state = 'complete';
}
if (!canUseDOM()) return;
if (readyStatesDict[document.readyState] >= readyStatesDict[state]) {
callback();
return;
}
var eventName = state === 'interactive' ? 'DOMContentLoaded' : 'load';
window.addEventListener(eventName, function () {
return callback();
});
};