| Commit message (Collapse) | Author | Age | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some cobrands require reports to include the USRN of the clicked
road. This commit allows an asset layer to be added and designated
as a 'USRN provider' by setting its `usrn_field` property when calling
fixmystreet.assets.add.
Initially this feature used OpenLayers' getFeatureFromEvent method,
however that doesn't work if the layer isn't topmost. This is because it
uses the clicked element in the DOM to determine which feature was
clicked. This doesn't work if the layer you're trying to get the feature
from wasn't actually the DOM element that was clicked.
Instead, we add a new method, OpenLayers.Layer.Vector.getFeatureAtPoint
method which takes a Point object and iterates through the features'
geometries to find the matching point.
To make things a little more user-friendly, if an asset isn't clicked
directly we find the closest to the clicked point and use that for the
USRN. To accomplish this, this commit factors out the ‘select nearest
asset’ code into a new method OpenLayers.Layer.Vector.getNearestFeature,
which takes a Point and a distance threshold and finds the nearest
feature.
|
|
|
|
| |
layer
|
|
|
|
|
|
|
|
|
| |
We’re interested in seeing whether people are mistakenly clicking the
(inert) "Click map to report a problem" banner on the `/around` page.
This will record a Google Analytics event if and when they do.
Fixes mysociety/fixmystreet-commercial#963.
|
|
|
|
|
|
|
|
| |
The underlying DOM structure returned from /report/xx/nearby.json had
changed, meaning the "Which report is it a duplicate of?" list on the
inspector form wasn't displaying any reports. This commit introduces a
template specifically for the nearby URL instead of overloading the
on_map_list_items template.
|
| |
|
|
|
|
|
|
|
| |
This simplifies the asset layer loading code to allow multiple layers to
be created and added to the map at the correct time. This also means
always_visible layers are, in fact, always visible, and not hidden
when the map is clicked or a category-specific asset layer is shown.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit allows asset layers to be added to the map that have more
complex behaviours than simply 'click a marker'.
- Layers can be non-interactive and/or always visible
Previously an asset layer would only be shown when its associated
category was chosen from the dropdown. You can now add layers which
are always visible, as well as ignoring user input. Useful for, e.g.
showing an LLPG overlay on the map.
- Stylemaps can be provided for individual layers
This means you can, for example, have custom rules for styling
features based on their attributes or other complex rules.
- Functions can be used for the feature/report field mapping
Instead of a one-to-one mapping between feature attributes and
fields on the new report form, you can provide a callback function
which can provide a calculated value to the report form.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes it easier to customise the way asset layers are loaded
over WFS, including:
- Adds support for WFS layers via GET method
The standard HTTP method for WFS GetFeature requests is POST, but
some WFS services only support GET. OpenLayers.Protocol.WFS is
hardcoded to use POST, but we can use OpenLayers.Protocol.HTTP
instead to use GET.
The options passed to fixmystreet.add_assets should include a
'http_options' object which configures the HTTP protocol.
- Allows HTTP asset layers to provide their own format
This makes it simpler to use GeoJSON, for example, instead of the
default of GML.
- Asset layers can provide their own loading strategy
The default strategy can be overridden if, for example, you want to
use a BBOX strategy with a smaller ratio in order to load fewer
features at a time.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It seems that the projectInverse/projectForward methods in
OpenLayers.Layer.SphericalMercator have been renamed which was causing
problems.
Additionally this gem was buried in the OpenLayers.Projection.transform
docs:
Returns point - [...] The original point is modified.
The previous code didn't seem to modify the original point which was
confusing OpenLayers.
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
A top banner (for e.g. offline, or just custom display) could be used
by any cobrand, so remove the need to add an extra line of CSS.
|
| | |
|
| | |
|
| |
| |
| |
| | |
The photo JavaScript needs including in case a report is pulled in.
|
| | |
|
|/
|
|
|
| |
This also fixes an inconsistency between what you can see on the map and the
list of reports underneath.
|
|
|
|
| |
The /my page uses a Fixed strategy which cannot do this.
|
| |
|
|
|
|
| |
This prevents e.g. the all reports graph dipping down.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
This uses an IntersectionObserver, which currently works in Chrome, Edge, and
Firefox.
|
| | |
|
| |
| |
| |
| | |
It is never visible, being behind header/ map/ sidebar.
|
|/
|
|
|
| |
They would all use the settings of the first, leading to e.g.
potentially incorrect all/none messages.
|
|
|
|
|
| |
As colours.length increased as colours were added,
it would always return the first entry.
|
|
|
|
| |
Fixes part of mysociety/fixmystreet-commercial#965.
|
| |
|
|
|
|
|
| |
No need for any jQuery UI any longer (only base use was already gone
when admin stats was moved to dashboard).
|
| |
|
|
|
|
| |
This will also be used by /reports/[body]/summary in a bit.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Bromley uses jQuery for its A-Z on all pages; only load Bristol map
JavaScript on map pages (same as Angus); drop Oxfordshire JS use of
jQuery; fix Zurich load order; and improve jQuery checking in other
JavaScript.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
This commit splits the category dropdown into two fields: a top-level
"category" field populated with the category groups, and a "subcategory"
field for the options in each <optgroup> in the original HTML.
It does some short-circuiting, e.g. for optgroups that only have a
single option the subcategory field won't be shown.
|
| |
|
|
|
|
| |
Fixes #1589.
|
|\
| |
| |
| | |
'origin/1920-back-once-again-for-the-renegade-master'
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The popstate event for a filter change assumed that the list was already
being displayed, but it was not if you were going back from a report.
The reports_list function to display the list page is idempotent (though
this commit makes it more so), so can happily be called whether the list
page is currently displayed or not.
|
|/
|
|
|
|
|
|
| |
Display a list of the email addresses used to contact the council on the
council dashboard. Does not display emails if the council has an
integration, rejects FMS reports or is currently turned off.
Fixes mysociety/fixmystreetforcouncils#941
|
|
|
|
| |
An experiment towards fixing #525.
|