Commit graph

594 commits

Author SHA1 Message Date
alexcojocaru
73ad89e727 improvements to gradient normalization 2020-10-26 22:19:38 -07:00
alexcojocaru
0adc28d5df normalize gradient 2020-10-26 22:19:38 -07:00
alexcojocaru
75b68ebfe1 add comments; clean up 2020-10-26 22:19:38 -07:00
alexcojocaru
bd0679d15c Fix conflicts in Heightgraph integration 2020-10-26 22:19:37 -07:00
alexcojocaru
77ed28cb76 Use Heightgraph transpiled 2020-10-26 22:19:37 -07:00
alexcojocaru
5fd3977768 Use Heightgraph in lieu of Elevation (part V)
- fix the grade calculation
- don't show the grade labels, as they are all over (should be normalized)
- fix the display issues by overridding the heightgraph CSS
2020-10-26 22:19:37 -07:00
alexcojocaru
8fcec8ec86 Use Heightgraph in lieu of Elevation (part IV)
Build the GeoJSON object manually.
2020-10-26 22:19:37 -07:00
alexcojocaru
37a0f9b972 Use Heightgraph in lieu of Elevation (part III)
- remove old comments and unusable commented out code
2020-10-26 22:19:36 -07:00
alexcojocaru
c17e6ed711 Use Heightgraph in lieu of Elevation (part II)
- Heightgraph supports resizing; remove the Elevation specific
  workaround which was readding the data
- resize the elevation chart on window resize and chart show
2020-10-26 22:19:36 -07:00
alexcojocaru
840f4daf72 Use Heightgraph in lieu of Elevation 2020-10-26 22:19:36 -07:00
Antonin Delpeuch
7c02d78f0b
Fix color coding by cost. Closes #340. (#341)
Fix color coding by cost. Closes #340.

