leaflet-rails 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -102,3 +102,7 @@ map(:container_id => "second_map", :center => {
102
102
  :zoom => 18
103
103
  })
104
104
  ```
105
+
106
+
107
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/axyjo/leaflet-rails/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
108
+
@@ -1,5 +1,5 @@
1
1
  module Leaflet
2
2
  module Rails
3
- VERSION = "0.7.0"
3
+ VERSION = "0.7.1"
4
4
  end
5
5
  end
@@ -7,7 +7,7 @@
7
7
  var oldL = window.L,
8
8
  L = {};
9
9
 
10
- L.version = '0.7';
10
+ L.version = '0.7.1';
11
11
 
12
12
  // define Leaflet for Node module pattern loaders, including Browserify
13
13
  if (typeof module === 'object' && typeof module.exports === 'object') {
@@ -134,21 +134,16 @@ L.Util = {
134
134
  }
135
135
  return ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');
136
136
  },
137
-
138
- compileTemplate: function (str, data) {
139
- // based on https://gist.github.com/padolsey/6008842
140
- str = str.replace(/"/g, '\\\"');
141
- str = str.replace(/\{ *([\w_]+) *\}/g, function (str, key) {
142
- return '" + o["' + key + '"]' + (typeof data[key] === 'function' ? '(o)' : '') + ' + "';
143
- });
144
- // jshint evil: true
145
- return new Function('o', 'return "' + str + '";');
146
- },
147
-
148
137
  template: function (str, data) {
149
- var cache = L.Util._templateCache = L.Util._templateCache || {};
150
- cache[str] = cache[str] || L.Util.compileTemplate(str, data);
151
- return cache[str](data);
138
+ return str.replace(/\{ *([\w_]+) *\}/g, function (str, key) {
139
+ var value = data[key];
140
+ if (value === undefined) {
141
+ throw new Error('No value provided for variable ' + str);
142
+ } else if (typeof value === 'function') {
143
+ value = value(data);
144
+ }
145
+ return value;
146
+ });
152
147
  },
153
148
 
154
149
  isArray: Array.isArray || function (obj) {
@@ -534,7 +529,7 @@ L.Mixin.Events.fire = L.Mixin.Events.fireEvent;
534
529
 
535
530
  doc = document.documentElement,
536
531
  ie3d = ie && ('transition' in doc.style),
537
- webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()),
532
+ webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23,
538
533
  gecko3d = 'MozPerspective' in doc.style,
539
534
  opera3d = 'OTransition' in doc.style,
540
535
  any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d || opera3d) && !phantomjs;
@@ -1070,11 +1065,6 @@ L.DomUtil = {
1070
1065
 
1071
1066
  if (!disable3D && L.Browser.any3d) {
1072
1067
  el.style[L.DomUtil.TRANSFORM] = L.DomUtil.getTranslateString(point);
1073
-
1074
- // workaround for Android 2/3 stability (https://github.com/CloudMade/Leaflet/issues/69)
1075
- if (L.Browser.mobileWebkit3d) {
1076
- el.style.WebkitBackfaceVisibility = 'hidden';
1077
- }
1078
1068
  } else {
1079
1069
  el.style.left = point.x + 'px';
1080
1070
  el.style.top = point.y + 'px';
@@ -1770,6 +1760,8 @@ L.Map = L.Class.extend({
1770
1760
  },
1771
1761
 
1772
1762
  invalidateSize: function (options) {
1763
+ if (!this._loaded) { return this; }
1764
+
1773
1765
  options = L.extend({
1774
1766
  animate: false,
1775
1767
  pan: true
@@ -1779,8 +1771,6 @@ L.Map = L.Class.extend({
1779
1771
  this._sizeChanged = true;
1780
1772
  this._initialCenter = null;
1781
1773
 
1782
- if (!this._loaded) { return this; }
1783
-
1784
1774
  var newSize = this.getSize(),
1785
1775
  oldCenter = oldSize.divideBy(2).round(),
1786
1776
  newCenter = newSize.divideBy(2).round(),
@@ -2857,11 +2847,9 @@ L.TileLayer = L.Class.extend({
2857
2847
  /*
2858
2848
  Chrome 20 layouts much faster with top/left (verify with timeline, frames)
2859
2849
  Android 4 browser has display issues with top/left and requires transform instead
2860
- Android 2 browser requires top/left or tiles disappear on load or first drag
2861
- (reappear after zoom) https://github.com/CloudMade/Leaflet/issues/866
2862
2850
  (other browsers don't currently care) - see debug/hacks/jitter.html for an example
2863
2851
  */
2864
- L.DomUtil.setPosition(tile, tilePos, L.Browser.chrome || L.Browser.android23);
2852
+ L.DomUtil.setPosition(tile, tilePos, L.Browser.chrome);
2865
2853
 
2866
2854
  this._tiles[tilePoint.x + ':' + tilePoint.y] = tile;
2867
2855
 
@@ -4479,10 +4467,10 @@ L.FeatureGroup = L.LayerGroup.extend({
4479
4467
  },
4480
4468
 
4481
4469
  _propagateEvent: function (e) {
4482
- e = L.extend({}, e, {
4470
+ e = L.extend({
4483
4471
  layer: e.target,
4484
4472
  target: this
4485
- });
4473
+ }, e);
4486
4474
  this.fire(e.type, e);
4487
4475
  }
4488
4476
  });
@@ -5253,7 +5241,7 @@ L.Map.include((L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? {}
5253
5241
  * and polylines (clipping, simplification, distances, etc.)
5254
5242
  */
5255
5243
 
5256
- /*jshint bitwise:false */ // allow bitwise oprations for this file
5244
+ /*jshint bitwise:false */ // allow bitwise operations for this file
5257
5245
 
5258
5246
  L.LineUtil = {
5259
5247
 
@@ -5986,6 +5974,7 @@ L.CircleMarker = L.Circle.extend({
5986
5974
  if (this._popup && this._popup._isOpen) {
5987
5975
  this._popup.setLatLng(latlng);
5988
5976
  }
5977
+ return this;
5989
5978
  },
5990
5979
 
5991
5980
  setRadius: function (radius) {
@@ -6767,7 +6756,7 @@ L.Draggable = L.Class.extend({
6767
6756
  L.DomUtil.enableImageDrag();
6768
6757
  L.DomUtil.enableTextSelection();
6769
6758
 
6770
- if (this._moved) {
6759
+ if (this._moved && this._moving) {
6771
6760
  // ensure drag is not fired after dragend
6772
6761
  L.Util.cancelAnimFrame(this._animRequest);
6773
6762
 
@@ -8901,8 +8890,8 @@ if (L.DomUtil.TRANSITION) {
8901
8890
 
8902
8891
  L.Map.include(!L.DomUtil.TRANSITION ? {} : {
8903
8892
 
8904
- _catchTransitionEnd: function () {
8905
- if (this._animatingZoom) {
8893
+ _catchTransitionEnd: function (e) {
8894
+ if (this._animatingZoom && e.propertyName.indexOf('transform') >= 0) {
8906
8895
  this._onZoomTransitionEnd();
8907
8896
  }
8908
8897
  },
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leaflet-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-19 00:00:00.000000000 Z
12
+ date: 2013-12-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -163,3 +163,4 @@ summary: Use leaflet.js with Rails 3/4.
163
163
  test_files:
164
164
  - spec/spec_helper.rb
165
165
  - spec/view_helpers_spec.rb
166
+ has_rdoc: