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.

jsync_demo.js 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. function html_info(){
  2. var get_room_name = window.get_room_name || glob_u.fns.get_room_name
  3. window?.rldi?.setint?.(400)
  4. var domain_prefix = location.hostname.split(".").slice(0,-2).join(".")
  5. var root_div= document.querySelector("#root_div")
  6. root_div.innerHTML=""
  7. var n =document.createElement("SPAN",{})
  8. n.innerHTML = `<div>${domain_prefix}</div><div>room name: ${get_room_name()}</div>
  9. <div><span>jsyncdb:</span><span id="jsyncdb_state">uninitialized</span></div>
  10. `
  11. root_div.append(n)
  12. }
  13. function ds_test2(){
  14. // clog("ds_test2!")
  15. // window.ds_test ?ds_test():glob_u.fns.ds_test()
  16. jsyncdb_init_helper()
  17. // glob_u.fns.ds_test
  18. // ds_test()
  19. }
  20. //
  21. function jsyncdb_init_helper(){
  22. // clog("WS_HELPER")
  23. var fns = window.glob_u.ws.fns
  24. var room_name=glob_u.fns.get_room_name()
  25. // z2="z"
  26. let ws_protocol = "wss:"
  27. location.protocol == "https:" ? "was already set to wss:" : ws_protocol = "ws:"
  28. // location.protocol ?
  29. var o = {
  30. include_participants_data:1,
  31. include_ws_channel_data:1, // required for participants_data to work
  32. // msto.participants and msto.ws_channels will be defined in either case so we don't need to handle cases where some users enable this and some don't
  33. AutoReconnect:false,
  34. // the following options attributes
  35. url:'wss://' + window.location.hostname +`/djc_srv/ws/chat/${room_name}`,
  36. url: `wss://${location.hostname}:5000/echo_c1${location.search}`,
  37. url: `${ws_protocol}//${location.hostname}:5000/echo_c1${location.search}`,
  38. url: `${ws_protocol}//${location.hostname}:5000/echo${location.search}`,
  39. url: `${ws_protocol}//${location.hostname}:5000/echo_all${location.search}`,
  40. // o.url =
  41. socket_name:"ws1",
  42. ord:glob_u.cb.ws,
  43. methods:{
  44. onmessage:fns.onmessage,
  45. onclose:fns.onclose,
  46. onerror:fns.onerror,
  47. onopen:fns.onopen,
  48. },
  49. fns:{
  50. },
  51. }
  52. var socket = window.glob_u.fns.connect_ws(o)
  53. // clog({socket})
  54. }
  55. // if
  56. window.dev_flag = 1
  57. addEventListener("load",html_info)
  58. addEventListener("load",ds_test2)
  59. function update_ui(o,scope,info){
  60. var clog =console.log
  61. clog("update_ui",{o,scope,info})
  62. // hard coding stuff that will probably change here
  63. switch(info.hkey) {
  64. case "WS_OPEN:":
  65. $("#jsyncdb_state").text("connecting...")
  66. break;
  67. case "WS_CLOSE:":
  68. $("#jsyncdb_state").text("disconnected")
  69. break;
  70. case "WS_MSTO_INITED":
  71. $("#jsyncdb_state").text("connected")
  72. break;
  73. default:
  74. }
  75. }
  76. // function get_room_name() {
  77. // // return "room/name"
  78. // return "room_name"
  79. // }
  80. glob_u.cb.ws.reg_cb(update_ui,"WS_OPEN:","update_ui")
  81. glob_u.cb.ws.reg_cb(update_ui,"WS_CLOSE:","update_ui")
  82. glob_u.cb.ws.reg_cb(update_ui,"WS_MSTO_INITED","update_ui")
  83. // addEventListener("load",db_display)
  84. // msto.example = {key:"val",z:"undefined"}
  85. // clog("??")