@@ -1182,6 +1182,10 @@ public boolean isAnySymptomSetToYes(FieldGroup fieldGroup, List<String> sourcePr
1182
1182
return false ;
1183
1183
}
1184
1184
1185
+ public boolean isAnySymptomVisible (FieldGroup fieldGroup , List <String > sourcePropertyIds , List <Object > sourceValues ) {
1186
+ return true ;
1187
+ }
1188
+
1185
1189
@ SuppressWarnings ("rawtypes" )
1186
1190
private void addListenerForOnsetFields (ComboBox onsetSymptom , DateField onsetDateField ) {
1187
1191
List <String > allPropertyIds =
@@ -1196,9 +1200,9 @@ private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDat
1196
1200
onsetDateField .setEnabled (true );
1197
1201
} else {
1198
1202
onsetSymptom .removeItem (sourceField .getCaption ());
1203
+ final Date onsetDate = getValue ().getOnsetDate ();
1199
1204
boolean isOnsetDateFieldEnabled = isAnySymptomSetToYes (getFieldGroup (), allPropertyIds , Arrays .asList (SymptomState .YES ));
1200
- onsetDateField .setEnabled (isOnsetDateFieldEnabled );
1201
- Date onsetDate = getValue ().getOnsetDate ();
1205
+ onsetDateField .setEnabled (isOnsetDateFieldEnabled || !onsetSymptom .isVisible ());
1202
1206
if (onsetDate != null ) {
1203
1207
onsetDateField .setValue (onsetDate );
1204
1208
} else if (!isOnsetDateFieldEnabled ) {
@@ -1209,7 +1213,9 @@ private void addListenerForOnsetFields(ComboBox onsetSymptom, DateField onsetDat
1209
1213
});
1210
1214
}
1211
1215
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 ());
1213
1219
}
1214
1220
1215
1221
private void setUpMonkeypoxVisibilities () {
0 commit comments