|
| 1 | +/** |
| 2 | + * Set cookie |
| 3 | + * |
| 4 | + * @param name |
| 5 | + * @param value |
| 6 | + * @param expiresDay |
| 7 | + */ |
| 8 | +function setCookie(name, value, expiresDay) { |
| 9 | + const d = new Date(); |
| 10 | + d.setTime(d.getTime() + (expiresDay * 24 * 60 * 60 * 1000)); |
| 11 | + let expires = "expires=" + d.toUTCString(); |
| 12 | + |
| 13 | + document.cookie = name + "=" + value + ";" + expires + ";path=/"; |
| 14 | +} |
| 15 | + |
| 16 | +/** |
| 17 | + * Get cookie |
| 18 | + * |
| 19 | + * @param name |
| 20 | + * @returns {string} |
| 21 | + */ |
| 22 | +function getCookie(name) { |
| 23 | + let cookieName = name + "="; |
| 24 | + let ca = document.cookie.split(";"); |
| 25 | + for (let i = 0; i < ca.length; i++) { |
| 26 | + let c = ca[i]; |
| 27 | + while (c.charAt(0) === " ") { |
| 28 | + c = c.substring(1); |
| 29 | + } |
| 30 | + if (c.indexOf(cookieName) === 0) { |
| 31 | + return c.substring(cookieName.length, c.length); |
| 32 | + } |
| 33 | + } |
| 34 | + |
| 35 | + return ""; |
| 36 | +} |
| 37 | + |
| 38 | +/** |
| 39 | + * Add message to existing ones on chat |
| 40 | + * |
| 41 | + * @param messageHTML |
| 42 | + */ |
| 43 | +function showMessage(messageHTML) { |
| 44 | + $("#output").append(messageHTML); |
| 45 | +} |
| 46 | + |
| 47 | +function handleChat() { |
| 48 | + let webSocket = new WebSocket("ws://localhost:9090"); |
| 49 | + |
| 50 | + webSocket.onopen = function (event) { |
| 51 | + showMessage("<small class='text-success'>Successfully entered the room...</small>"); |
| 52 | + }; |
| 53 | + |
| 54 | + webSocket.onmessage = function (event) { |
| 55 | + let data = JSON.parse(event.data); |
| 56 | + showMessage("<p>" + data.message + "</p>"); |
| 57 | + $("#message").val(""); |
| 58 | + }; |
| 59 | + |
| 60 | + webSocket.onerror = function (event) { |
| 61 | + showMessage("<small class='text-danger'>Problem due to some Error!</p>"); |
| 62 | + }; |
| 63 | + |
| 64 | + webSocket.onclose = function (event) { |
| 65 | + showMessage("<small class='text-success'>Connection Closed</small>"); |
| 66 | + }; |
| 67 | + |
| 68 | + $("#chat-submit").on("click", function (event) { |
| 69 | + event.preventDefault(); |
| 70 | + let messageJSON = { |
| 71 | + name: $("#client-name").val(), |
| 72 | + message: $("#message").val() |
| 73 | + }; |
| 74 | + webSocket.send(JSON.stringify(messageJSON)); |
| 75 | + }); |
| 76 | +} |
| 77 | + |
1 | 78 | $(document).ready(function () { |
2 | 79 | /** |
3 | 80 | * Start summernote if needed |
@@ -44,7 +121,7 @@ $(document).ready(function () { |
44 | 121 | * for form and blog-create-submit for it"s button. Form"s buttons |
45 | 122 | * need to have constant form-button class. |
46 | 123 | */ |
47 | | - body.on("click", ".form-button", function(event) { |
| 124 | + body.on("click", ".form-button", function (event) { |
48 | 125 | let elementId = $(this).attr("id"); |
49 | 126 | elementId = elementId.replace("-submit", ""); |
50 | 127 |
|
@@ -139,41 +216,8 @@ $(document).ready(function () { |
139 | 216 | } |
140 | 217 | }); |
141 | 218 | }); |
142 | | -}); |
143 | | - |
144 | | -/** |
145 | | - * Set cookie |
146 | | - * |
147 | | - * @param name |
148 | | - * @param value |
149 | | - * @param expiresDay |
150 | | - */ |
151 | | -function setCookie(name, value, expiresDay) { |
152 | | - const d = new Date(); |
153 | | - d.setTime(d.getTime() + (expiresDay * 24 * 60 * 60 * 1000)); |
154 | | - let expires = "expires="+d.toUTCString(); |
155 | | - |
156 | | - document.cookie = name + "=" + value + ";" + expires + ";path=/"; |
157 | | -} |
158 | 219 |
|
159 | | -/** |
160 | | - * Get cookie |
161 | | - * |
162 | | - * @param name |
163 | | - * @returns {string} |
164 | | - */ |
165 | | -function getCookie(name) { |
166 | | - let cookieName = name + "="; |
167 | | - let ca = document.cookie.split(";"); |
168 | | - for(let i = 0; i < ca.length; i++) { |
169 | | - let c = ca[i]; |
170 | | - while (c.charAt(0) === " ") { |
171 | | - c = c.substring(1); |
172 | | - } |
173 | | - if (c.indexOf(cookieName) === 0) { |
174 | | - return c.substring(cookieName.length, c.length); |
175 | | - } |
| 220 | + if (window.location.pathname === "/websocket") { |
| 221 | + handleChat(); |
176 | 222 | } |
177 | | - |
178 | | - return ""; |
179 | | -} |
| 223 | +}); |
0 commit comments