summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2024-01-15 09:17:38 +0100
committerPaul-Christian Volkmer2024-01-15 09:17:38 +0100
commit9d30f750f722ae460cd1fe5ee8376c8dc44714bb (patch)
tree13c3edeaad9608b7fc2da2a8796a2873867cd396
parenta1a252d5a95dc161523d1a6740f8439858789a59 (diff)
feat #23: add reload button to display on new request
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsRestController.kt5
-rw-r--r--src/main/resources/static/style.css15
-rw-r--r--src/main/resources/templates/index.html8
3 files changed, 27 insertions, 1 deletions
diff --git a/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsRestController.kt b/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsRestController.kt
index 6f0e820..546909e 100644
--- a/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsRestController.kt
+++ b/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsRestController.kt
@@ -132,6 +132,7 @@ class StatisticsRestController(
@GetMapping(path = ["events"], produces = [MediaType.TEXT_EVENT_STREAM_VALUE])
fun updater(): Flux<ServerSentEvent<Any>> {
return statisticsUpdateProducer.asFlux().flatMap {
+ println(it)
Flux.fromIterable(
listOf(
ServerSentEvent.builder<Any>()
@@ -152,6 +153,10 @@ class StatisticsRestController(
.build(),
ServerSentEvent.builder<Any>()
.event("deleterequestpatientstates").id("none").data(this.requestPatientStates(true))
+ .build(),
+
+ ServerSentEvent.builder<Any>()
+ .event("newrequest").id("none").data("newrequest")
.build()
)
)
diff --git a/src/main/resources/static/style.css b/src/main/resources/static/style.css
index fee5d4c..e2bf65a 100644
--- a/src/main/resources/static/style.css
+++ b/src/main/resources/static/style.css
@@ -520,4 +520,19 @@ input.inline:focus-visible {
.notification.error {
color: var(--bg-red);
+}
+
+a.reload {
+ display: none;
+ position: absolute;
+ height: 1.2em;
+ width: 1.2em;
+ background: var(--bg-red);
+ border-radius: 50%;
+
+ color: white;
+ text-decoration: none;
+ font-size: .6em;
+ align-content: center;
+ justify-content: center;
} \ No newline at end of file
diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html
index b1c3142..c039b33 100644
--- a/src/main/resources/templates/index.html
+++ b/src/main/resources/templates/index.html
@@ -9,7 +9,7 @@
<div th:replace="~{fragments.html :: nav}"></div>
<main>
- <h1>Letzte Anfragen</h1>
+ <h1>Letzte Anfragen<a id="reload-notify" class="reload" title="Neue Anfragen" th:href="@{/}">⟳</a></h1>
<div class="border">
<div class="page-control">
@@ -68,6 +68,12 @@
}
};
});
+
+ const eventSource = new EventSource('statistics/events');
+ eventSource.addEventListener('newrequest', event => {
+ console.log(event);
+ document.getElementById('reload-notify').style.display = 'inline-flex';
+ });
</script>
</body>
</html> \ No newline at end of file