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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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. var port = location.port || "5000"
  29. // location.protocol ?
  30. var o = {
  31. include_participants_data:1,
  32. include_ws_channel_data:1, // required for participants_data to work
  33. // 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
  34. AutoReconnect:false,
  35. // the following options attributes
  36. url:'wss://' + window.location.hostname +`/djc_srv/ws/chat/${room_name}`,
  37. url: `wss://${location.hostname}:${port}/echo_c1${location.search}`,
  38. url: `${ws_protocol}//${location.hostname}:${port}/echo_c1${location.search}`,
  39. // url: `${ws_protocol}//${location.hostname}:5000/echo${location.search}`,
  40. // url: `${ws_protocol}//${location.hostname}:5000/echo_all${location.search}`,
  41. // o.url =
  42. socket_name:"ws1",
  43. ord:glob_u.cb.ws,
  44. methods:{
  45. onmessage:fns.onmessage,
  46. onclose:fns.onclose,
  47. onerror:fns.onerror,
  48. onopen:fns.onopen,
  49. },
  50. fns:{
  51. },
  52. }
  53. var socket = window.glob_u.fns.connect_ws(o)
  54. // clog({socket})
  55. }
  56. // if
  57. window.dev_flag = 1
  58. addEventListener("load",html_info)
  59. addEventListener("load",ds_test2)
  60. function update_ui(o,scope,info){
  61. var clog =console.log
  62. clog("update_ui",{o,scope,info})
  63. // hard coding stuff that will probably change here
  64. switch(info.hkey) {
  65. case "WS_OPEN:":
  66. $("#jsyncdb_state").text("connecting...")
  67. break;
  68. case "WS_CLOSE:":
  69. $("#jsyncdb_state").text("disconnected")
  70. break;
  71. case "WS_MSTO_INITED":
  72. $("#jsyncdb_state").text("connected")
  73. break;
  74. default:
  75. }
  76. }
  77. // function get_room_name() {
  78. // // return "room/name"
  79. // return "room_name"
  80. // }
  81. glob_u.cb.ws.reg_cb(update_ui,"WS_OPEN:","update_ui")
  82. glob_u.cb.ws.reg_cb(update_ui,"WS_CLOSE:","update_ui")
  83. glob_u.cb.ws.reg_cb(update_ui,"WS_MSTO_INITED","update_ui")
  84. // addEventListener("load",db_display)
  85. // msto.example = {key:"val",z:"undefined"}
  86. // clog("??")