|
3 | 3 | import java.util.Date; |
4 | 4 |
|
5 | 5 | import com.vaadin.icons.VaadinIcons; |
| 6 | +import com.vaadin.navigator.ViewChangeListener; |
6 | 7 | import com.vaadin.server.FileDownloader; |
7 | 8 | import com.vaadin.server.StreamResource; |
8 | 9 | import com.vaadin.ui.Alignment; |
@@ -184,6 +185,7 @@ private HorizontalLayout createFilterBar() { |
184 | 185 | relevanceStatusFilter.setId("relevanceStatus"); |
185 | 186 | relevanceStatusFilter.setWidth(220, Unit.PERCENTAGE); |
186 | 187 | relevanceStatusFilter.setNullSelectionAllowed(false); |
| 188 | + relevanceStatusFilter.addItems((Object[]) EntityRelevanceStatus.values()); |
187 | 189 | relevanceStatusFilter.setItemCaption(EntityRelevanceStatus.ACTIVE, I18nProperties.getCaption(Captions.countryActiveCountries)); |
188 | 190 | relevanceStatusFilter.setItemCaption(EntityRelevanceStatus.ARCHIVED, I18nProperties.getCaption(Captions.countryArchivedCountries)); |
189 | 191 | relevanceStatusFilter.setItemCaption(EntityRelevanceStatus.ALL, I18nProperties.getCaption(Captions.countryAllCountries)); |
@@ -227,4 +229,31 @@ private HorizontalLayout createFilterBar() { |
227 | 229 | return filterLayout; |
228 | 230 | } |
229 | 231 |
|
| 232 | + @Override |
| 233 | + public void enter(ViewChangeListener.ViewChangeEvent event) { |
| 234 | + |
| 235 | + super.enter(event); |
| 236 | + String params = event.getParameters().trim(); |
| 237 | + if (params.startsWith("?")) { |
| 238 | + params = params.substring(1); |
| 239 | + criteria.fromUrlParams(params); |
| 240 | + } |
| 241 | + updateFilterComponents(); |
| 242 | + grid.reload(); |
| 243 | + } |
| 244 | + |
| 245 | + public void updateFilterComponents() { |
| 246 | + |
| 247 | + // TODO replace with Vaadin 8 databinding |
| 248 | + applyingCriteria = true; |
| 249 | + |
| 250 | + resetButton.setVisible(criteria.hasAnyFilterActive()); |
| 251 | + |
| 252 | + if (relevanceStatusFilter != null) { |
| 253 | + relevanceStatusFilter.setValue(criteria.getRelevanceStatus()); |
| 254 | + } |
| 255 | + searchField.setValue(criteria.getNameCodeLike()); |
| 256 | + |
| 257 | + applyingCriteria = false; |
| 258 | + } |
230 | 259 | } |
0 commit comments