чистка кода

This commit is contained in:
gorbenko.pavel
2026-08-07 14:02:56 +05:00
parent 419aaac60a
commit 03391d7669
19 changed files with 67 additions and 37 deletions
@@ -71,8 +71,19 @@ export const ManageRequestsPhaseTable: React.FC<IManageRequestsPhaseTableProps>
[blocks, withParallel]
);
// Индекс последнего заблокированного блока — все блоки ПОСЛЕ него движимы,
// все блоки НА НЁМ И РАНЬШЕ — нет (см. комментарий к компоненту).
const lastLockedBlockIndex = lockedBlock.reduce((acc, locked, i) => (locked ? i : acc), -1);
// все блоки НА НЁМ И РАНЬШЕ — нет (см. комментарий к компоненту). Считаем
// именно НЕПРЕРЫВНЫЙ префикс заблокированных блоков с начала, а не индекс
// последнего true по всему списку: реальные данные не всегда гарантируют
// строгую непрерывность (например, более ранняя ручная правка тем же
// инструментом могла оставить решённый шаг ПОСЛЕ ещё не решённого) — а
// reduce по всему массиву в этом случае блокирует стрелки вообще у всех
// блоков до самого дальнего заблокированного, даже у тех, что реально
// редактируемы.
let lastLockedBlockIndex = -1;
for (let i = 0; i < lockedBlock.length; i++) {
if (!lockedBlock[i]) break;
lastLockedBlockIndex = i;
}
const firstMovableRowIndex = blocks[lastLockedBlockIndex + 1]?.start ?? -1;
// Фаза уже целиком решена (например, все согласующие одобрили, и заявка ушла