From 161abbe874be5e9844ae38f096b458d3e3164cb0 Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Wed, 24 Jun 2020 18:22:18 +0200 Subject: [PATCH] update tables without full page reload --- WebHost/templates/tracker.html | 23 +++++++++++++++++++++-- WebHost/tracker.py | 2 +- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/WebHost/templates/tracker.html b/WebHost/templates/tracker.html index d6e29bd4..3c62d365 100644 --- a/WebHost/templates/tracker.html +++ b/WebHost/templates/tracker.html @@ -1,6 +1,5 @@ {% extends 'layout.html' %} {% block head %} - Multiworld Tracker for Room {{ room.id }} @@ -15,9 +14,29 @@ "fixedHeader": true, "dom": "t" }); + $('#searchbox').keyup(function () { tables.search($(this).val()).draw(); - }) + }); + + function update() { + var target = $("
"); + target.load("/tracker/{{ room.id }}", function (response, status) { + if (status === "success") { + target.find(".table").each(function (i, new_table) { + var new_trs = $(new_table).find("tbody>tr"); + var old_table = tables.eq(i); + old_table.clear(); + old_table.rows.add(new_trs).draw(); + }); + } else { + console.log("Failed to connect to Server, in order to update Table Data."); + console.log(response); + } + }) + } + + setInterval(update, 30000); }) diff --git a/WebHost/tracker.py b/WebHost/tracker.py index 878d2b71..848e0614 100644 --- a/WebHost/tracker.py +++ b/WebHost/tracker.py @@ -192,7 +192,7 @@ def render_timedelta(delta: datetime.timedelta): @app.route('/tracker/') -@cache.memoize(timeout=60) # update every minute +@cache.memoize(timeout=30) # update every 30 seconds def get_tracker(room: int): room = Room.get(id=room) if not room: