Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. vertxhandler.js
  2.  
  3. window.onload = function () {
  4. var eventBus = new vertx.EventBus("http://localhost:8080/chat");
  5. var userName = document.querySelector("input[name=userName]");
  6. var password = document.querySelector("input[name=password]");
  7. var userListContainer = document.getElementById("userListContainer");
  8. var chatContainer = document.getElementById("chatContainer");
  9. var chatHistory = document.getElementById("chatHistory");
  10. var newChat = document.getElementById("newChat");
  11.  
  12. eventBus.onopen = function () {
  13. eventBus.registerHandler("users/signedIn", function (message) {
  14. userListContainer.innerHTML += message.userName + " signed in<br/>";
  15. });
  16. document.getElementById("signIn").addEventListener("click", function (event) {
  17. eventBus.send("users/signIn", {
  18. userName: userName.value, password: password
  19. }, function (reply) {
  20. if (reply.status === 200) {
  21. userName.disabled = true;
  22. event.target.disabled = true;
  23. chatContainer.classList.remove("hidden");
  24.  
  25. document.getElementById("sendChat").addEventListener("click", function () {
  26. var text = newChat.value;
  27. if (text.substring(0, 1) === ".") {
  28. var args = text.split(' ');
  29. eventBus.send("commands/perform", {
  30. userName: userName.value,
  31. command: args[0],
  32. arg1: args[1]
  33. });
  34. }
  35. eventBus.send("messages/post", {
  36. userName: userName.value,
  37. text: text
  38. });
  39. newChat.value = "";
  40. }, false);
  41.  
  42. eventBus.registerHandler("messages/posted", function (message) {
  43. chatHistory.innerHTML += message.userName + ": " + message.text + "<br/>";
  44. });
  45. }
  46. });
  47. }, false);
  48.  
  49. };
  50. };
  51.  
  52. ---------------------------------------------------------------------------
  53. index.html
  54.  
  55. <!DOCTYPE html>
  56. <html>
  57. <script src="http://cdn.sockjs.org/sockjs-0.3.4.min.js"></script>
  58. <script src="vertxbus.min.js"></script>
  59. <script src="vertxhandler.js"></script>
  60. <style>
  61. .hidden {
  62. display: none;
  63. }
  64. </style>
  65. <body>
  66. <h1>Vertx Chat</h1>
  67.  
  68. <div id="signInContainer">
  69. <h2>Sign in</h2>
  70. <p>
  71. Name: <input type="text" name="userName" /> <br></br>
  72. Password: <input type="text" name="password" /> <button id="signIn">Start chatting</button>
  73. </p><br></br>
  74. </div>
  75.  
  76. <div id="userListContainer"></div>
  77.  
  78. <div id="chatContainer" class="hidden">
  79. <h2>Chat</h2>
  80. <div id="chatHistory"></div>
  81. <input type="text" id="newChat" /> <button id="sendChat">Send</button>
  82. </div>
  83. </body>
  84. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement