From 4c389ad82c252c5ec5083621de4b6b0baae0b215 Mon Sep 17 00:00:00 2001 From: Yun Shi Date: Thu, 14 Sep 2017 12:55:50 -0400 Subject: [PATCH 1/5] added leaflet-draw handlers --- types/leaflet-draw/index.d.ts | 68 ++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/types/leaflet-draw/index.d.ts b/types/leaflet-draw/index.d.ts index 5ae8c81605..ed654dd862 100644 --- a/types/leaflet-draw/index.d.ts +++ b/types/leaflet-draw/index.d.ts @@ -1,6 +1,8 @@ // Type definitions for leaflet-draw 0.4 // Project: https://github.com/Leaflet/Leaflet.draw -// Definitions by: Matt Guest , Ryan Blace +// Definitions by: Matt Guest +// Ryan Blace +// Yun Shi // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 @@ -252,6 +254,70 @@ declare module 'leaflet' { const DELETESTART: string; const DELETESTOP: string; } + + class Feature { + initialize(): void; + /** + * Enables this handler. + */ + enable(): void; + /** + * Add's event listeners to this handler + */ + addHooks(): void; + /** + * Removes event listeners from this handler + */ + removeHooks(): void; + /** + * Sets new options to this handler + */ + setOptions(options: DrawOptions.EditHandlerOptions): void; + } + + class SimpleShape extends Feature { } + + class Marker extends Feature { + constructor( + map: Map, + options?: DrawOptions.MarkerOptions + ) + } + + class CircleMarker extends Feature { + constructor( + map: Map, + options?: DrawOptions.MarkerOptions + ) + } + + class Circle extends Feature { + constructor( + map: Map, + options?: DrawOptions.CircleOptions + ) + } + + class Polyline extends Feature { + constructor( + map: Map, + options?: DrawOptions.PolylineOptions + ) + } + + class Rectangle extends Feature { + constructor( + map: Map, + options?: DrawOptions.RectangleOptions + ) + } + + class Polygon extends Feature { + constructor( + map: Map, + options?: DrawOptions.PolygonOptions + ) + } } namespace DrawEvents { From e1251442e96b77f66223f64fd93c4a544689183f Mon Sep 17 00:00:00 2001 From: Yun Shi Date: Thu, 14 Sep 2017 13:02:44 -0400 Subject: [PATCH 2/5] set strictNullChecks to true --- types/leaflet-draw/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/leaflet-draw/tsconfig.json b/types/leaflet-draw/tsconfig.json index dbb1fec45a..e36b77de72 100644 --- a/types/leaflet-draw/tsconfig.json +++ b/types/leaflet-draw/tsconfig.json @@ -7,7 +7,7 @@ ], "noImplicitAny": true, "noImplicitThis": true, - "strictNullChecks": false, + "strictNullChecks": true, "baseUrl": "../", "typeRoots": [ "../" From b1f90b093faf8b4eb8987e55f2fce94bc7c3f9b4 Mon Sep 17 00:00:00 2001 From: Yun Shi Date: Thu, 14 Sep 2017 13:34:01 -0400 Subject: [PATCH 3/5] super prototype --- types/leaflet-draw/index.d.ts | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/types/leaflet-draw/index.d.ts b/types/leaflet-draw/index.d.ts index ed654dd862..00b0323839 100644 --- a/types/leaflet-draw/index.d.ts +++ b/types/leaflet-draw/index.d.ts @@ -255,25 +255,7 @@ declare module 'leaflet' { const DELETESTOP: string; } - class Feature { - initialize(): void; - /** - * Enables this handler. - */ - enable(): void; - /** - * Add's event listeners to this handler - */ - addHooks(): void; - /** - * Removes event listeners from this handler - */ - removeHooks(): void; - /** - * Sets new options to this handler - */ - setOptions(options: DrawOptions.EditHandlerOptions): void; - } + class Feature extends Handler { } class SimpleShape extends Feature { } From 262e3ec0c4c57249c76069c3d47555ab6e1efb11 Mon Sep 17 00:00:00 2001 From: YunS-Stacy Date: Tue, 19 Sep 2017 21:20:37 -0400 Subject: [PATCH 4/5] add public methods to L.Draw.Feature --- types/leaflet-draw/index.d.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/types/leaflet-draw/index.d.ts b/types/leaflet-draw/index.d.ts index 00b0323839..0d60ca784f 100644 --- a/types/leaflet-draw/index.d.ts +++ b/types/leaflet-draw/index.d.ts @@ -255,10 +255,12 @@ declare module 'leaflet' { const DELETESTOP: string; } - class Feature extends Handler { } + class Feature extends Handler { + initialize(map: Map, options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions): void; + setOptions(options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions): void; + } class SimpleShape extends Feature { } - class Marker extends Feature { constructor( map: Map, From f5671de712ff9ee6cdc352c03c1a51a6210cb37a Mon Sep 17 00:00:00 2001 From: YunS-Stacy Date: Tue, 19 Sep 2017 21:54:54 -0400 Subject: [PATCH 5/5] format code --- types/leaflet-draw/index.d.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/types/leaflet-draw/index.d.ts b/types/leaflet-draw/index.d.ts index 0d60ca784f..de0767d462 100644 --- a/types/leaflet-draw/index.d.ts +++ b/types/leaflet-draw/index.d.ts @@ -256,8 +256,14 @@ declare module 'leaflet' { } class Feature extends Handler { - initialize(map: Map, options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions): void; - setOptions(options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions): void; + initialize( + map: Map, + options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions + ): void; + + setOptions( + options: DrawOptions.PolylineOptions | DrawOptions.PolygonOptions | DrawOptions.RectangleOptions | DrawOptions.MarkerOptions | DrawOptions.EditHandlerOptions | DrawOptions.DeleteHandlerOptions + ): void; } class SimpleShape extends Feature { }