leaflet-rails 0.7.4 → 0.7.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39fdde9beb6ebc940c68b0ff8b4798e6cd531e15
4
- data.tar.gz: 8e8739dbee2d813cfe9c4da4d5302f6bb222d892
3
+ metadata.gz: a2eb78713472675e95e253b537d1546f4544ebd9
4
+ data.tar.gz: e35af587a0284da1b5c60143fb8970864c547d1a
5
5
  SHA512:
6
- metadata.gz: 353dfa942ec238a6d1c9c4028b088aed522f58d43f2222e6f51826f404c1e7825afc0f1a83d8b1e6525665c66e4d6f355fc0542e13b8984d88764840193c14a9
7
- data.tar.gz: 82600a54859803f3ad7f5d85dc69dbeb31a6e4564e07856e5789e33bc87a4a55f2c67fc769f565b6704e605311a660e823a5a754a061ffe1d4507c51af259715
6
+ metadata.gz: a644f995dedb93ce3a620f8688c3cfb078b14030ee50b53b5794660761fbeed0d7de8bdcbe4c9ce56f068c0d3197b94da50a538c2a41989a651b6b496a0e7d66
7
+ data.tar.gz: 2fbda3b24c04f36bbdac8aed3b05f72fa8ad576996fe3f19c6ec79a409a01fdd0a5fbf258560d4c91499512f0b12a26f7443e71b63dcd42e217605ce6cb028db
data/README.md CHANGED
@@ -44,6 +44,7 @@ leaflet-rails tries to keep version parity with leaflet.js. However, this isn't
44
44
  | leaflet-rails | leaflet.js | Reason |
45
45
  | ------------- | ------------- | ------|
46
46
  | 0.7.4 | 0.7.3 | Requested in #33 because of large gap between master and rubygems.org.|
47
+ | 0.7.5 | 0.7.5 | leaflet.js 0.7.4 was reverted. |
47
48
 
48
49
 
49
50
  Helpers
@@ -67,12 +68,10 @@ Leaflet.subdomains = ['otile1', 'otile2', 'otile3', 'otile4']
67
68
 
68
69
  You will then be able to call the ```#map``` helper method in a view, and make sure that the helper method is inside an erb tag like so:
69
70
  ```ruby
70
- <div id="map">
71
- <%= map(:center => {
72
- :latlng => [51.52238797921441, -0.08366235665359283],
73
- :zoom => 18
74
- }) %>
75
- </div>
71
+ <%= map(:center => {
72
+ :latlng => [51.52238797921441, -0.08366235665359283],
73
+ :zoom => 18
74
+ }) %>
76
75
  ```
77
76
 
78
77
  You can also add any number of markers like so:
@@ -9,8 +9,8 @@ Gem::Specification.new do |s|
9
9
  s.email = ["joshi.a@gmail.com"]
10
10
  s.license = "BSD"
11
11
  s.homepage = ""
12
- s.summary = %q{Use leaflet.js with Rails 3/4.}
13
- s.description = %q{This gem provides the leaflet.js map display library for your Rails 3/4 application.}
12
+ s.summary = %q{Use leaflet.js with Rails 4.}
13
+ s.description = %q{This gem provides the leaflet.js map display library for your Rails 4 application.}
14
14
 
15
15
  s.rubyforge_project = "leaflet-rails"
16
16
 
@@ -19,10 +19,9 @@ Gem::Specification.new do |s|
19
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
20
  s.require_paths = ["lib"]
21
21
 
22
- s.add_development_dependency "rspec", '<= 2.9.0'
22
+ s.add_development_dependency "rspec", '<= 3.4.0'
23
23
  s.add_development_dependency "simplecov-rcov"
24
- s.add_development_dependency "actionpack", '>= 3.2.0'
25
- s.add_development_dependency "activesupport", '>= 3.2.0'
26
- s.add_development_dependency "activemodel", '>= 3.2.0'
27
- s.add_development_dependency "railties", '>= 3.2.0'
24
+ s.add_development_dependency "actionpack", '>= 4.2.0'
25
+ s.add_development_dependency "activesupport", '>= 4.2.0'
26
+ s.add_development_dependency "railties", '>= 4.2.0'
28
27
  end
@@ -1,5 +1,5 @@
1
1
  module Leaflet
2
2
  module Rails
3
- VERSION = "0.7.4"
3
+ VERSION = "0.7.5"
4
4
  end
5
5
  end
@@ -24,23 +24,23 @@ module Leaflet
24
24
  output = []
25
25
  output << "<div id='#{container_id}'></div>" unless no_container
26
26
  output << "<script>"
27
- output << "var map = L.map('#{container_id}')"
27
+ output << "var map = L.map('#{container_id}');"
28
28
 
29
29
  if center
30
- output << "map.setView([#{center[:latlng][0]}, #{center[:latlng][1]}], #{center[:zoom]})"
30
+ output << "map.setView([#{center[:latlng][0]}, #{center[:latlng][1]}], #{center[:zoom]});"
31
31
  end
32
32
 
33
33
  if markers
34
34
  markers.each_with_index do |marker, index|
35
35
  if marker[:icon]
36
36
  icon_settings = prep_icon_settings(marker[:icon])
