aboutsummaryrefslogtreecommitdiffstats
path: root/web/js
Commit message (Collapse)AuthorAgeLines
* Make sure bar chart is given enough colours.Matthew Somerville2017-12-18-0/+4
|
* Add bar chart functionality, for area summary pageZarino Zappia2017-12-15-43/+147
|
* Second, more prominent Hide Pins linkZarino Zappia2017-11-27-6/+12
| | | | An experiment towards fixing #525.
* Add js=1 to links to /around from the front pageDave Arter2017-11-24-0/+5
| | | | | | The location disambiguation page uses the frontpage JavaScript and has lots of links pointing to /around, so the code should make sure those links include the `js` parameter.
* Hide geolocation link if not on HTTPSDave Arter2017-11-24-1/+2
| | | | | | | Modern browsers disable geolocation on non-HTTPS pages, but sadly still report it as available with the `navigator.geolocation` object. This commit adds a check for HTTPS and hides the link if it won’t work.
* Move jquery.multi-select.js into vendor directoryZarino Zappia2017-11-20-337/+0
| | | | | The multi-select plugin is a separate project, and should be treated as a vendor file.
* Upgrade to latest version of jquery.multi-select.jsDave Arter2017-11-20-35/+38
| | | | | | | In particular, this lets us ensure only one multiselect can be open at a time – for example in the "Show [X] reports about [Y]" list filters. Fixes mysociety/fixmystreetforcouncils#247.
* Merge branch '1901-js-deferring'Matthew Somerville2017-11-15-0/+55
|\ | | | | | | Updated geolocation.js with concurrent changes.
| * Have front page load minimal JS necessary.Matthew Somerville2017-11-15-0/+13
| | | | | | | | | | | | By creating a small file with only what is needed (focus, js flagging), we can drop loading jQuery and all the application JavaScript on the front page, prefetching them instead.
| * Factor out geolocation to pages that need it.Matthew Somerville2017-11-15-0/+41
|/
* Remove unused nicetable/promo CSS/JS.Matthew Somerville2017-11-06-81/+0
|
* Merge branch 'around-and-about-pagination'Matthew Somerville2017-11-06-94/+88
|\
| * Add pagination to around page.Matthew Somerville2017-11-06-17/+83
| |
| * Remove Show all pins link and on_map_list_limit.Matthew Somerville2017-11-06-73/+0
| | | | | | | | | | /around will now show all reports all the time, but we are about to introduce pagination to stop that.
| * Have /around ajax use same format as others.Matthew Somerville2017-11-02-5/+6
| | | | | | | | | | Both /reports and /my work by using the same URL with ajax=1. We should use the same on /around for consistency.
* | Update Bing Maps parameter ID.Matthew Somerville2017-11-06-8/+8
|/
* [Zurich] Fix map offset bug.Matthew Somerville2017-09-20-13/+4
| | | | | | | | | The upgrade to OpenLayers in 31b8337e3 was not accompanied by fixing the tileOrigin manually tweaked as an old workaround. This moved the map c. 100m out of alignment. Bristol fixed this in a7f60abb by adding topLeftCorners, but this is better done by fixing origin_x/y.
* Make sure pin ID is an integer.Matthew Somerville2017-09-07-2/+3
| | | | | | | | | | The JavaScript assumes it is, but due to a string comparison in DBIx::Class [1] when a has_many prefetch is in use (as it is on a /reports page when a shortlist-using staff user is logged in) all IDs bar the first were being given an internal string value and JSON encoding was outputting them as a string. [1] https://github.com/dbsrgits/dbix-class/blob/v0.08209/lib/DBIx/Class/ResultSet.pm#L1331
* [Zurich] Upgrade OpenLayers to master, matching others.Matthew Somerville2017-08-18-12/+1
|
* Make sure /around permalink/redirect have js paramMatthew Somerville2017-08-18-0/+4
| | | | | The change in 17e38922 would not deal with the URL construted by the map permalink code, or the redirect after inspection.
* Fix replaced sidebar losing hover behaviour.Matthew Somerville2017-08-17-1/+1
| | | | | If the list was replaced by JavaScript, the event handlers were being dropped. Switch the handlers to the parent that remains present.
* Refactor /around list code to share with others.Matthew Somerville2017-08-17-10/+3
| | | | | Both /reports and /my share an ID and a /reports/ajax function, use these also on /around (and share ajax/non-ajax code).
* [Zurich] Fix map on /reportsDave Arter2017-08-14-1/+4
| | | | | | | | | | | | | | | | | | A seemingly unrelated change in ef6ffbdb was causing JS errors on the /reports page which meant the map loading spinner was permanently present. This commit fixes that, and also fixes another bug which was uncovered where the ?ajax=1 param was being ignored by the Zürich /reports page, leading to HTML being returned and another JS error. The call to `new OpenLayers.Bounds` in OpenLayers.Strategy.FixMyStreet.getMapBounds was causing three of the 4 bounds params to be lost when run on OpenLayers 2.11, as this version doesn’t accept an array to the Bounds constructor. This in turn was using an invalid `bbox` parameter (only the west value was present) in the AJAX call to /reports which returned a 500 error. This then crashed the JS and caused the loading spinner to get stuck.
* Use standard JS translation for show/hide pins.Matthew Somerville2017-08-03-35/+17
|
* New version of /reports main page.Matthew Somerville2017-07-14-0/+142
| | | | | | | | | | | This is a much broader summary page, plus a body name autocomplete. This was originally implemented for fixmystreet.com in 8a6a4ccb7. It also adds '(no longer exists)' in the autocomplete next to bodies not covering any areas. You can supply the `--table` argument to `update-all-reports` to generate the old-style data.
* [FixaMinGata] Consolidate with upstream.Jon Kristensen2017-07-07-2/+4
| | | | | Add hook for post-title field content in report form. Update translations.
* Resize photos client-side before uploadingDave Arter2017-06-30-28/+42
| | | | | | | | | | | | | | | | The newest version of Dropzone has added support for client-side resizing of images, so this commit upgrades to version 5.1.1 and takes advantage of that in order to reduce the disc space consumed by uploaded images. The target size & JPEG quality is quite aggressive, resulting in files in the region of 200-300KB instead of several MB. I've tried to pick a value which doesn't impact the usefulness of the photos in identifying problems. Handily the new version also correctly rotates images according to the EXIF tag so our patch has be reduced dramatically to deal with the sync nature of the mini EXIF library in use. Related to the disc space part of #1411, though EXIF metadata isn't stripped.
* Allow cobrands to define pin colour for new reportsZarino Zappia2017-06-09-1/+1
| | | | | | Previously, a green marker would be used for reports as they were being created. Now, cobrands can override `pin_new_report_colour` to show a different pin image when users are creating a new report.
* Linting fixes to jquery.multi-select.jsZarino Zappia2017-05-31-4/+2
|
* Fix linting errorspezholio2017-05-23-59/+58
|
* Move third party libraries into vendor directoriesMatthew Somerville2017-05-23-13543/+0
| | | | | | | | This makes the git hook that lints our own JavaScript easier, and keeps things more cleanly separated. We also remove unused third party libraries (select2 and jquery.placeholder).
* Allow inspectors to shortlist all reports in viewpezholio2017-05-05-2/+7
| | | | If zoom level is >= 14, then inspectors can click a button that marks all reports in the map view as shortlisted
* On /reports maps, only include reports in view.Matthew Somerville2017-04-13-2/+36
| | | | | | | | | Update the reports with a bounding box, similar to on around pages. This is made slightly trickier because we don't want to do anything on page load (we already have the pins), we need to reload when the zoom changes, and we don't want the strategy to get confused by its first redraw, e.g. on pin hover, We also need to turn off the zoom- to-bounds if we've got a bounding box in the URL.
* Use lat/lon on inspection form if local coordinates aren’t availableDave Arter2017-03-30-0/+2
|
* Add ability to override Google Maps road style.Dave Arter2017-03-30-1/+17
|
* Show loading indicator when loading pinspezholio2017-03-17-11/+6
|
* Move staff-only JavaScript to separate file.Matthew Somerville2017-03-10-125/+0
|
* [Oxfordshire] Add Exor RDI file download featureDave Arter2017-02-15-2/+16
| | | | | | | | | | The RDI file format encapsulates information about inspections that have taken place, and can be uploaded into Exor to create defects in bulk. This commit adds a page to the Oxfordshire cobrand's admin allowing RDI files to be generated and downloaded from FMS. For mysociety/fixmystreetforcouncils#127
* Display nearby candidate reports when marking as duplicateDave Arter2016-12-13-36/+53
| | | | | | | | - Use Problem->pin_data for single report page - Promote markers_highlight to fixmystreet.maps API We want to highlight map pins on the duplicate report selection UI, so let's use what's already there instead of writing something new. - Make sure duplicate report pins aren’t draggable
* Load OpenLayers stylesheet directly, not via JS.Matthew Somerville2016-12-09-0/+1
| | | | | This lets us version and cache-bust it as necessary, plus let browser decide how to load it, we're always going to need it.
* Manual OpenLayers patch for pointer event draggingMatthew Somerville2016-12-09-3/+4
| | | | | | Thanks to Dave Tapuska and Chrome team: https://bugs.chromium.org/p/chromium/issues/detail?id=670942 https://github.com/openlayers/ol2/issues/1510
* [Bromley] Fix map tiles.Matthew Somerville2016-11-18-3/+0
| | | | | The change to remove inline JavaScript stopped the Bromley-specific tiles from working. Put them back with an extra JavaScript file.
* [Bristol] Upgrade to OpenLayers master (with WFS).Matthew Somerville2016-11-11-4/+882
| | | | Including WFS for forthcoming assets layers.
* Add sort order options to list pages.Matthew Somerville2016-11-04-13/+17
| | | | | | | | Includes newest, oldest, least/most recently updated, and most comments. The default remains the same, which is last updated on /reports, and newest on /my and /around (the latter plus not-in-view sorted-by-distance ones).
* Add UI for assigning categories to a user in adminDave Arter2016-10-28-1/+2
| | | | | - A user can be assigned to any number of its body's categories - The category ids are stored as a list in the user's extra field
* Add simple way to return to "everything" in list filtersZarino Zappia2016-10-25-51/+131
|
* Merge branch 'reports-area-as-a-hole'Matthew Somerville2016-10-24-8/+51
|\
| * Invert display of areas on body pages.Matthew Somerville2016-10-21-8/+51
| | | | | | | | | | This makes it easier to use the map, as the land outside the area is shaded, rather than the area itself.
* | Store and use initial URL to fix JavaScript bugs.Matthew Somerville2016-10-21-1/+1
|/ | | | | | | | | | | | | If you were on a body page, selected a report, then another report, the "Back to all reports" link then had an incorrect URL. Also, going "Back to all reports" after one report would fetch an incorrect Ajax query of reports to show (as the URL had not yet been updated). Both of these are fixed by storing the URL on page load, and using that for the "Back to all reports" link and the URL used by the Ajax call. There is still an issue with the URL shown if you filter, then select a report, then click "Back to all reports", but the contents are okay.
* Fix map pin clicking in IE11.Matthew Somerville2016-10-21-3/+3
| | | | | | It turns out that whilst IE9+ defines MouseEvent, it's not in the form that can be used as a constructor until Edge. To fix this we check that MouseEvent is a function before using it as one.