05af8e1520
Admin кликает 'AOI фильтр' на странице словаря → открывается dialog с картой OSM. Рисует rectangle (→ bbox CSV) или polygon → onApply применяется к recordsQuery как ?bbox= или ?polygon=GeoJSON. Server-side parsing уже есть (BoundingBox.parse, GeoJsonPolygon.parse в ordinis-rest-api) — подключили UI поверх. Активный AOI отображается inline над таблицей с кнопкой 'Сбросить'. Edit shape возможен через leaflet-draw edit/remove controls. Зависимости: leaflet 1.9.4 + react-leaflet 5 + leaflet-draw 1.0.4 + types. Bundle +231KB gzip 62KB — приемлемо для AOI-only feature (map работает без MapLibre WASM, OSM tiles — публичные). Picker self-contained: монтируется/уничтожается с диалогом, invalidateSize 100ms после open чтобы Leaflet корректно посчитал container size после modal animation.
52 lines
1.4 KiB
JSON
52 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",
|
|
"leaflet-draw": "^1.0.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/leaflet-draw": "^1.0.13",
|
|
"@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"
|
|
}
|
|
}
|