37
- output << "var #{icon_settings[:name]}#{index} = L.icon({iconUrl: '#{icon_settings[:icon_url]}', shadowUrl: '#{icon_settings[:shadow_url]}', iconSize: #{icon_settings[:icon_size]}, shadowSize: #{icon_settings[:shadow_size]}, iconAnchor: #{icon_settings[:icon_anchor]}, shadowAnchor: #{icon_settings[:shadow_anchor]}, popupAnchor: #{icon_settings[:popup_anchor]}})"
38
- output << "marker = L.marker([#{marker[:latlng][0]}, #{marker[:latlng][1]}], {icon: #{icon_settings[:name]}#{index}}).addTo(map)"
37
+ output << "var #{icon_settings[:name]}#{index} = L.icon({iconUrl: '#{icon_settings[:icon_url]}', shadowUrl: '#{icon_settings[:shadow_url]}', iconSize: #{icon_settings[:icon_size]}, shadowSize: #{icon_settings[:shadow_size]}, iconAnchor: #{icon_settings[:icon_anchor]}, shadowAnchor: #{icon_settings[:shadow_anchor]}, popupAnchor: #{icon_settings[:popup_anchor]}});"
38
+ output << "marker = L.marker([#{marker[:latlng][0]}, #{marker[:latlng][1]}], {icon: #{icon_settings[:name]}#{index}}).addTo(map);"
39
39
  else
40
- output << "marker = L.marker([#{marker[:latlng][0]}, #{marker[:latlng][1]}]).addTo(map)"
41
- end
40
+ output << "marker = L.marker([#{marker[:latlng][0]}, #{marker[:latlng][1]}]).addTo(map);"
41
+ end
42
42
  if marker[:popup]
43
- output << "marker.bindPopup('#{marker[:popup]}')"
43
+ output << "marker.bindPopup('#{marker[:popup]}');"
44
44
  end
45
45
  end
46
46
  end
@@ -71,7 +71,7 @@ module Leaflet
71
71
  output << "L.tileLayer('#{tile_layer}', {
72
72
  attribution: '#{attribution}',
73
73
  maxZoom: #{max_zoom},"
74
-
74
+
75
75
  if options[:subdomains]
76
76
  output << " subdomains: #{options[:subdomains]},"
77
77
  options.delete( :subdomains )
@@ -80,7 +80,7 @@ module Leaflet
80
80
  options.each do |key, value|
81
81
  output << "#{key.to_s.camelize(:lower)}: '#{value}',"
82
82
  end
83
- output << "}).addTo(map)"
83
+ output << "}).addTo(map);"
84
84
 
85
85
  output << "</script>"
86
86
  output.join("\n").html_safe
@@ -12,7 +12,7 @@
12
12
  var oldL = window.L,
13
13
  L = {};
14
14
 
15
- L.version = '0.7.3';
15
+ L.version = '0.7.5';
16
16
 
17
17
  // define Leaflet for Node module pattern loaders, including Browserify
18
18
  if (typeof module === 'object' && typeof module.exports === 'object') {
@@ -524,8 +524,7 @@ L.Mixin.Events.fire = L.Mixin.Events.fireEvent;
524
524
  gecko = ua.indexOf('gecko') !== -1,
525
525
 
526
526
  mobile = typeof orientation !== undefined + '',
527
- msPointer = window.navigator && window.navigator.msPointerEnabled &&
528
- window.navigator.msMaxTouchPoints && !window.PointerEvent,
527
+ msPointer = !window.PointerEvent && window.MSPointerEvent,
529
528
  pointer = (window.PointerEvent && window.navigator.pointerEnabled && window.navigator.maxTouchPoints) ||
530
529
  msPointer,
531
530
  retina = ('devicePixelRatio' in window && window.devicePixelRatio > 1) ||
@@ -539,38 +538,8 @@ L.Mixin.Events.fire = L.Mixin.Events.fireEvent;
539
538
  opera3d = 'OTransition' in doc.style,
540
539
  any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d || opera3d) && !phantomjs;
541
540
 
542
-
543
- // PhantomJS has 'ontouchstart' in document.documentElement, but doesn't actually support touch.
544
- // https://github.com/Leaflet/Leaflet/pull/1434#issuecomment-13843151
545
-
546
- var touch = !window.L_NO_TOUCH && !phantomjs && (function () {
547
-
548
- var startName = 'ontouchstart';
549
-
550
- // IE10+ (We simulate these into touch* events in L.DomEvent and L.DomEvent.Pointer) or WebKit, etc.
551
- if (pointer || (startName in doc)) {
552
- return true;
553
- }
554
-
555
- // Firefox/Gecko
556
- var div = document.createElement('div'),
557
- supported = false;
558
-
559
- if (!div.setAttribute) {
560
- return false;
561
- }
562
- div.setAttribute(startName, 'return;');
563
-
564
- if (typeof div[startName] === 'function') {
565
- supported = true;
566
- }
567
-
568
- div.removeAttribute(startName);
569
- div = null;
570
-
571
- return supported;
572
- }());
573
-
541
+ var touch = !window.L_NO_TOUCH && !phantomjs && (pointer || 'ontouchstart' in window ||
542
+ (window.DocumentTouch && document instanceof window.DocumentTouch));
574
543
 
