Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit 5cdc7a6

Browse files
1 parent d15cd8d commit 5cdc7a6

3 files changed

Lines changed: 58 additions & 66 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/BulkCaseDataForm.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,28 +212,23 @@ protected void addFields() {
212212
community.setNullSelectionAllowed(true);
213213
community.setEnabled(false);
214214
facilityOrHome = new OptionGroup(I18nProperties.getCaption(Captions.casePlaceOfStay), TypeOfPlace.getTypesOfPlaceForCases());
215+
addCustomField(facilityOrHome, FACILITY_OR_HOME_LOC, I18nProperties.getCaption(Captions.casePlaceOfStay));
215216
facilityOrHome.setId("facilityOrHome");
216-
facilityOrHome.setWidth(100, Unit.PERCENTAGE);
217217
facilityOrHome.setEnabled(false);
218218
CssStyles.style(facilityOrHome, ValoTheme.OPTIONGROUP_HORIZONTAL);
219-
getContent().addComponent(facilityOrHome, FACILITY_OR_HOME_LOC);
220219

221220
healthFacilityDetails = addField(CaseDataDto.HEALTH_FACILITY_DETAILS, TextField.class);
222221
healthFacilityDetails.setVisible(false);
223222

224223
facilityTypeGroup = new ComboBox();
225224
facilityTypeGroup.setId("typeGroup");
226-
facilityTypeGroup.setCaption(I18nProperties.getCaption(Captions.Facility_typeGroup));
227-
facilityTypeGroup.setWidth(100, Unit.PERCENTAGE);
225+
addCustomField(facilityTypeGroup, TYPE_GROUP_LOC, I18nProperties.getCaption(Captions.Facility_typeGroup));
228226
facilityTypeGroup.addItems(FacilityTypeGroup.getAccomodationGroups());
229227
facilityTypeGroup.setEnabled(false);
230-
getContent().addComponent(facilityTypeGroup, TYPE_GROUP_LOC);
231228
facilityType = new ComboBox();
232229
facilityType.setId(CaseDataDto.FACILITY_TYPE);
233-
facilityType.setCaption(I18nProperties.getPrefixCaption(FacilityDto.I18N_PREFIX, FacilityDto.TYPE));
234-
facilityType.setWidth(100, Unit.PERCENTAGE);
230+
addCustomField(facilityType, TYPE_LOC, I18nProperties.getPrefixCaption(FacilityDto.I18N_PREFIX, FacilityDto.TYPE));
235231
facilityType.setEnabled(false);
236-
getContent().addComponent(facilityType, TYPE_LOC);
237232
ComboBox facility = addInfrastructureField(CaseBulkEditData.HEALTH_FACILITY);
238233
facility.setImmediate(true);
239234
facility.setEnabled(false);

sormas-ui/src/main/java/de/symeda/sormas/ui/caze/CaseController.java

Lines changed: 47 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@
105105
import de.symeda.sormas.ui.utils.ButtonHelper;
106106
import de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent;
107107
import de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent.CommitListener;
108-
import de.symeda.sormas.ui.utils.CommitDiscardWrapperComponent.DiscardListener;
109108
import de.symeda.sormas.ui.utils.DateHelper8;
110109
import de.symeda.sormas.ui.utils.VaadinUiUtil;
111110
import de.symeda.sormas.ui.utils.ViewMode;
@@ -649,68 +648,58 @@ public void showBulkCaseDataEditComponent(Collection<? extends CaseIndexDto> sel
649648

650649
Window popupWindow = VaadinUiUtil.showModalPopupWindow(editView, I18nProperties.getString(Strings.headingEditCases));
651650

652-
editView.addCommitListener(new CommitListener() {
653-
654-
@Override
655-
public void onCommit() {
656-
CaseBulkEditData updatedBulkEditData = form.getValue();
657-
658-
boolean diseaseChange = form.getDiseaseCheckBox().getValue();
659-
boolean classificationChange = form.getClassificationCheckBox().getValue();
660-
boolean investigationStatusChange = form.getInvestigationStatusCheckBox().getValue();
661-
boolean outcomeChange = form.getOutcomeCheckBox().getValue();
662-
boolean surveillanceOfficerChange = district != null && form.getSurveillanceOfficerCheckBox().getValue();
663-
boolean facilityChange = form.getHealthFacilityCheckbox().getValue();
664-
665-
if (facilityChange) {
666-
VaadinUiUtil.showChooseOptionPopup(
667-
I18nProperties.getCaption(Captions.caseInfrastructureDataChanged),
668-
new Label(I18nProperties.getString(Strings.messageFacilityMulitChanged)),
669-
I18nProperties.getCaption(Captions.caseTransferCases),
670-
I18nProperties.getCaption(Captions.caseEditData),
671-
500,
672-
e -> {
673-
bulkEditWithFacilities(
674-
selectedCases,
675-
updatedBulkEditData,
676-
diseaseChange,
677-
classificationChange,
678-
investigationStatusChange,
679-
outcomeChange,
680-
surveillanceOfficerChange,
681-
e.booleanValue());
682-
683-
popupWindow.close();
684-
navigateToIndex();
685-
Notification.show(I18nProperties.getString(Strings.messageCasesEdited), Type.HUMANIZED_MESSAGE);
686-
});
687-
688-
} else {
689-
CaseFacade caseFacade = FacadeProvider.getCaseFacade();
690-
bulkEdit(
691-
selectedCases,
692-
updatedBulkEditData,
693-
diseaseChange,
694-
classificationChange,
695-
investigationStatusChange,
696-
outcomeChange,
697-
surveillanceOfficerChange,
698-
caseFacade);
699-
700-
popupWindow.close();
701-
navigateToIndex();
702-
Notification.show(I18nProperties.getString(Strings.messageCasesEdited), Type.HUMANIZED_MESSAGE);
703-
}
704-
}
705-
});
651+
editView.addCommitListener(() -> {
652+
CaseBulkEditData updatedBulkEditData = form.getValue();
653+
654+
boolean diseaseChange = form.getDiseaseCheckBox().getValue();
655+
boolean classificationChange = form.getClassificationCheckBox().getValue();
656+
boolean investigationStatusChange = form.getInvestigationStatusCheckBox().getValue();
657+
boolean outcomeChange = form.getOutcomeCheckBox().getValue();
658+
boolean surveillanceOfficerChange = district != null && form.getSurveillanceOfficerCheckBox().getValue();
659+
boolean facilityChange = form.getHealthFacilityCheckbox().getValue();
660+
661+
if (facilityChange) {
662+
VaadinUiUtil.showChooseOptionPopup(
663+
I18nProperties.getCaption(Captions.caseInfrastructureDataChanged),
664+
new Label(I18nProperties.getString(Strings.messageFacilityMulitChanged)),
665+
I18nProperties.getCaption(Captions.caseTransferCases),
666+
I18nProperties.getCaption(Captions.caseEditData),
667+
500,
668+
e -> {
669+
bulkEditWithFacilities(
670+
selectedCases,
671+
updatedBulkEditData,
672+
diseaseChange,
673+
classificationChange,
674+
investigationStatusChange,
675+
outcomeChange,
676+
surveillanceOfficerChange,
677+
e.booleanValue());
678+
679+
popupWindow.close();
680+
navigateToIndex();
681+
Notification.show(I18nProperties.getString(Strings.messageCasesEdited), Type.HUMANIZED_MESSAGE);
682+
});
706683

707-
editView.addDiscardListener(new DiscardListener() {
684+
} else {
685+
CaseFacade caseFacade = FacadeProvider.getCaseFacade();
686+
bulkEdit(
687+
selectedCases,
688+
updatedBulkEditData,
689+
diseaseChange,
690+
classificationChange,
691+
investigationStatusChange,
692+
outcomeChange,
693+
surveillanceOfficerChange,
694+
caseFacade);
708695

709-
@Override
710-
public void onDiscard() {
711696
popupWindow.close();
697+
navigateToIndex();
698+
Notification.show(I18nProperties.getString(Strings.messageCasesEdited), Type.HUMANIZED_MESSAGE);
712699
}
713700
});
701+
702+
editView.addDiscardListener(() -> popupWindow.close());
714703
}
715704

716705
private void bulkEdit(

sormas-ui/src/main/java/de/symeda/sormas/ui/utils/AbstractForm.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,14 @@ protected <F extends Field> F addCustomField(String fieldId, Class<?> dataType,
256256
return field;
257257
}
258258

259+
protected <F extends Field> void addCustomField(F field, String fieldId, String customCaption) {
260+
field.setId(fieldId);
261+
formatField(field, fieldId, customCaption);
262+
addDefaultAdditionalValidators(field, field.getType());
263+
getContent().addComponent(field, fieldId);
264+
customFields.add(field);
265+
}
266+
259267
protected <F extends Field> F addCustomField(String fieldId, Class<?> dataType, Class<F> fieldType, String customCaption) {
260268
F field = getFieldGroup().getFieldFactory().createField(dataType, fieldType);
261269
field.setId(fieldId);

0 commit comments

Comments
 (0)