UNPKG

react-elegant-ui

Version:

Elegant UI components, made by BEM best practices for react

26 lines 725 B
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(); }); };