575
544
  L.Browser = {
576
545
  ie: ie,
@@ -1637,15 +1606,16 @@ L.Map = L.Class.extend({
1637
1606
  var paddingTL = L.point(options.paddingTopLeft || options.padding || [0, 0]),
1638
1607
  paddingBR = L.point(options.paddingBottomRight || options.padding || [0, 0]),
1639
1608
 
1640
- zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR)),
1641
- paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),
1609
+ zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR));
1610
+
1611
+ zoom = (options.maxZoom) ? Math.min(options.maxZoom, zoom) : zoom;
1612
+
1613
+ var paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),
1642
1614
 
1643
1615
  swPoint = this.project(bounds.getSouthWest(), zoom),
1644
1616
  nePoint = this.project(bounds.getNorthEast(), zoom),
1645
1617
  center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom);
1646
1618
 
1647
- zoom = options && options.maxZoom ? Math.min(options.maxZoom, zoom) : zoom;
1648
-
1649
1619
  return this.setView(center, zoom, options);
1650
1620
  },
1651
1621
 
@@ -2787,7 +2757,7 @@ L.TileLayer = L.Class.extend({
2787
2757
  }
2788
2758
 
2789
2759
  if (options.bounds) {
2790
- var tileSize = options.tileSize,
2760
+ var tileSize = this._getTileSize(),
2791
2761
  nwPoint = tilePoint.multiplyBy(tileSize),
2792
2762
  sePoint = nwPoint.add([tileSize, tileSize]),
2793
2763
  nw = this._map.unproject(nwPoint),
@@ -3570,10 +3540,8 @@ L.Marker = L.Class.extend({
3570
3540
 
3571
3541
  update: function () {
3572
3542
  if (this._icon) {
3573
- var pos = this._map.latLngToLayerPoint(this._latlng).round();
3574
- this._setPos(pos);
3543
+ this._setPos(this._map.latLngToLayerPoint(this._latlng).round());
3575
3544
  }
3576
-
3577
3545
  return this;
3578
3546
  },
3579
3547
 
@@ -4231,6 +4199,7 @@ L.Marker.include({
4231
4199
  if (content instanceof L.Popup) {
4232
4200
  L.setOptions(content, options);
4233
4201
  this._popup = content;
4202
+ content._source = this;
4234
4203
  } else {
4235
4204
  this._popup = new L.Popup(options, this)
4236
4205
  .setContent(content);
@@ -5086,7 +5055,7 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
5086
5055
  }
5087
5056
 
5088
5057
  this._requestUpdate();
5089
-
5058
+
5090
5059
  this.fire('remove');
5091
5060
  this._map = null;
5092
5061
  },
@@ -5117,6 +5086,13 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
5117
5086
  if (options.fill) {
5118
5087
  this._ctx.fillStyle = options.fillColor || options.color;
5119
5088
  }
5089
+
5090
+ if (options.lineCap) {
5091
+ this._ctx.lineCap = options.lineCap;
5092
+ }
5093
+ if (options.lineJoin) {
5094
+ this._ctx.lineJoin = options.lineJoin;
5095
+ }
5120
5096
  },
5121
5097
 
5122
5098
  _drawPath: function () {
@@ -5154,7 +5130,7 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
5154
5130
 
5155
5131
  if (options.fill) {
5156
5132
  ctx.globalAlpha = options.fillOpacity;
5157
- ctx.fill();
5133
+ ctx.fill(options.fillRule || 'evenodd');
5158
5134
  }
5159
5135
 
5160
5136
  if (options.stroke) {
@@ -5169,15 +5145,14 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
5169
5145
 
5170
5146
  _initEvents: function () {
5171
5147
  if (this.options.clickable) {
5172
- // TODO dblclick
5173
5148
  this._map.on('mousemove', this._onMouseMove, this);
5174
- this._map.on('click', this._onClick, this);
5149
+ this._map.on('click dblclick contextmenu', this._fireMouseEvent, this);
5175
5150
  }
5176
5151
  },
5177
5152
 
5178
- _onClick: function (e) {
5153
+ _fireMouseEvent: function (e) {
5179
5154
  if (this._containsPoint(e.layerPoint)) {
5180
- this.fire('click', e);
5155
+ this.fire(e.type, e);
5181
5156
  }
5182
5157
  },
5183
5158
 
@@ -8134,7 +8109,7 @@ L.Control.Attribution = L.Control.extend({
8134
8109
  this.addAttribution(map._layers[i].getAttribution());
8135
8110
  }
8136
8111
  }
8137
-
8112
+
8138
8113
  map
8139
8114
  .on('layeradd', this._onLayerAdd, this)
8140
8115
  .on('layerremove', this._onLayerRemove, this);
@@ -8955,10 +8930,13 @@ L.Map.include(!L.DomUtil.TRANSITION ? {} : {
8955
8930
  delta: delta,
8956
8931
  backwards: backwards
8957
8932
  });
8933
+ // horrible hack to work around a Chrome bug https://github.com/Leaflet/Leaflet/issues/3689
8934
+ setTimeout(L.bind(this._onZoomTransitionEnd, this), 250);
8958
8935
  }, this);
8959
8936
  },
8960
8937
 
8961
8938
  _onZoomTransitionEnd: function () {
8939
+ if (!this._animatingZoom) { return; }
8962
8940
 
8963
8941
  this._animatingZoom = false;
8964
8942
 
@@ -9004,6 +8982,11 @@ L.TileLayer.include({
9004
8982
  // force reflow
9005
8983
  L.Util.falseFn(bg.offsetWidth);
9006
8984
 
8985
+ var zoom = this._map.getZoom();
8986
+ if (zoom > this.options.maxZoom || zoom < this.options.minZoom) {
8987
+ this._clearBgBuffer();
8988
+ }
8989
+
9007
8990
  this._animating = false;
9008
8991
  },
9009
8992
 
@@ -1,3 +1,6 @@
1
+ //= depend_on_asset "layers.png"
2
+ //= depend_on_asset "layers-2x.png"
3
+
1
4
  /* required styles */
2
5
 
3
6
  .leaflet-map-pane,
@@ -14,49 +17,49 @@
14
17
  .leaflet-zoom-box,
15
18
  .leaflet-image-layer,
16
19
  .leaflet-layer {
17
- position: absolute;
18
- left: 0;
19
- top: 0;
20
- }
20
+ position: absolute;
21
+ left: 0;
22
+ top: 0;
23
+ }
21
24
  .leaflet-container {
22
- overflow: hidden;
23
- -ms-touch-action: none;
24
- }
25
+ overflow: hidden;
26
+ -ms-touch-action: none;
27
+ }
25
28
  .leaflet-tile,
26
29
  .leaflet-marker-icon,
27
30
  .leaflet-marker-shadow {
28
- -webkit-user-select: none;
29
- -moz-user-select: none;
30
- user-select: none;
31
- -webkit-user-drag: none;
32
- }
31
+ -webkit-user-select: none;
32
+ -moz-user-select: none;
33
+ user-select: none;
34
+ -webkit-user-drag: none;
35
+ }
33
36
  .leaflet-marker-icon,
34
37
  .leaflet-marker-shadow {
35
- display: block;
36
- }
38
+ display: block;
39
+ }
37
40
  /* map is broken in FF if you have max-width: 100% on tiles */
38
41
  .leaflet-container img {
39
- max-width: none !important;
40
- }
42
+ max-width: none !important;
43
+ }
41
44
  /* stupid Android 2 doesn't understand "max-width: none" properly */
42
45
  .leaflet-container img.leaflet-image-layer {
43
- max-width: 15000px !important;
44
- }
46
+ max-width: 15000px !important;
47
+ }
45
48
  .leaflet-tile {
46
- filter: inherit;
47
- visibility: hidden;
48
- }
49
+ filter: inherit;
50
+ visibility: hidden;
51
+ }
49
52
  .leaflet-tile-loaded {
50
- visibility: inherit;
51
- }
53
+ visibility: inherit;
54
+ }
52
55
  .leaflet-zoom-box {
53
- width: 0;
54
- height: 0;
55
- }
56
+ width: 0;
57
+ height: 0;
58
+ }
56
59
  /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
