Oliver Gerlich
cdd003bd4c
map: display node as "offline" only if both ping and respondd replies are missing
...
If node is reachable both by ping and respondd, node is now displayed as up.
If one of ping or respondd is down, node is displayed in "warning" state.
2019-07-03 15:53:27 +02:00
Martin/Geno
ecf2383927
Frontend pinger
2019-06-23 00:05:49 +02:00
Martin/Geno
83319163d7
show ping status in map by node color
2019-06-23 00:05:49 +02:00
Martin/Geno
832c30fa26
update websocket + handle settings in session
2018-08-24 23:34:02 +02:00
Martin/Geno
df5a229fc8
merge json message to one node message
2018-08-10 16:47:34 +02:00
Geno
861531712c
[TASK] rewrite table ( #10 )
2018-08-10 11:52:46 +02:00
Martin/Geno
7c5d117784
use dropdown for channel selection
2018-08-03 09:13:23 +02:00
Martin/Geno
21c398ca42
sql rewrite
2018-08-03 09:13:12 +02:00
Oliver Gerlich
444d80f77e
map: save list of enabled layers in localStorage
2018-07-22 21:56:00 +02:00
Oliver Gerlich
f02b047f9a
map: fix exception when enabling Clients layers
...
The layer data array must not contain "null" entries.
2018-07-22 21:47:26 +02:00
Oliver Gerlich
668ba59b8d
node page: ask for confirmation before resetting node location
2018-07-22 21:47:20 +02:00
Oliver Gerlich
bd7b9c10aa
node page: add "Reset Location" button, to unset node location
...
This can be helpful if the node was placed far away (eg. due to IP-based
geolocation).
2018-07-22 21:47:11 +02:00
Oliver Gerlich
2cc533c481
node page: display map correctly also if node doesn't have location info
2018-07-22 21:46:29 +02:00
Oliver Gerlich
d7e98625e2
node: don't show "Start follow position" button at all if browser does not support navigator.geolocation
2018-07-22 21:46:22 +02:00
Oliver Gerlich
2fca4b49fe
fix exception in list.renderView() introduced by adding debouncer.run()
...
Use arrow function to keep "this" at the same value it has in render().
2018-07-19 22:48:40 +02:00
Oliver Gerlich
e77e94ef85
list perf: limit list to 20 nodes by default
...
Also add links to bottom of list to select how many nodes shall be
displayed, and store the selection in localStorage.
The shorter list has much better performance. A long list is not really
useful anyway; rather let the user filter/sort it to display interesting
nodes only.
2018-07-19 02:00:39 +02:00
Oliver Gerlich
885b3232c3
move debouncing logic to separate Debouncer class, and use it for list view
...
While the normal GUI is re-rendered at most every 100 msec, the list is
re-rendered at most every second (since it is very expensive to render).
2018-07-19 01:51:21 +02:00
Oliver Gerlich
b97ac6ea43
node page: display GPS coordinates next to toggle button
2018-07-17 22:51:41 +02:00
Oliver Gerlich
fb0f2f054d
node page: some fixes for GPS-following
...
- rename storePosition to gpsPosition
- don't check for btnGPS.innerHTML contents (this is fragile); check for
this.gpsPosition instead
- fix call to updatePosition() when clicking "Stop following"
2018-07-17 22:51:41 +02:00
Oliver Gerlich
ad7cc8d0aa
node page: fix bug if navigator.geolocation.watchPosition() returns 0 as id
2018-07-17 22:51:41 +02:00
Oliver Gerlich
7f498b4a6e
node page: set node details (hostname/owner etc.) also if location is unknown
2018-07-17 22:51:41 +02:00
Oliver Gerlich
043e7225fd
list perf: use documentFragment to add all rows to table in one operation
2018-07-17 22:31:29 +02:00
Oliver Gerlich
66d8951ad9
list perf: use textContent instead of innerHTML
2018-07-17 22:31:29 +02:00
Oliver Gerlich
10a717f558
list: fix exception when typing in list filter fields
2018-07-17 22:31:29 +02:00
Martin/Geno
63f77d87c7
fix statistics channel view
2018-07-15 21:55:31 +02:00
Oliver Gerlich
cd511dce8e
web: rework store.js and interaction with view/node.js
...
- store.getNode() no longer adds new node to the list
- instead, store.createNode() can be used to create an empty new node
- view/node.js now now transfer a local copy of the node object it wants to
modify, rather then modifying the real object from store.list. If the
change is accepted by server, the server will send the new values for the
changed object anyway.
Previously, if the user visited the node page for a nonexistent node but
didn't make any changes, the list view would always throw an exception
because an incomplete node object was contained in the list.
2018-07-15 21:51:11 +02:00
Martin/Geno
82270e6fa3
cleanup and migrate to newer libraries (use NEW Javascript env) + add secret
2018-06-30 17:22:20 +02:00