mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-12 21:10:23 +00:00
Merge pull request #14239 from dainst/master
Add type definitions for leaflet.pm and leaflet-imageoverlay-rotated
This commit is contained in:
+27
@@ -0,0 +1,27 @@
|
||||
// Type definitions for leaflet-imageoverlay-rotated 0.1
|
||||
// Project: https://github.com/IvanSanchez/Leaflet.ImageOverlay.Rotated
|
||||
// Definitions by: Thomas Kleinke <https://github.com/tkleinke>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="leaflet" />
|
||||
|
||||
declare namespace L {
|
||||
|
||||
namespace ImageOverlay {
|
||||
|
||||
export interface Rotated extends L.ImageOverlay {
|
||||
reposition(topleft: L.LatLngExpression,
|
||||
topright: L.LatLngExpression,
|
||||
bottomleft: L.LatLngExpression): void;
|
||||
}
|
||||
}
|
||||
|
||||
namespace imageOverlay {
|
||||
|
||||
export function rotated(imgSrc: string | HTMLImageElement | HTMLCanvasElement,
|
||||
topleft: L.LatLngExpression,
|
||||
topright: L.LatLngExpression,
|
||||
bottomleft: L.LatLngExpression,
|
||||
options?: L.ImageOverlayOptions): L.ImageOverlay.Rotated;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
var topleft = L.latLng(40.52256691873593, -3.7743186950683594);
|
||||
var topright = L.latLng(40.5210255066156, -3.7734764814376835);
|
||||
var bottomleft = L.latLng(40.52180437272552, -3.7768453359603886);
|
||||
|
||||
var overlay = L.imageOverlay.rotated("image.jpg", topleft, topright, bottomleft, {
|
||||
opacity: 0.5,
|
||||
interactive: true
|
||||
});
|
||||
|
||||
overlay.reposition(topleft, topright, bottomleft);
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"leaflet-imageoverlay-rotated-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
Vendored
+96
@@ -0,0 +1,96 @@
|
||||
// Type definitions for leaflet.pm 0.13
|
||||
// Project: https://github.com/codeofsumit/leaflet.pm
|
||||
// Definitions by: Thomas Kleinke <https://github.com/tkleinke>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference types="leaflet" />
|
||||
|
||||
declare namespace L {
|
||||
|
||||
export interface Map {
|
||||
pm: PM.Map;
|
||||
}
|
||||
|
||||
export interface Polygon {
|
||||
pm: PM.Edit.Line;
|
||||
}
|
||||
|
||||
export interface Polyline {
|
||||
pm: PM.Edit.Line;
|
||||
}
|
||||
|
||||
export interface Marker {
|
||||
pm: PM.Edit.Marker;
|
||||
}
|
||||
|
||||
export interface LayerGroup {
|
||||
pm: PM.Edit.LayerGroup;
|
||||
}
|
||||
|
||||
export namespace PM {
|
||||
|
||||
export interface Map {
|
||||
addControls(options?: PM.ToolbarOptions): void;
|
||||
enableDraw(shape: string, options?: PM.DrawOptions): void;
|
||||
disableDraw(shape: string): void;
|
||||
setPathOptions(options: L.PathOptions): void;
|
||||
toggleRemoval(enabled: boolean): void;
|
||||
globalEditEnabled(): boolean;
|
||||
toggleGlobalEditMode(options?: PM.EditOptions): void;
|
||||
|
||||
Draw: PM.Draw;
|
||||
}
|
||||
|
||||
export interface Draw {
|
||||
getShapes(): string[];
|
||||
}
|
||||
|
||||
export interface ToolbarOptions {
|
||||
position?: string; // topleft | topright | bottomleft | bottomright
|
||||
drawMarker?: boolean;
|
||||
drawPolygon?: boolean;
|
||||
drawPolyline?: boolean;
|
||||
editPolygon?: boolean;
|
||||
deleteLayer?: boolean;
|
||||
}
|
||||
|
||||
export interface DrawOptions {
|
||||
templineStyle?: L.PathOptions;
|
||||
hintlineStyle?: L.PathOptions;
|
||||
pathOptions?: L.PathOptions;
|
||||
}
|
||||
|
||||
export interface EditOptions {
|
||||
draggable?: boolean;
|
||||
snappable?: boolean;
|
||||
snapDistance?: number;
|
||||
}
|
||||
|
||||
export namespace Edit {
|
||||
|
||||
export interface Line {
|
||||
enable(options?: EditOptions): void;
|
||||
disable(poly?: L.Layer): void;
|
||||
toggleEdit(options?: EditOptions): void;
|
||||
enabled(): boolean;
|
||||
}
|
||||
|
||||
export interface Marker {
|
||||
enable(options?: EditOptions): void;
|
||||
disable(): void;
|
||||
toggleEdit(options?: EditOptions): void;
|
||||
enabled(): boolean;
|
||||
}
|
||||
|
||||
export interface LayerGroup {
|
||||
enable(options?: EditOptions): void;
|
||||
disable(): void;
|
||||
toggleEdit(options?: EditOptions): void;
|
||||
enabled(): boolean;
|
||||
findLayers(): L.Layer[];
|
||||
dragging(): boolean;
|
||||
getOptions(): EditOptions;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
var toolbarOptions: L.PM.ToolbarOptions = {
|
||||
position: 'topleft',
|
||||
drawMarker: true,
|
||||
drawPolygon: true,
|
||||
drawPolyline: true,
|
||||
editPolygon: true,
|
||||
deleteLayer: true
|
||||
};
|
||||
|
||||
var drawOptions: L.PM.DrawOptions = {
|
||||
templineStyle: {
|
||||
color: 'red'
|
||||
},
|
||||
hintlineStyle: {
|
||||
color: 'red',
|
||||
dashArray: '5, 5'
|
||||
}
|
||||
};
|
||||
|
||||
var editOptions: L.PM.EditOptions = {
|
||||
draggable: true,
|
||||
snappable: true,
|
||||
snapDistance: 30
|
||||
};
|
||||
|
||||
var pathOptions: L.PathOptions = {
|
||||
color: 'orange',
|
||||
fillColor: 'green',
|
||||
fillOpacity: 0.5
|
||||
};
|
||||
|
||||
var map: L.Map = L.map('map-element');
|
||||
map.pm.addControls(toolbarOptions);
|
||||
map.pm.enableDraw('Poly', drawOptions);
|
||||
map.pm.disableDraw('Poly');
|
||||
map.pm.setPathOptions(pathOptions);
|
||||
map.pm.toggleRemoval(true);
|
||||
var enabled: boolean = map.pm.globalEditEnabled();
|
||||
map.pm.toggleGlobalEditMode(editOptions);
|
||||
|
||||
var shapes: string[] = map.pm.Draw.getShapes();
|
||||
|
||||
var polygon: L.Polygon = L.polygon([ [ 1.0, 1.0], [ 2.0, 1.0], [ 1.0, 2.0] ]);
|
||||
polygon.pm.enable(editOptions);
|
||||
polygon.pm.disable();
|
||||
polygon.pm.toggleEdit(editOptions);
|
||||
enabled = polygon.pm.enabled();
|
||||
|
||||
var polyline: L.Polyline = L.polyline([ [ 1.0, 1.0], [ 2.0, 1.0], [ 1.0, 2.0] ]);
|
||||
polyline.pm.enable(editOptions);
|
||||
polyline.pm.disable();
|
||||
polyline.pm.toggleEdit(editOptions);
|
||||
enabled = polyline.pm.enabled();
|
||||
|
||||
var marker: L.Marker = L.marker([ 3.0, 3.0 ]);
|
||||
marker.pm.enable(editOptions);
|
||||
marker.pm.disable();
|
||||
marker.pm.toggleEdit(editOptions);
|
||||
enabled = marker.pm.enabled();
|
||||
|
||||
var layerGroup: L.LayerGroup = L.layerGroup([ polygon, polyline, marker ]);
|
||||
layerGroup.pm.enable(editOptions);
|
||||
layerGroup.pm.disable();
|
||||
layerGroup.pm.toggleEdit(editOptions);
|
||||
enabled = layerGroup.pm.enabled();
|
||||
var layers: L.Layer[] = layerGroup.pm.findLayers();
|
||||
var dragging: boolean = layerGroup.pm.dragging();
|
||||
var options: L.PM.EditOptions = layerGroup.pm.getOptions();
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"leaflet.pm-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "../tslint.json" }
|
||||
Reference in New Issue
Block a user