57
60
  .leaflet-overlay-pane svg {
58
- -moz-user-select: none;
59
- }
61
+ -moz-user-select: none;
62
+ }
60
63
 
61
64
  .leaflet-tile-pane { z-index: 2; }
62
65
  .leaflet-objects-pane { z-index: 3; }
@@ -66,413 +69,413 @@
66
69
  .leaflet-popup-pane { z-index: 7; }
67
70
 
68
71
  .leaflet-vml-shape {
69
- width: 1px;
70
- height: 1px;
71
- }
72
+ width: 1px;
73
+ height: 1px;
74
+ }
72
75
  .lvml {
73
- behavior: url(#default#VML);
74
- display: inline-block;
75
- position: absolute;
76
- }
76
+ behavior: url(#default#VML);
77
+ display: inline-block;
78
+ position: absolute;
79
+ }
77
80
 
78
81
 
79
82
  /* control positioning */
80
83
 
81
84
  .leaflet-control {
82
- position: relative;
83
- z-index: 7;
84
- pointer-events: auto;
85
- }
85
+ position: relative;
86
+ z-index: 7;
87
+ pointer-events: auto;
88
+ }
86
89
  .leaflet-top,
87
90
  .leaflet-bottom {
88
- position: absolute;
89
- z-index: 1000;
90
- pointer-events: none;
91
- }
91
+ position: absolute;
92
+ z-index: 1000;
93
+ pointer-events: none;
94
+ }
92
95
  .leaflet-top {
93
- top: 0;
94
- }
96
+ top: 0;
97
+ }
95
98
  .leaflet-right {
96
- right: 0;
97
- }
99
+ right: 0;
100
+ }
98
101
  .leaflet-bottom {
99
- bottom: 0;
100
- }
102
+ bottom: 0;
103
+ }
101
104
  .leaflet-left {
102
- left: 0;
103
- }
105
+ left: 0;
106
+ }
104
107
  .leaflet-control {
105
- float: left;
106
- clear: both;
107
- }
108
+ float: left;
109
+ clear: both;
110
+ }
108
111
  .leaflet-right .leaflet-control {
109
- float: right;
110
- }
112
+ float: right;
113
+ }
111
114
  .leaflet-top .leaflet-control {
112
- margin-top: 10px;
113
- }
115
+ margin-top: 10px;
116
+ }
114
117
  .leaflet-bottom .leaflet-control {
115
- margin-bottom: 10px;
116
- }
118
+ margin-bottom: 10px;
119
+ }
117
120
  .leaflet-left .leaflet-control {
118
- margin-left: 10px;
119
- }
121
+ margin-left: 10px;
122
+ }
120
123
  .leaflet-right .leaflet-control {
121
- margin-right: 10px;
122
- }
124
+ margin-right: 10px;
125
+ }
123
126
 
