decidim 0.26.9 → 0.26.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/lib/decidim/version.rb +1 -1
  3. data/package-lock.json +7 -7
  4. data/packages/browserslist-config/package.json +1 -1
  5. data/packages/core/node_modules/leaflet/CHANGELOG.md +2191 -0
  6. data/packages/core/node_modules/leaflet/LICENSE +26 -0
  7. data/packages/core/node_modules/leaflet/README.md +55 -0
  8. data/packages/core/node_modules/leaflet/dist/images/layers-2x.png +0 -0
  9. data/packages/core/node_modules/leaflet/dist/images/layers.png +0 -0
  10. data/packages/core/node_modules/leaflet/dist/images/marker-icon-2x.png +0 -0
  11. data/packages/core/node_modules/leaflet/dist/images/marker-icon.png +0 -0
  12. data/packages/core/node_modules/leaflet/dist/images/marker-shadow.png +0 -0
  13. data/packages/core/node_modules/leaflet/dist/leaflet-src.esm.js +14419 -0
  14. data/packages/core/node_modules/leaflet/dist/leaflet-src.esm.js.map +1 -0
  15. data/packages/core/node_modules/leaflet/dist/leaflet-src.js +14512 -0
  16. data/packages/core/node_modules/leaflet/dist/leaflet-src.js.map +1 -0
  17. data/packages/core/node_modules/leaflet/dist/leaflet.css +661 -0
  18. data/packages/core/node_modules/leaflet/dist/leaflet.js +6 -0
  19. data/packages/core/node_modules/leaflet/dist/leaflet.js.map +1 -0
  20. data/packages/core/node_modules/leaflet/package.json +149 -0
  21. data/packages/core/node_modules/leaflet/src/Leaflet.js +24 -0
  22. data/packages/core/node_modules/leaflet/src/control/Control.Attribution.js +148 -0
  23. data/packages/core/node_modules/leaflet/src/control/Control.Layers.js +443 -0
  24. data/packages/core/node_modules/leaflet/src/control/Control.Scale.js +132 -0
  25. data/packages/core/node_modules/leaflet/src/control/Control.Zoom.js +146 -0
  26. data/packages/core/node_modules/leaflet/src/control/Control.js +174 -0
  27. data/packages/core/node_modules/leaflet/src/control/index.js +17 -0
  28. data/packages/core/node_modules/leaflet/src/core/Browser.js +220 -0
  29. data/packages/core/node_modules/leaflet/src/core/Class.js +135 -0
  30. data/packages/core/node_modules/leaflet/src/core/Class.leafdoc +197 -0
  31. data/packages/core/node_modules/leaflet/src/core/Events.js +344 -0
  32. data/packages/core/node_modules/leaflet/src/core/Events.leafdoc +143 -0
  33. data/packages/core/node_modules/leaflet/src/core/Handler.js +57 -0
  34. data/packages/core/node_modules/leaflet/src/core/Util.js +241 -0
  35. data/packages/core/node_modules/leaflet/src/core/index.js +15 -0
  36. data/packages/core/node_modules/leaflet/src/dom/DomEvent.DoubleTap.js +91 -0
  37. data/packages/core/node_modules/leaflet/src/dom/DomEvent.Pointer.js +97 -0
  38. data/packages/core/node_modules/leaflet/src/dom/DomEvent.js +315 -0
  39. data/packages/core/node_modules/leaflet/src/dom/DomUtil.js +349 -0
  40. data/packages/core/node_modules/leaflet/src/dom/Draggable.js +220 -0
  41. data/packages/core/node_modules/leaflet/src/dom/PosAnimation.js +113 -0
  42. data/packages/core/node_modules/leaflet/src/dom/index.js +9 -0
  43. data/packages/core/node_modules/leaflet/src/geo/LatLng.js +137 -0
  44. data/packages/core/node_modules/leaflet/src/geo/LatLngBounds.js +251 -0
  45. data/packages/core/node_modules/leaflet/src/geo/crs/CRS.EPSG3395.js +20 -0
  46. data/packages/core/node_modules/leaflet/src/geo/crs/CRS.EPSG3857.js +27 -0
  47. data/packages/core/node_modules/leaflet/src/geo/crs/CRS.EPSG4326.js +23 -0
  48. data/packages/core/node_modules/leaflet/src/geo/crs/CRS.Earth.js +33 -0
  49. data/packages/core/node_modules/leaflet/src/geo/crs/CRS.Simple.js +36 -0
  50. data/packages/core/node_modules/leaflet/src/geo/crs/CRS.js +139 -0
  51. data/packages/core/node_modules/leaflet/src/geo/crs/index.js +15 -0
  52. data/packages/core/node_modules/leaflet/src/geo/index.js +7 -0
  53. data/packages/core/node_modules/leaflet/src/geo/projection/Projection.LonLat.js +28 -0
  54. data/packages/core/node_modules/leaflet/src/geo/projection/Projection.Mercator.js +49 -0
  55. data/packages/core/node_modules/leaflet/src/geo/projection/Projection.SphericalMercator.js +44 -0
  56. data/packages/core/node_modules/leaflet/src/geo/projection/index.js +26 -0
  57. data/packages/core/node_modules/leaflet/src/geometry/Bounds.js +219 -0
  58. data/packages/core/node_modules/leaflet/src/geometry/LineUtil.js +306 -0
  59. data/packages/core/node_modules/leaflet/src/geometry/Point.js +222 -0
  60. data/packages/core/node_modules/leaflet/src/geometry/PolyUtil.js +129 -0
  61. data/packages/core/node_modules/leaflet/src/geometry/Transformation.js +79 -0
  62. data/packages/core/node_modules/leaflet/src/geometry/index.js +8 -0
  63. data/packages/core/node_modules/leaflet/src/images/layers.svg +1 -0
  64. data/packages/core/node_modules/leaflet/src/images/logo.svg +1 -0
  65. data/packages/core/node_modules/leaflet/src/images/marker.svg +1 -0
  66. data/packages/core/node_modules/leaflet/src/layer/DivOverlay.js +348 -0
  67. data/packages/core/node_modules/leaflet/src/layer/FeatureGroup.js +94 -0
  68. data/packages/core/node_modules/leaflet/src/layer/GeoJSON.js +452 -0
  69. data/packages/core/node_modules/leaflet/src/layer/ImageOverlay.js +270 -0
  70. data/packages/core/node_modules/leaflet/src/layer/Layer.Interactive.leafdoc +39 -0
  71. data/packages/core/node_modules/leaflet/src/layer/Layer.js +275 -0
  72. data/packages/core/node_modules/leaflet/src/layer/LayerGroup.js +159 -0
  73. data/packages/core/node_modules/leaflet/src/layer/Popup.js +506 -0
  74. data/packages/core/node_modules/leaflet/src/layer/SVGOverlay.js +50 -0
  75. data/packages/core/node_modules/leaflet/src/layer/Tooltip.js +444 -0
  76. data/packages/core/node_modules/leaflet/src/layer/VideoOverlay.js +106 -0
  77. data/packages/core/node_modules/leaflet/src/layer/index.js +24 -0
  78. data/packages/core/node_modules/leaflet/src/layer/marker/DivIcon.js +74 -0
  79. data/packages/core/node_modules/leaflet/src/layer/marker/Icon.Default.js +66 -0
  80. data/packages/core/node_modules/leaflet/src/layer/marker/Icon.js +165 -0
  81. data/packages/core/node_modules/leaflet/src/layer/marker/Marker.Drag.js +161 -0
  82. data/packages/core/node_modules/leaflet/src/layer/marker/Marker.js +419 -0
  83. data/packages/core/node_modules/leaflet/src/layer/marker/index.js +8 -0
  84. data/packages/core/node_modules/leaflet/src/layer/tile/GridLayer.js +923 -0
  85. data/packages/core/node_modules/leaflet/src/layer/tile/TileLayer.WMS.js +137 -0
  86. data/packages/core/node_modules/leaflet/src/layer/tile/TileLayer.js +289 -0
  87. data/packages/core/node_modules/leaflet/src/layer/tile/index.js +6 -0
  88. data/packages/core/node_modules/leaflet/src/layer/vector/Canvas.js +492 -0
  89. data/packages/core/node_modules/leaflet/src/layer/vector/Circle.js +113 -0
  90. data/packages/core/node_modules/leaflet/src/layer/vector/CircleMarker.js +109 -0
  91. data/packages/core/node_modules/leaflet/src/layer/vector/Path.js +148 -0
  92. data/packages/core/node_modules/leaflet/src/layer/vector/Polygon.js +159 -0
  93. data/packages/core/node_modules/leaflet/src/layer/vector/Polyline.js +307 -0
  94. data/packages/core/node_modules/leaflet/src/layer/vector/Rectangle.js +57 -0
  95. data/packages/core/node_modules/leaflet/src/layer/vector/Renderer.getRenderer.js +45 -0
  96. data/packages/core/node_modules/leaflet/src/layer/vector/Renderer.js +133 -0
  97. data/packages/core/node_modules/leaflet/src/layer/vector/SVG.Util.js +39 -0
  98. data/packages/core/node_modules/leaflet/src/layer/vector/SVG.VML.js +144 -0
  99. data/packages/core/node_modules/leaflet/src/layer/vector/SVG.js +207 -0
  100. data/packages/core/node_modules/leaflet/src/layer/vector/index.js +14 -0
  101. data/packages/core/node_modules/leaflet/src/map/Map.js +1751 -0
  102. data/packages/core/node_modules/leaflet/src/map/Map.methodOptions.leafdoc +112 -0
  103. data/packages/core/node_modules/leaflet/src/map/handler/Map.BoxZoom.js +152 -0
  104. data/packages/core/node_modules/leaflet/src/map/handler/Map.DoubleClickZoom.js +55 -0
  105. data/packages/core/node_modules/leaflet/src/map/handler/Map.Drag.js +235 -0
  106. data/packages/core/node_modules/leaflet/src/map/handler/Map.Keyboard.js +183 -0
  107. data/packages/core/node_modules/leaflet/src/map/handler/Map.ScrollWheelZoom.js +91 -0
  108. data/packages/core/node_modules/leaflet/src/map/handler/Map.TapHold.js +102 -0
  109. data/packages/core/node_modules/leaflet/src/map/handler/Map.TouchZoom.js +130 -0
  110. data/packages/core/node_modules/leaflet/src/map/index.js +17 -0
  111. data/packages/core/package.json +1 -1
  112. data/packages/dev/package.json +1 -1
  113. data/packages/elections/package.json +1 -1
  114. data/packages/eslint-config/package.json +1 -1
  115. data/packages/stylelint-config/package.json +1 -1
  116. data/packages/webpacker/package.json +1 -1
  117. metadata +148 -42
@@ -0,0 +1,137 @@
1
+ import {TileLayer} from './TileLayer';
2
+ import {extend, setOptions, getParamString} from '../../core/Util';
3
+ import Browser from '../../core/Browser';
4
+ import {EPSG4326} from '../../geo/crs/CRS.EPSG4326';
5
+ import {toBounds} from '../../geometry/Bounds';
6
+
7
+ /*
8
+ * @class TileLayer.WMS
9
+ * @inherits TileLayer
10
+ * @aka L.TileLayer.WMS
11
+ * Used to display [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services as tile layers on the map. Extends `TileLayer`.
12
+ *
13
+ * @example
14
+ *
15
+ * ```js
16
+ * var nexrad = L.tileLayer.wms("http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi", {
17
+ * layers: 'nexrad-n0r-900913',
18
+ * format: 'image/png',
19
+ * transparent: true,
20
+ * attribution: "Weather data © 2012 IEM Nexrad"
21
+ * });
22
+ * ```
23
+ */
24
+
25
+ export var TileLayerWMS = TileLayer.extend({
26
+
27
+ // @section
28
+ // @aka TileLayer.WMS options
29
+ // If any custom options not documented here are used, they will be sent to the
30
+ // WMS server as extra parameters in each request URL. This can be useful for
31
+ // [non-standard vendor WMS parameters](https://docs.geoserver.org/stable/en/user/services/wms/vendor.html).
32
+ defaultWmsParams: {
33
+ service: 'WMS',
34
+ request: 'GetMap',
35
+
36
+ // @option layers: String = ''
37
+ // **(required)** Comma-separated list of WMS layers to show.
38
+ layers: '',
39
+
40
+ // @option styles: String = ''
41
+ // Comma-separated list of WMS styles.
42
+ styles: '',
43
+
44
+ // @option format: String = 'image/jpeg'
45
+ // WMS image format (use `'image/png'` for layers with transparency).
46
+ format: 'image/jpeg',
47
+
48
+ // @option transparent: Boolean = false
49
+ // If `true`, the WMS service will return images with transparency.
50
+ transparent: false,
51
+
52
+ // @option version: String = '1.1.1'
53
+ // Version of the WMS service to use
54
+ version: '1.1.1'
55
+ },
56
+
57
+ options: {
58
+ // @option crs: CRS = null
59
+ // Coordinate Reference System to use for the WMS requests, defaults to
60
+ // map CRS. Don't change this if you're not sure what it means.
61
+ crs: null,
62
+
63
+ // @option uppercase: Boolean = false
64
+ // If `true`, WMS request parameter keys will be uppercase.
65
+ uppercase: false
66
+ },
67
+
68
+ initialize: function (url, options) {
69
+
70
+ this._url = url;
71
+
72
+ var wmsParams = extend({}, this.defaultWmsParams);
73
+
74
+ // all keys that are not TileLayer options go to WMS params
75
+ for (var i in options) {
76
+ if (!(i in this.options)) {
77
+ wmsParams[i] = options[i];
78
+ }
79
+ }
80
+
81
+ options = setOptions(this, options);
82
+
83
+ var realRetina = options.detectRetina && Browser.retina ? 2 : 1;
84
+ var tileSize = this.getTileSize();
85
+ wmsParams.width = tileSize.x * realRetina;
86
+ wmsParams.height = tileSize.y * realRetina;
87
+
88
+ this.wmsParams = wmsParams;
89
+ },
90
+
91
+ onAdd: function (map) {
92
+
93
+ this._crs = this.options.crs || map.options.crs;
94
+ this._wmsVersion = parseFloat(this.wmsParams.version);
95
+
96
+ var projectionKey = this._wmsVersion >= 1.3 ? 'crs' : 'srs';
97
+ this.wmsParams[projectionKey] = this._crs.code;
98
+
99
+ TileLayer.prototype.onAdd.call(this, map);
100
+ },
101
+
102
+ getTileUrl: function (coords) {
103
+
104
+ var tileBounds = this._tileCoordsToNwSe(coords),
105
+ crs = this._crs,
106
+ bounds = toBounds(crs.project(tileBounds[0]), crs.project(tileBounds[1])),
107
+ min = bounds.min,
108
+ max = bounds.max,
109
+ bbox = (this._wmsVersion >= 1.3 && this._crs === EPSG4326 ?
110
+ [min.y, min.x, max.y, max.x] :
111
+ [min.x, min.y, max.x, max.y]).join(','),
112
+ url = TileLayer.prototype.getTileUrl.call(this, coords);
113
+ return url +
114
+ getParamString(this.wmsParams, url, this.options.uppercase) +
115
+ (this.options.uppercase ? '&BBOX=' : '&bbox=') + bbox;
116
+ },
117
+
118
+ // @method setParams(params: Object, noRedraw?: Boolean): this
119
+ // Merges an object with the new parameters and re-requests tiles on the current screen (unless `noRedraw` was set to true).
120
+ setParams: function (params, noRedraw) {
121
+
122
+ extend(this.wmsParams, params);
123
+
124
+ if (!noRedraw) {
125
+ this.redraw();
126
+ }
127
+
128
+ return this;
129
+ }
130
+ });
131
+
132
+
133
+ // @factory L.tileLayer.wms(baseUrl: String, options: TileLayer.WMS options)
134
+ // Instantiates a WMS tile layer object given a base URL of the WMS service and a WMS parameters/options object.
135
+ export function tileLayerWMS(url, options) {
136
+ return new TileLayerWMS(url, options);
137
+ }
@@ -0,0 +1,289 @@
1
+ import {GridLayer} from './GridLayer';
2
+ import Browser from '../../core/Browser';
3
+ import * as Util from '../../core/Util';
4
+ import * as DomEvent from '../../dom/DomEvent';
5
+ import * as DomUtil from '../../dom/DomUtil';
6
+
7
+
8
+ /*
9
+ * @class TileLayer
10
+ * @inherits GridLayer
11
+ * @aka L.TileLayer
12
+ * Used to load and display tile layers on the map. Note that most tile servers require attribution, which you can set under `Layer`. Extends `GridLayer`.
13
+ *
14
+ * @example
15
+ *
16
+ * ```js
17
+ * L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png?{foo}', {foo: 'bar', attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map);
18
+ * ```
19
+ *
20
+ * @section URL template
21
+ * @example
22
+ *
23
+ * A string of the following form:
24
+ *
25
+ * ```
26
+ * 'https://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png'
27
+ * ```
28
+ *
29
+ * `{s}` means one of the available subdomains (used sequentially to help with browser parallel requests per domain limitation; subdomain values are specified in options; `a`, `b` or `c` by default, can be omitted), `{z}` — zoom level, `{x}` and `{y}` — tile coordinates. `{r}` can be used to add "&commat;2x" to the URL to load retina tiles.
30
+ *
31
+ * You can use custom keys in the template, which will be [evaluated](#util-template) from TileLayer options, like this:
32
+ *
33
+ * ```
34
+ * L.tileLayer('https://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'});
35
+ * ```
36
+ */
37
+
38
+
39
+ export var TileLayer = GridLayer.extend({
40
+
41
+ // @section
42
+ // @aka TileLayer options
43
+ options: {
44
+ // @option minZoom: Number = 0
45
+ // The minimum zoom level down to which this layer will be displayed (inclusive).
46
+ minZoom: 0,
47
+
48
+ // @option maxZoom: Number = 18
49
+ // The maximum zoom level up to which this layer will be displayed (inclusive).
50
+ maxZoom: 18,
51
+
52
+ // @option subdomains: String|String[] = 'abc'
53
+ // Subdomains of the tile service. Can be passed in the form of one string (where each letter is a subdomain name) or an array of strings.
54
+ subdomains: 'abc',
55
+
56
+ // @option errorTileUrl: String = ''
57
+ // URL to the tile image to show in place of the tile that failed to load.
58
+ errorTileUrl: '',
59
+
60
+ // @option zoomOffset: Number = 0
61
+ // The zoom number used in tile URLs will be offset with this value.
62
+ zoomOffset: 0,
63
+
64
+ // @option tms: Boolean = false
65
+ // If `true`, inverses Y axis numbering for tiles (turn this on for [TMS](https://en.wikipedia.org/wiki/Tile_Map_Service) services).
66
+ tms: false,
67
+
68
+ // @option zoomReverse: Boolean = false
69
+ // If set to true, the zoom number used in tile URLs will be reversed (`maxZoom - zoom` instead of `zoom`)
70
+ zoomReverse: false,
71
+
72
+ // @option detectRetina: Boolean = false
73
+ // If `true` and user is on a retina display, it will request four tiles of half the specified size and a bigger zoom level in place of one to utilize the high resolution.
74
+ detectRetina: false,
75
+
76
+ // @option crossOrigin: Boolean|String = false
77
+ // Whether the crossOrigin attribute will be added to the tiles.
78
+ // If a String is provided, all tiles will have their crossOrigin attribute set to the String provided. This is needed if you want to access tile pixel data.
79
+ // Refer to [CORS Settings](https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes) for valid String values.
80
+ crossOrigin: false,
81
+
82
+ // @option referrerPolicy: Boolean|String = false
83
+ // Whether the referrerPolicy attribute will be added to the tiles.
84
+ // If a String is provided, all tiles will have their referrerPolicy attribute set to the String provided.
85
+ // This may be needed if your map's rendering context has a strict default but your tile provider expects a valid referrer
86
+ // (e.g. to validate an API token).
87
+ // Refer to [HTMLImageElement.referrerPolicy](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/referrerPolicy) for valid String values.
88
+ referrerPolicy: false
89
+ },
90
+
91
+ initialize: function (url, options) {
92
+
93
+ this._url = url;
94
+
95
+ options = Util.setOptions(this, options);
96
+
97
+ // detecting retina displays, adjusting tileSize and zoom levels
98
+ if (options.detectRetina && Browser.retina && options.maxZoom > 0) {
99
+
100
+ options.tileSize = Math.floor(options.tileSize / 2);
101
+
102
+ if (!options.zoomReverse) {
103
+ options.zoomOffset++;
104
+ options.maxZoom = Math.max(options.minZoom, options.maxZoom - 1);
105
+ } else {
106
+ options.zoomOffset--;
107
+ options.minZoom = Math.min(options.maxZoom, options.minZoom + 1);
108
+ }
109
+
110
+ options.minZoom = Math.max(0, options.minZoom);
111
+ } else if (!options.zoomReverse) {
112
+ // make sure maxZoom is gte minZoom
113
+ options.maxZoom = Math.max(options.minZoom, options.maxZoom);
114
+ } else {
115
+ // make sure minZoom is lte maxZoom
116
+ options.minZoom = Math.min(options.maxZoom, options.minZoom);
117
+ }
118
+
119
+ if (typeof options.subdomains === 'string') {
120
+ options.subdomains = options.subdomains.split('');
121
+ }
122
+
123
+ this.on('tileunload', this._onTileRemove);
124
+ },
125
+
126
+ // @method setUrl(url: String, noRedraw?: Boolean): this
127
+ // Updates the layer's URL template and redraws it (unless `noRedraw` is set to `true`).
128
+ // If the URL does not change, the layer will not be redrawn unless
129
+ // the noRedraw parameter is set to false.
130
+ setUrl: function (url, noRedraw) {
131
+ if (this._url === url && noRedraw === undefined) {
132
+ noRedraw = true;
133
+ }
134
+
135
+ this._url = url;
136
+
137
+ if (!noRedraw) {
138
+ this.redraw();
139
+ }
140
+ return this;
141
+ },
142
+
143
+ // @method createTile(coords: Object, done?: Function): HTMLElement
144
+ // Called only internally, overrides GridLayer's [`createTile()`](#gridlayer-createtile)
145
+ // to return an `<img>` HTML element with the appropriate image URL given `coords`. The `done`
146
+ // callback is called when the tile has been loaded.
147
+ createTile: function (coords, done) {
148
+ var tile = document.createElement('img');
149
+
150
+ DomEvent.on(tile, 'load', Util.bind(this._tileOnLoad, this, done, tile));
151
+ DomEvent.on(tile, 'error', Util.bind(this._tileOnError, this, done, tile));
152
+
153
+ if (this.options.crossOrigin || this.options.crossOrigin === '') {
154
+ tile.crossOrigin = this.options.crossOrigin === true ? '' : this.options.crossOrigin;
155
+ }
156
+
157
+ // for this new option we follow the documented behavior
158
+ // more closely by only setting the property when string
159
+ if (typeof this.options.referrerPolicy === 'string') {
160
+ tile.referrerPolicy = this.options.referrerPolicy;
161
+ }
162
+
163
+ // The alt attribute is set to the empty string,
164
+ // allowing screen readers to ignore the decorative image tiles.
165
+ // https://www.w3.org/WAI/tutorials/images/decorative/
166
+ // https://www.w3.org/TR/html-aria/#el-img-empty-alt
167
+ tile.alt = '';
168
+
169
+ tile.src = this.getTileUrl(coords);
170
+
171
+ return tile;
172
+ },
173
+
174
+ // @section Extension methods
175
+ // @uninheritable
176
+ // Layers extending `TileLayer` might reimplement the following method.
177
+ // @method getTileUrl(coords: Object): String
178
+ // Called only internally, returns the URL for a tile given its coordinates.
179
+ // Classes extending `TileLayer` can override this function to provide custom tile URL naming schemes.
180
+ getTileUrl: function (coords) {
181
+ var data = {
182
+ r: Browser.retina ? '@2x' : '',
183
+ s: this._getSubdomain(coords),
184
+ x: coords.x,
185
+ y: coords.y,
186
+ z: this._getZoomForUrl()
187
+ };
188
+ if (this._map && !this._map.options.crs.infinite) {
189
+ var invertedY = this._globalTileRange.max.y - coords.y;
190
+ if (this.options.tms) {
191
+ data['y'] = invertedY;
192
+ }
193
+ data['-y'] = invertedY;
194
+ }
195
+
196
+ return Util.template(this._url, Util.extend(data, this.options));
197
+ },
198
+
199
+ _tileOnLoad: function (done, tile) {
200
+ // For https://github.com/Leaflet/Leaflet/issues/3332
201
+ if (Browser.ielt9) {
202
+ setTimeout(Util.bind(done, this, null, tile), 0);
203
+ } else {
204
+ done(null, tile);
205
+ }
206
+ },
207
+
208
+ _tileOnError: function (done, tile, e) {
209
+ var errorUrl = this.options.errorTileUrl;
210
+ if (errorUrl && tile.getAttribute('src') !== errorUrl) {
211
+ tile.src = errorUrl;
212
+ }
213
+ done(e, tile);
214
+ },
215
+
216
+ _onTileRemove: function (e) {
217
+ e.tile.onload = null;
218
+ },
219
+
220
+ _getZoomForUrl: function () {
221
+ var zoom = this._tileZoom,
222
+ maxZoom = this.options.maxZoom,
223
+ zoomReverse = this.options.zoomReverse,
224
+ zoomOffset = this.options.zoomOffset;
225
+
226
+ if (zoomReverse) {
227
+ zoom = maxZoom - zoom;
228
+ }
229
+
230
+ return zoom + zoomOffset;
231
+ },
232
+
233
+ _getSubdomain: function (tilePoint) {
234
+ var index = Math.abs(tilePoint.x + tilePoint.y) % this.options.subdomains.length;
235
+ return this.options.subdomains[index];
236
+ },
237
+
238
+ // stops loading all tiles in the background layer
239
+ _abortLoading: function () {
240
+ var i, tile;
241
+ for (i in this._tiles) {
242
+ if (this._tiles[i].coords.z !== this._tileZoom) {
243
+ tile = this._tiles[i].el;
244
+
245
+ tile.onload = Util.falseFn;
246
+ tile.onerror = Util.falseFn;
247
+
248
+ if (!tile.complete) {
249
+ tile.src = Util.emptyImageUrl;
250
+ var coords = this._tiles[i].coords;
251
+ DomUtil.remove(tile);
252
+ delete this._tiles[i];
253
+ // @event tileabort: TileEvent
254
+ // Fired when a tile was loading but is now not wanted.
255
+ this.fire('tileabort', {
256
+ tile: tile,
257
+ coords: coords
258
+ });
259
+ }
260
+ }
261
+ }
262
+ },
263
+
264
+ _removeTile: function (key) {
265
+ var tile = this._tiles[key];
266
+ if (!tile) { return; }
267
+
268
+ // Cancels any pending http requests associated with the tile
269
+ tile.el.setAttribute('src', Util.emptyImageUrl);
270
+
271
+ return GridLayer.prototype._removeTile.call(this, key);
272
+ },
273
+
274
+ _tileReady: function (coords, err, tile) {
275
+ if (!this._map || (tile && tile.getAttribute('src') === Util.emptyImageUrl)) {
276
+ return;
277
+ }
278
+
279
+ return GridLayer.prototype._tileReady.call(this, coords, err, tile);
280
+ }
281
+ });
282
+
283
+
284
+ // @factory L.tilelayer(urlTemplate: String, options?: TileLayer options)
285
+ // Instantiates a tile layer object given a `URL template` and optionally an options object.
286
+
287
+ export function tileLayer(url, options) {
288
+ return new TileLayer(url, options);
289
+ }
@@ -0,0 +1,6 @@
1
+ export {GridLayer, gridLayer} from './GridLayer';
2
+ import {TileLayer, tileLayer} from './TileLayer';
3
+ import {TileLayerWMS, tileLayerWMS} from './TileLayer.WMS';
4
+ TileLayer.WMS = TileLayerWMS;
5
+ tileLayer.wms = tileLayerWMS;
6
+ export {TileLayer, tileLayer};