Fix calendar field weekdays selector

This commit is contained in:
Ben Grant 2021-06-01 14:17:17 +10:00
parent 3d26358086
commit 7e872b34de

View file

@ -220,6 +220,16 @@ const CalendarField = ({
selected={selectedDays.includes(((i + weekStart) % 7 + 7) % 7)} selected={selectedDays.includes(((i + weekStart) % 7 + 7) % 7)}
selecting={selectingDays.includes(((i + weekStart) % 7 + 7) % 7)} selecting={selectingDays.includes(((i + weekStart) % 7 + 7) % 7)}
mode={mode} mode={mode}
type="button"
onKeyPress={e => {
if (e.key === ' ' || e.key === 'Enter') {
if (selectedDays.includes(((i + weekStart) % 7 + 7) % 7)) {
setSelectedDays(selectedDays.filter(d => d !== ((i + weekStart) % 7 + 7) % 7));
} else {
setSelectedDays([...selectedDays, ((i + weekStart) % 7 + 7) % 7]);
}
}
}}
onPointerDown={(e) => { onPointerDown={(e) => {
startPos.current = i; startPos.current = i;
setMode(selectedDays.includes(((i + weekStart) % 7 + 7) % 7) ? 'remove' : 'add'); setMode(selectedDays.includes(((i + weekStart) % 7 + 7) % 7) ? 'remove' : 'add');