124
127
 
125
128
  /* zoom and fade animations */
126
129
 
127
130
  .leaflet-fade-anim .leaflet-tile,
128
131
  .leaflet-fade-anim .leaflet-popup {
129
- opacity: 0;
130
- -webkit-transition: opacity 0.2s linear;
131
- -moz-transition: opacity 0.2s linear;
132
- -o-transition: opacity 0.2s linear;
133
- transition: opacity 0.2s linear;
134
- }
132
+ opacity: 0;
133
+ -webkit-transition: opacity 0.2s linear;
134
+ -moz-transition: opacity 0.2s linear;
135
+ -o-transition: opacity 0.2s linear;
136
+ transition: opacity 0.2s linear;
137
+ }
135
138
  .leaflet-fade-anim .leaflet-tile-loaded,
136
139
  .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
137
- opacity: 1;
138
- }
140
+ opacity: 1;
141
+ }
139
142
 
140
143
  .leaflet-zoom-anim .leaflet-zoom-animated {
141
- -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
142
- -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
143
- -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
144
- transition: transform 0.25s cubic-bezier(0,0,0.25,1);
145
- }
144
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
145
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
146
+ -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
147
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
148
+ }
146
149
  .leaflet-zoom-anim .leaflet-tile,
147
150
  .leaflet-pan-anim .leaflet-tile,
148
151
  .leaflet-touching .leaflet-zoom-animated {
149
- -webkit-transition: none;
150
- -moz-transition: none;
151
- -o-transition: none;
152
- transition: none;
153
- }
152
+ -webkit-transition: none;
153
+ -moz-transition: none;
154
+ -o-transition: none;
155
+ transition: none;
156
+ }
154
157
 
155
158
  .leaflet-zoom-anim .leaflet-zoom-hide {
156
- visibility: hidden;
157
- }
159
+ visibility: hidden;
160
+ }
158
161
 
159
162
 
160
163
  /* cursors */
161
164
 
162
165
  .leaflet-clickable {
163
- cursor: pointer;
164
- }
166
+ cursor: pointer;
167
+ }
165
168
  .leaflet-container {
166
- cursor: -webkit-grab;
167
- cursor: -moz-grab;
168
- }
169
+ cursor: -webkit-grab;
170
+ cursor: -moz-grab;
171
+ }
169
172
  .leaflet-popup-pane,
170
173
  .leaflet-control {
171
- cursor: auto;
172
- }
174
+ cursor: auto;
175
+ }
173
176
  .leaflet-dragging .leaflet-container,
174
177
  .leaflet-dragging .leaflet-clickable {
175
- cursor: move;
176
- cursor: -webkit-grabbing;
177
- cursor: -moz-grabbing;
178
- }
178
+ cursor: move;
179
+ cursor: -webkit-grabbing;
180
+ cursor: -moz-grabbing;
181
+ }
179
182
 
180
183
 
181
184
  /* visual tweaks */
182
185
 
183
186
  .leaflet-container {
184
- background: #ddd;
185
- outline: 0;
186
- }
187
+ background: #ddd;
188
+ outline: 0;
189
+ }
187
190
  .leaflet-container a {
188
- color: #0078A8;
189
- }
191
+ color: #0078A8;
192
+ }
190
193
  .leaflet-container a.leaflet-active {
191
- outline: 2px solid orange;
192
- }
194
+ outline: 2px solid orange;
195
+ }
193
196
  .leaflet-zoom-box {
194
- border: 2px dotted #38f;
195
- background: rgba(255,255,255,0.5);
196
- }
197
+ border: 2px dotted #38f;
198
+ background: rgba(255,255,255,0.5);
199
+ }
197
200
 
198
201
 
199
202
  /* general typography */
200
203
  .leaflet-container {
201
- font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
202
- }
204
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
205
+ }
203
206
 
204
207
 
205
208
  /* general toolbar styles */
206
209
 
207
210
  .leaflet-bar {
208
- box-shadow: 0 1px 5px rgba(0,0,0,0.65);
209
- border-radius: 4px;
210
- }
211
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
212
+ border-radius: 4px;
213
+ }
211
214
  .leaflet-bar a,
