You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

m0.js 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. function mdev(argument) {
  2. // body...
  3. var z = $(".max-w-narrow > div > *")
  4. var n = glob_u.templates.tw_event_ui_parsed.find(".ext_insert_v0").clone()
  5. saftly_remove_v2(".ext_insert_v0")
  6. z.addClass("hover_tag")
  7. var list_root = $(".max-w-narrow")
  8. list_root[0].onclick = quick_click
  9. // $(".max-w-narrow").keydown(quick_key)
  10. // list_root[0].onkeydown = quick_key
  11. // list_root[0].onkeyup = quick_key2
  12. add_node(n,z,"prepend")
  13. clog()
  14. set_all_ev_node_data()
  15. }
  16. function get_result_nodes(node,event){
  17. var r = {}
  18. var data = {}
  19. var n = $(node)
  20. // r.title = n.find("h2")[0].innerHTML
  21. r.title = n.find("h2")[0]
  22. r.time = n.find("time")[0]
  23. r.lnk = n.find("#event-card-in-search-results")[0]
  24. data.event_url = r.lnk.href.split("?")[0]
  25. return {data,r}
  26. }
  27. function get_results_data(node,event){
  28. clog("")
  29. clog("get_results_data",node)
  30. var n = $(node)
  31. var r = {}
  32. r.title = n.find("h2")[0].innerHTML
  33. // r.time = n.find("time")[0].innerHTML
  34. // if
  35. clog("title",(n.find("h2")),n.find("h2")[0].innerHTML)
  36. // clog("title",(n.find("h2")),n.find("h2")[0].textContent)
  37. clog("time",(n.find("time")))
  38. clog(r)
  39. return r
  40. }
  41. // !DUPLECATE
  42. function set_default_event_element(key){
  43. if (!msto.conference.elist.m[key]){
  44. msto.conference.elist.m[key] = {
  45. event_url:"",
  46. stag:"",
  47. }
  48. } else {
  49. }
  50. return msto.conference.elist.m[key]
  51. }
  52. // for css
  53. function set_ev_node_data(node){
  54. var o = get_result_nodes(node)
  55. var evo = msto.conference.elist.m[o.data.event_url]
  56. if (evo){
  57. node.dataset.stag = evo.stag
  58. }
  59. }
  60. function set_all_ev_node_data(){
  61. var j
  62. for (j of $(".max-w-narrow>div>div")){
  63. set_ev_node_data(j)
  64. }
  65. }
  66. // e3
  67. function edit_elist_evh(o,ev){
  68. var edata = get_result_nodes(o.ev_root,ev)
  69. clog(edata)
  70. clog("edit_elist_evh:",{o,ev,edata})
  71. // clog("1",edata.data)a
  72. // clog("2",edata.r)
  73. var evo = set_default_event_element(edata.data.event_url)
  74. // ev.target.dataset.ax : o.action
  75. if (o.action == evo.stag && evo.stag == "rmv" ){
  76. evo.stag = ""
  77. } else {
  78. evo.stag = o.action
  79. }
  80. set_ev_node_data(o.ev_root)
  81. }
  82. function quick_click(ev){
  83. var evh_node = $(ev.target).parents(".evh_tag")
  84. if (!evh_node.length){return}
  85. clog("QC??????",ev,ev.target)
  86. var j_target = $(ev.target)
  87. if (j_target.hasClass("ui_tile")){
  88. clog("UI..",evh_node.parent())
  89. switch(ev.target.dataset.ax) {
  90. case "q":
  91. get_results_data(evh_node[0].parentNode,ev)
  92. break;
  93. case "add":
  94. case "rmv":
  95. edit_elist_evh({action:ev.target.dataset.ax,ev_root:evh_node[0].parentNode,tdata:ev.target.dataset},ev)
  96. break;
  97. default:
  98. }
  99. }
  100. }
  101. function idk_init_later(){
  102. clog("idk_init_later")
  103. setTimeout(mdev,0)
  104. }
  105. function idk_init(){
  106. clog("idk_init")
  107. reinit_template()
  108. glob_u.cb.ws.reg_cb(idk_init_later,"WS_MSTO_INITED","init_msto_ev_list")
  109. mdev()
  110. }
  111. // onkeyup = quick_key2
  112. // onkeyup = null
  113. // onkeydown = null
  114. // onkeypress = quick_key2
  115. addEventListener("load",idk_init)
  116. glob_u.tvar.cnt = 0
  117. // set_all_ev_node_data()
  118. //
  119. // window.bodge_rfile ? bodge_rfile(`/ign/browser_ext/tw_ixt/tw_event_ui.html`,`/ign/browser_ext/tw_ixt/m0.js`):clog("NO BODGE RFILE")
  120. // glob_u.rrefs.evh_pairs = window.glob_u.rrefs.evh_pairs || new Map()
  121. mdev()
  122. // z0.nextElementSibling.scrollIntoView()
  123. // scrollBy(0,-500)
  124. // clog("mdev_end-")
  125. // clog("mdev_end?",glob_u)
  126. // z=$(".max-w-narrow>div>div")[0]
  127. // get_results_data(z)