Таблица строк ОСВ получила virtual (antd 6): в DOM только видимые строки. Высота области прокрутки считается числом (osvBodyHeight) и обновляется при изменении окна. В спеку document-review-ui добавлено требование про виртуализацию. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
989 B
TypeScript
14 lines
989 B
TypeScript
/** Высота тела таблицы не меньше этой, даже в низком окне. */
|
||
export const OSV_MIN_BODY_HEIGHT = 240;
|
||
/** Сколько высоты окна занимает всё над и под телом таблицы: шапка страницы, кнопки, поиск, шапка и «Итого» таблицы. */
|
||
export const OSV_CHROME_HEIGHT = 340;
|
||
|
||
/**
|
||
* Высота области прокрутки таблицы ОСВ числом (виртуальной таблице antd нужен числовой scroll.y, calc() не подходит).
|
||
* Повторяет прежнее `calc(100vh - 340px)`, но не ниже минимума; мусорное значение окна даёт минимум.
|
||
*/
|
||
export function osvBodyHeight(viewportHeight: number): number {
|
||
if (!Number.isFinite(viewportHeight)) return OSV_MIN_BODY_HEIGHT;
|
||
return Math.max(OSV_MIN_BODY_HEIGHT, Math.floor(viewportHeight - OSV_CHROME_HEIGHT));
|
||
}
|