|
6 | 6 | import java.util.Date; |
7 | 7 | import java.util.stream.Stream; |
8 | 8 |
|
9 | | -import org.apache.commons.lang3.StringUtils; |
10 | | - |
11 | 9 | import com.vaadin.server.Page; |
12 | 10 | import com.vaadin.ui.CustomLayout; |
13 | 11 | import com.vaadin.ui.HorizontalLayout; |
@@ -69,24 +67,27 @@ protected void addFields() { |
69 | 67 | addField(FieldConfiguration.pixelSized(TaskIndexDto.TASK_STATUS, 140)); |
70 | 68 |
|
71 | 69 | final UserDto user = UserProvider.getCurrent().getUser(); |
72 | | - if (user.getRegion() == null && user.getDistrict() == null) { |
73 | | - final ComboBox regionField = addField(FieldConfiguration.pixelSized(TaskIndexDto.REGION, 200)); |
74 | | - regionField.addItems(FacadeProvider.getRegionFacade().getAllActiveAsReference()); |
75 | | - |
76 | | - final ComboBox districtField = addDistrictField(); |
77 | | - districtField.setEnabled(false); |
78 | | - |
79 | | - regionField.addValueChangeListener(e -> { |
80 | | - RegionReferenceDto region = (RegionReferenceDto) e.getProperty().getValue(); |
81 | | - if (StringUtils.isNotBlank(region.getUuid())) { |
82 | | - districtField.setEnabled(true); |
83 | | - FieldHelper.updateItems(districtField, FacadeProvider.getDistrictFacade().getAllActiveByRegion(region.getUuid())); |
84 | | - } else { |
85 | | - districtField.setEnabled(false); |
86 | | - } |
87 | | - }); |
88 | | - } else if (user.getDistrict() == null) { |
89 | | - FieldHelper.updateItems(addDistrictField(), FacadeProvider.getDistrictFacade().getAllActiveByRegion(user.getRegion().getUuid())); |
| 70 | + if (user.getDistrict() == null) { |
| 71 | + if (user.getRegion() == null) { |
| 72 | + final ComboBox regionField = addField(FieldConfiguration.pixelSized(TaskIndexDto.REGION, 200)); |
| 73 | + regionField.addItems(FacadeProvider.getRegionFacade().getAllActiveAsReference()); |
| 74 | + |
| 75 | + final ComboBox districtField = addDistrictField(); |
| 76 | + districtField.setEnabled(false); |
| 77 | + |
| 78 | + regionField.addValueChangeListener(e -> { |
| 79 | + RegionReferenceDto region = (RegionReferenceDto) e.getProperty().getValue(); |
| 80 | + boolean hasRegion = null != region; |
| 81 | + districtField.setEnabled(hasRegion); |
| 82 | + if (hasRegion) { |
| 83 | + FieldHelper.updateItems(districtField, FacadeProvider.getDistrictFacade().getAllActiveByRegion(region.getUuid())); |
| 84 | + } else { |
| 85 | + districtField.setValue(null); |
| 86 | + } |
| 87 | + }); |
| 88 | + } else { |
| 89 | + FieldHelper.updateItems(addDistrictField(), FacadeProvider.getDistrictFacade().getAllActiveByRegion(user.getRegion().getUuid())); |
| 90 | + } |
90 | 91 | } |
91 | 92 |
|
92 | 93 | addField(FieldConfiguration.withCaptionAndPixelSized(TaskCriteria.FREE_TEXT, I18nProperties.getString(Strings.promptTaskSearchField), 200)); |
|
0 commit comments