Newer
Older
framework / src / framework / core / ready.js
@Tiago Leonardo Costa Dias Tiago Leonardo Costa Dias on 14 Mar 2024 716 bytes update
import { Framework } from "../core";
import * as CoreUtils from "../helpers";

((f)=>{
	var ready = function(fn){
		if(!CoreUtils.isset(document) || !CoreUtils.isset(document.head) || !CoreUtils.isset(document.body)){
			return false;
		}
		if(CoreUtils.is_function(fn)){
			if(is_ready == false){
				ready_list.push(fn);
			}
		}
		if(!isset(fn) && is_ready == true){
			while(ready_list.length > 0){
				var f=ready_list.shift();
				f();
			}
		}
	};
	function on_ready() {
		if (document.readyState !== 'loading') {
		  ready();
		} else {
		  document.addEventListener('DOMContentLoaded', ready);
		}
	}
	var is_ready = false;
	var ready_list = [];
	Framework.extend("ready",ready);
	on_ready();
})(Framework);