Commit Graph

456 Commits

Author SHA1 Message Date
Iván Sánchez Ortega
4e979514c3 Add a 'sortLayers' option to L.Control.Layers (#4711)
* Add a 'sortLayers' option to L.Control.Layers

* Add a sortFunction option to L.Control.Layers

* Fix default sort function; modify test
2016-11-17 12:52:29 +01:00
Yohan Boniface
88d107ca96 Merge pull request #5087 from Leaflet/layers-collapse-alt
Always create L.Control.Layers as collapsed; expand if collapse option not set
2016-11-11 16:15:49 +01:00
Per Liedman
a656a0b9ec Add unit test 2016-11-11 15:54:05 +01:00
Iván Sánchez Ortega
8c22c4e385 Ensure zoom is within span when adding a layer with min/maxzoom, fixes #4915 (#4916)
* Ensure zoom is within span when adding a layer with min/maxzoom, fixes #4915.

* Add tests written by @theashyster

* Add tests to verify map's zoom is actually adjusted to layer's min/max
2016-11-11 10:46:31 +01:00
Iván Sánchez Ortega
fd78560036 L.GeoJSON.asFeature should pass through FeatureCollections (#5049)
* L.GeoJSON.asFeature should pass through FeatureCollections

* Add unit test to verify FeatureCollection toGeoJSON
2016-11-10 13:53:38 +01:00
ghybs
34dca3cfd9 Fix #5011 (canvas remove+add) (#5024)
Bug when using map option `preferCanvas: true` (canvas renderer for paths) and removing then adding back a vector within the same animation frame (typically in the same sequence, as done by Leaflet.markercluster at `"zoomend"` event, to remove layers and clusters outside visible bounds).
This commit clears the `_removed` flag from paths when they are added to the canvas.
Also added corresponding test suites.
2016-10-20 15:50:15 +03:00
Vladimir Agafonkin
fd8c2599ef fix icon url warnings in tests 2016-09-27 17:58:08 +03:00
Yohan Boniface
e28f7ae984 Do not fail when closing an interactive tooltip not yet added to the map (#4937) 2016-09-26 16:40:51 +03:00
Andris Nolendorfs
62fdf6f642 Fix handling of NaN in getScaleZoom (#4914)
* Fixed an issue when crs.zoom returns NaN in getScaleZoom

* Small documentation fixes
2016-09-15 09:46:53 +02:00
Iván Sánchez Ortega
63fd4edc76 wrap tileBounds if noWrap is false by @fyeah (#4908) 2016-09-12 16:59:21 +02:00
Per Liedman
ed1a612e6f Make paths insensitive to the order of its map's moveend handlers (#4855)
* Make Paths always update after renderer updates

Close #4851

* Add test

* Add docs for update event

* Remove listener when layer is removed
2016-08-31 17:58:46 +03:00
Per Liedman
017d29c4eb Just store array of listeners, count is no longer needed. (#4842)
* Just store array of listeners, count is no longer needed.

* Remove unused code
2016-08-25 17:23:58 +02:00
Yohan Boniface
7927708b40 Allow to create and open a tooltip without source (fix #4827) (#4836) 2016-08-25 15:29:20 +02:00
Per Liedman
cee8edeaf2 Fix listener removal even if an event is firing
Close #4840.
2016-08-25 15:20:51 +02:00
Per Liedman
59c6bb201c Use spies as listeners 2016-08-24 09:52:29 +02:00
Per Liedman
0c6dc2ce1e Make event firing reentrant
Close #4833
2016-08-24 09:26:53 +02:00
Iván Sánchez Ortega
e9957cfa02 Detect L.Icon.Default.imagePath using CSS. #4604, #3696, #4579 (#4605)
* CSS-based paths for L.Icon.Default. #4604, #3696, #4579

* Unit tests for default icons

* Make CSS icon path detection IE8-friendly

* Backwards compatibility for L.Icon.Default.imagePath override.

* Don't overwrite options
2016-08-22 16:40:03 +02:00
Steve
92baa9c73f Throw error on call to L.Polygon getCenter before map add (#4820)
* Throw error on call to L.Polygon getCenter before map add

References #4740

* add polyline handling, tests, and docstring
2016-08-15 17:01:41 +02:00
Iván Sánchez Ortega
09937e39b0 Add a _leaflet_id to the map container to fix #4806 (#4810) 2016-08-11 09:10:46 +02:00
Yohan Boniface
a0ee68558f Close non permanent tooltip on map click on touch (fix #4741) 2016-08-02 16:55:17 +02:00
Yohan Boniface
8047b0b7a9 Make sure we call event listeners in the order they are registered (fix #4743) (#4769) 2016-08-02 17:53:06 +03:00
Yohan Boniface
e746211be7 Better tooltip offset handling (fix #4772) (#4773)
- default offset is now [0, 0]
- both offset.x and offset.y are always honoured
- positive x always move the tooltip on the right
- positive y always move the tooltip on the bottom
2016-08-02 17:51:22 +03:00
Yohan Boniface
fc1dc96638 Allow to call bindTooltip on a layer not yet added to a map (fix #4778) (#4779) 2016-08-02 17:50:53 +03:00
Vladimir Agafonkin
94303a681b Merge pull request #3952 from Leaflet/label
Implement L.Label
2016-07-15 13:06:36 +03:00
Per Liedman
0bcfbdb537 Cleanup, tests and minor bug fixes for event system 2016-07-08 15:01:38 +02:00
Fabian Zeindl
0210071dad refactoring of events, it should be about 4 times faster now 2016-07-08 14:47:02 +02:00
Yohan Boniface
64ba1f7f95 Rename Label in Tooltip, PopupBase in DivOverlay 2016-07-08 13:51:18 +02:00
Yohan Boniface
fe3649f032 Default L.Label border and tip to white 2016-07-08 11:33:53 +02:00
Yohan Boniface
bd2616f901 Do not rely on options.draggable to compute draggableMoved (#4638)
One can enable dragging of a marker after it has been initialized
with draggable=false.
2016-07-08 11:22:54 +02:00
Yohan Boniface
f8221e09f7 We now load CSS in Phantom, so no need to skip those tests 2016-07-08 11:08:25 +02:00
Yohan Boniface
0dd58bd01f Merge branch 'master' into label 2016-07-08 11:07:22 +02:00
Yohan Boniface
5dfc3364d1 Allow to make screenshots in Phantomjs (#4705)
* Load CSS in PhantomJS

* Allow to take screenshot in PhantomJS while running tests

For that, one need to run this call:

    window.top.callPhantom({'render': 'screenshot.png'});

* Make PhantomJS serve images

* Bonus: those tests now passe in Phantom too

* Add helper to make screenshot in tests

	takeScreenshot();

or

	takeScreenshot('path/to/screenshot.png');
2016-07-08 11:05:12 +02:00
Yohan Boniface
d18d661837 More label tests
431579ce4a
needed to make them pass on Phantom
2016-07-02 23:02:48 +02:00
Yohan Boniface
2f4b97de19 Add support for "center" Label position 2016-07-02 10:52:04 +02:00
Yohan Boniface
14bfedf7ff Merge branch 'master' into label 2016-07-02 10:36:42 +02:00
Iván Sánchez Ortega
8cb745ce0a L.Evented.listens() returns false on removed event handlers, #4474 (#4476)
* Fix L.Evented.listens() on removed event handlers, #4474

* Fix bad unit tests for marker events

* Only check for listerners.length if listerners is actually defined
2016-07-01 11:14:22 +02:00
Per Liedman
01790eacda Ignore events if Draggable is disabled, fixing disabling drag on click in IE11 (#4479)
* Ingore events if Draggable is disabled
Close #3666.

* Add test for verifying fix to #3666
2016-06-27 16:16:03 -07:00
Iván Sánchez Ortega
b2d7cf110b Fix #4039: Use different L.Bounds for "marking as prunable" and loading tiles (#4650)
* Fix #4039: Use different L.Bounds for "marking as prunable" and loading tiles.

* configurable tile pruning tests

* using spy for testing load did not happen
2016-06-21 15:27:44 +02:00
Yohan Boniface
d8a6ad4010 Use proper Hand onStop callback instead of setTimeout in popup spec 2016-06-16 15:34:16 +02:00
Yohan Boniface
d1de37aa88 Fix broken sizeOption when L.point instance (#4636) 2016-06-10 15:36:07 +02:00
Yohan Boniface
95d5b59c5f Fix canvas not filtering click event after drag (#4493)
* Fix preclick not fired in canvas
* Do not add canvas layers to click event targets if just dragged (fix #4458)
2016-06-01 17:43:32 +03:00
Ray Hammond
72c4f986b1 Icon size x can now be initialised with a number (#4608)
Icon size x can now be initialised with a number. Fixes #3185
2016-06-01 17:24:24 +03:00
Jon Woyame
878a022897 Prevent map click when layer has popup (#4603)
* prevent map click when layer has popup

* add test cases for click events on Paths

* update test for Path popups to check popup is open
2016-05-29 22:01:16 +02:00
Per Liedman
fbc6265fb7 Fix when all listeners are removed during dispatch (#4555)
Close #4478.
2016-05-12 10:22:36 +02:00
Yohan Boniface
6e8ac31993 Fix setMaxBounds not resetting when passing null argument (#4494) 2016-05-09 15:12:51 +02:00
Iván Sánchez Ortega
cc3380f98e Tweaked values of getBoundsZoom unit tests (#4528) 2016-05-09 10:42:19 +02:00
Dian Jin
a6888ab13f getBoundsZoom fix for small size and padding and tests (#4532) 2016-05-09 10:39:14 +02:00
Yohan Boniface
4a9140e6b1 Add L.Label related documentation 2016-05-06 15:00:01 +02:00
Yohan Boniface
737137634e Rename Label clickable option to interactive 2016-05-06 13:39:09 +02:00
Yohan Boniface
8a2255afc3 Merge branch 'master' into label 2016-04-30 14:36:48 +02:00
Jan Pieter Waagmeester
02078c2b39 Make sure L.Control.removeLayer() doesn't raise an error if a layer not in the control is removed from it (#4487) 2016-04-22 16:11:22 +02:00
Nathan Cahill
1eafc015c1 create points from objects with x and y properties (#4465) 2016-04-20 17:05:31 +02:00
Iván Sánchez Ortega
23890c5fa4 Skip a touch unit test on non-touch browsers 2016-04-19 12:21:01 +02:00
Iván Sánchez Ortega
5389d23e79 Add unit test for drag handler enable/disable bug (#4387) 2016-04-15 15:30:39 +02:00
David Uvenman
864326610a Added click tolerance also for non-touch devices (#4396)
* Added option for click tolerance. This option is used as a threshold to determine if the user event should be considered a click or a drag.

* Updated docs for clickTolerance to state the correct default value.

* Added tests for click threshold
2016-04-15 10:18:50 +02:00
Iván Sánchez Ortega
b74cf171f8 Merge pull request #4404 from Leaflet/fix-4401
Fix regression when setting style of Path with canvas renderer
2016-04-08 17:50:13 +02:00
Per Liedman
593a553e64 Pass layer on when calling _updateDashArray
Add specs to verify intialization and setStyle with dashArray.
Close #4401.
2016-04-08 16:43:21 +02:00
Per Liedman
36b60b7c88 Round scale to avoid float rounding issues in fitBounds
Reverts _round() fix from b511c7bcc8.

Close #4395.
2016-04-06 22:58:00 +02:00
Zsolt Ero
928100f961 Workaround for flyTo bug
* test for flyTo start latlng == end latlng condition
* workaround for flyTo infinite loop
* expect for zoomend values

Close #4226
2016-04-02 21:12:40 +02:00
Jan Pieter Waagmeester
0bed05d537 Use array in L.Control.Layers to preserve layer order fixes #2086 2016-04-02 20:48:31 +02:00
Per Liedman
b511c7bcc8 Round bounds size.
Bounds size should be in pixels, so round it to avoid
any floating point inaccuracies from projection.

Closes #4255.
2016-04-02 19:55:02 +02:00
Yohan Boniface
4bcc89bc54 Make sure bounds are bounds before testing its validity in fitBounds
Fix #4374
2016-04-02 19:23:58 +02:00
Iván Sánchez Ortega
4b38a7165a rm spurious check, fixes #4068 2016-04-02 18:32:31 +02:00
Iván Sánchez Ortega
c6c0e4f484 Switch prosthetic-hand to 1.3.0 and use onStop callback 2016-04-02 17:55:22 +02:00
Yohan Boniface
b7b409bd07 Merge pull request #4369 from Leaflet/use-mean-earth-radius
Use mean earth radius for distance calculation in L.CRS.Earth.
2016-04-02 15:51:40 +02:00
Per Liedman
868c102a86 Use mean earth radius for distance calculation in L.CRS.Earth.
Close #4184.
2016-04-02 12:01:01 +02:00
Yohan Boniface
446c02f2e7 Make latLngBounds factory return an empty bounds with not argument
Just like the constructor.

Fix #3408
2016-04-02 11:27:56 +02:00
Yohan Boniface
5795f37fe4 Make sure a failing test will not leave the node in place 2016-03-29 10:39:05 +02:00
Yohan Boniface
6bc6e599a0 Increase timeout for "should not be closen when dragging map" test 2016-03-29 10:38:47 +02:00
Yohan Boniface
61da775379 Replace happen.drag by prosthetic-hand in specs 2016-03-28 21:51:27 +02:00
Jan Pieter Waagmeester
ccaf632268 Do not calculate inverted y coords for CRSes with infinite: true
Fixes #4338
2016-03-22 14:10:24 +01:00
Jan Pieter Waagmeester
34075a893a Unit tests for TileLayer getTileUrl replacements 2016-03-21 15:00:13 +01:00
Jan Pieter Waagmeester
37254587be Allow dashes in template placeholders + tests 2016-03-21 14:36:21 +01:00
Iván Sánchez Ortega
8da61993d2 Added four prosthetic-hand tests, checking mouse&touch drag events and touch-zoom 2016-03-18 15:24:42 +01:00
Daniel Ritz
0af11b064e Fix attribution text not removed when Layer is removed from map
Symptom: Switching between layers with different attributions does
not remove the attribution from the previously selected layer.

Control.Attribution keeps track of its attributions with a counter for
each text. The problem described in #4285 is that each time the layer
is added to the map, the counter is increased by two. It's because
Layer calls Control.Attribution.addAttribution() twice, once from
addLayer() and the second time via the whenReady() callback _layerAdd().
This was not caught by the tests since the callback was never fired
(missing map.setView() call).

Fixes #4285
2016-03-01 13:46:40 +01:00
Iván Sánchez Ortega
663978227d Unit tests for #4257, attributionControl layeradd/layerremove 2016-02-18 21:31:00 +01:00
Iván Sánchez Ortega
ccd95e38e6 L.Class.include & mergeOptions now return 'this' 2016-02-15 16:38:35 +01:00
Knut Hühne
df19ec7c30 Add test for throwing error if circle radius is NaN 2016-02-15 11:51:27 +01:00
Iván Sánchez Ortega
63970e9b6c Better cleanup of L.Control.Layers, fixes #4213 (plus unit tests) 2016-02-09 15:43:03 +01:00
Iván Sánchez Ortega
8dee2d3591 Fix for #4208 with extra unit tests 2016-02-09 10:07:36 +01:00
Vladimir Agafonkin
01455c0167 Merge pull request #4193 from Leaflet/grid-extra-loads
Fix extra tile usage
2016-02-08 16:53:50 +02:00
Iván Sánchez Ortega
c6e2a2021a Unit tests for flyTo and TileLayers. 2016-02-05 16:30:29 +01:00
Iván Sánchez Ortega
efdc626262 Fix tile pruning on fade-in, pass all unit tests now :-D 2016-02-04 15:19:35 +01:00
Iván Sánchez Ortega
f777f42c6b More GridLayer unit tests; Grid zoom calculation changed during zoom anims 2016-02-03 17:35:52 +01:00
Iván Sánchez Ortega
bf37a9106c Change the way GridLayer is reset on a map viewreset 2016-02-02 16:56:18 +01:00
Iván Sánchez Ortega
ed05d4ac1e Unit tests for GridLayer loading logic 2016-02-02 14:56:02 +01:00
Iván Sánchez Ortega
afd7959959 Make linter happy. 2016-01-18 10:10:32 +01:00
Iván Sánchez Ortega
65ccc2b36c Fractional zoom controls. 2016-01-18 10:10:32 +01:00
Yohan Boniface
5e6ef5ce12 Consistent GeoJSON casing
I've made the choice to:
- switch API and method to upper case version (GeoJSON, geoJSON, toGeoJSON)
- keep internal variable all lower case (geojson), because we usually do not
  uppercase variables

Fix #2444
2015-12-25 14:00:21 +01:00
Vladimir Agafonkin
f23074d790 Merge pull request #4040 from Leaflet/gridlayer-pixelbounds
Fix GridLayer pixelBounds computation
2015-11-23 23:48:31 +02:00
Yohan Boniface
e2fbe19683 Fix GridLayer pixelBounds computation
Map size does not change from one zoom to another, so we dont need
to scale it.

Without this change, we are creating more or less 4x tiles when
zooming in.
There are still cases where we are requesting a bit more tiles than
what I would expect, but I see it also happens on 0.7.3
2015-11-22 23:19:57 +01:00
Vladimir Agafonkin
63f239a20f Merge pull request #4028 from Leaflet/geojson-setstyle
Do not set layer.options a reference to layer.defaultOptions (fix #3990)
2015-11-18 17:02:46 +02:00
Yohan Boniface
7a1496ea4d Do not set layer.options a reference to layer.defaultOptions (fix #3990)
git bisect point at ad9d0f8c7f
2015-11-18 13:29:02 +01:00
Yohan Boniface
d8b7f6fcbe L.Label: honour opacity option 2015-11-15 19:15:14 +01:00
Yohan Boniface
9d0b13b991 Add some basic unittests for L.Label 2015-11-15 18:56:27 +01:00
Yohan Boniface
fd5411d74b Fix popup toggle on marker click (fix #3992)
Issue was:
- popup toggling is made on 'click' event
- map listen to 'preclick' to close any open popup
- at second user click, 'preclick' has been fired, then popup
  closed, so the popup toggling was reopening it
- this was not an issue before 0d3448d494
  because 'preclick' on the marker was not bubbled to the map
- also the unittest covering this use case was too much coupled with
  the use case with calling marker.fire instead of simulating user
  click on the marker icon
2015-11-14 20:41:53 +01:00
Yohan Boniface
d901a5fc07 Fix interactive=false not taken into account for canvas (fix #3946) 2015-10-19 21:39:04 +02:00
Yohan Boniface
d3198d8d39 Fix duration not passed through from setView to panBy (fix #3300) 2015-10-12 14:02:30 +02:00
Vladimir Agafonkin
8a5184193e Merge pull request #3917 from Leaflet/canvas-stop-event
Canvas events fixes (fix #3915)
2015-10-10 21:24:37 +03:00
Yohan Boniface
6c3b9e10b8 Fix L.Circle init without options.radius 2015-10-09 20:24:42 +02:00