diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/RightPanelPresenter.java b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/RightPanelPresenter.java index 225431df116ed4bc77eb38a82712805a6817b1b4..b23c312f5ffc10f15c035687eae0ed19affed361 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/RightPanelPresenter.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/RightPanelPresenter.java @@ -109,7 +109,9 @@ public final class RightPanelPresenter implements FeatureSelectHandler, MapClick periodName = pName; view.setPeriodName(pName); App.getEventBus().fireEvent(LoadingEvent.of(LoadingEventType.START)); - if (FeatureLevel.REGION == c.getLevel() && selectedPra != null + if (FeatureLevel.REGION == c.getLevel() // + && selectedPra != null // + && regionOfSelectedPra != null // && !Objects.equals(regionOfSelectedPra, c.getFeatureId())) { c.setLevel(FeatureLevel.PRA); c.setFeatureId(selectedPra); @@ -120,6 +122,8 @@ public final class RightPanelPresenter implements FeatureSelectHandler, MapClick GWT.log("RightPanelPresenter.loadValues() succcess"); if (FeatureLevel.PRA == c.getLevel() && FeatureLevel.REGION == d.getParentFeature().getLevel()) { regionOfSelectedPra = d.getParentFeature().getId(); + } else { + regionOfSelectedPra = null; } view.setSummary(d); }) // @@ -142,6 +146,7 @@ public final class RightPanelPresenter implements FeatureSelectHandler, MapClick @Override public void onFeatureSelect(final FeatureSelectEvent event) { + GWT.log("RightPanelPresenter.onFeatureSelect()"); // keep the selected PRA on the map if (FeatureLevel.PRA == event.getLevel()) { selectedPra = event.getId(); diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java index 7380db74dcb09afcfbe03e4ea272ce323798d80c..2f628f936931931ae4e95d40406622c1909496c5 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java @@ -314,7 +314,7 @@ implements LayoutPresenter.View, LoadingHandler { } private void initRightPanel() { - GWT.log("LayoutView.initRightPannel()"); + GWT.log("LayoutView.initRightPanel()"); // NB cannot get z-index using layout.getFooter().getZIndex() final int footerZIndex = 9; // incrementing z-index to change also z-index in modal @@ -324,7 +324,7 @@ implements LayoutPresenter.View, LoadingHandler { } while (rightPanelZIndex <= footerZIndex); layout.getRightPanel().setZIndex(rightPanelZIndex); - GWT.log("LayoutView.initRightPannel() " + rightPanelZIndex); + GWT.log("LayoutView.initRightPanel() " + rightPanelZIndex); } private void initTopBar() { 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 76b6666ca8586ffa8c7f04c95c5bb82bdf93ee6d..d171645dc211d6f263be8cea0c02f7e6e7fbb9db 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 @@ -252,6 +252,8 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im if (newValue.length() > 2) { choice.setFeatureId(null); } else { + // France métropolitaine : "0" + choice.setLevel(FeatureLevel.REGION); choice.setFeatureId(newValue); } onChoiceChange(); @@ -269,7 +271,11 @@ public final class LeftPanelView extends AbstractBaseView<LeftPanelPresenter> im @Override public void selectRegionId(final String id) { - regionSelect.selectByKey(id); + if (id == null || id.isEmpty()) { + regionSelect.selectByKey("0"); + } else { + regionSelect.selectByKey(id); + } } @Override diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/RightPanelView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/RightPanelView.java index 3827bb79c5c69ae40b6f4132dc49e9a44da88b7b..b98016a41fcb5722773ed2ca7a7facbe64d248a2 100644 --- a/www-client/src/main/java/fr/agrometinfo/www/client/view/RightPanelView.java +++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/RightPanelView.java @@ -31,6 +31,7 @@ import fr.agrometinfo.www.client.presenter.RightPanelPresenter; import fr.agrometinfo.www.client.ui.CardDetails; import fr.agrometinfo.www.client.ui.chart.DailyValuesChart; import fr.agrometinfo.www.client.util.UiUtils; +import fr.agrometinfo.www.shared.dto.FeatureLevel; import fr.agrometinfo.www.shared.dto.IndicatorDTO; import fr.agrometinfo.www.shared.dto.SummaryDTO; @@ -230,21 +231,28 @@ public final class RightPanelView implements RightPanelPresenter.View { } } - if (data.getParentFeature() != null) { + if (backBtnClickListener != null) { + backBtn.removeEventListener(EventType.click, backBtnClickListener); + } + if (featureName == null || featureName.isEmpty()) { + backBtn.style().setDisplay("none"); + backBtnClickListener = null; + } else if (data.getParentFeature() != null) { backBtn.getTextSpan().textContent(data.getParentFeature().getName()); - if (backBtnClickListener != null) { - backBtn.removeEventListener(EventType.click, backBtnClickListener); - } backBtnClickListener = e -> { final FeatureSelectEvent event = new FeatureSelectEvent(); event.setId(data.getParentFeature().getId()); event.setLevel(data.getParentFeature().getLevel()); - App.getEventBus().fireEvent(FeatureSelectEvent.of(event.getLevel(), event.getId())); + App.getEventBus().fireEvent(event); }; - backBtn.addClickListener(backBtnClickListener); - backBtn.style().setDisplay("inline-block"); } else { - backBtn.style().setDisplay("none"); + backBtn.getTextSpan().textContent(CSTS.metropolitanFrance()); + backBtnClickListener = e -> App.getEventBus().fireEvent(FeatureSelectEvent.of(FeatureLevel.REGION, "")); + backBtn.style().setDisplay("inline-block"); + } + if (backBtnClickListener != null) { + backBtn.style().setDisplay("inline-block"); + backBtn.addClickListener(backBtnClickListener); } final NumberFormat nf = NumberFormat.getFormat("0.#");