The 'T' key will show/hide the most recent sidebar tab.
Pressing 'Shift+T' will switch to the next sidebar tab, possibly
wrapping around to the first tab.
If the Itinerary tab is hidden, it will be skipped.
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.