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:
Generated
-18
@@ -41,9 +41,6 @@ importers:
|
||||
leaflet:
|
||||
specifier: ^1.9.4
|
||||
version: 1.9.4
|
||||
leaflet-draw:
|
||||
specifier: ^1.0.4
|
||||
version: 1.0.4
|
||||
oidc-client-ts:
|
||||
specifier: ^3.5.0
|
||||
version: 3.5.0
|
||||
@@ -84,9 +81,6 @@ importers:
|
||||
'@types/leaflet':
|
||||
specifier: ^1.9.21
|
||||
version: 1.9.21
|
||||
'@types/leaflet-draw':
|
||||
specifier: ^1.0.13
|
||||
version: 1.0.13
|
||||
'@types/react':
|
||||
specifier: ^19.0.0
|
||||
version: 19.2.14
|
||||
@@ -975,9 +969,6 @@ packages:
|
||||
'@types/geojson@7946.0.16':
|
||||
resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
|
||||
|
||||
'@types/leaflet-draw@1.0.13':
|
||||
resolution: {integrity: sha512-YU82kilOaU+wPNbqKCCDfHH3hqepN6XilrBwG/mSeZ/z4ewumaRCOah44s3FMxSu/Aa0SVa3PPJvhIZDUA09mw==}
|
||||
|
||||
'@types/leaflet@1.9.21':
|
||||
resolution: {integrity: sha512-TbAd9DaPGSnzp6QvtYngntMZgcRk+igFELwR2N99XZn7RXUdKgsXMR+28bUO0rPsWp8MIu/f47luLIQuSLYv/w==}
|
||||
|
||||
@@ -1391,9 +1382,6 @@ packages:
|
||||
resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
leaflet-draw@1.0.4:
|
||||
resolution: {integrity: sha512-rsQ6saQO5ST5Aj6XRFylr5zvarWgzWnrg46zQ1MEOEIHsppdC/8hnN8qMoFvACsPvTioAuysya/TVtog15tyAQ==}
|
||||
|
||||
leaflet@1.9.4:
|
||||
resolution: {integrity: sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==}
|
||||
|
||||
@@ -2581,10 +2569,6 @@ snapshots:
|
||||
|
||||
'@types/geojson@7946.0.16': {}
|
||||
|
||||
'@types/leaflet-draw@1.0.13':
|
||||
dependencies:
|
||||
'@types/leaflet': 1.9.21
|
||||
|
||||
'@types/leaflet@1.9.21':
|
||||
dependencies:
|
||||
'@types/geojson': 7946.0.16
|
||||
@@ -3034,8 +3018,6 @@ snapshots:
|
||||
|
||||
jwt-decode@4.0.0: {}
|
||||
|
||||
leaflet-draw@1.0.4: {}
|
||||
|
||||
leaflet@1.9.4: {}
|
||||
|
||||
lightningcss-android-arm64@1.32.0:
|
||||
|
||||
Reference in New Issue
Block a user