Advertisement
Guest User

Untitled

a guest
Nov 13th, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.19 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js" type="text/javascript"></script>
  5. <link rel="stylesheet" href="client.css">
  6. </head>
  7. <body>
  8. <div class="container">
  9. <div id = "sidebar"> <!-- sidebar for list of usernames for private chat -->
  10. <p>test hello</p>
  11. </div> <!-- end username sidebar -->
  12. <div id = "createroom">
  13. <label>Create Room <input type = "text" id = "createdroom" /></label>
  14. <!--<label>Create Password for Room (Optional) <input type ="text" id = "password" /></label>
  15. <button onclick= "createPrivateRoom()">Make Private Room</button></br>-->
  16. <!-- <button id= "create" onclick = "createRoom">Make Public Room</button></br>-->
  17. <button id= "create">Make Public Room</button></br>
  18. </div>
  19. <div id = "message">
  20. <input type="text" id="message_input"/>
  21. <button onclick="sendMessage()">send</button></br>
  22. </div>
  23.  
  24. <!-- <div hidden id= "rooms"> -->
  25. <label>Click these buttons to join each room</label>
  26. <div id= "rooms">
  27. <!-- <label>Join a Room: <input type = "text" id = "room" /></label> -->
  28. <br/>
  29.  
  30. </div>
  31. <div id="createdRooms" > </div>
  32. <div id="chatlog"></div>
  33. </div>
  34. </body>
  35. </html>
  36. <script src="/socket.io/socket.io.js"></script>
  37.  
  38. <script type ="text/javascript">
  39.  
  40. var socketio = io.connect();
  41. // class room {
  42. // constructor(name, owner, password) {
  43. // this.name = name;
  44. // this.owner= owner;
  45. // this.password= password;
  46. // }};
  47. document.getElementById("create").addEventListener("click", createRoom());
  48. var roomList = {
  49. rooms: [ {
  50. users: [],
  51. messages: [],
  52. name: "Home",
  53. owner: "",
  54. public: true,
  55. password: "",
  56. }]
  57. };
  58. var publicChatRooms = [];
  59. var privateChatRooms = {};
  60. var username = "";
  61. var newRoom = "";
  62. var currentRoom= "";
  63.  
  64.  
  65.  
  66. socketio.on("connect", function(data) {
  67. username = prompt("Enter Username");
  68. currentRoom = "Home";
  69. console.log("connecting");
  70. socketio.emit("addUser", username);
  71. });
  72.  
  73. socketio.on("message_to_client",function(data) {
  74. //Append an HR thematic break and the escaped HTML of the new message
  75. document.getElementById("chatlog").appendChild(document.createElement("hr"));
  76. document.getElementById("chatlog").appendChild(document.createTextNode(data['username']+": "+data['message']));
  77. });
  78. socketio.on("username",function(data) {
  79. document.getElementById("username").appendChild(document.createTextNode(data['username']));
  80. console.log(data['username']);
  81. });
  82. socketio.on("addRoom", function(data) {
  83. //document.getElementById("rooms").appendChild(document.createTextNode(data['name']));
  84. var button = document.createElement("input");
  85. button.type= "button";
  86. button.value= data["name"];
  87. button.setAttribute("id", data["name"]);
  88. // button.addEventListener = "moveUserToRoom()"
  89. document.getElementById("rooms").hidden = false;
  90. document.getElementById("rooms").appendChild(button)
  91.  
  92.  
  93. });
  94. socketio.on('updateRooms', function(roomArray, roomNumber) {
  95. console.log("updating rooms");
  96. roomList = roomArray;
  97. var roomButtons = '';
  98. for (let i=0; i<roomList.rooms.length; i++) {
  99. roomButtons += '<div><button>'+roomList.rooms[i].name+'</button></div>';
  100. }
  101. document.getElementById("rooms").innerHTML= roomButtons;
  102.  
  103.  
  104. console.log(roomArray);
  105. console.log(roomNumber);
  106. for (var i=0; i<roomList.rooms[roomNumber].messages.length; i++) {
  107. var p= document.createElement("p")
  108. var text= document.createTextNode(roomList.rooms[roomNumber].messages[i]);
  109. p.appendChild(text);
  110. document.getElementById("chatlog").appendChild(p);
  111. console.log(roomList.rooms[roomNumber].messages[i])
  112. //console.log(roomList.rooms[0].messages);
  113. }
  114. });
  115. function showUsers(roomList) {
  116. var string = "";
  117. for (var i=0; i<roomList.rooms.length; i++) {
  118. string += roomList.rooms[i].name + ": ";
  119. for (var j=0; j<roomList.rooms[i].users.length; j++) {
  120. string += roomList.rooms[i].users[j] + " ";
  121. }
  122. string += "\n";
  123. }
  124. document.getElementById("chatlog").appendChild(string);
  125. }
  126. // for(var i = 0; roomList.rooms[roomNumber].users.length; i++){
  127. // console.log(roomList.rooms[roomNumber].users[i])
  128. // }
  129. // console.log(roomList.rooms[roomNumber].users[0])
  130.  
  131.  
  132. // socketio.on('moveUser', function(data) {
  133. // console.log('joining room', createdRoom);
  134. // socket.join("createdRoom");
  135. // });
  136.  
  137. function sendMessage(){
  138. var msg = document.getElementById("message_input").value;
  139. //var username= document.getElementById("username").value;
  140. socketio.emit("message_to_server", {message:msg, username:username});
  141. document.getElementById("message_input").value = "";
  142. }
  143. function createRoom(){
  144. var room = document.getElementById("createdroom").value;
  145. socketio.emit("create_room", {name:room, owner:username});
  146. document.getElementById("createdroom").value="";
  147.  
  148.  
  149. }
  150.  
  151.  
  152. // function moveUserToRoom(){
  153. // document.getElementById("message").hidden=false;
  154. // document.getElementById("chatlog").hidden=false;
  155. //
  156. // };
  157. //
  158. // function createPrivateRoom(){
  159. // createdRoom= document.getElementById("createdroom").value;
  160. // password = document.getElementById("password").value;
  161. // roomList.push({name:createdRoom, owner:username, public: false, password:password});
  162. // socketio.emit("addRoom_server", {name:createdRoom, owner:username, public: false, password:prompt("Enter password:")});
  163. // document.getElementById("message").hidden=false;
  164. // document.getElementById("chatlog").hidden=false;
  165. // console.log(createdRoom);
  166. // console.log("");
  167. // let roomDiv= document.createElement("div");
  168. // for (let i=0; i<roomList.length; i++) {
  169. // document.getElementById("rooms").appendChild(roomDiv)
  170. // }
  171. // console.log(roomList);
  172. // console.log(createdRoom);
  173. // console.log("addRoom_server");
  174. // console.log();
  175. //
  176. // }
  177. // function createPublicRoom(){
  178. // var createdRoom= document.getElementById("createdroom").value;
  179. // document.getElementById("message").hidden=false;
  180. // document.getElementById("chatlog").hidden=false;
  181. // //parsedRooms.rooms.push({"name":createdRoom, "users":[], "public": true});
  182. // socketio.emit("addRoom_server", {name:createdRoom, owner:username, public: true, password: ""});
  183. // console.log(roomList);
  184. // console.log(createdRoom);
  185. // console.log();
  186. //
  187. // var linebr = document.createElement('br');
  188. // var roomButton = document.createElement('button');
  189. // var text = document.createTextNode(createdRoom);
  190. // roomButton.appendChild(text);
  191. // document.getElementById("rooms").appendChild(roomButton);
  192. // document.getElementById("rooms").appendChild(linebr);
  193. // let roomDiv= document.createElement("div");
  194. // for (let i=0; i<roomList.length; i++) {
  195. // document.getElementById("rooms").appendChild(roomDiv)
  196. // }
  197. //
  198. // }
  199. // ;
  200.  
  201.  
  202.  
  203.  
  204.  
  205. </script>
  206.  
  207. <!-- </head>
  208. <body>
  209. <div class="container">
  210. <div id = "sidebar"> <!-- sidebar for list of usernames for private chat -->
  211. <!-- <p>test hello</p>
  212. </div> <!-- end username sidebar -->
  213. <!-- <div id = "createroom">
  214. <label>Create Room <input type = "text" id = "createdroom" /></label> --> -->
  215. <!--<label>Create Password for Room (Optional) <input type ="text" id = "password" /></label>
  216. <button onclick= "createPrivateRoom()">Make Private Room</button></br>-->
  217. <!-- <button (id= create) onclick = "createRoom">Make Public Room</button></br>
  218. </div>
  219. <div id = "message">
  220. <input type="text" id="message_input"/>
  221. <button onclick="sendMessage()">send</button></br>
  222. </div> -->
  223.  
  224. <!-- <div hidden id= "rooms"> -->
  225. <!-- <label>Click these buttons to join each room</label>
  226. <div id= "rooms"> -->
  227. <!-- <label>Join a Room: <input type = "text" id = "room" /></label> -->
  228. <!-- <br/>
  229.  
  230. </div>
  231. <div id="createdRooms" > </div>
  232. <div id="chatlog"></div>
  233. </div>
  234. </body>
  235. </html> --> -->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement