Press 'G' to open the profile switcher, select a profile with the arrow
keys, apply with 'Enter' and close the switcher with 'Escape'.
While 'T' and 'P' will be / were already taken, 'G' is at least easily
reachable with the left hand for users using a mouse with their right
hand at the same time.
Since Bootstrap keeps updating the tooltip when changing options in the
dropdown (which is useful in case the text is longer than the width of
the control), the shortcut text needs to be applied dynamically too.
Press 'S' to show the Strava buttons (if the API key has been set) as
well as the Strava segments layer (once it has been fetched).
Note that fetching and updating data from Strava still needs to be
triggered manually by clicking the respective biking or running button.
Use 'Backspace' to show the dialog allowing to clear the route.
The 'Del' key could then be used in the future to possibly allow to
delete individual selected items like POIs or no-go areas.
- adds a new analysis tab in the sidebar
- the analysis tab shows length distribution for different way types, surface, and smoothness
- table rows can be hovered/clicked to highlight the according segments on the map (similar behaviour as the detailed data table)
- localization is implemented for `de` and `en`
- the method for finding segment edges was extracted from `js/control/TrackMessages.js` into `js/util/TrackEdges.js` as it's used in the new analysis class too (the Gulp config was changed to reflect that)
Notes:
I had the idea to use the *DataTable* plugin for rendering the tables but decided against it. The only meaningful way to sort such a table is by the length column and that's already the case. So it's just three plain, old HTML tables, rendered by jQuery.
For meaningful statistics the `processUnusedTags` setting has to be enabled in the routing profile. Only in this case the BRouter backend includes all needed tags (`highway`, `surface`, and `smoothness`) for *every* route segment in the response. I’ve enabled that setting for all profiles at my BRouter-web instance at <https://brouter.m11n.de/>.
Press 'F', type a query and press 'Enter' to find places effortlessly.
Note that the button already triggers on mousedown events, even though
by convention it should react on mouseup (i.e. a regular click)
only. However, that's an issue in the external dependency, and can
be worked around for now.
Those shortcuts were already working before, but not really
discoverable for users.
To achieve a consistent UI and keep the wording in line with existing
conventions and future shortcuts (i.e. no whole sentences, shortcut in
parenthesis), the mute tooltip is changed again to occupy two lines (to
limit the width of the tooltip), to be less wordy (so it is faster to
read), to use the "mute" term (to help memorizing the M shortcut, at
least in English), and to align with the parenthesis style.
Use "x | y" format instead "x (y)"
(The old format was a bit confusing, e.g. the second part of the label
could be mistaken for an "explanation" of the first part, while it
actually is an entirely separate label.)
Repeat unit for every metric.
Use plural for units.
Use "-" everywhere when a metric is not yet available instead of mixing
"-" and "0".
Properly revert to initial "-" when removing route instead of showing
"0".
Show "0" instead of "" when route length cannot be calculated yet.
Slightly change wording ("Energy per 100km").