Files
mdm-ordinis/ordinis-admin-ui/package.json
T
Zimin A.N. c0444ccfec 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.
2026-05-06 22:22:09 +03:00

50 lines
1.4 KiB
JSON

{
"name": "ordinis-admin-ui",
"private": true,
"version": "0.1.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview --host 0.0.0.0 --port 4173",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"@hookform/resolvers": "^3.9.1",
"@nstart/ui": "^0.1.3",
"@phosphor-icons/react": "^2.1.10",
"@tanstack/react-query": "^5.62.0",
"@tanstack/react-router": "^1.86.0",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
"axios": "^1.7.9",
"i18next": "^26.0.3",
"i18next-browser-languagedetector": "^8.0.2",
"leaflet": "^1.9.4",
"oidc-client-ts": "^3.5.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.54.2",
"react-i18next": "^17.0.2",
"react-leaflet": "^5.0.0",
"react-oidc-context": "^3.3.1"
},
"devDependencies": {
"@tailwindcss/vite": "^4.0.0-beta.7",
"@tanstack/router-vite-plugin": "^1.86.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/leaflet": "^1.9.21",
"@types/react": "^19.0.0",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^4.3.4",
"jsdom": "^29.1.1",
"tailwindcss": "^4.0.0-beta.7",
"typescript": "^5.7.2",
"vite": "^6.0.5",
"vitest": "^2.1.9"
}
}