212
215
  .leaflet-bar a:hover {
213
- background-color: #fff;
214
- border-bottom: 1px solid #ccc;
215
- width: 26px;
216
- height: 26px;
217
- line-height: 26px;
218
- display: block;
219
- text-align: center;
220
- text-decoration: none;
221
- color: black;
222
- }
216
+ background-color: #fff;
217
+ border-bottom: 1px solid #ccc;
218
+ width: 26px;
219
+ height: 26px;
220
+ line-height: 26px;
221
+ display: block;
222
+ text-align: center;
223
+ text-decoration: none;
224
+ color: black;
225
+ }
223
226
  .leaflet-bar a,
224
227
  .leaflet-control-layers-toggle {
225
- background-position: 50% 50%;
226
- background-repeat: no-repeat;
227
- display: block;
228
- }
228
+ background-position: 50% 50%;
229
+ background-repeat: no-repeat;
230
+ display: block;
231
+ }
229
232
  .leaflet-bar a:hover {
230
- background-color: #f4f4f4;
231
- }
233
+ background-color: #f4f4f4;
234
+ }
232
235
  .leaflet-bar a:first-child {
233
- border-top-left-radius: 4px;
234
- border-top-right-radius: 4px;
235
- }
236
+ border-top-left-radius: 4px;
237
+ border-top-right-radius: 4px;
238
+ }
236
239
  .leaflet-bar a:last-child {
237
- border-bottom-left-radius: 4px;
238
- border-bottom-right-radius: 4px;
239
- border-bottom: none;
240
- }
240
+ border-bottom-left-radius: 4px;
241
+ border-bottom-right-radius: 4px;
242
+ border-bottom: none;
243
+ }
241
244
  .leaflet-bar a.leaflet-disabled {
242
- cursor: default;
243
- background-color: #f4f4f4;
244
- color: #bbb;
245
- }
245
+ cursor: default;
246
+ background-color: #f4f4f4;
247
+ color: #bbb;
248
+ }
246
249
 
247
250
  .leaflet-touch .leaflet-bar a {
248
- width: 30px;
249
- height: 30px;
250
- line-height: 30px;
251
- }
251
+ width: 30px;
252
+ height: 30px;
253
+ line-height: 30px;
254
+ }
252
255
 
253
256
 
254
257
  /* zoom control */
255
258
 
256
259
  .leaflet-control-zoom-in,
257
260
  .leaflet-control-zoom-out {
258
- font: bold 18px 'Lucida Console', Monaco, monospace;
259
- text-indent: 1px;
260
- }
261
+ font: bold 18px 'Lucida Console', Monaco, monospace;
262
+ text-indent: 1px;
263
+ }
261
264
  .leaflet-control-zoom-out {
262
- font-size: 20px;
263
- }
265
+ font-size: 20px;
266
+ }
264
267
 
265
268
  .leaflet-touch .leaflet-control-zoom-in {
266
- font-size: 22px;
267
- }
269
+ font-size: 22px;
270
+ }
268
271
  .leaflet-touch .leaflet-control-zoom-out {
269
- font-size: 24px;
270
- }
272
+ font-size: 24px;
273
+ }
271
274
 
272
275
 
273
276
  /* layers control */
274
277
 
275
278
  .leaflet-control-layers {
276
- box-shadow: 0 1px 5px rgba(0,0,0,0.4);
277
- background: #fff;
278
- border-radius: 5px;
279
- }
279
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
280
+ background: #fff;
281
+ border-radius: 5px;
282
+ }
280
283
  .leaflet-control-layers-toggle {
281
- background-image: url(<%= asset_path 'layers.png' %>);
282
- width: 36px;
283
- height: 36px;
284
- }
284
+ background-image: url(<%= asset_path 'layers.png' %>);
285
+ width: 36px;
286
+ height: 36px;
287
+ }
285
288
  .leaflet-retina .leaflet-control-layers-toggle {
286
- background-image: url(<%= asset_path 'layers-2x.png' %>);
287
- background-size: 26px 26px;
288
- }
289
+ background-image: url(<%= asset_path 'layers-2x.png' %>);
290
+ background-size: 26px 26px;
291
+ }
289
292
  .leaflet-touch .leaflet-control-layers-toggle {
290
- width: 44px;
291
- height: 44px;
292
- }
293
+ width: 44px;
294
+ height: 44px;
295
+ }
293
296
  .leaflet-control-layers .leaflet-control-layers-list,
294
297
  .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
295
- display: none;
296
- }
298
+ display: none;
299
+ }
297
300
  .leaflet-control-layers-expanded .leaflet-control-layers-list {
298
- display: block;
299
- position: relative;
300
- }
301
+ display: block;
302
+ position: relative;
303
+ }
301
304
  .leaflet-control-layers-expanded {
302
- padding: 6px 10px 6px 6px;
303
- color: #333;
304
- background: #fff;
305
- }
305
+ padding: 6px 10px 6px 6px;
306
+ color: #333;
307
+ background: #fff;
308
+ }
306
309
  .leaflet-control-layers-selector {
307
- margin-top: 2px;
308
- position: relative;
309
- top: 1px;
310
- }
310
+ margin-top: 2px;
311
+ position: relative;
312
+ top: 1px;
313
+ }
311
314
  .leaflet-control-layers label {
312
- display: block;
313
- }
315
+ display: block;
316
+ }
314
317
  .leaflet-control-layers-separator {
315
- height: 0;
316
- border-top: 1px solid #ddd;
317
- margin: 5px -10px 5px -6px;
318
- }
318
+ height: 0;
319
+ border-top: 1px solid #ddd;
320
+ margin: 5px -10px 5px -6px;
321
+ }
319
322
 
