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.

215 lines
7.8 KiB

  1. var ABB_Web_Users;
  2. var ABB_Unity_Users;
  3. var ABB_Robotstudio_Users;
  4. var ABB_Rooms;
  5. var actualDraggingUnityUser;
  6. jQuery(function($)
  7. {
  8. var socket=io.connect();
  9. var $nickForm=$('#setNick');
  10. var $nickError=$('#nickError');
  11. var $nickBox=$('#nickname');
  12. var $users2=$('#users2');
  13. var $usersStations=$('#usersStations');
  14. var $usersUnity=$('#usersUnity');
  15. var $RSrooms=$('#RSrooms');
  16. var $messageForm=$('#send-message');
  17. var $messageBox=$('#message');
  18. var $chat=$('#chat');
  19. $nickForm.submit(function(e)
  20. {
  21. e.preventDefault();
  22. socket.emit('newuser',$nickBox.val(),function(data){
  23. if(data){
  24. $('#nickWrap').hide();
  25. $('#contentWrap').show();
  26. }else{
  27. $nickError.html('That username is already taken:Try Again!');
  28. }
  29. });
  30. $nickBox.val('');
  31. });
  32. $messageForm.submit(function(e)
  33. {
  34. e.preventDefault();
  35. socket.emit('sendmessage',$messageBox.val());
  36. $messageBox.val('');
  37. });
  38. socket.on('newmessage',function(data){
  39. $chat.append('<b>'+data.nick+':</b>'+data.msg+"<br/>");
  40. });
  41. socket.on('usernames',function(data){
  42. ABB_Web_Users=data.ABB_Web_Users;
  43. var jsonStr = JSON.stringify(data);
  44. var html='';
  45. /*for (i=0;i<jsonStr.length;i++){
  46. html+=jsonStr[i];
  47. }*/
  48. //html+=jsonStr[i];
  49. html="ABB_Web_Users: ";
  50. for(i=0; i<ABB_Web_Users.length; i++)
  51. {
  52. html+="<div class='nom'>" + ABB_Web_Users[i] + "</div>";
  53. }
  54. $users2.html(html);
  55. console.log(html);
  56. UpdateAllInfo();
  57. });
  58. socket.on('stationnames',function(data){
  59. ABB_Robotstudio_Users=data.ABB_Robotstudio_Users;
  60. var jsonStr = JSON.stringify(data);
  61. var html='';
  62. /*for (i=0;i<jsonStr.length;i++){
  63. html+=jsonStr[i]
  64. }*/
  65. //document.getElementById("usersStations").innerHTML = cars;
  66. html="ABB_Robotstudio_Users: ";
  67. for(i=0; i<ABB_Robotstudio_Users.length; i++)
  68. {
  69. html+="<div class='nom'>" + ABB_Robotstudio_Users[i] + "</div>";
  70. }
  71. $usersStations.html(html);
  72. console.log(html);
  73. UpdateAllInfo();
  74. });
  75. socket.on('Unitynames',function(data){
  76. ABB_Unity_Users=data.ABB_Unity_Users;
  77. var jsonStr = JSON.stringify(data);
  78. var html='';
  79. /*for (i=0;i<jsonStr.length;i++){
  80. html+=jsonStr[i]
  81. }*/
  82. //docuament.getElementById("usersStations").innerHTML = cars;
  83. html="ABB_Unity_Users: ";
  84. for(i=0; i<ABB_Unity_Users.length; i++)
  85. {
  86. html+="<div id='"+ABB_Unity_Users[i]+"' class='nom' draggable='true' ondragstart='drag(event, this.id)'>" + ABB_Unity_Users[i] + "</div>";
  87. }
  88. $usersUnity.html(html);
  89. console.log(html);
  90. UpdateAllInfo();
  91. });
  92. socket.on('rooms',function(data){
  93. ABB_Rooms=data.ABB_Rooms;
  94. var jsonStr = JSON.stringify(data);
  95. var html='';
  96. /*for (i=0;i<jsonStr.length;i++){
  97. html+=jsonStr[i]
  98. }*/
  99. html="ABB_Rooms: ";
  100. for(i=0; i<ABB_Rooms.length; i++)
  101. {
  102. html+="<div class='nom'>" + ABB_Rooms[i] + "</div>";
  103. }
  104. //document.getElementById("usersStations").innerHTML = cars;
  105. $RSrooms.html(html);
  106. console.log(html);
  107. UpdateAllInfo();
  108. });
  109. });
  110. function NoWindowsApanyo(){
  111. //ABB_Unity_Users=["uu1"];
  112. ABB_Rooms=["room1", "room2"];
  113. ABB_Robotstudio_Users=["rb1", "rb2"];
  114. UpdateUnityUsersAvailable();
  115. }
  116. function GenerateRandomId()
  117. {
  118. idgenerated=Math.random();
  119. idgenerated=idgenerated*100;
  120. idgenerated=Math.round(idgenerated);
  121. idgenerated=idgenerated.toString();
  122. return(idgenerated);
  123. }
  124. function OnLoadHTML(){
  125. var socket=io.connect();
  126. idg=GenerateRandomId();
  127. socket.emit('newuser',idg,function(data){});
  128. UpdateUnityUsersAvailable();
  129. }
  130. function UpdateUnityUsersAvailable(){
  131. if(ABB_Unity_Users!=undefined)
  132. {
  133. html="ABB_Unity_Users: ";
  134. for(i=0; i<ABB_Unity_Users.length; i++)
  135. {
  136. html+="<div id='"+ABB_Unity_Users[i]+"' class='nom' draggable='true' ondragstart='drag(event, this.id)'>" + ABB_Unity_Users[i] + "</div>";
  137. }
  138. document.getElementById('usersUnity').innerHTML=html;
  139. }
  140. }
  141. function UpdateAllInfo(){
  142. //NoWindowsApanyo();
  143. document.getElementById("systeminfo").innerHTML="";
  144. saux="";
  145. if(ABB_Rooms!=undefined)
  146. {
  147. saux+="System info<br>";
  148. for(i=0; i<ABB_Rooms.length; i++)
  149. {
  150. saux+="<div id='"+ABB_Rooms[i]+"' class='Room' ondrop='drop(event, this.id)' ondragover='allowDrop(event)'>" + ABB_Rooms[i];
  151. if(ABB_Robotstudio_Users!=undefined)
  152. {
  153. for(j=0; j<ABB_Robotstudio_Users.length; j++)
  154. {
  155. saux+=" <div class='Robotstudio_User'>" + ABB_Robotstudio_Users[j] + "</div>";
  156. }
  157. }
  158. /* if(ABB_Unity_Users!=undefined)
  159. {
  160. for(j=0; j<ABB_Unity_Users.length; j++)
  161. {
  162. saux+=" <div class='Unity_User'>" + ABB_Unity_Users[j] + "</div>";
  163. }
  164. }*/
  165. saux+="</div>";
  166. }
  167. }
  168. document.getElementById('systeminfo').innerHTML=saux;
  169. }
  170. function RemoveFromUnityUsersArray(unityusergiv){
  171. for(var i=0; i<ABB_Unity_Users.length; i++)
  172. {
  173. if(ABB_Unity_Users[i]==unityusergiv)
  174. {
  175. ABB_Unity_Users.splice(i, 1);
  176. }
  177. }
  178. }
  179. function allowDrop(ev) {
  180. ev.preventDefault();
  181. }
  182. function drag(ev, idUnityUser) {
  183. ev.dataTransfer.setData("text", ev.target.id);
  184. actualDraggingUnityUser=idUnityUser;
  185. }
  186. function drop(ev, idRoom) {
  187. ev.preventDefault();
  188. cont="";
  189. cont+="<div id='"+ actualDraggingUnityUser +"' class='nom'>" + actualDraggingUnityUser + "</div>";
  190. document.getElementById(idRoom).innerHTML+=cont;
  191. RemoveFromUnityUsersArray(actualDraggingUnityUser);
  192. UpdateUnityUsersAvailable();
  193. //AQUÍ LA FUNCIÓ DE QUE UN UNITY ES CONECTA A UN ROOM:
  194. UnityToRoom(idRoom, actualDraggingUnityUser);
  195. }
  196. function UnityToRoom(room, unity){
  197. //funció de quan un unity es conecta a un room
  198. //aqí lu del socet emit cap al server avisant de que el unity està a la room
  199. //a la variable room i a la variable unity hi tens la info de quin unity es conecta a quin room
  200. alert("El user: " + unity + " es conecta a la room: " + room);
  201. //aqí pots posar la info de qin unityuser es conecta a qina room a una array o algu
  202. }