Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

m_api_v2.js 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. // this file enables loading modules after pageload
  2. function get_cui_html(file) {
  3. clog("get_cui_html",this,arguments)
  4. // console.trace("~IX~ ixr")
  5. clog("~IX~ ixr")
  6. // for (var file of this.arr){
  7. var aii
  8. aii= $.ajax({
  9. // url: "ign/cui.html",
  10. url: file.url,
  11. // data: file.qs,
  12. cache:false,
  13. // complete:complete_html,
  14. success: file.success || proc_cui_html,
  15. // error: err_html,
  16. // dataType: "text"
  17. dataType: "html"
  18. })
  19. aii.file = file
  20. // aii.rldh=file
  21. // }
  22. }
  23. function cui_respH(){
  24. clog("cui_respH")
  25. }
  26. function cui_diffH(file){
  27. clog("cui_diffH",this,arguments)
  28. // get_cui_html(file)
  29. }
  30. function proc_cui_html(rsp,status,xhr){
  31. clog("proc_cui_html",this,arguments)
  32. /*
  33. gxh.success = {
  34. that:this,
  35. rsp,status,xhr,
  36. args:arguments,
  37. }
  38. */
  39. // insert_cui_html(rsp)
  40. // rsp
  41. }
  42. function insert_cui_html(innerHTML){
  43. clog("insert_cui_html....")
  44. window.cui_html = innerHTML
  45. t5i2.crnr_init()
  46. // t5i2.crnr_refresh()
  47. // var n
  48. // n = document.createElement("div")
  49. // n = document.querySelector("#xh_root")
  50. // n ? n.innerHTML = innerHTML : 0
  51. // event_html(n)
  52. }
  53. function dflt_api_handler(){
  54. clog("dflt_api_handler NOT IMPLIMENTED")
  55. }
  56. function add_rld_html(){
  57. // js files
  58. // html
  59. // css
  60. rldi.files["ign/m/timer/rhtml.html"]= {url: "ign/m/timer/rhtml.html",
  61. qs: {v:1}, respH: cui_respH, diffH: cui_diffH,
  62. cached:"z z",
  63. success:proc_cui_html,
  64. }
  65. }
  66. /*
  67. var reqt = {
  68. url:"",
  69. respH:dflt_handler,
  70. diffH:diff_handler,
  71. }
  72. */
  73. // jsrh
  74. // cssrh
  75. api_dflts = {
  76. dflt:window.reqt || {url:"", respH:dflt_handler, diffH:diff_handler,},
  77. js:{
  78. diffH:jsrh,
  79. // diffH:jsrh,
  80. qs:{v:1},
  81. },
  82. css:{
  83. diffH:cssrh,
  84. qs:{v:1},
  85. },
  86. html:{
  87. diffH:html_rld_cb,
  88. qs:{v:1},
  89. },
  90. }
  91. api_test = {}
  92. // <script class="rld" src="ign/m/m_api.js?c=023"></script>
  93. function insert_js(file){
  94. var n = document.createElement("SCRIPT")
  95. n.classList.add("rld")
  96. n.src=file.url + "?_="+new Date().getTime()
  97. // n.rel="stylesheet"
  98. $(`script.rld[src^="`+file.url+`"]`).remove()
  99. $(".m0.module").after(n)
  100. }
  101. function remove_css(file_url){
  102. $(`link.rld[href^="`+file_url+`"]`).remove()
  103. }
  104. function insert_css(file){
  105. var url = file.url
  106. var n = document.createElement("LINK")
  107. n.classList.add("rld")
  108. n.href=file.url + "?_="+new Date().getTime()
  109. n.rel="stylesheet"
  110. remove_css(file.url)
  111. // $(`link.rld[href^="`+file.url+`"]`).remove()
  112. $(".m0.module").before(n)
  113. }
  114. function html_rld_cb(){
  115. clog("html_rld_cb!")
  116. }
  117. function html_rld_cb2(){
  118. clog("html_rld_cb2!",this,[...arguments])
  119. }
  120. function html_rld_cb3(){
  121. clog("html_rld_cb3!",this,[...arguments])
  122. }
  123. function html_rld_cb4(rsp,status,xhr){
  124. clog("html_rld_cb4!",this,[...arguments])
  125. // window[this.success_js](rsp,status,xhr)
  126. window[xhr.file.success_js](rsp,status,xhr)
  127. }
  128. function register_rld(file){
  129. clog("RR",file)
  130. file.cached = rls[file.url]
  131. rldi.files[file.url] = file
  132. }
  133. window.qto_stop = 0
  134. window.qto_cnt = 0
  135. function qto_init(){
  136. window.qto_stop = 0
  137. window.qto_cnt = 0
  138. // setTimeout(qto_stop_fn,1000)
  139. setTimeout(qto_stop_fn,100)
  140. qto()
  141. }
  142. function qto_stop_fn(){
  143. clog("qto_stop_fn")
  144. window.qto_stop =1
  145. }
  146. function qto(){
  147. clog("QTO",window.qto_cnt)
  148. // clog("QTO",window.qto_cnt,$(`script.rld[src^="ign/m/timer/m.js"]`))
  149. window.qto_cnt += 1
  150. if (!window.qto_stop){
  151. setTimeout(qto,1)
  152. }
  153. }
  154. // $(`script.rld[src^="ign/m/timer/m.js"]`).remove()
  155. // ign/m/timer/m.js
  156. // mtx ={js:["ign/m/timer/m.js"],css:["ign/m/timer/m.css"],html:["ign/m/timer/m.html"]}
  157. // 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,}]}
  158. // function
  159. function add_module(o){
  160. var k,v
  161. let file
  162. // qto_init()
  163. // file = jclone(api_dflts.css)
  164. for (k of o.css || []){
  165. if (typeof(k) == "string"){
  166. file = $.extend(true,{},api_dflts.css, {url:k})
  167. } else {
  168. file = $.extend(true,{},api_dflts.css, k)
  169. }
  170. // file = jclone(api_dflts.css)
  171. // file.url = k
  172. file.m = {mod:o.name}
  173. register_rld(file)
  174. insert_css(file)
  175. api_test[file.url]=file
  176. clog("~",k)
  177. }
  178. for (k of o.js || []){
  179. if (typeof(k) == "string"){
  180. file = $.extend(true,{},api_dflts.js, {url:k})
  181. } else {
  182. file = $.extend(true,{},api_dflts.js, k)
  183. }
  184. // file = jclone(api_dflts.js)
  185. // file.url = k
  186. file.m = {mod:o.name}
  187. register_rld(file)
  188. insert_js(file)
  189. api_test[file.url]=file
  190. clog("~",k)
  191. }
  192. for (k of o.html || []){
  193. if (typeof(k) == "string"){
  194. file = $.extend(true,{},api_dflts.html, {url:k})
  195. } else {
  196. file = $.extend(true,{},api_dflts.html, k)
  197. }
  198. // file = jclone(api_dflts.html)
  199. // file.url = k
  200. file.m = {mod:o.name}
  201. register_rld(file)
  202. api_test[file.url]=file
  203. clog("~",k)
  204. rfile = file
  205. get_cui_html(file)
  206. }
  207. }
  208. // jquery helper
  209. function add_node(n,rn,i) {
  210. $(rn)[i](n)
  211. }
  212. mod_path ="ign/rf/filmstrip_mod/"
  213. mtx ={
  214. // js:["ign/m/timer/m.js","ign/m/timer/m0.js"],
  215. js:[`${mod_path}m0.js`,`${mod_path}m.js`,],
  216. css:[`${mod_path}m.css`],
  217. html:[{url:`${mod_path}m.html`,diffH:get_cui_html,success:html_rld_cb4,success_js:"html_js_handler"}]
  218. }
  219. setTimeout(add_module,300,mtx)
  220. // add_module(mtx )