fix(geo): replace leaflet-draw на custom DIY draw — fix instant-finish bug
leaflet-draw 1.0.4 (последний release 2017) сломан с Leaflet 1.8+: mousedown сразу триггерит mouseup, прямоугольник схлопывается в точку при первом нажатии. На пользовательском скрине quadrate ~5px вместо нарисованной области. Заменил полностью на свою draw-implementation (~80 строк): - Toolbar UI: 3 кнопки (Прямоугольник / Полигон / Очистить) - Active mode highlights ultramarain background - Rectangle: mousedown → preview → mouseup finalize. Map.dragging отключается в rectangle mode чтобы drag не панил карту. - Polygon: click добавляет вершину + dashed mouse-line preview к курсору. Double-click closes (min 3 vertices). doubleClickZoom disabled на map чтобы не конфликтовало. - DrawMode read через ref чтобы listeners не пересоздавались на каждом state change. Удалены deps: - leaflet-draw 1.0.4 (broken) - @types/leaflet-draw Bundle: -68KB minified / -23KB gzip (less broken legacy code). Tests: 89 passed. i18n: RU/EN ключи для новой toolbar.
This commit is contained in:
@@ -22,7 +22,6 @@
|
||||
"i18next": "^26.0.3",
|
||||
"i18next-browser-languagedetector": "^8.0.2",
|
||||
"leaflet": "^1.9.4",
|
||||
"leaflet-draw": "^1.0.4",
|
||||
"oidc-client-ts": "^3.5.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
@@ -38,7 +37,6 @@
|
||||
"@testing-library/react": "^16.3.2",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
"@types/leaflet": "^1.9.21",
|
||||
"@types/leaflet-draw": "^1.0.13",
|
||||
"@types/react": "^19.0.0",
|
||||
"@types/react-dom": "^19.0.0",
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
|
||||
Reference in New Issue
Block a user