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.

_m_utils.js 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. if (!window.glob_mx){
  2. // window.glob_mx={}
  3. }
  4. function disp(o){
  5. APP.store.dispatch(o)
  6. }
  7. // default event handler this should match all events
  8. mhndlr_opt_null = {
  9. from: undefined,
  10. handler: "onAll",
  11. id: null,
  12. name: null,
  13. // "http://jitsi.org/jitmeet"
  14. ns: null,
  15. options: {matchBareFromJid: false, ignoreNamespaceFragment: false},
  16. type: null,
  17. user: true,
  18. cstr:"test"
  19. };
  20. mhndlr_opt_x = {
  21. cstr:"?",
  22. ns:"corner_mx",
  23. handler:mhndlr,
  24. }
  25. function add_handler_m(handler) {
  26. var phx = APP.connection.xmpp.connection._stropheConn.handlers[0].__proto__;
  27. var hxa=Object.create(phx)
  28. Object.assign(hxa,mhndlr_opt_null,handler)
  29. APP.connection.xmpp.connection._stropheConn.addHandlers.push(hxa)
  30. }
  31. function tmsgx(data,tag="div",attrs={}){
  32. // return
  33. var ns = {xmlns:"corner_mx"}
  34. var msg = $build("message",{ to: window.APP.conference._room.room.roomjid,
  35. type: 'groupchat',
  36. });
  37. var payload=JSON.stringify(data)
  38. Object.assign({},ns,attrs)
  39. msg.c(tag, payload,Object.assign({},ns,attrs)).up();
  40. // console.log("zzzz")
  41. APP.conference._room.room.connection.send(msg)
  42. }
  43. function tmsgx2(data,opt_arg={},attrs={}){
  44. // return
  45. dflt_opt = {
  46. tag:"code",
  47. type:"chat",
  48. to:window.APP.conference._room.room.roomjid,
  49. }
  50. var opt = Object.assign({},dflt_opt,opt_arg)
  51. var ns = {xmlns:"corner_mx"}
  52. var msg = $build("message",{ to: opt.to,
  53. type: opt.type,
  54. });
  55. var payload=JSON.stringify(data)
  56. Object.assign({},ns,attrs)
  57. msg.c(opt.tag, payload,Object.assign({},ns,attrs)).up();
  58. // console.log("zzzz")
  59. APP.conference._room.room.connection.send(msg)
  60. }
  61. function tmsgx3(data,opt_arg={},attrs={}){
  62. // return
  63. dflt_opt = {
  64. tag:"code",
  65. // type:"chat",
  66. to:window.APP.conference._room.room.roomjid,
  67. }
  68. var opt = Object.assign({},dflt_opt,opt_arg)
  69. clog("T:",data,opt,opt.type)
  70. if (!opt.type){
  71. clog("NO TYPE")
  72. opt.to == dflt_opt.to ? opt.type = "groupchat" : opt.type = "chat"
  73. }
  74. clog("T:",data,opt,opt.type)
  75. var ns = {xmlns:"corner_mx"}
  76. var msg = $build("message",{ to: opt.to,
  77. type: opt.type,
  78. // from: "nnnx@conference.jfidev.com/3db7bf15",
  79. // xtra: "nnnx@conference.jfidev.com/3db7bf15",
  80. });
  81. var payload=JSON.stringify(data)
  82. Object.assign({},ns,attrs)
  83. msg.c(opt.tag, payload,Object.assign({},ns,attrs)).up();
  84. // console.log("zzzz")
  85. APP.conference._room.room.connection.send(msg)
  86. }
  87. function mhndlr_rld_dflt(a0,a1,a2,a3,a4){
  88. clog("mhndlr... dflt")
  89. return true
  90. }
  91. if (!window.mhndlr_rld){
  92. window.mhndlr_rld = mhndlr_rld_dflt
  93. }
  94. function mhndlr(a0,a1,a2,a3,a4){
  95. // clog("MH!")
  96. setTimeout(window.mhndlr_rld,1,this,a0,a1,a2,a3,a4)
  97. return true
  98. }
  99. function init_mx(){
  100. clog("INITMX")
  101. add_handler_m(mhndlr_opt_x)
  102. // add_handler_m(mhndlr_opt_x_all)
  103. }
  104. // init_mx will be called once we join th confrence
  105. ifn_obj.init_conf_join.push(init_mx)