320
323
 
321
324
  /* attribution and scale controls */
322
325
 
323
326
  .leaflet-container .leaflet-control-attribution {
324
- background: #fff;
325
- background: rgba(255, 255, 255, 0.7);
326
- margin: 0;
327
- }
327
+ background: #fff;
328
+ background: rgba(255, 255, 255, 0.7);
329
+ margin: 0;
330
+ }
328
331
  .leaflet-control-attribution,
329
332
  .leaflet-control-scale-line {
330
- padding: 0 5px;
331
- color: #333;
332
- }
333
+ padding: 0 5px;
334
+ color: #333;
335
+ }
333
336
  .leaflet-control-attribution a {
334
- text-decoration: none;
335
- }
337
+ text-decoration: none;
338
+ }
336
339
  .leaflet-control-attribution a:hover {
337
- text-decoration: underline;
338
- }
340
+ text-decoration: underline;
341
+ }
339
342
  .leaflet-container .leaflet-control-attribution,
340
343
  .leaflet-container .leaflet-control-scale {
341
- font-size: 11px;
342
- }
344
+ font-size: 11px;
345
+ }
343
346
  .leaflet-left .leaflet-control-scale {
344
- margin-left: 5px;
345
- }
347
+ margin-left: 5px;
348
+ }
346
349
  .leaflet-bottom .leaflet-control-scale {
347
- margin-bottom: 5px;
348
- }
350
+ margin-bottom: 5px;
351
+ }
349
352
  .leaflet-control-scale-line {
350
- border: 2px solid #777;
351
- border-top: none;
352
- line-height: 1.1;
353
- padding: 2px 5px 1px;
354
- font-size: 11px;
355
- white-space: nowrap;
356
- overflow: hidden;
357
- -moz-box-sizing: content-box;
358
- box-sizing: content-box;
359
-
360
- background: #fff;
361
- background: rgba(255, 255, 255, 0.5);
362
- }
353
+ border: 2px solid #777;
354
+ border-top: none;
355
+ line-height: 1.1;
356
+ padding: 2px 5px 1px;
357
+ font-size: 11px;
358
+ white-space: nowrap;
359
+ overflow: hidden;
360
+ -moz-box-sizing: content-box;
361
+ box-sizing: content-box;
362
+
363
+ background: #fff;
364
+ background: rgba(255, 255, 255, 0.5);
365
+ }
363
366
  .leaflet-control-scale-line:not(:first-child) {
364
- border-top: 2px solid #777;
365
- border-bottom: none;
366
- margin-top: -2px;
367
- }
367
+ border-top: 2px solid #777;
368
+ border-bottom: none;
369
+ margin-top: -2px;
370
+ }
368
371
  .leaflet-control-scale-line:not(:first-child):not(:last-child) {
369
- border-bottom: 2px solid #777;
370
- }
372
+ border-bottom: 2px solid #777;
373
+ }
371
374
 
372
375
  .leaflet-touch .leaflet-control-attribution,
373
376
  .leaflet-touch .leaflet-control-layers,
374
377
  .leaflet-touch .leaflet-bar {
375
- box-shadow: none;
376
- }
378
+ box-shadow: none;
379
+ }
377
380
  .leaflet-touch .leaflet-control-layers,
378
381
  .leaflet-touch .leaflet-bar {
379
- border: 2px solid rgba(0,0,0,0.2);
380
- background-clip: padding-box;
381
- }
382
+ border: 2px solid rgba(0,0,0,0.2);
383
+ background-clip: padding-box;
384
+ }
382
385
 
383
386
 
384
387
  /* popup */
385
388
 
386
389
  .leaflet-popup {
387
- position: absolute;
388
- text-align: center;
389
- }
390
+ position: absolute;
391
+ text-align: center;
392
+ }
390
393
  .leaflet-popup-content-wrapper {
391
- padding: 1px;
392
- text-align: left;
393
- border-radius: 12px;
394
- }
394
+ padding: 1px;
395
+ text-align: left;
396
+ border-radius: 12px;
397
+ }
395
398
  .leaflet-popup-content {
396
- margin: 13px 19px;
397
- line-height: 1.4;
398
- }
399
+ margin: 13px 19px;
400
+ line-height: 1.4;
401
+ }
399
402
  .leaflet-popup-content p {
400
- margin: 18px 0;
401
- }
403
+ margin: 18px 0;
404
+ }
402
405
  .leaflet-popup-tip-container {
403
- margin: 0 auto;
404
- width: 40px;
405
- height: 20px;
406
- position: relative;
407
- overflow: hidden;
408
- }
406
+ margin: 0 auto;
407
+ width: 40px;
408
+ height: 20px;
409
+ position: relative;
410
+ overflow: hidden;
411
+ }
409
412
  .leaflet-popup-tip {
410
- width: 17px;
411
- height: 17px;
412
- padding: 1px;
413
-
414
- margin: -10px auto 0;
415
-
416
- -webkit-transform: rotate(45deg);
417
- -moz-transform: rotate(45deg);
418
- -ms-transform: rotate(45deg);
419
- -o-transform: rotate(45deg);
420
- transform: rotate(45deg);
421
- }
413
+ width: 17px;
414
+ height: 17px;
415
+ padding: 1px;
416
+
417
+ margin: -10px auto 0;
418
+
419
+ -webkit-transform: rotate(45deg);
420
+ -moz-transform: rotate(45deg);
421
+ -ms-transform: rotate(45deg);
422
+ -o-transform: rotate(45deg);
423
+ transform: rotate(45deg);
424
+ }
422
425
  .leaflet-popup-content-wrapper,
