app: Fait boucler le focus au lieu de clamp

This commit is contained in:
Mattéo Delabre 2019-12-04 18:46:29 -05:00
parent 2b145543f3
commit 5ad7ee0b55
Signed by: matteo
GPG Key ID: AE3FBD02DC583ABB
1 changed files with 15 additions and 5 deletions

View File

@ -70,11 +70,21 @@ export const useFocusableList = () =>
*/
setFocus(nextFocus)
{
setFocus(
list.length === 0
? 0
: Math.min(list.length - 1, Math.max(0, nextFocus))
);
const itemCount = list.length;
if (itemCount === 0)
{
// Sur la liste vide, on ne peut pas changer le focus
return;
}
// Ramène une valeur négative dans les positifs
while (nextFocus < 0) { nextFocus += itemCount; }
// Ramène une valeur trop grande à lintérieur de la liste
nextFocus = nextFocus % itemCount;
setFocus(nextFocus);
}
};
};