@@ -1182,6 +1182,10 @@ public boolean isAnySymptomSetToYes(FieldGroup fieldGroup, List<String> sourcePr
11821182 return false ;
11831183 }
11841184
1185+ public boolean isAnySymptomVisible (FieldGroup fieldGroup , List <String > sourcePropertyIds , List <Object > sourceValues ) {
1186+ return true ;
1187+ }
1188+
11851189 @ SuppressWarnings ("rawtypes" )
11861190 private void addListenerForOnsetFields (ComboBox onsetSymptom , DateField onsetDateField ) {
11871191 List <String > allPropertyIds =
@@ -1196,9 +1200,9 @@ private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDat
11961200 onsetDateField .setEnabled (true );
11971201 } else {
11981202 onsetSymptom .removeItem (sourceField .getCaption ());
1203+ final Date onsetDate = getValue ().getOnsetDate ();
11991204 boolean isOnsetDateFieldEnabled = isAnySymptomSetToYes (getFieldGroup (), allPropertyIds , Arrays .asList (SymptomState .YES ));
1200- onsetDateField .setEnabled (isOnsetDateFieldEnabled );
1201- Date onsetDate = getValue ().getOnsetDate ();
1205+ onsetDateField .setEnabled (isOnsetDateFieldEnabled || !onsetSymptom .isVisible ());
12021206 if (onsetDate != null ) {
12031207 onsetDateField .setValue (onsetDate );
12041208 } else if (!isOnsetDateFieldEnabled ) {
@@ -1209,7 +1213,9 @@ private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDat
12091213 });
12101214 }
12111215 onsetSymptom .setEnabled (false ); // will be updated by listener if needed
1212- onsetDateField .setEnabled (false ); // will be updated by listener if needed
1216+
1217+ // make onsetDate editable for diseases that have no symptoms (a.k. no first symptom)
1218+ onsetDateField .setEnabled (!onsetSymptom .isVisible ());
12131219 }
12141220
12151221 private void setUpMonkeypoxVisibilities () {
0 commit comments