m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
authorMagdalena GrodziƄska <m.grodzinska@gmx.com>2019-11-19 20:08:21 +0100
committerGitHub <noreply@github.com>2019-11-19 20:08:21 +0100
commit562b0d451d9a58188a279844efe0efc548ac8f1f (patch)
tree79f3e66982a57100a3e5d7f279912a3d91f25dec /src/main/resources
parenteef8436d8e58623b431810471f92f12b20c87434 (diff)
parent5f8ccad41f03b75acb9e3c1d5b46f86c344a721a (diff)
Merge pull request #21 from m-chrzan/basic_frontend
Basic frontend
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/application.properties6
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/attribChart.html46
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/contactsForm.html29
-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.html43
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/home.html24
-rw-r--r--src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/queryForm.html35
7 files changed, 193 insertions, 0 deletions
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
new file mode 100644
index 0000000..9cbc2e8
--- /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
diff --git a/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/attribChart.html b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/attribChart.html
new file mode 100644
index 0000000..7e0b37f
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/attribChart.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
+
+<head>
+ <meta charset="UTF-8">
+ <title>Attributes chart</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">
+ <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
+ <script type="text/javascript">
+ google.charts.load('current', {'packages':['corechart']});
+ google.charts.setOnLoadCallback(drawChart);
+
+ function drawChart() {
+ var data = google.visualization.arrayToDataTable([
+ ['Year', 'Sales', 'Expenses'],
+ ['2013', 1000, 400],
+ ['2014', 1170, 460],
+ ['2015', 660, 1120],
+ ['2016', 1030, 540]
+ ]);
+
+ var options = {
+ title: 'Company Performance',
+ hAxis: {title: 'Year', titleTextStyle: {color: '#333'}},
+ vAxis: {minValue: 0}
+ };
+
+ var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
+ chart.draw(data, options);
+ }
+ </script>
+</head>
+
+<body>
+
+<div th:replace="fragments/navbar :: navbar"></div>
+<div id="chart_div" style="width: 100%; height: 500px;"></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>
+
diff --git a/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/contactsForm.html b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/contactsForm.html
new file mode 100644
index 0000000..027f831
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/contactsForm.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
+
+<head>
+ <meta charset="UTF-8">
+ <title>Query form</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 id="queryForm">
+ <form action="#" th:action="@{/contacts}" th:object="${contactsObject}" method="post">
+ <div class="form-group">
+ <label for="Textarea1">Enter contacts as a Json list</label>
+ <textarea class="form-control" id="Textarea1" rows="3"></textarea>
+ </div>
+ <button type="submit" class="btn btn-primary">Submit</button>
+ </form>
+</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>
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..b449bda
--- /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>
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..c651f74
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/fragments/navbar.html
@@ -0,0 +1,43 @@
+<!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="/">CloudAtlas</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</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>
+ </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>
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..47b19af
--- /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>
diff --git a/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/queryForm.html b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/queryForm.html
new file mode 100644
index 0000000..ac00645
--- /dev/null
+++ b/src/main/resources/pl/edu/mimuw/cloudatlas/client/templates/queryForm.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
+
+<head>
+ <meta charset="UTF-8">
+ <title>Query form</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 id="queryForm">
+ <form action="#" th:action="@{/query}" th:object="${queryObject}" method="post">
+ <div class="form-group">
+ <label for="QueryName1">Enter query name</label>
+ <input type="text" class="form-control" id="QueryName1" rows="3" th:field="*{name}"/>
+ </div>
+ <div class="form-group">
+ <label for="Textarea1">Enter query</label>
+ <textarea class="form-control" id="Textarea1" rows="3" th:field="*{value}"></textarea>
+ </div>
+ <button type="submit" class="btn btn-primary">Submit</button>
+ </form>
+
+ <div id="response"><p th:text="${responseText}"/></div>
+</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>