roster.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. console.log(id);
  15. try{removeOnlineUser(id)}catch(ex){}
  16. addOnlineUser(id,name+" "+surname,"insertTop");
  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. try{removeOnlineUser(id)}catch(ex){}
  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. onlineHover();
  32. mouseWheelHandler({'detail':5,'wheelDelta':5});
  33. onlineHoverOut();
  34. document.getElementById("Online-List").style.display = '';
  35. });
  36. scope.apiProvider.on("roster_group", function (x) {
  37. var e = {detail: x.detail.json, raw: x.detail.bert};
  38. var list = dec(e.raw).value[0][1];
  39. for (var i=0;i<list.length;i++) {
  40. var item = list[i],
  41. id = item.value[0][0].value,
  42. names = item.value[0][1].value,
  43. surnames = item.value[0][2].value;
  44. addOnlineUser(id,names+" "+surnames+ " "+user_count++,'appendChild');
  45. }
  46. });
  47. }