roster.js 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. function RosterScope(scope)
  2. {
  3. function Roster(scope) { RosterHandlers(scope); }
  4. scope.Roster = Roster;
  5. }
  6. function RosterHandlers(scope) {
  7. scope.apiProvider.on("online_number", function(x) {
  8. var e = {detail: x.detail.json, raw: x.detail.bert};
  9. document.getElementById("Users-Online-Number").firstElementChild.textContent = e.detail.toString();
  10. });
  11. scope.apiProvider.on("online", function (x) {
  12. var e = {detail: x.detail.json, raw: x.detail.bert};
  13. var msg = e.detail, id = msg[0], name = msg[1], surname = msg[2];
  14. if (null != document.getElementById(id)) removeOnlineUser(id);
  15. addOnlineUser(id,name+" "+surname,"insertTop");
  16. if (currentChat == null) showOnlineList();
  17. });
  18. scope.apiProvider.on("offline", function (x) {
  19. var e = {detail: x.detail.json, raw: x.detail.bert};
  20. var msg = e.detail, id = msg[0], name = msg[1], surname = msg[2];
  21. if (null != document.getElementById(id)) removeOnlineUser(id);
  22. addOnlineUser(id,name+" "+surname,"appendChild");
  23. });
  24. scope.apiProvider.on("roster_item", function (x) {
  25. var e = {detail: x.detail.json, raw: x.detail.bert};
  26. var msg = e.detail, id = msg[0], name = msg[1], surname = msg[2];
  27. addOnlineUser(id,name+" "+surname,"appendChild");
  28. });
  29. scope.apiProvider.on("roster_end", function (x) {
  30. var e = {detail: x.detail.json, raw: x.detail.bert};
  31. if (currentChat == null) showOnlineList();
  32. });
  33. scope.apiProvider.on("chat_message", function (x) {
  34. var e = {detail: x.detail.json, raw: x.detail.bert};
  35. var from = dec(e.raw).value[0][1].value[0][0].value,
  36. names = dec(e.raw).value[0][1].value[0][1].value,
  37. to = dec(e.raw).value[0][2].value,
  38. message = dec(e.raw).value[0][3].value;
  39. chatMessage(currentChat,"1",from==document.user?"Self":from,utf8decode(message).encodeHTML());
  40. onlineHover();
  41. mouseWheelHandler({'detail':-10000,'wheelDelta':-10000});
  42. onlineHoverOut();
  43. });
  44. scope.apiProvider.on("chat_event", function(x) {
  45. var e = {detail: x.detail.json, raw: x.detail.bert};
  46. var gameId = dec(e.raw).value[0][1],
  47. name = dec(e.raw).value[0][2].value,
  48. message = dec(e.raw).value[0][3];
  49. if (name != document.names)
  50. {
  51. chatMessage("Chat","1",name==document.user?"Self":name,name+":\n"+utf8decode(message).encodeHTML());
  52. scroll_right = -10000;
  53. barHover();
  54. mouseWheelHandler({'detail':-10000,'wheelDelta':-10000});
  55. barHoverOut();
  56. }
  57. });
  58. scope.apiProvider.on("roster_group", function (x) {
  59. var e = {detail: x.detail.json, raw: x.detail.bert};
  60. var list = dec(e.raw).value[0][1];
  61. for (var i=0;i<list.length;i++) {
  62. var item = list[i],
  63. id = item.value[0][0].value,
  64. names = item.value[0][1].value,
  65. surnames = item.value[0][2].value;
  66. addOnlineUser(id,names+" "+surnames+" "+user_count++,'appendChild');
  67. }
  68. });
  69. }