From: Tom MacWright Date: Mon, 10 Jun 2013 16:46:00 +0000 (-0700) Subject: Remove pan and zoom controls X-Git-Tag: live~4854^2~70 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/5aea67a71f677c0845941ee0db72d756648fc026 Remove pan and zoom controls --- diff --git a/Vendorfile b/Vendorfile index 3eee989d3..c2622b16c 100644 --- a/Vendorfile +++ b/Vendorfile @@ -16,14 +16,6 @@ folder 'vendor/assets' do folder 'img', 'src/img' end - from 'git://github.com/kartena/Leaflet.Pancontrol.git' do - file 'leaflet.pan.js', 'src/L.Control.Pan.js' - end - - from 'git://github.com/kartena/Leaflet.zoomslider.git' do - file 'leaflet.zoom.js', 'src/L.Control.Zoomslider.js' - end - from 'git://github.com/jfirebaugh/leaflet-osm.git' do file 'leaflet.osm.js', 'leaflet-osm.js' end @@ -32,7 +24,7 @@ folder 'vendor/assets' do folder 'jquery' do from 'git://github.com/jevin/Autogrow-Textarea.git' do file 'jquery.autogrowtextarea.js', 'jquery.autogrowtextarea.js' - end + end end folder 'ohauth' do @@ -42,7 +34,7 @@ folder 'vendor/assets' do end folder 'iD' do - from 'git://github.com/systemed/iD', :branch => '1-0-stable' do + from 'git://github.com/systemed/iD', :branch => 'release' do folder 'iD/img', 'dist/img' folder 'iD/locales', 'dist/locales' file 'iD.css.erb', 'dist/iD.css' do |path| diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index f8a8c4520..b9d09bd82 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -6,8 +6,6 @@ //= require leaflet //= require leaflet.osm //= require leaflet.locationfilter -//= require leaflet.pan -//= require leaflet.zoom //= require i18n/translations //= require oauth //= require osm diff --git a/app/assets/javascripts/map.js.erb b/app/assets/javascripts/map.js.erb index 90aefa945..2354593ff 100644 --- a/app/assets/javascripts/map.js.erb +++ b/app/assets/javascripts/map.js.erb @@ -59,10 +59,6 @@ function createMap(divName, options) { map.attributionControl.setPrefix(''); } - if (options.panZoomControl) { - new L.Control.Pan().addTo(map); - new L.Control.Zoomslider({stepHeight: 7}).addTo(map); - } var layersControl = L.control.layers(); diff --git a/app/assets/stylesheets/leaflet-all.css.scss b/app/assets/stylesheets/leaflet-all.css.scss index 16001e5a5..a32e24dd1 100644 --- a/app/assets/stylesheets/leaflet-all.css.scss +++ b/app/assets/stylesheets/leaflet-all.css.scss @@ -1,8 +1,6 @@ /* *= require leaflet *= require leaflet.locationfilter - *= require leaflet.pan - *= require leaflet.zoom */ /* Override to serve images through the asset pipeline. */ diff --git a/vendor/assets/leaflet/leaflet.pan.js b/vendor/assets/leaflet/leaflet.pan.js deleted file mode 100644 index 5fa3a917d..000000000 --- a/vendor/assets/leaflet/leaflet.pan.js +++ /dev/null @@ -1,52 +0,0 @@ -L.Control.Pan = L.Control.extend({ - options: { - position: 'topleft', - panOffset: 500 - }, - - onAdd: function (map) { - var className = 'leaflet-control-pan', - container = L.DomUtil.create('div', className), - off = this.options.panOffset; - - this._panButton('Up' , className + '-up' - , container, map, new L.Point( 0 , -off)); - this._panButton('Left' , className + '-left' - , container, map, new L.Point( -off , 0)); - this._panButton('Right', className + '-right' - , container, map, new L.Point( off , 0)); - this._panButton('Down' , className + '-down' - , container, map, new L.Point( 0 , off)); - - return container; - }, - - _panButton: function (title, className, container, map, offset, text) { - var wrapper = L.DomUtil.create('div', className + "-wrap", container); - var link = L.DomUtil.create('a', className, wrapper); - link.href = '#'; - link.title = title; - L.DomEvent - .on(link, 'click', L.DomEvent.stopPropagation) - .on(link, 'click', L.DomEvent.preventDefault) - .on(link, 'click', function(){ map.panBy(offset); }, map) - .on(link, 'dblclick', L.DomEvent.stopPropagation) - - return link; - } -}); - -L.Map.mergeOptions({ - panControl: true -}); - -L.Map.addInitHook(function () { - if (this.options.panControl) { - this.panControl = new L.Control.Pan(); - this.addControl(this.panControl); - } -}); - -L.control.pan = function (options) { - return new L.Control.Pan(options); -}; diff --git a/vendor/assets/leaflet/leaflet.zoom.js b/vendor/assets/leaflet/leaflet.zoom.js deleted file mode 100644 index 0d105f9e1..000000000 --- a/vendor/assets/leaflet/leaflet.zoom.js +++ /dev/null @@ -1,213 +0,0 @@ -L.Control.Zoomslider = (function () { - - var Knob = L.Draggable.extend({ - initialize: function (element, stepHeight, knobHeight) { - L.Draggable.prototype.initialize.call(this, element, element); - this._element = element; - - this._stepHeight = stepHeight; - this._knobHeight = knobHeight; - - this.on('predrag', function () { - this._newPos.x = 0; - this._newPos.y = this._adjust(this._newPos.y); - }, this); - }, - - _adjust: function (y) { - var value = Math.round(this._toValue(y)); - value = Math.max(0, Math.min(this._maxValue, value)); - return this._toY(value); - }, - - // y = k*v + m - _toY: function (value) { - return this._k * value + this._m; - }, - // v = (y - m) / k - _toValue: function (y) { - return (y - this._m) / this._k; - }, - - setSteps: function (steps) { - var sliderHeight = steps * this._stepHeight; - this._maxValue = steps - 1; - - // conversion parameters - // the conversion is just a common linear function. - this._k = -this._stepHeight; - this._m = sliderHeight - (this._stepHeight + this._knobHeight) / 2; - }, - - setPosition: function (y) { - L.DomUtil.setPosition(this._element, - L.point(0, this._adjust(y))); - }, - - setValue: function (v) { - this.setPosition(this._toY(v)); - }, - - getValue: function () { - return this._toValue(L.DomUtil.getPosition(this._element).y); - } - }); - - var Zoomslider = L.Control.extend({ - options: { - position: 'topleft', - // Height of zoom-slider.png in px - stepHeight: 9, - // Height of the knob div in px - knobHeight: 5, - styleNS: 'leaflet-control-zoomslider' - }, - - onAdd: function (map) { - var container = L.DomUtil.create('div', this.options.styleNS + ' leaflet-bar'); - - L.DomEvent.disableClickPropagation(container); - - this._map = map; - - this._zoomInButton = this._createZoomButton( - 'in', 'top', container, this._zoomIn); - - this._sliderElem = L.DomUtil.create( - 'div', - this.options.styleNS + "-slider leaflet-bar-part", - container); - - this._zoomOutButton = this._createZoomButton( - 'out', 'bottom', container, this._zoomOut); - - map .on('zoomlevelschange', this._refresh, this) - .on("zoomend", this._updateKnob, this) - .on("zoomend", this._updateDisabled, this) - .whenReady(this._createSlider, this) - .whenReady(this._createKnob, this) - .whenReady(this._refresh, this); - - return container; - }, - - onRemove: function (map) { - map .off("zoomend", this._updateKnob) - .off("zoomend", this._updateDisabled) - .off('zoomlevelschange', this._refresh); - }, - - _refresh: function () { - var zoomLevels = this._zoomLevels(); - if (zoomLevels < Infinity && this._knob && this._sliderBody) { - this._setSteps(zoomLevels); - this._updateKnob(); - this._updateDisabled(); - } - }, - _zoomLevels: function () { - return this._map.getMaxZoom() - this._map.getMinZoom() + 1; - }, - - _createSlider: function () { - this._sliderBody = L.DomUtil.create('div', - this.options.styleNS + '-slider-body', - this._sliderElem); - L.DomEvent.on(this._sliderBody, 'click', this._onSliderClick, this); - }, - - _createKnob: function () { - var knobElem = L.DomUtil.create('div', this.options.styleNS + '-slider-knob', - this._sliderBody); - L.DomEvent.disableClickPropagation(knobElem); - - this._knob = new Knob(knobElem, - this.options.stepHeight, - this.options.knobHeight) - .on('dragend', this._updateZoom, this); - this._knob.enable(); - }, - - _onSliderClick: function (e) { - var first = (e.touches && e.touches.length === 1 ? e.touches[0] : e); - var y = L.DomEvent.getMousePosition(first).y - - L.DomUtil.getViewportOffset(this._sliderBody).y; // Cache this? - this._knob.setPosition(y); - this._updateZoom(); - }, - - _zoomIn: function (e) { - this._map.zoomIn(e.shiftKey ? 3 : 1); - }, - _zoomOut: function (e) { - this._map.zoomOut(e.shiftKey ? 3 : 1); - }, - - _createZoomButton: function (zoomDir, end, container, fn) { - var barPart = 'leaflet-bar-part', - classDef = this.options.styleNS + '-' + zoomDir - + ' ' + barPart - + ' ' + barPart + '-' + end, - title = 'Zoom ' + zoomDir, - link = L.DomUtil.create('a', classDef, container); - link.href = '#'; - link.title = title; - - L.DomEvent - .on(link, 'click', L.DomEvent.preventDefault) - .on(link, 'click', fn, this); - - return link; - }, - _toZoomLevel: function (value) { - return value + this._map.getMinZoom(); - }, - _toValue: function (zoomLevel) { - return zoomLevel - this._map.getMinZoom(); - }, - _setSteps: function (zoomLevels) { - this._sliderBody.style.height - = (this.options.stepHeight * zoomLevels) + "px"; - this._knob.setSteps(zoomLevels); - }, - _updateZoom: function () { - this._map.setZoom(this._toZoomLevel(this._knob.getValue())); - }, - _updateKnob: function () { - if (this._knob) { - this._knob.setValue(this._toValue(this._map.getZoom())); - } - }, - _updateDisabled: function () { - var map = this._map, - className = this.options.styleNS + '-disabled'; - - L.DomUtil.removeClass(this._zoomInButton, className); - L.DomUtil.removeClass(this._zoomOutButton, className); - - if (map.getZoom() === map.getMinZoom()) { - L.DomUtil.addClass(this._zoomOutButton, className); - } - if (map.getZoom() === map.getMaxZoom()) { - L.DomUtil.addClass(this._zoomInButton, className); - } - } - }); - return Zoomslider; -})(); - -L.Map.mergeOptions({ - zoomControl: false, - zoomsliderControl: true -}); - -L.Map.addInitHook(function () { - if (this.options.zoomsliderControl) { - this.zoomsliderControl = new L.Control.Zoomslider(); - this.addControl(this.zoomsliderControl); - } -}); - -L.control.zoomslider = function (options) { - return new L.Control.Zoomslider(options); -};