Merge pull request #510 from NuCivic/map_view_missing_options_property

Fixes _setupMap reference of undefined class property
This commit is contained in:
Rufus Pollock 2017-01-06 17:42:46 +00:00 committed by GitHub
commit 44df0cf36b
2 changed files with 21 additions and 13 deletions

33
dist/recline.js vendored
View File

@ -1161,7 +1161,8 @@ my.Flot = Backbone.View.extend({
y = item.datapoint[0].toFixed(2);
}
var content = _.template('<%= group %> = <%= x %>, <%= series %> = <%= y %>', {
var template = _.template('<%= group %> = <%= x %>, <%= series %> = <%= y %>');
var content = template({
group: this.state.attributes.group,
x: this._xaxisLabel(x),
series: item.series.label,
@ -1881,6 +1882,7 @@ my.Map = Backbone.View.extend({
initialize: function(options) {
var self = this;
this.options = options;
this.visible = this.$el.is(':visible');
this.mapReady = false;
// this will be the Leaflet L.Map object (setup below)
@ -2282,16 +2284,27 @@ my.Map = Backbone.View.extend({
// Private: Sets up the Leaflet map control and the features layer.
//
// The map uses a base layer from [OpenStreetMap.org](http://openstreetmap.org) based
// on [OpenStreetMap data](http://openstreetmap.org).
// The map uses a base layer from [Stamen](http://maps.stamen.com) based
// on [OpenStreetMap data](http://openstreetmap.org) by default, but it can
// be configured passing the `mapTilesURL` and `mapTilesAttribution` options
// (`mapTilesSubdomains` is also supported), eg:
//
// view = new recline.View.Map({
// model: dataset,
// mapTilesURL: '//{s}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v7/{z}/{x}/{y}.png?access_token=pk.XXXX',
// mapTilesAttribution: '&copy; MapBox etc..',
// mapTilesSubdomains: 'ab'
// })
//
//
_setupMap: function(){
var self = this;
this.map = new L.Map(this.$map.get(0));
var mapUrl = this.options.mapTilesURL || 'https://stamen-tiles-{s}.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png';
var attribution = this.options.mapTilesAttribution ||'Map tiles by <a href="http://stamen.com">Stamen Design</a> (<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>). Data by <a href="http://openstreetmap.org">OpenStreetMap</a> (<a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>)';
var subdomains = this.options.mapTilesSubdomains || 'abc';
var mapUrl = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";
var osmAttribution = '©<a href="http://openstreetmap.org" target="_blank">OpenStreetMap</a> contributors';
var bg = new L.TileLayer(mapUrl, {maxZoom: 19, attribution: osmAttribution});
var bg = new L.TileLayer(mapUrl, {maxZoom: 19, attribution: attribution, subdomains: subdomains});
this.map.addLayer(bg);
this.markers = new L.MarkerClusterGroup(this._clusterOptions);
@ -3227,13 +3240,7 @@ my.SlickGrid = Backbone.View.extend({
}
function sanitizeFieldName(name) {
var sanitized;
try{
sanitized = $(name).text();
} catch(e){
sanitized = '';
}
return (name !== sanitized && sanitized !== '') ? sanitized : name;
return $('<div>').text(name).html();
}
_.each(this.model.fields.toJSON(),function(field){

View File

@ -53,6 +53,7 @@ my.Map = Backbone.View.extend({
initialize: function(options) {
var self = this;
this.options = options;
this.visible = this.$el.is(':visible');
this.mapReady = false;
// this will be the Leaflet L.Map object (setup below)