@@ -25,45 +25,52 @@ const CopyDayDialog: React.FunctionComponent<Props> = (props: Props) => {
2525 setDays ( null ) ;
2626 } , [ props . open ] ) ;
2727
28- const toggleDay = ( day ) => setDays ( ( oldDays ) => {
29- if ( oldDays == null ) { oldDays = [ ] ; }
28+ const toggleDay = ( day ) => ( ) => {
29+ setDays ( ( oldDays ) => {
30+ if ( oldDays == null ) { oldDays = [ ] ; }
3031
31- const found = find ( oldDays , ( d ) => d === day ) ;
32- remove ( oldDays , ( d ) => d === day ) ;
32+ const found = find ( oldDays , ( d ) => d === day ) ;
33+ remove ( oldDays , ( d ) => d === day ) ;
3334
34- if ( found == null ) {
35- oldDays . push ( day ) ;
36- }
35+ if ( found == null ) {
36+ oldDays . push ( day ) ;
37+ }
3738
38- return oldDays ;
39- } ) ;
39+ // needs to be a new reference to update
40+ return [ ...oldDays ] ;
41+ } ) ;
42+ } ;
43+
44+ const checkDay = ( day ) => {
45+ return find ( days , ( d ) => d === day ) != null ;
46+ } ;
4047
4148 return (
4249 < Dialog open = { props . open } onClose = { ( ) => { props . onCancel ( ) ; } } TransitionComponent = { Transition } >
4350 < DialogTitle > { translate ( "copy.title" ) } </ DialogTitle >
4451 < DialogContent >
4552 < DialogContentText >
46- { translate ( "copy.text" ) }
53+ { translate ( "copy.text" ) }
4754 </ DialogContentText >
4855
4956 < List dense = { true } >
5057 { map ( [ 1 , 2 , 3 , 4 , 5 , 6 , 0 ] , ( day ) => (
51- < ListItem key = { day } button = { true } onClick = { ( ) => toggleDay ( day ) } >
58+ < ListItem key = { day } button = { true } onClick = { toggleDay ( day ) } >
5259 < ListItemText primary = { translate ( `copy.${ Day [ day ] } ` ) } />
5360 < ListItemSecondaryAction >
54- < Checkbox checked = { find ( days , ( d ) => d === day ) != null } onClick = { ( ) => toggleDay ( day ) } />
61+ < Checkbox checked = { checkDay ( day ) } onClick = { toggleDay ( day ) } />
5562 </ ListItemSecondaryAction >
5663 </ ListItem >
5764 ) ) }
5865 </ List >
5966 </ DialogContent >
6067 < DialogActions >
6168 < Button onClick = { ( ) => { props . onCancel ( ) ; } } color = "primary" >
62- { translate ( "copy.cancel" ) }
69+ { translate ( "copy.cancel" ) }
6370 </ Button >
6471
6572 < Button onClick = { ( ) => { props . onConfirm ( days ) ; } } color = "primary" >
66- { translate ( "copy.ok" ) }
73+ { translate ( "copy.ok" ) }
6774 </ Button >
6875 </ DialogActions >
6976 </ Dialog >
0 commit comments