|
15 | 15 |
|
16 | 16 | package de.symeda.sormas.ui.campaign.campaigndata; |
17 | 17 |
|
| 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 | + |
18 | 25 | import com.vaadin.ui.GridLayout; |
19 | 26 | import com.vaadin.v7.data.Validator; |
20 | 27 | import com.vaadin.v7.data.util.converter.Converter; |
21 | 28 | import com.vaadin.v7.ui.ComboBox; |
22 | 29 | import com.vaadin.v7.ui.DateField; |
| 30 | + |
23 | 31 | import de.symeda.sormas.api.FacadeProvider; |
24 | 32 | import de.symeda.sormas.api.campaign.data.CampaignFormDataDto; |
25 | 33 | import de.symeda.sormas.api.campaign.form.CampaignFormMetaDto; |
|
33 | 41 | import de.symeda.sormas.ui.utils.CssStyles; |
34 | 42 | import de.symeda.sormas.ui.utils.FieldHelper; |
35 | 43 |
|
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 | | - |
40 | 44 | public class CampaignFormDataEditForm extends AbstractEditForm<CampaignFormDataDto> { |
41 | 45 |
|
42 | 46 | public static final String CAMPAIGN_FORM_LOC = "campaignFormLoc"; |
@@ -101,9 +105,23 @@ protected void addFields() { |
101 | 105 |
|
102 | 106 | if(Objects.nonNull(area) && cbRegion.isEmpty()) { |
103 | 107 | 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())); |
105 | 114 | } else if(Objects.isNull(area)){ |
106 | 115 | 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())); |
107 | 125 | } |
108 | 126 | }); |
109 | 127 | cbRegion.addValueChangeListener(e -> { |
|
0 commit comments