21 lines
2.5 KiB
Markdown
21 lines
2.5 KiB
Markdown
## Context
|
||
|
||
AURORA-1682, RSHB/arm-core#197. Панель «Первичные документы» открывалась локальным состоянием `ConsolidationPage`
|
||
(`drawerOpen`), ЮЛ панели — в сторе (`current_legal_entity_id`). «Назад» из документа (`navigate(-1)`) монтирует страницу
|
||
консолидации заново, и панель закрыта.
|
||
|
||
## Decisions made without discussion
|
||
|
||
- **2026-10-27, R-1.** Открытая панель хранится в адресе (`?entity=<legal_entity_id>`), а не в сторе или sessionStorage.
|
||
Обоснование: выбранная версия уже живёт в `?version=` (ConsoleTable), история браузера сама возвращает адрес с панелью,
|
||
а ссылку с панелью можно переслать. Цена ошибки: если параметр не нужен в адресе — заменить на состояние в сторе
|
||
(правка в `ConsolidationsList.tsx` и двух функциях `utils/consolidations.ts`).
|
||
- **2026-10-27, R-2.** Открытие и закрытие панели заменяют запись истории (`replace: true`), как выбор версии. Обоснование:
|
||
иначе «Назад» браузера после закрытия панели снова открывал бы её. Цена ошибки: низкая — одна опция `setSearchParams`.
|
||
- **2026-10-27, R-3.** Режим «Все документы организации» в адрес не входит: после «Назад» панель открыта столом
|
||
консолидации. Обоснование: в задаче речь о возврате к панели организации; переключатель и без того сбрасывается при каждом
|
||
открытии панели. Цена ошибки: низкая — добавить второй параметр адреса.
|
||
- **2026-10-27, R-4.** Панель открывается, только когда ЮЛ из адреса уже в сторе (`current_legal_entity_id === entity`).
|
||
Обоснование: стор обновляется эффектом после первого рендера — без условия панель на мгновение показала бы прежнее ЮЛ и
|
||
запросила бы его файлы. Цена ошибки: нет (поведение для пользователя то же).
|