Ревью PR #242: перечитывание (опрос, удаление, загрузка, подтверждение) во время догрузки отбрасывало её ответ, а loadingMore оставался true — спиннер под списком и в переключателе документа не гас. Теперь перечитывание сразу сбрасывает флаг догрузки. useScrollSentinel: biome-ignore для trigger с причиной (переподписка после новой порции файлов). OpenSpec files-pagination: «Догрузка списка файлов» (primary-files-ui), опрос перечитывает все показанные страницы, переключатель документа догружает список при прокрутке (document-review-ui). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
2.5 KiB
Markdown
37 lines
2.5 KiB
Markdown
# Proposal
|
||
|
||
## Why
|
||
|
||
AURORA-1816 (PR arm-core #242). Панель «Первичные документы» запрашивала файлы ЮЛ с `limit=100` и не догружала
|
||
остальные: в режиме «Все документы организации» у ЮЛ с сотней файлов и больше лишние не видны ни в панели, ни в
|
||
переключателе документа на экране проверки, и пользователь не знает, что список неполный. Сервер пагинацию уже
|
||
поддерживает (`total`, `offset`, `limit` до 200).
|
||
|
||
## What Changes
|
||
|
||
- Панель «Первичные документы»: над списком «Всего N файлов» (`total` ответа); файлы страницами по 200, следующая —
|
||
при прокрутке до конца списка.
|
||
- Опрос раз в 5 секунд и перечитывание после удаления, загрузки и подтверждения перечитывают все показанные страницы,
|
||
список не сворачивается к первой.
|
||
- Переключатель «Документ» на экране проверки берёт тот же список: догрузка при прокрутке выпадающего списка, открытый
|
||
документ есть в списке, даже если он дальше загруженных страниц.
|
||
|
||
## Capabilities
|
||
|
||
### Modified Capabilities
|
||
|
||
- `primary-files-ui` — новое требование «Догрузка списка файлов»; «Опрос до окончания распознавания» перечитывает все
|
||
показанные страницы.
|
||
- `document-review-ui` — «Переключатель документа»: догрузка и открытый документ в списке.
|
||
|
||
## Impact
|
||
|
||
Только фронт arm-core: `web/src/hooks/useLegalEntityFiles.ts` (перенесён из `widgets/FilesDrawer/`),
|
||
`web/src/hooks/useScrollSentinel.ts`, `web/src/services/api/files.ts`, `web/src/widgets/FilesDrawer/*`,
|
||
`web/src/layouts/DocumentPage.tsx`. API, DBML, правила `05-domain-rules.md` не меняются.
|
||
|
||
## Non-goals
|
||
|
||
- Кнопка «Показать ещё» — выбрана подгрузка при прокрутке (задача допускала оба варианта).
|
||
- Серверный поиск и фильтры по файлам.
|