diff --git a/pom.xml b/pom.xml index f7204b0f45e6cad1f70789342b132dd8eede4d27..4e30028b16d39345e2da51e5456757f94acd14f6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>fr.agrometinfo</groupId> <artifactId>www</artifactId> - <version>2.0.3</version> + <version>2.0.4-SNAPSHOT</version> <packaging>pom</packaging> <name>AgroMetInfo web app</name> <description>Web application for AgroMetInfo.</description> diff --git a/www-client/pom.xml b/www-client/pom.xml index c8642876a7a1b15264c50c1cbefe65e7e5d7c496..2eddaf9cef1ffe0a5a2a677211cb0c43bba18ee9 100644 --- a/www-client/pom.xml +++ b/www-client/pom.xml @@ -7,7 +7,7 @@ <parent> <groupId>fr.agrometinfo</groupId> <artifactId>www</artifactId> - <version>2.0.3</version> + <version>2.0.4-SNAPSHOT</version> </parent> <artifactId>www-client</artifactId> diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java index 7c814d4105b40854c8a67ef0af9ac6fc91111000..669cf4a6164151c399c87cd06e95177393674164 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/LeftPanelPresenter.java @@ -88,6 +88,18 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter */ private View view; + /** + * Load periods from the chosen year. + */ + private void loadPeriods() { + GWT.log("LeftPanelPresenter.loadPeriods()"); + App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.START)); + IndicatorServiceFactory.INSTANCE.getPeriods(chosenYear) // + .onSuccess(this::setPeriods) // + .onFailed(layoutView::failureNotification) // + .onComplete(() -> App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.END))) // + .send(); + } /** * @param choice the user's choice @@ -109,7 +121,12 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter if ("0".equals(choice.getFeatureId())) { choice.setFeatureId(null); } - chosenYear = choice.getYear(); + if (chosenYear != null && !chosenYear.equals(choice.getYear())) { + chosenYear = choice.getYear(); + loadPeriods(); + } else { + chosenYear = choice.getYear(); + } final var regionName = regions.getOrDefault(choice.getFeatureId(), CSTS.metropolitanFrance()); layoutPresenter.onChoiceChange(choice, chosenIndicator, periodName, regionName); } @@ -143,7 +160,7 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter * @param list periods from server. */ private void setPeriods(final List<PeriodDTO> list) { - GWT.log("RightPanelPresenter.setPeriods()"); + GWT.log("LeftPanelPresenter.setPeriods()"); this.periods = list; view.setPeriods(list); @@ -159,7 +176,7 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter * @param list regions with indicators */ private void setRegions(final Map<String, String> list) { - GWT.log("RightPanelPresenter.setRegions()"); + GWT.log("LeftPanelPresenter.setRegions()"); regions.clear(); regions.putAll(list); view.setRegions(list); @@ -169,23 +186,18 @@ public final class LeftPanelPresenter implements FeatureSelectHandler, Presenter * @param list years of computed values */ private void setYears(final List<Integer> list) { - GWT.log("RightPanelPresenter.setYears()"); + GWT.log("LeftPanelPresenter.setYears()"); view.setYears(list); if (!list.isEmpty()) { chosenYear = list.get(list.size() - 1); - App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.START)); - IndicatorServiceFactory.INSTANCE.getPeriods(chosenYear) // - .onSuccess(this::setPeriods) // - .onFailed(layoutView::failureNotification) // - .onComplete(() -> App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.END))) // - .send(); + loadPeriods(); } } @Override public void start() { - GWT.log("RightPanelPresenter.start()"); + GWT.log("LeftPanelPresenter.start()"); view = new LeftPanelView(layoutView.getLeftPanel()); view.setPresenter(this); view.init(); diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java index 2a77f0bb55164f67a514bd07b85fe63292af108b..637910993b74bfeec424521ced30d6f80b76cfaa 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LeftPanelView.java @@ -299,6 +299,7 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im .setSelect(periodSelect) // .setTextFunction(PeriodDTO::getDescription) // .setValueFunction(PeriodDTO::getCode) // + .removeOptions() // .addOptions(list) // .select(defaultPeriod) // .build(); @@ -316,6 +317,7 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im .setSelect(regionSelect) // .setTextFunction(Entry<String, String>::getValue) // .setValueFunction(Entry<String, String>::getKey) // + .removeOptions() // .addOptions(list.entrySet()) // .select(defaultRegion) // .build(); @@ -334,7 +336,9 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im .setSelect(yearSelect) // .setTextFunction(Entry<String, String>::getValue) // .setValueFunction(Entry<String, String>::getKey) // + .removeOptions() // + .addOptions(yearOptions.entrySet()) // .select(yearEntry) // - .addOptions(yearOptions.entrySet()); + .build(); } } diff --git a/www-server/pom.xml b/www-server/pom.xml index e58d7e3e97621f64049b0dfb31a789f46e01d4fc..f56f26bd711caa7048855d88a6f620852ad18796 100644 --- a/www-server/pom.xml +++ b/www-server/pom.xml @@ -7,7 +7,7 @@ <parent> <groupId>fr.agrometinfo</groupId> <artifactId>www</artifactId> - <version>2.0.3</version> + <version>2.0.4-SNAPSHOT</version> </parent> <artifactId>www-server</artifactId> diff --git a/www-shared/pom.xml b/www-shared/pom.xml index d6bb2a6bf44b00f1d7abca3471ea8227ecd5f196..94e631255ee7b47fdb4b2a7727a3ec7e6039c3ca 100644 --- a/www-shared/pom.xml +++ b/www-shared/pom.xml @@ -7,7 +7,7 @@ <parent> <groupId>fr.agrometinfo</groupId> <artifactId>www</artifactId> - <version>2.0.3</version> + <version>2.0.4-SNAPSHOT</version> </parent> <artifactId>www-shared</artifactId>