m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMagdalena Grodzińska <mag.grodzinska@gmail.com>2019-11-19 19:22:13 +0100
committerMagdalena Grodzińska <mag.grodzinska@gmail.com>2019-11-19 19:27:32 +0100
commit89b3f1164af4d157a1419e203575fe9a56f25794 (patch)
tree9051f6a935137452031c628fc6ba9a84cd1d982b /src
parenteef8436d8e58623b431810471f92f12b20c87434 (diff)
Add working home page front-end
Diffstat (limited to 'src')
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java (renamed from src/main/java/pl/edu/mimuw/cloudatlas/client/Controller.java)9
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/client/Query.java4
-rw-r--r--src/main/resources/application.properties6
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/error.html10
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/fragments/navbar.html46
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/home.html24
6 files changed, 95 insertions, 4 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/client/Controller.java b/src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java
index 3b0ec63..ce3ee81 100644
--- a/src/main/java/pl/edu/mimuw/cloudatlas/client/Controller.java
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/client/ClientController.java
@@ -1,8 +1,8 @@
package pl.edu.mimuw.cloudatlas.client;
import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.stereotype.Controller;
/*
should enable reading attribute values stored by the agent
@@ -15,11 +15,12 @@ and presenting the information fetched from the agent in a textual form (with au
plotting the attributes with numeric values as real-time graphs.
*/
-@RestController
-public class Controller {
+@Controller
+public class ClientController {
@GetMapping("/")
public String homePage(Model model) {
+ model.addAttribute("homeMessage", "Welcome to CloudaAtlas client interface");
return "home";
}
}
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/client/Query.java b/src/main/java/pl/edu/mimuw/cloudatlas/client/Query.java
new file mode 100644
index 0000000..468c869
--- /dev/null
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/client/Query.java
@@ -0,0 +1,4 @@
+package pl.edu.mimuw.cloudatlas.client;
+
+public class Query {
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
new file mode 100644
index 0000000..cf15d4a
--- /dev/null
+++ b/src/main/resources/application.properties
@@ -0,0 +1,6 @@
+spring.application.name=CloudAtlas Client
+
+spring.thymeleaf.cache=false
+spring.thymeleaf.enabled=true
+spring.thymeleaf.prefix=classpath:/pl/edu/mimuw/cloudatlas/client/templates/
+spring.thymeleaf.suffix=.html \ No newline at end of file
diff --git a/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/error.html b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/error.html
new file mode 100644
index 0000000..9b42db1
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/error.html
@@ -0,0 +1,10 @@
+<html lang="en">
+<head><title>Error</title></head>
+<body>
+<h1>Error</h1>
+<b>[<span th:text="${status}">status</span>]
+ <span th:text="${error}">error</span>
+</b>
+<p th:text="${message}">message</p>
+</body>
+</html> \ No newline at end of file
diff --git a/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/fragments/navbar.html b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/fragments/navbar.html
new file mode 100644
index 0000000..c2beaa9
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/fragments/navbar.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+
+<html xmlns:th="http://www.thymeleaf.org">
+
+<head>
+ <title>CloudAtlas Client</title>
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+</head>
+
+<body>
+
+<div th:fragment="navbar">
+ <nav class="navbar navbar-expand-lg navbar-light bg-light">
+ <a class="navbar-brand" href="#">Navbar</a>
+ <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
+ <span class="navbar-toggler-icon"></span>
+ </button>
+ <div class="collapse navbar-collapse" id="navbarNav">
+ <ul class="navbar-nav">
+ <li class="nav-item active">
+ <a class="nav-link" href="/">Home <span class="sr-only">(current)</span></a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="/query">Queries</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="/contacts">Contacts</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="/attribs">Attribute values</a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
+ </li>
+ </ul>
+ </div>
+ </nav>
+</div>
+
+<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+</body>
+
+</html> \ No newline at end of file
diff --git a/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/home.html b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/home.html
new file mode 100644
index 0000000..c8f3031
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/home.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
+
+<head>
+ <meta charset="UTF-8">
+ <title>CloudAtlas Client - home</title>
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+</head>
+
+<body>
+
+<div th:replace="fragments/navbar :: navbar"></div>
+<div class="jumbotron">
+ <h1 class="display-4" th:text="${homeMessage}"></h1>
+</div>
+
+<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+
+</body>
+
+</html> \ No newline at end of file