423
426
  .leaflet-popup-tip {
424
- background: white;
427
+ background: white;
425
428
 
426
- box-shadow: 0 3px 14px rgba(0,0,0,0.4);
427
- }
429
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
430
+ }
428
431
  .leaflet-container a.leaflet-popup-close-button {
429
- position: absolute;
430
- top: 0;
431
- right: 0;
432
- padding: 4px 4px 0 0;
433
- text-align: center;
434
- width: 18px;
435
- height: 14px;
436
- font: 16px/14px Tahoma, Verdana, sans-serif;
437
- color: #c3c3c3;
438
- text-decoration: none;
439
- font-weight: bold;
440
- background: transparent;
441
- }
432
+ position: absolute;
433
+ top: 0;
434
+ right: 0;
435
+ padding: 4px 4px 0 0;
436
+ text-align: center;
437
+ width: 18px;
438
+ height: 14px;
439
+ font: 16px/14px Tahoma, Verdana, sans-serif;
440
+ color: #c3c3c3;
441
+ text-decoration: none;
442
+ font-weight: bold;
443
+ background: transparent;
444
+ }
442
445
  .leaflet-container a.leaflet-popup-close-button:hover {
443
- color: #999;
444
- }
446
+ color: #999;
447
+ }
445
448
  .leaflet-popup-scrolled {
446
- overflow: auto;
447
- border-bottom: 1px solid #ddd;
448
- border-top: 1px solid #ddd;
449
- }
449
+ overflow: auto;
450
+ border-bottom: 1px solid #ddd;
451
+ border-top: 1px solid #ddd;
452
+ }
450
453
 
451
454
  .leaflet-oldie .leaflet-popup-content-wrapper {
452
- zoom: 1;
453
- }
455
+ zoom: 1;
456
+ }
454
457
  .leaflet-oldie .leaflet-popup-tip {
455
- width: 24px;
456
- margin: 0 auto;
458
+ width: 24px;
459
+ margin: 0 auto;
457
460
 
458
- -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
459
- filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
460
- }
461
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
462
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
463
+ }
461
464
  .leaflet-oldie .leaflet-popup-tip-container {
462
- margin-top: -1px;
463
- }
465
+ margin-top: -1px;
466
+ }
464
467
 
465
468
  .leaflet-oldie .leaflet-control-zoom,
466
469
  .leaflet-oldie .leaflet-control-layers,
467
470
  .leaflet-oldie .leaflet-popup-content-wrapper,
468
471
  .leaflet-oldie .leaflet-popup-tip {
469
- border: 1px solid #999;
470
- }
472
+ border: 1px solid #999;
473
+ }
471
474
 
472
475
 
473
476
  /* div icon */
474
477
 
475
478
  .leaflet-div-icon {
476
- background: #fff;
477
- border: 1px solid #666;
478
- }
479
+ background: #fff;
480
+ border: 1px solid #666;
481
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leaflet-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akshay Joshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-30 00:00:00.000000000 Z
11
+ date: 2016-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "<="
18
18
  - !ruby/object:Gem::Version
19
- version: 2.9.0
19
+ version: 3.4.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "<="
25
25
  - !ruby/object:Gem::Version
26
- version: 2.9.0
26
+ version: 3.4.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: simplecov-rcov
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,57 +44,43 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 3.2.0
47
+ version: 4.2.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 3.2.0
54
+ version: 4.2.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activesupport
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 3.2.0
61
+ version: 4.2.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 3.2.0
69
- - !ruby/object:Gem::Dependency
70
- name: activemodel
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: 3.2.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: 3.2.0
68
+ version: 4.2.0
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: railties
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: 3.2.0
75
+ version: 4.2.0
90
76
  type: :development
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: 3.2.0
97
- description: This gem provides the leaflet.js map display library for your Rails 3/4
82
+ version: 4.2.0
83
+ description: This gem provides the leaflet.js map display library for your Rails 4
98
84
  application.
99
85
  email:
100
86
  - joshi.a@gmail.com
@@ -142,10 +128,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
128
  version: '0'
143
129
  requirements: []
144
130
  rubyforge_project: leaflet-rails
145
- rubygems_version: 2.2.2
131
+ rubygems_version: 2.4.8
146
132
  signing_key:
147
133
  specification_version: 4
148
- summary: Use leaflet.js with Rails 3/4.
134
+ summary: Use leaflet.js with Rails 4.
149
135
  test_files:
150
136
  - spec/spec_helper.rb
151
137
  - spec/view_helpers_spec.rb