Commit Graph

45 Commits

Author SHA1 Message Date
Oliver Gerlich d95b41315c node page: don't display "undefined" if node has never been saved yet 2018-07-22 21:46:43 +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 3a18da51c8 menu: remove logo
It doesn't provide any functionality, and it uses up valuable screen space
on a phone screen.
2018-07-22 21:45:41 +02:00
Oliver Gerlich bd7cef3f00 socket: don't notify user on every failed connection attempt
Only notify user if the websocket connection was already established and is
now closed.
2018-07-22 21:45:36 +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 67dd56d71d call render() again after render bouncer timer has elapsed
This is necessary so that the GUI really shows the latest data from server
after the timer has elapsed.

Also add some other minor fixes.
2018-07-19 01:51:21 +02:00
Martin/Geno ba1045aacd render bouncer 2018-07-19 01:51:21 +02:00
Martin/Geno af80ade82b
Disable notification of successful node update 2018-07-17 23:37:03 +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 b3b8d1f53f menu: rename "Statistics" to "Stats" to save some space on phone screens 2018-07-17 22:36:32 +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 485ecc13c6
default channel on create node + send callback 2018-07-15 22:47:05 +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
Martin/Geno a86ac56b75
cleanup 2018-06-30 01:58:09 +02:00
Martin Geno 17ccb2c4ff
channel used stats 2017-07-06 14:25:24 +02:00
Martin Geno 1a7989a24e
ssh update on connect + web: define unseen before offline 2017-07-06 08:54:27 +02:00
Martin Geno e02273e0ef
[TASK] autoselect https websocket (wss) 2017-07-01 02:10:56 +02:00
Martin Geno 3b74ddbf6a
[BUGFIX] consoleView 2017-05-30 18:56:52 +02:00
Martin Geno 7aa5896c4f
[TASK] add console to backend 2017-05-30 16:39:14 +02:00
Martin Geno 2e5873a541
[TASK] add consoleView 2017-05-30 15:36:51 +02:00
Martin Geno f3e9b6c0db
[TASK] add functions to listView + allow unlearn nodes 2017-05-30 02:16:46 +02:00
Martin Geno f48aaf3236
[TASK] add hostname to nodeView 2017-05-29 23:39:49 +02:00
Martin Geno 9439c7285a
[TASK] config location for breminale 2017-05-19 21:14:44 +02:00
Martin Geno a4045b50a6
eslint all (with some exludes) 2017-05-16 19:25:09 +02:00
Martin Geno d3fcd7f232
eslint 2017-05-16 16:27:35 +02:00
Martin Geno 2e2142b155
[TASK] add geojson support 2017-05-16 08:38:31 +02:00
Martin Geno e2774c3880
[TASK] add position editing of node 2017-05-16 01:29:16 +02:00
Martin Geno 7a4a6c66e9
add stats + map 2017-05-15 22:41:06 +02:00
Martin Geno b190bd43c4
[TASK] nice list 2017-05-14 09:41:40 +02:00
Martin Geno ac87050fa0
[TASK] add tablesort and routing 2017-05-11 20:30:22 +02:00
Martin Geno 3e1242c5cf
[TASK] frontend improve notify run without gui 2017-05-09 18:05:55 +02:00
Martin Geno 85ba20ba4f
[TASK] switch to own freifunk bremen themen 2017-05-09 17:45:16 +02:00
Martin Geno b03f59dfc7
[TASK] gui add notification 2017-05-09 03:14:03 +02:00
Martin Geno 24248d3673
[BUGFIX] improve websocket and stats of nodes 2017-05-09 01:03:44 +02:00
Martin Geno 7de61d62fb
[TASK] add websocket and webroot 2017-05-08 19:13:29 +02:00