@@ -2,8 +2,40 @@ import React from 'react';
2
2
import { useMap } from 'react-leaflet' ;
3
3
4
4
const eventHandlers = Object . freeze ( {
5
+ onCreated : 'editable:created' ,
6
+ onEnable : 'editable:enable' ,
7
+ onDisable : 'editable:disable' ,
8
+ onEditing : 'editable:editing' ,
9
+ onDragstart : 'editable:dragstart' ,
10
+ onDrag : 'editable:drag' ,
11
+ onDragend : 'editable:dragend' ,
12
+ onDrawingStart : 'editable:drawing:start' ,
13
+ onDrawingEnd : 'editable:drawing:end' ,
14
+ onDrawingCancel : 'editable:drawing:cancel' ,
15
+ onDrawingCommit : 'editable:drawing:commit' ,
16
+ onDrawingMousedown : 'editable:drawing:mousedown' ,
17
+ onDrawingMouseup : 'editable:drawing:mouseup' ,
18
+ onDrawingClick : 'editable:drawing:click' ,
19
+ onDrawingMove : 'editable:drawing:move' ,
5
20
onDrawingClicked : 'editable:drawing:clicked' ,
21
+ onVertexNew : 'editable:vertex:new' ,
22
+ onVertexClick : 'editable:vertex:click' ,
23
+ onVertexClicked : 'editable:vertex:clicked' ,
24
+ onVertexRawclick : 'editable:vertex:rawclick' ,
25
+ onVertexDeleted : 'editable:vertex:deleted' ,
26
+ onVertexCtrlclick : 'editable:vertex:ctrlclick' ,
27
+ onVertexShiftclick : 'editable:vertex:shiftclick' ,
28
+ onVertexMetakeyclick : 'editable:vertex:metakeyclick' ,
29
+ onVertexAltclick : 'editable:vertex:altclick' ,
30
+ onVertexContextmenu : 'editable:vertex:contextmenu' ,
31
+ onVertexMousedown : 'editable:vertex:mousedown' ,
6
32
onVertexDrag : 'editable:vertex:drag' ,
33
+ onVertexDragstart : 'editable:vertex:dragstart' ,
34
+ onVertexDragend : 'editable:vertex:dragend' ,
35
+ onMiddlemarkerMousedown : 'editable:middlemarker:mousedown' ,
36
+ onShapeNew : 'editable:shape:new' ,
37
+ onShapeDelete : 'editable:shape:delete' ,
38
+ onShapeDeleted : 'editable:shape:deleted' ,
7
39
} ) ;
8
40
9
41
function useLeafletEditable ( { events } ) {
@@ -24,29 +56,49 @@ function useLeafletEditable({ events }) {
24
56
} ;
25
57
} , [ map , events ] ) ;
26
58
27
- const startPolyline = React . useCallback ( ( ) => {
28
- return map . editTools . startPolyline ( ) ;
59
+ const drawing = React . useMemo ( ( ) => {
60
+ return map . editTools . drawing ( ) ;
29
61
} , [ map ] ) ;
30
62
31
- const startPolygon = React . useCallback ( ( ) => {
32
- return map . editTools . startPolygon ( ) ;
63
+ const stopDrawing = React . useCallback ( ( ) => {
64
+ map . editTools . stopDrawing ( ) ;
33
65
} , [ map ] ) ;
34
66
35
- const startMarker = React . useCallback ( ( ) => {
36
- return map . editTools . startMarker ( ) ;
67
+ const commitDrawing = React . useCallback ( ( ) => {
68
+ map . editTools . commitDrawing ( ) ;
37
69
} , [ map ] ) ;
38
70
39
- const startRectangle = React . useCallback ( ( ) => {
40
- return map . editTools . startRectangle ( ) ;
41
- } , [ map ] ) ;
71
+ const startPolyline = React . useCallback (
72
+ ( latlng , options ) => {
73
+ return map . editTools . startPolyline ( latlng , options ) ;
74
+ } ,
75
+ [ map ]
76
+ ) ;
42
77
43
- const startCircle = React . useCallback ( ( ) => {
44
- return map . editTools . startCircle ( ) ;
45
- } , [ map ] ) ;
78
+ const startPolygon = React . useCallback (
79
+ ( latlng , options ) => {
80
+ return map . editTools . startPolygon ( latlng , options ) ;
81
+ } ,
82
+ [ map ]
83
+ ) ;
84
+
85
+ const startMarker = React . useCallback (
86
+ ( latlng , options ) => {
87
+ return map . editTools . startMarker ( latlng , options ) ;
88
+ } ,
89
+ [ map ]
90
+ ) ;
91
+
92
+ const startRectangle = React . useCallback (
93
+ ( latlng , options ) => {
94
+ return map . editTools . startRectangle ( latlng , options ) ;
95
+ } ,
96
+ [ map ]
97
+ ) ;
46
98
47
- const startHole = React . useCallback (
48
- ( editor , latlng ) => {
49
- return map . editTools . startHole ( editor , latlng ) ;
99
+ const startCircle = React . useCallback (
100
+ ( latlng , options ) => {
101
+ return map . editTools . startCircle ( latlng , options ) ;
50
102
} ,
51
103
[ map ]
52
104
) ;
@@ -56,12 +108,14 @@ function useLeafletEditable({ events }) {
56
108
} , [ map ] ) ;
57
109
58
110
return {
111
+ drawing,
112
+ stopDrawing,
113
+ commitDrawing,
59
114
startPolyline,
60
115
startPolygon,
61
116
startMarker,
62
117
startRectangle,
63
118
startCircle,
64
- startHole,
65
119
clearAll,
66
120
} ;
67
121
}
0 commit comments