This makes sure it is relative to the length of the path.
2020-10-24 12:28:26 +02:00
Norbert Renner
a1af69a44c Prevent submit action to avoid side effects (#328)
Otherwise the download is blocked and a `/?format=gpx#` query is added to the URL in Chromium.
2020-08-04 11:13:24 +02:00
Norbert Renner
c3ac8345ee Add CyclOSM back for all (#290)
Use `pseudo_language_code` to keep it the default for French users, but not display the (wrong) language prefix in the layer tree.
2020-08-03 17:54:45 +02:00
Norbert Renner
5704004d23
Consider guess > max points (#327)
Simply set max points to guess, assuming guess is always good
2020-07-31 22:08:43 +02:00
Norbert Renner
2df1f617c9 Improve hiding elevation chart when empty
Consider additional cases:
- flag got reset when deleting and adding first waypoint
- don't show empty on load, postpone to update
- don't store state when hidden because empty
2020-07-16 10:28:40 +02:00
Norbert Renner
b701a6f298 Refactor collapse handling into Elevation
as it's the only element it is intended for, sidebar uses separate handling.
2020-07-16 10:28:40 +02:00
Norbert Renner
90697ca38f Fix error when remembered tab does not exist
Caused by renaming `tab_statistics` to `tab_analysis`.
2020-07-14 10:22:00 +02:00
Norbert Renner
9500481df0 Sanitize track name (#312)
to prevent code in GPX getting executed like this:
<name>&lt;img src="xyz" onerror="alert('script executed')"></name>
2020-07-14 09:27:57 +02:00
The Ripper
2c70b31376 artefacts removed 2020-07-08 10:47:44 +02:00
The Ripper
3f7e0fa66a iteration test for tolerance value 2020-07-07 16:44:18 +02:00
The Ripper
fb39962100 Limited route points to max 200 or lower depending on track length 2020-07-04 14:51:13 +02:00
Norbert Renner
11da0db2bb Set html lang attribute to translated language
Unfortunately doesn't seem to stop Chrome from still asking to translate page that already is in local language.
2020-07-02 23:16:17 +02:00
Norbert Renner
bacf60a3ba Optimize setWaypoints performance (#312)
Loading a track as route with lots of waypoints (simplify tolerance of 0) caused a long pause before even handling the first route request.

This seems to be caused by a repaint for every added marker/layer. Adding them all at once in FeatureGroup.addTo(map) helps (although still added in a loop).
2020-07-01 10:35:50 +02:00
Norbert Renner
4892c2a1db Don't update TrackAnalysis when tab is hidden
- add missing show/hide methods called by sidebar and maintain active state
- rename inconsistent tab id
2020-06-30 21:35:51 +02:00
Norbert Renner
5ad12a7c68 Refactor common track loading parts (#312)
- common track style
- TracksLoader now also adds points as POIs
- RouteLoaderConverter does not add route points as POI
2020-06-25 17:15:09 +02:00
Henrik Fehlauer
09f987ea07 Combine and reuse translations for keyboard shortcuts
Using i18next's "nesting" and "interpolation" features should reduce the
overall number of strings to translate, as well as provide a
standardized pattern for shortcut tooltips (if applicable).

Note that this approach is still allowing for flexibility regarding
differently structured sentences in each language.

Resolves #315
2020-06-21 18:00:00 +00:00
Henrik Fehlauer
e3a9f6206f Switch to next tab with Shift+T shortcut even if tab is currently closed
Often users can remember what the recently opened tab was, so we can
switch to and open the next tab immediately, saving one keypress. There
is a dedicated shortcut (T) for only opening a tab, after all.

While the previous behavior for Shift+T (open tab without switching to
next if currently closed) was by intention, user testing found that the
new approach might be more desirable.
2020-06-20 18:00:00 +00:00
Henrik Fehlauer
8a66a816f7 Run yarn lint, yarn prettier and yarn build i18next
0d6cd61 was still missing some style fixes, making `yarn` touch
unrelated files on a subsequent `git commit`.
2020-06-18 18:00:00 +00:00
Norbert Renner
77f1b5f0af
Merge pull request #314 from rkflx/pr/add-and-fix-shortcuts
Add more keyboard shortcuts and fix various shortcut related issues
2020-06-19 21:26:13 +02:00
The Ripper
0d6cd61b1f
Load Track from file and add as Route (#312) 2020-06-19 18:19:42 +02:00
Henrik Fehlauer
b8b1e436e6 Add shortcut to toggle elevation chart
Press 'E' to show/hide the elevation chart.
2020-06-14 18:00:00 +00:00
Henrik Fehlauer
844a9038ee Add shortcuts to toggle sidebar and switch tabs
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.
2020-06-13 18:00:00 +00:00
Henrik Fehlauer
e56d213931 Add shortcut to show about dialog
Press 'H' to get to the helpful about dialog.
2020-06-12 18:00:00 +00:00
Henrik Fehlauer
d106552ad3 Add shortcuts to load tracks and no-go areas
Press 'O' or 'Shift+O' to open/load tracks or no-go areas respectively.
2020-06-11 18:00:00 +00:00
Henrik Fehlauer
a420ad5c0b Add shortcut to export route
Press 'X' to trigger the export route dialog.

Automatically populating the trackname field should work too.
2020-06-10 18:00:00 +00:00
Henrik Fehlauer
6da520ed4d Add shortcut to toggle profile switcher
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.
2020-06-09 18:00:00 +00:00
Henrik Fehlauer
ba0bb39fd5 Add shortcut to toggle Strava layer
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.
2020-06-08 18:00:00 +00:00
Henrik Fehlauer
e4e1c8a19e Add shortcut for clear route dialog
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.
2020-06-07 18:00:00 +00:00
Henrik Fehlauer
29530919b5 Stop deleting points once there are no more points left
Prevents "Uncaught TypeError: Cannot read property 'off' of null"
in L.Routing.js
2020-06-06 18:00:00 +00:00
Henrik Fehlauer
48f8fe3524 Add shortcut to delete last point
Press 'Z' to undo adding the last point.
2020-06-05 18:00:00 +00:00
Henrik Fehlauer
a852acbfce Add shortcut to create no-go areas
Press 'N' to initiate drawing a no-go area. 'Escape' will cancel,
similar to how drawing a route works.
2020-06-04 18:00:00 +00:00
Henrik Fehlauer
2848e4dd36 Add shortcut to reverse route
Press 'R' to swap start and end of the route.
2020-06-03 18:00:00 +00:00
Henrik Fehlauer
37ab05310b Add shortcut for geocoder search field
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.
2020-06-02 18:00:00 +00:00
Henrik Fehlauer
f23e3751b5 Allow translation of the search field placeholder text
It was not translated before, since the string was coming from an
external dependency.
2020-06-01 18:00:00 +00:00
Henrik Fehlauer
fd97019fdc Add shortcut to trigger geolocation
Press 'L' to initiate the "Show me where I am" function.
2020-05-31 18:00:00 +00:00
Henrik Fehlauer
8e78c858c1 Add shortcut to toggle color coding button
Press 'C' repeatedly to switch between the various color coding options.
When the last one is reached, we show the regular route again.
2020-05-30 18:00:00 +00:00
Henrik Fehlauer
d6c648d3eb Fix mute shortcut not working for color coded routes
The mute shortcut would only work for regular routes before.

Note that no-go areas, POIs and tracks continue to be unaffected
by muting, so e.g. peeking at a track below the route is still possible.
2020-05-29 18:00:00 +00:00
Henrik Fehlauer
08c8cfa8be Prevent more accidental shortcut triggers
Do not allow browser keyboard shortcuts to trigger route functions,
e.g. pressing Ctrl+P triggers printing in most browsers, but should not
at the same time switch BRouter-Web to POI mode. This can be prevented
by filtering for modifiers.

In the same fashion, when modal dialogs or dropdowns are open it should
not be possible to activate map functions in the background now.

Finally, inhibit shortcuts in number input fields too, as found in the
editable number input fields in the customize profile options.
Previously only regular text input fields were protected.

To make those checks easier to use, they are deduplicated and moved to
Util.js.
2020-05-28 18:00:00 +00:00
Henrik Fehlauer
36d8a207ab Convert all shortcuts to act on keydown already
Contrary to mouse clicks, when pressing keys on a keyboard the
standard behavior is to perform the associated action immediately,
not only when releasing the key again. This should also improve the
perceived performance slightly.

Note that the 'D' shortcut had formerly been handled by Leaflet, which
we now have to do on our own.

While at it, move the character codes over to the options variable, as
found in other parts of the codebase already.

Also removing the listener from the container does not seem needed
anymore nowadays.
2020-05-26 18:00:00 +00:00
Henrik Fehlauer
8e65d6a3dd Show analysis table highlight above quality coding layer (#304)
When hovering over rows in the analysis tab, highlighted sections for
the route could only be seen on the regular route, but not when any of
the color-coded route visualisations were selected.

Patch based on a similar fix for data table in d33c795200.
2020-05-25 18:00:00 +00:00