import React, {useEffect, useState} from "react"; export const WeekdaySelect = (props) => { const [ activeDays, setActiveDays ] = useState([1,2,3,4,5,6,7].map( (v) => (props.defaultValue || []).indexOf(v) !== -1)); const days = [ 'S', 'M', 'T', 'W', 'T', 'F', 'S' ]; useEffect( () => { props.onSelect(activeDays.map( (isActive, idx) => isActive ? idx + 1 : 0).filter( (v) => 0 !== v )); }, [activeDays]); const toggleDay = (e, idx: number) => { e.preventDefault(); activeDays[idx] = !activeDays[idx]; setActiveDays([].concat(activeDays)); } return (
{days.map( (day, idx) => activeDays[idx] ? : )}
); }