Skip to content

Commit f4ed2b3

Browse files
Añadir eventos y funciones de dibujo en useLeafletEditable.js
1 parent f9b7e41 commit f4ed2b3

File tree

1 file changed

+70
-16
lines changed

1 file changed

+70
-16
lines changed

leaflet-editable-hook/src/hooks/useLeafletEditable.js

Lines changed: 70 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,40 @@ import React from 'react';
22
import { useMap } from 'react-leaflet';
33

44
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',
520
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',
632
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',
739
});
840

941
function useLeafletEditable({ events }) {
@@ -24,29 +56,49 @@ function useLeafletEditable({ events }) {
2456
};
2557
}, [map, events]);
2658

27-
const startPolyline = React.useCallback(() => {
28-
return map.editTools.startPolyline();
59+
const drawing = React.useMemo(() => {
60+
return map.editTools.drawing();
2961
}, [map]);
3062

31-
const startPolygon = React.useCallback(() => {
32-
return map.editTools.startPolygon();
63+
const stopDrawing = React.useCallback(() => {
64+
map.editTools.stopDrawing();
3365
}, [map]);
3466

35-
const startMarker = React.useCallback(() => {
36-
return map.editTools.startMarker();
67+
const commitDrawing = React.useCallback(() => {
68+
map.editTools.commitDrawing();
3769
}, [map]);
3870

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+
);
4277

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+
);
4698

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);
50102
},
51103
[map]
52104
);
@@ -56,12 +108,14 @@ function useLeafletEditable({ events }) {
56108
}, [map]);
57109

58110
return {
111+
drawing,
112+
stopDrawing,
113+
commitDrawing,
59114
startPolyline,
60115
startPolygon,
61116
startMarker,
62117
startRectangle,
63118
startCircle,
64-
startHole,
65119
clearAll,
66120
};
67121
}

0 commit comments

Comments
 (0)