grid-apps-cmms/src/main/kiri.js

49 lines
987 B
JavaScript

/** Copyright Stewart Allen <sa@grid.space> -- All Rights Reserved */
import '../add/array.js';
import '../add/class.js';
import '../add/three.js';
import '../kiri/core/lang.js';
import '../kiri/core/lang-en.js';
import { run } from '../kiri/core/init.js';
let load = [];
function safeExec(fn) {
try {
fn(kiri.api);
} catch (error) {
console.log('load error', fn, error);
}
}
function checkReady() {
if (document.readyState === 'complete') {
kiri.api = run();
self.$ = kiri.api.web.$;
for (let fn of load) {
safeExec(fn);
}
load = undefined;
kiri.api.event.emit('load-done', stats);
}
}
self.kiri = {
load(fn) {
// console.log('KIRI LOAD', [...arguments]);
if (load) {
load.push(fn);
} else {
safeExec(fn);
}
}
};
self.moto = { };
// when dom + scripts complete
document.onreadystatechange = checkReady;
checkReady();