@@ -65,7 +65,13 @@ class CandidateDOD extends Component {
6565 * @param {* } value
6666 */
6767 setFormData ( formElement , value ) {
68- let formData = this . state . formData ;
68+ let formData = { ...this . state . formData } ;
69+
70+ // Clear the DOD if indicated as unknown
71+ if ( formElement === 'dod_precision' && value === 'unknown' ) {
72+ formData . dod = '' ;
73+ }
74+
6975 formData [ formElement ] = value ;
7076 this . setState ( {
7177 formData : formData ,
@@ -89,20 +95,30 @@ class CandidateDOD extends Component {
8995 return < Loader /> ;
9096 }
9197
92- let dateFormat = this . state . data . dodFormat ;
9398 let disabled = true ;
9499 let updateButton = null ;
95100 if ( loris . userHasPermission ( 'candidate_dod_edit' ) ) {
96101 disabled = false ;
97102 updateButton = < ButtonElement label = { t ( 'Update' , { ns : 'loris' } ) } /> ;
98103 }
104+
99105 let precisionOptions = {
100- 'known_year_month' : t ( 'Known year and month' ) ,
101- 'known_year' : t ( 'Known year' ) ,
102- 'unknown' : t ( 'Unknown date' ) ,
106+ 'known_year_month' : t ( 'I know the year and month of death ' ) ,
107+ 'known_year' : t ( 'I know the year of death ' ) ,
108+ 'unknown' : t ( 'I do not know the date of death ' ) ,
103109 } ;
110+
104111 let required = this . state . formData . dod_precision != 'unknown' ;
105112
113+ let dateFormat = this . state . data . dodFormat ;
114+
115+ let dodValue = this . state . formData . dod || '' ;
116+ if ( dateFormat == 'Ymd' ) {
117+ precisionOptions [ 'known_full' ] = t ( 'I know the full date of death' ) ;
118+ } else if ( dateFormat == 'Ym' && this . state . formData . dod ) {
119+ dodValue = dodValue . slice ( 0 , 7 ) ;
120+ }
121+
106122 return (
107123 < div className = 'row' >
108124 < FormElement
0 commit comments