// this file enables loading modules after pageload function get_cui_html(file) { clog("get_cui_html",this,arguments) // console.trace("~IX~ ixr") clog("~IX~ ixr") // for (var file of this.arr){ var aii aii= $.ajax({ // url: "ign/cui.html", url: file.url, // data: file.qs, cache:false, // complete:complete_html, success: file.success || proc_cui_html, // error: err_html, // dataType: "text" dataType: "html" }) aii.file = file // aii.rldh=file // } } function cui_respH(){ clog("cui_respH") } function cui_diffH(file){ clog("cui_diffH",this,arguments) // get_cui_html(file) } function proc_cui_html(rsp,status,xhr){ clog("proc_cui_html",this,arguments) /* gxh.success = { that:this, rsp,status,xhr, args:arguments, } */ // insert_cui_html(rsp) // rsp } function insert_cui_html(innerHTML){ clog("insert_cui_html....") window.cui_html = innerHTML t5i2.crnr_init() // t5i2.crnr_refresh() // var n // n = document.createElement("div") // n = document.querySelector("#xh_root") // n ? n.innerHTML = innerHTML : 0 // event_html(n) } function dflt_api_handler(){ clog("dflt_api_handler NOT IMPLIMENTED") } function add_rld_html(){ // js files // html // css rldi.files["ign/m/timer/rhtml.html"]= {url: "ign/m/timer/rhtml.html", qs: {v:1}, respH: cui_respH, diffH: cui_diffH, cached:"z z", success:proc_cui_html, } } /* var reqt = { url:"", respH:dflt_handler, diffH:diff_handler, } */ // jsrh // cssrh api_dflts = { dflt:window.reqt || {url:"", respH:dflt_handler, diffH:diff_handler,}, js:{ diffH:jsrh, // diffH:jsrh, qs:{v:1}, }, css:{ diffH:cssrh, qs:{v:1}, }, html:{ diffH:html_rld_cb, qs:{v:1}, }, } api_test = {} // function insert_js(file){ var n = document.createElement("SCRIPT") n.classList.add("rld") n.src=file.url + "?_="+new Date().getTime() // n.rel="stylesheet" $(`script.rld[src^="`+file.url+`"]`).remove() $(".m0.module").after(n) } function remove_css(file_url){ $(`link.rld[href^="`+file_url+`"]`).remove() } function insert_css(file){ var url = file.url var n = document.createElement("LINK") n.classList.add("rld") n.href=file.url + "?_="+new Date().getTime() n.rel="stylesheet" remove_css(file.url) // $(`link.rld[href^="`+file.url+`"]`).remove() $(".m0.module").before(n) } function html_rld_cb(){ clog("html_rld_cb!") } function html_rld_cb2(){ clog("html_rld_cb2!",this,[...arguments]) } function html_rld_cb3(){ clog("html_rld_cb3!",this,[...arguments]) } function html_rld_cb4(rsp,status,xhr){ clog("html_rld_cb4!",this,[...arguments]) // window[this.success_js](rsp,status,xhr) window[xhr.file.success_js](rsp,status,xhr) } function register_rld(file){ clog("RR",file) file.cached = rls[file.url] rldi.files[file.url] = file } window.qto_stop = 0 window.qto_cnt = 0 function qto_init(){ window.qto_stop = 0 window.qto_cnt = 0 // setTimeout(qto_stop_fn,1000) setTimeout(qto_stop_fn,100) qto() } function qto_stop_fn(){ clog("qto_stop_fn") window.qto_stop =1 } function qto(){ clog("QTO",window.qto_cnt) // clog("QTO",window.qto_cnt,$(`script.rld[src^="ign/m/timer/m.js"]`)) window.qto_cnt += 1 if (!window.qto_stop){ setTimeout(qto,1) } } // $(`script.rld[src^="ign/m/timer/m.js"]`).remove() // ign/m/timer/m.js // mtx ={js:["ign/m/timer/m.js"],css:["ign/m/timer/m.css"],html:["ign/m/timer/m.html"]} // mtx ={js:["ign/m/timer/m.js"],css:["ign/m/timer/m.css"],html:[{url:"ign/m/timer/m.html",diffH:html_rld_cb2,success:html_rld_cb4,}]} // function function inc_map(map,key,dflt=0,inc=1){ if (!map.has(key)){ map.set(key,dflt + inc) } else { map.set(key,map.get(key) + inc) } } function fmap(o){ var i,k,v,ret var jstr ret = [] clog("FM","\n\r.\n\r") clog("FM name",o.name) for (k of o.js || []){ clog("FM js",k) ret.push(k) } for (k of o.css || []){ clog("FM css",k) ret.push(k) } for (k of o.html || []){ clog("FM html",k) ret.push(k.url) } jstr = JSON.stringify(ret) if (!o.name){ inc_map(rldi.mods.file_map_c,jstr) rldi.mods.file_map.setD(jstr,o) } } function log_mod(o){ inc_map(rldi.mods.m,o.name) if (!o.name){ } fmap(o) // log_tb("mod",new Error()) // log_tb(new Error(),"mod") } rldi.mods = window.rldi.mods || { arr:[], m:new Map(), file_map:new Map(), file_map_c:new Map(), mtx:{}, } function add_module(o){ var k,v let file log_mod(o) // qto_init() // file = jclone(api_dflts.css) for (k of o.css || []){ if (typeof(k) == "string"){ file = $.extend(true,{},api_dflts.css, {url:k}) } else { file = $.extend(true,{},api_dflts.css, k) } // file = jclone(api_dflts.css) // file.url = k file.m = {mod:o.name} register_rld(file) insert_css(file) api_test[file.url]=file clog("~",k) } for (k of o.js || []){ if (typeof(k) == "string"){ file = $.extend(true,{},api_dflts.js, {url:k}) } else { file = $.extend(true,{},api_dflts.js, k) } // file = jclone(api_dflts.js) // file.url = k file.m = {mod:o.name} register_rld(file) insert_js(file) api_test[file.url]=file clog("~",k) } for (k of o.html || []){ if (typeof(k) == "string"){ file = $.extend(true,{},api_dflts.html, {url:k}) } else { file = $.extend(true,{},api_dflts.html, k) } // file = jclone(api_dflts.html) // file.url = k file.m = {mod:o.name} register_rld(file) api_test[file.url]=file clog("~",k) rfile = file get_cui_html(file) } } // jquery helper function add_node(n,rn,i) { $(rn)[i](n) } function unload_css(css) { var k,v for (k of css){ remove_css(k) } // body... } function remove_jscss(file_url){ $(`link.rld[href^="`+file_url+`"]`).remove() $(`script.rld[src^="`+file_url+`"]`).remove() } function unload_module_css(name) { var k,v for ([k,v] of Object.entries(rldi.files)){ if (k.endsWith(".css") && v.m && v.m.mod==name){ // if (v.m && v.m.mod==name){ remove_jscss(k) delete rldi.files[k] // remove_css(k) clog("~",k,v) } // clog("~",k,v) } // body... } function unload_module(name) { var k,v for ([k,v] of Object.entries(rldi.files)){ // if (k.endsWith(".css") && v.m && v.m.mod==name){ if (v.m && v.m.mod==name){ remove_jscss(k) delete rldi.files[k] // remove_css(k) clog("~",k,v) } // clog("~",k,v) } // body... }