diff --git a/pages/css/style.css b/pages/css/style.css
index 3f825f9..ccb3f05 100644
--- a/pages/css/style.css
+++ b/pages/css/style.css
@@ -12,6 +12,10 @@ body {
border-style: solid;
border-width: 2px;
color: #ff0000;
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ width: 100%;
}
#successmsg {
@@ -24,7 +28,7 @@ body {
#sidebar {
float: right;
- width: 300px;
+ width: 20%;
}
#loginregisterbox {
@@ -34,9 +38,10 @@ body {
#usercontent {
margin: auto;
- width: -moz-calc(100% - 600px);
+ /*width: -moz-calc(100% - 600px);
width: -webkit-calc(100% - 600px);
- width: calc(100% - 600px);
+ width: calc(100% - 600px);*/
+ width: 60%;
height: 100%;
}
diff --git a/pages/index.html b/pages/index.html
index da8bce9..a03ab85 100644
--- a/pages/index.html
+++ b/pages/index.html
@@ -8,6 +8,11 @@
+
diff --git a/pages/js/message.js b/pages/js/message.js
index 055b3c0..5b26814 100644
--- a/pages/js/message.js
+++ b/pages/js/message.js
@@ -1,14 +1,30 @@
+var sendmsg = function sendmsg(msginputta) {
+ window.jsonobj = JSON.stringify({"message": msginputta.value, "conversation": window.convid});
+ console.log(window.jsonobj);
+ $.ajax({
+ url: "/message", data: window.jsonobj, method: "POST", success: respfunc, error: respfunc
+ });
+};
+
var respfunc = function respfunc(result) {
if (result != "Success") { //on success result is string
- var errormsg = document.getElementById("errormsg");
- errormsg.innerHTML = result.responseText;
- errormsg.style = "display: block";
+ var msginput = document.getElementById("msginput");
+ if (result.responseText == "JSONERROR") {
+ console.log("Got JSON error. Retrying...");
+ sendmsg(msginput);
+ }
+ else {
+ var errormsg = document.getElementById("errormsg");
+ errormsg.innerHTML = result.responseText;
+ errormsg.style = "display: block";
+ msginput.disabled = false;
+ }
}
else
location.reload(true);
};
-var sendmsgonenter = function sendmsgonenter(e) { //TODO: Detect Enter
+var sendmsgonenter = function sendmsgonenter(e) {
var code = e.keyCode || e.which;
if (code != 13 || e.shiftKey) { //Enter keycode
return;
@@ -17,12 +33,9 @@ var sendmsgonenter = function sendmsgonenter(e) { //TODO: Detect Enter
var textarea = event.target;
if (textarea.value.trim().length == 0)
return;
- textarea.disabled = true;
+ textarea.disabled = true; //msginput
window.convid = document.getElementById("convidp").innerText * 1;
- var json = JSON.stringify({"message": textarea.value, "conversation": window.convid});
- $.ajax({
- url: "/message", data: json, method: "POST", success: respfunc, error: respfunc
- });
+ sendmsg(textarea);
};
$(document).ready(function () {
diff --git a/src/io/github/norbipeti/chat/server/IOHelper.java b/src/io/github/norbipeti/chat/server/IOHelper.java
index 3a6a7b0..dcf5d87 100644
--- a/src/io/github/norbipeti/chat/server/IOHelper.java
+++ b/src/io/github/norbipeti/chat/server/IOHelper.java
@@ -91,7 +91,7 @@ public class IOHelper {
if (exchange.getRequestBody().available() == 0)
return null;
try {
- String content = IOUtils.toString(exchange.getRequestBody(), StandardCharsets.ISO_8859_1).trim();
+ String content = IOUtils.toString(exchange.getRequestBody(), StandardCharsets.ISO_8859_1);
JsonObject obj = new JsonParser().parse(content).getAsJsonObject();
return obj;
} catch (Exception e) {
diff --git a/src/io/github/norbipeti/chat/server/Main.java b/src/io/github/norbipeti/chat/server/Main.java
index 07d5e2e..81fa82a 100644
--- a/src/io/github/norbipeti/chat/server/Main.java
+++ b/src/io/github/norbipeti/chat/server/Main.java
@@ -38,7 +38,7 @@ public class Main {
gsonBuilder.registerTypeAdapter(new TypeToken
>() {
}.getType(), new LoaderCollectionSerializer());
gson = gsonBuilder.create();
- User user = new User();
+ /*User user = new User();
user.setName("asd");
user.setEmail("test@test.com");
User user2 = new User();
@@ -79,9 +79,9 @@ public class Main {
DataManager.save(user);
DataManager.save(user2);
DataManager.save(loggedinuser);
- DataManager.save(conversation);
+ DataManager.save(conversation);*/
- LogManager.getLogger().log(Level.INFO, "Starting webserver...");
+ LogManager.getLogger().log(Level.INFO, "Starting webserver..."); //TODO: Separate IDs for conversations and users
HttpServer server = HttpServer.create(new InetSocketAddress(InetAddress.getLocalHost(), 8080), 10);
Reflections rf = new Reflections(
new ConfigurationBuilder().setUrls(ClasspathHelper.forClassLoader(Page.class.getClassLoader()))
diff --git a/src/io/github/norbipeti/chat/server/page/IndexPage.java b/src/io/github/norbipeti/chat/server/page/IndexPage.java
index d38feec..be7962a 100644
--- a/src/io/github/norbipeti/chat/server/page/IndexPage.java
+++ b/src/io/github/norbipeti/chat/server/page/IndexPage.java
@@ -47,7 +47,7 @@ public class IndexPage extends Page {
cide.text(Long.toString(conv.getId()));
LogManager.getLogger().log(Level.INFO, "Messages: " + conv.getMesssages().size());
for (Message message : conv.getMesssages()) {
- Element msgelement = channelmessages.appendElement("div");
+ Element msgelement = channelmessages.appendElement("div"); //TODO: Save messages in conversation files
Element header = msgelement.appendElement("p");
header.text(message.getSender().getName() + " - " + message.getTime());
Element body = msgelement.appendElement("p");
diff --git a/src/io/github/norbipeti/chat/server/page/MessageAjaxPage.java b/src/io/github/norbipeti/chat/server/page/MessageAjaxPage.java
index 805c51a..368cba5 100644
--- a/src/io/github/norbipeti/chat/server/page/MessageAjaxPage.java
+++ b/src/io/github/norbipeti/chat/server/page/MessageAjaxPage.java
@@ -30,9 +30,12 @@ public class MessageAjaxPage extends Page {
}
JsonObject obj = IOHelper.GetPOSTJSON(exchange);
if (obj == null) {
- IOHelper.SendResponse(400,
- "400 Bad request
Not a JSON string!
" + IOHelper.GetPOST(exchange) + "
",
- exchange);
+ /*
+ * IOHelper.SendResponse(400,
+ * "400 Bad request
Not a JSON string!
" +
+ * IOHelper.GetPOST(exchange) + "
", exchange);
+ */
+ IOHelper.SendResponse(400, "JSONERROR", exchange);
return;
}
if (!obj.has("message") || !obj.has("conversation")) {
@@ -42,7 +45,7 @@ public class MessageAjaxPage extends Page {
exchange);
return;
}
- String message = obj.get("message").getAsString();
+ String message = obj.get("message").getAsString().trim();
int conversation = obj.get("conversation").getAsInt();
if (message.trim().length() == 0) {
IOHelper.SendResponse(400, "400 Bad request
The message cannot be empty.
", exchange);