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

Commit 6a2c257

Browse files
authored
Merge pull request SORMAS-Foundation#3302 from hzi-braunschweig/SORMAS-Foundation#3225-Changing-area-in-campaign-data-form-needs-region
SORMAS-Foundation#3225 - fix area-region dependency for campaign data form
2 parents 2ecc471 + b3b63bf commit 6a2c257

1 file changed

Lines changed: 23 additions & 5 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/campaign/campaigndata/CampaignFormDataEditForm.java

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,19 @@
1515

1616
package de.symeda.sormas.ui.campaign.campaigndata;
1717

18+
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs;
19+
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
20+
21+
import java.util.Comparator;
22+
import java.util.Objects;
23+
import java.util.stream.Collectors;
24+
1825
import com.vaadin.ui.GridLayout;
1926
import com.vaadin.v7.data.Validator;
2027
import com.vaadin.v7.data.util.converter.Converter;
2128
import com.vaadin.v7.ui.ComboBox;
2229
import com.vaadin.v7.ui.DateField;
30+
2331
import de.symeda.sormas.api.FacadeProvider;
2432
import de.symeda.sormas.api.campaign.data.CampaignFormDataDto;
2533
import de.symeda.sormas.api.campaign.form.CampaignFormMetaDto;
@@ -33,10 +41,6 @@
3341
import de.symeda.sormas.ui.utils.CssStyles;
3442
import de.symeda.sormas.ui.utils.FieldHelper;
3543

36-
import static de.symeda.sormas.ui.utils.LayoutUtil.fluidRowLocs;
37-
import static de.symeda.sormas.ui.utils.LayoutUtil.loc;
38-
import java.util.Objects;
39-
4044
public class CampaignFormDataEditForm extends AbstractEditForm<CampaignFormDataDto> {
4145

4246
public static final String CAMPAIGN_FORM_LOC = "campaignFormLoc";
@@ -101,9 +105,23 @@ protected void addFields() {
101105

102106
if(Objects.nonNull(area) && cbRegion.isEmpty()) {
103107
cbRegion.removeAllItems();
104-
cbRegion.addItems(FacadeProvider.getRegionFacade().getAllActiveByArea((area.getUuid())));
108+
cbRegion.addItems(
109+
FacadeProvider.getRegionFacade()
110+
.getAllActiveByArea((area.getUuid()))
111+
.stream()
112+
.sorted(Comparator.comparing(RegionReferenceDto::getCaption))
113+
.collect(Collectors.toList()));
105114
} else if(Objects.isNull(area)){
106115
cbRegion.addItems(FacadeProvider.getRegionFacade().getAllActiveAsReference());
116+
} else {
117+
cbRegion.setValue(null);
118+
cbRegion.removeAllItems();
119+
cbRegion.addItems(
120+
FacadeProvider.getRegionFacade()
121+
.getAllActiveByArea((area.getUuid()))
122+
.stream()
123+
.sorted(Comparator.comparing(RegionReferenceDto::getCaption))
124+
.collect(Collectors.toList()));
107125
}
108126
});
109127
cbRegion.addValueChangeListener(e -> {

0 commit comments

Comments
 (0)