чистка кода
This commit is contained in:
+13
-2
@@ -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;
|
||||
|
||||
// Фаза уже целиком решена (например, все согласующие одобрили, и заявка ушла
|
||||
|
||||
Reference in New Issue
Block a user