Advertisement
Guest User

Untitled

a guest
Apr 26th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.87 KB | None | 0 0
  1. index.html
  2.  
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8" />
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  9. <title>Vert.X</title>
  10. <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
  11. <link rel="stylesheet" type="text/css" href="css/style.css" />
  12. <link rel="stylesheet" type="text/css" href="css/component.css" />
  13.  
  14. <!--[if IE]>
  15. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  16. <![endif]-->
  17. </head>
  18. <body>
  19. <div class="container">
  20. <header class="clearfix">
  21.  
  22. <a href="" class="navbar-brand"><img alt="Brand" width="162" src="img/logo-sm.png"></a>
  23.  
  24. </header>
  25. <div id="tabs" class="tabs">
  26. <nav>
  27. <ul>
  28. <li><a href="#section-1" class="login"><span>Login</span></a></li>
  29. <li><a id="register-btn" href="#section-2" class="Register"><span>Register</span></a></li>
  30. <li><a href="#section-3" class="Chat"><span>Chat</span></a></li>
  31.  
  32. </ul>
  33. </nav>
  34.  
  35. <div class="content">
  36. <section id="section-1">
  37.  
  38. <div class="mediabox">
  39. <h4>Login</h4>
  40. <input class="form-control" type="text" name="loginUserName" placeholder="User Name">
  41. <input class="form-control" type="password" name="loginPassword" placeholder="Password">
  42. <input class="btn" type="button" id="signIn" value="Submit">
  43. <p><a href="#section-2" id="register-link" role="tab" data-toggle="tab" style=" color: #782b90;"> click here to register</a></p>
  44. <div class="power">
  45. <span>Powered by Vert.x</span><img width="162" src="img/logo-sm.png ">
  46. </div>
  47. </div>
  48.  
  49. </section>
  50. <section id="section-2">
  51. <div class="mediabox">
  52. <h4>Register</h4>
  53. <form class="form">
  54. <input class="form-control" type="text" name="registerUserName" placeholder="User Name">
  55. <input class="form-control" type="text" name="registerEmail" placeholder="Email">
  56.  
  57. <input class="form-control" type="password" name="registerPassword" placeholder="Password">
  58. <input class="form-control" type="password" placeholder="Confirm Password">
  59.  
  60. <input class="btn" type="button" id="send-register" value="Submit">
  61. </form>
  62. <div class="power">
  63. <span>Powered by Vert.x</span><img width="162" src="img/logo-sm.png ">
  64. </div>
  65. </div>
  66.  
  67. </section>
  68. <section id="section-3" class="hidden" style="padding-left:0em;">
  69. <div class="chatbox" style=" ">
  70. <div class="container-fluid">
  71. <div class="row">
  72. <div class="col-md-2 col-xs-4 col-sm-2" id="usersOnlineContainer" style="border-right:1px solid #782b90; height:550px; padding-left:0px; padding-right:0px;overflow:auto;">
  73. Online users<br/>
  74. </div>
  75. <div class="col-md-10 col-xs-8 col-sm-10" style="padding-left:0em;">
  76.  
  77. <div class="container-fluid">
  78. <div class="row">
  79. <div class="col-md-12 col-sm-12 col-xs-12" style="margin-left:8px; margin-top:10px; padding-left:0px; padding-right:0px;overflow:scroll;display:block;height:550px;width:855px; ">
  80. <table class="table table-bordered" id="chatHistoryTable"></table>
  81. </div>
  82. </div>
  83. </div>
  84. <div class="container-fluid">
  85. <div class="row">
  86. <div class="col-md-12">
  87. <form class="form" style="margin-bottom:20px;">
  88. <div class="input-group">
  89. <input type="text" id="msg" class="form-control input-lg" aria-describedby="send-addon" required autofocus>
  90. <span style="color:#fff;background-color: #782b90; border-color: #782b90;" class="btn input-group-addon input-lg" id="send-addon">Send</span>
  91. </div>
  92. </form>
  93.  
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98.  
  99. <div class="chatpower" id="poweredBy1">
  100. <span>Powered by Vert.x</span><img width="162" src="img/logo-sm.png ">
  101. </div>
  102. </div>
  103.  
  104. </div>
  105.  
  106.  
  107.  
  108.  
  109. </div>
  110.  
  111. </section>
  112.  
  113.  
  114. </div><!-- /content -->
  115. </div><!-- /tabs -->
  116.  
  117. </div>
  118. <script src="js/vertx.js"></script>
  119.  
  120. <script>
  121. new CBPFWTabs(document.getElementById('tabs'));
  122. </script>
  123. <script src="js/jquery-1.10.2.js"></script>
  124. <script src="js/bootstrap.min.js"></script>
  125. <script src="http://cdn.sockjs.org/sockjs-0.3.4.min.js"></script>
  126. <script src="vertxbus.min.js"></script>
  127. <script src="vertxhandler.js"></script>
  128. </body>
  129. </html>
  130.  
  131.  
  132. vertxhandler.js
  133.  
  134. window.onload = function () {
  135. var eventBus = new vertx.EventBus("http://localhost:8080/chat");
  136. var loginUserName = document.querySelector("input[name=loginUserName]");
  137. var loginPassword = document.querySelector("input[name=loginPassword]");
  138. var registerUserName = document.querySelector("input[name=registerUserName]");
  139. var registerEmail = document.querySelector("input[name=registerEmail]");
  140. var registerPassword = document.querySelector("input[name=registerPassword]");
  141. var chatContainer = document.getElementById("section-3");
  142. var messageInput = document.getElementById("msg");
  143.  
  144. var userListContainer = document.getElementById("usersOnlineContainer");
  145.  
  146. eventBus.onopen = function () {
  147. eventBus.registerHandler("users/signedIn", function (message) {
  148. userListContainer.innerHTML += message.userName + " signed in<br/>";
  149. });
  150.  
  151. document.getElementById("signIn").addEventListener("click", function (event) {
  152. eventBus.send("users/signIn", {
  153. userName: loginUserName.value,
  154. password: loginPassword.value
  155. }, function (reply) {
  156. if (reply.status === 200) {
  157. loginUserName.disabled = true;
  158. loginPassword.disable = true;
  159. event.target.disable = true;
  160. chatContainer.classList.remove("hidden");
  161.  
  162. document.getElementById("send-addon").addEventListener("click", function () {
  163. var text = messageInput.value;
  164.  
  165. if (text.substring(0, 1) === ".") {
  166. var args = text.split(' ');
  167. eventBus.send("commands/perform", {
  168. userName: loginUserName.value,
  169. command: args[0],
  170. arg1: args[1]
  171. });
  172. } else {
  173. eventBus.send("messages/post", {
  174. userName: loginUserName.value,
  175. text: text
  176. });
  177. }
  178. messageInput.value = "";
  179. }, false);
  180.  
  181. eventBus.registerHandler("messages/posted", function (message) {
  182. var table = document.getElementById("chatHistoryTable");
  183.  
  184. var tr = document.createElement("tr");
  185. var td = document.createElement("td");
  186. var td2 = document.createElement("td");
  187. var txt = document.createTextNode("TIMESTAMP");
  188. var txt2 = document.createTextNode(message.userName + ": " + message.text);
  189.  
  190. td.appendChild(txt);
  191. td.className = "col-md-3 col-sm-3 col-xs-4";
  192. td2.appendChild(txt2);
  193. td2.className = "col-md-9 col-sm-9 col-xs-8";
  194. tr.appendChild(td);
  195. tr.appendChild(td2);
  196. table.appendChild(tr);
  197. });
  198.  
  199. }
  200. });
  201. });
  202.  
  203.  
  204. document.getElementById("send-register").addEventListener("click", function (event) {
  205. eventBus.send("users/register"), {
  206. userName: registerUserName.value,
  207. email: registerEmail.value,
  208. password: registerPassword.value
  209. }, function (reply) {
  210. if (reply.status === 200) {
  211.  
  212. } else if (reply.status === 120) {
  213.  
  214. }
  215. }
  216. }, false);
  217.  
  218.  
  219.  
  220.  
  221. };
  222. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement