🤖 Merge PR #60657 [svelte-leafletjs] support events props to LeafletMap by @Ennoriel

* Add missing events props to LeafletMap

* Add missing events props to all evented components
This commit is contained in:
Maxime Dupont
2022-06-04 11:52:49 +02:00
committed by GitHub
parent f42d51aeac
commit f9987054d7
3 changed files with 20 additions and 3 deletions

View File

@@ -41,6 +41,11 @@ export type MarkerEvents = CreateSvelteEventMap<ReactLeaflet.MarkerEvents>;
export type TileLayerEvents = CreateSvelteEventMap<ReactLeaflet.TileLayerEvents>;
export type PathEvents = CreateSvelteEventMap<ReactLeaflet.PathEvents>;
type MapEventKeys = Array<keyof MapEvents>;
type MarkerEventKeys = Array<keyof MarkerEvents>;
type TileLayerEventKeys = Array<keyof TileLayerEvents>;
type PathEventKeys = Array<keyof PathEvents>;
export namespace LeafletContext {
interface Map {
getMap(): L.Map;
@@ -79,6 +84,7 @@ export namespace LeafletContext {
export class LeafletMap extends SvelteComponentTyped<
{
options?: L.MapOptions;
events?: MapEventKeys;
getMap?(): L.Map;
},
MapEvents,
@@ -94,6 +100,7 @@ export class TileLayer extends SvelteComponentTyped<
opacity?: number;
zIndex?: number;
options?: L.TileLayerOptions;
events?: TileLayerEventKeys;
getTileLayer?(): L.TileLayer;
},
TileLayerEvents,
@@ -107,6 +114,7 @@ export class Circle extends SvelteComponentTyped<
latLng: L.LatLngExpression;
radius?: number;
options?: L.CircleMarkerOptions;
events?: PathEventKeys;
getCircle?(): L.Circle;
},
PathEvents,
@@ -120,6 +128,7 @@ export class CircleMarker extends SvelteComponentTyped<
latLng: L.LatLngExpression;
radius?: number;
options?: L.CircleMarkerOptions;
events?: MarkerEventKeys;
getCircleMarker?(): L.CircleMarker;
},
MarkerEvents,
@@ -132,6 +141,7 @@ export class Rectangle extends SvelteComponentTyped<
L.PathOptions & {
latLngBounds: L.LatLngBoundsExpression;
options?: L.PolylineOptions;
events?: PathEventKeys;
getRectangle?(): L.Rectangle;
},
PathEvents,
@@ -144,6 +154,7 @@ export class GeoJSON extends SvelteComponentTyped<
{
url: string;
options?: L.GeoJSONOptions;
events?: PathEventKeys;
getGeoJSON?(): L.GeoJSON;
},
PathEvents,
@@ -167,9 +178,10 @@ export class ImageOverlay extends SvelteComponentTyped<
{
imageUrl: string;
bounds: L.LatLngBoundsExpression;
options?: L.ImageOverlayOptions;
opacity?: number;
zIndex?: number;
options?: L.ImageOverlayOptions;
events?: PathEventKeys;
getImageOverlay?(): L.ImageOverlay;
},
PathEvents,
@@ -185,6 +197,7 @@ export class Marker extends SvelteComponentTyped<
icon?: L.Icon;
opacity?: number;
options?: L.MarkerOptions;
events?: MarkerEventKeys;
getMarker?(): L.Marker;
},
MarkerEvents,
@@ -197,6 +210,7 @@ export class Polygon extends SvelteComponentTyped<
L.PathOptions & {
latLngs: L.LatLngExpression[] | L.LatLngExpression[][] | L.LatLngExpression[][][];
options?: L.PolylineOptions;
events?: PathEventKeys;
getPolygon?(): L.Polygon;
},
PathEvents,
@@ -209,6 +223,7 @@ export class Polyline extends SvelteComponentTyped<
L.PathOptions & {
latLngs: L.LatLngExpression[] | L.LatLngExpression[][];
options?: L.PolylineOptions;
events?: PathEventKeys;
getPolyline?(): L.Polyline;
},
PathEvents,
@@ -220,6 +235,7 @@ export class Polyline extends SvelteComponentTyped<
export class Popup extends SvelteComponentTyped<
{
options?: L.PopupOptions;
events?: PathEventKeys;
getPopup?(): L.Popup;
},
PathEvents,
@@ -243,6 +259,7 @@ export class ScaleControl extends SvelteComponentTyped<
export class Tooltip extends SvelteComponentTyped<
{
options?: L.TooltipOptions;
events?: PathEventKeys;
getTooltip?(): L.Tooltip;
},
PathEvents,

View File

@@ -1,6 +1,6 @@
{
"private": true,
"dependencies": {
"svelte": "^3.46.4"
"svelte": "^3.48.0"
}
}

View File

@@ -71,7 +71,7 @@ import { LeafletMap, TileLayer, LeafletContext, Circle } from 'svelte-leafletjs'
const f = () => {
const mapEl = new LeafletMap({
target: document.body,
props: { options: { center: [-36.84111, 174.7682] }, getMap },
props: { options: { center: [-36.84111, 174.7682] }, getMap, events: ['moveend', 'zoom', 'resize'] },
});
};
}