Files
mdm-ordinis/ordinis-admin-ui
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
..

Ordinis Admin UI

React 19 + Vite 7 + TanStack Router + TanStack Query + Tailwind v4 + i18next.

Локально

cd ordinis-admin-ui
pnpm install
# .env.local: VITE_API_PROXY=http://localhost:8081  (port-forward read-api)
pnpm dev

Контракт API

  • GET /api/v1/dictionaries (read-api) — список справочников
  • GET /api/v1/{dictionaryName}/records (read-api) — записи с локализацией
  • POST /api/v1/dictionaries (writer) — создание справочника (TODO в UI)
  • POST /api/v1/dictionaries/{name}/records (writer) — создание записи (TODO в UI)

Сборка / Docker

docker build -t repo.nstart.cloud/terravault/ordinis-admin-ui:dev .
docker run --rm -p 8088:80 repo.nstart.cloud/terravault/ordinis-admin-ui:dev
# → http://localhost:8088

В кластере nginx проксирует /api/v1/* в ordinis-read-api (GET) и ordinis-app (POST/PUT/PATCH/DELETE).