leaflet-rails 0.7.4 → 0.7.5

Sign up to get free protection for your applications and to get access to all the features.
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