mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-23 20:43:53 +00:00
MultiRegatta - Adjusted overview and regatta tab if no data is available
This commit is contained in:
1 parent
8015d806d9
commit
a91ec4629f
5 files changed
+27
-5
No files matched your search
+4
-1
@@ -8,6 +8,7 @@ import java.util.Map;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
@@ -57,6 +58,7 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat
|
||||
@UiField(provided = true) EventOverviewStage stage;
|
||||
@UiField(provided = true) RacesListLive racesListLive;
|
||||
@UiField DivElement newContentContainerUi;
|
||||
@UiField DivElement legendAndFilterUi;
|
||||
@UiField(provided = true) DropdownFilter<String> boatCategoryFilterUi;
|
||||
@UiField MultiRegattaListStepsLegend regattaProgressLegendUi;
|
||||
@UiField(provided = true) MultiRegattaList regattaListUi;
|
||||
@@ -84,7 +86,7 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat
|
||||
racesListLive = new RacesListLive(currentPresenter, true);
|
||||
MultiregattaOverviewRegattasTabViewRegattaFilterList regattaFilterList = new MultiregattaOverviewRegattasTabViewRegattaFilterList();
|
||||
boatCategoryFilterUi = new DropdownFilter<String>(StringMessages.INSTANCE.allBoatClasses(), regattaFilterList);
|
||||
regattaListUi = new MultiRegattaList(currentPresenter);
|
||||
regattaListUi = new MultiRegattaList(currentPresenter, false);
|
||||
|
||||
initWidget(ourUiBinder.createAndBindUi(this));
|
||||
regattaOverviewLinkUi.setHref(currentPresenter.getRegattaOverviewLink());
|
||||
@@ -158,6 +160,7 @@ public class MultiregattaOverviewTabView extends Composite implements Multiregat
|
||||
DropdownFilterList<String>, RefreshableWidget<SortedSetResult<RegattaWithProgressDTO>> {
|
||||
@Override
|
||||
public void setData(SortedSetResult<RegattaWithProgressDTO> data) {
|
||||
legendAndFilterUi.getStyle().setDisplay(data.isEmpty() ? Display.NONE : Display.BLOCK);
|
||||
regattaListUi.setData(data);
|
||||
boatCategoryFilterUi.updateFilterValues();
|
||||
}
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@
|
||||
<div class="{res.mediaCss.grid}" ui:field="newContentContainerUi">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns} {res.mainCss.spacermarginbottommedium}">
|
||||
<p:raceListLive.RacesListLive ui:field="racesListLive" addStyleNames="{res.mainCss.spacermargin} {res.mainCss.spacermargintopmedium}" />
|
||||
<div class="{res.mainCss.spacermargintopmedium} {style.legend_and_filter}">
|
||||
<div class="{res.mainCss.spacermargintopmedium} {style.legend_and_filter}" ui:field="legendAndFilterUi" style="display:none;">
|
||||
<p:multiRegattaList.MultiRegattaListStepsLegend ui:field="regattaProgressLegendUi" />
|
||||
<p:listNavigation.DropdownFilter ui:field="boatCategoryFilterUi" />
|
||||
<a class="{res.mainCss.button} {res.mainCss.buttonstrong} {res.mainCss.buttonarrowrightwhite}"
|
||||
|
||||
+4
-1
@@ -8,6 +8,7 @@ import java.util.Map;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
@@ -55,6 +56,7 @@ public class MultiregattaRegattasTabView extends Composite implements Multiregat
|
||||
@UiField SimplePanel content;
|
||||
@UiField DivElement newContentContainerUi;
|
||||
@UiField(provided = true) RacesListLive racesListLiveUi;
|
||||
@UiField DivElement legendAndFilterUi;
|
||||
@UiField(provided = true) DropdownFilter<String> boatCategoryFilterUi;
|
||||
@UiField MultiRegattaListStepsLegend regattaProgressLegendUi;
|
||||
@UiField(provided = true) MultiRegattaList regattaListUi;
|
||||
@@ -81,7 +83,7 @@ public class MultiregattaRegattasTabView extends Composite implements Multiregat
|
||||
racesListLiveUi = new RacesListLive(currentPresenter, true);
|
||||
MultiregattaRegattasTabViewRegattaFilterList regattaFilterList = new MultiregattaRegattasTabViewRegattaFilterList();
|
||||
boatCategoryFilterUi = new DropdownFilter<String>(StringMessages.INSTANCE.allBoatClasses(), regattaFilterList);
|
||||
regattaListUi = new MultiRegattaList(currentPresenter);
|
||||
regattaListUi = new MultiRegattaList(currentPresenter, true);
|
||||
|
||||
initWidget(ourUiBinder.createAndBindUi(this));
|
||||
regattaOverviewLinkUi.setHref(currentPresenter.getRegattaOverviewLink());
|
||||
@@ -156,6 +158,7 @@ public class MultiregattaRegattasTabView extends Composite implements Multiregat
|
||||
|
||||
@Override
|
||||
public void setData(SortedSetResult<RegattaWithProgressDTO> data) {
|
||||
legendAndFilterUi.getStyle().setDisplay(data.isEmpty() ? Display.NONE : Display.BLOCK);
|
||||
regattaListUi.setData(data);
|
||||
boatCategoryFilterUi.updateFilterValues();
|
||||
}
|
||||
|
||||
+1
-1
@@ -16,7 +16,7 @@
|
||||
<div class="{res.mediaCss.grid}" ui:field="newContentContainerUi">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns} {res.mainCss.spacermarginbottommedium}">
|
||||
<p:raceListLive.RacesListLive ui:field="racesListLiveUi" addStyleNames="{res.mainCss.spacermargintopmedium}" />
|
||||
<div class="{res.mainCss.spacermargintopmedium} {style.legend_and_filter}">
|
||||
<div class="{res.mainCss.spacermargintopmedium} {style.legend_and_filter}" ui:field="legendAndFilterUi" style="display:none;">
|
||||
<p:multiRegattaList.MultiRegattaListStepsLegend ui:field="regattaProgressLegendUi" />
|
||||
<p:listNavigation.DropdownFilter ui:field="boatCategoryFilterUi" />
|
||||
<a class="{res.mainCss.button} {res.mainCss.buttonstrong} {res.mainCss.buttonarrowrightwhite}"
|
||||
|
||||
+17
-1
@@ -5,13 +5,17 @@ import java.util.Collections;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.FontWeight;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.place.event.multiregatta.EventMultiregattaView.Presenter;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshableWidget;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.SortedSetResult;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.regatta.RegattaWithProgressDTO;
|
||||
|
||||
@@ -25,9 +29,11 @@ public class MultiRegattaList extends Composite implements RefreshableWidget<Sor
|
||||
@UiField FlowPanel regattasContainerUi;
|
||||
private final Presenter currentPresenter;
|
||||
private final Collection<String> selectableBoatCategories = new TreeSet<>();
|
||||
private final boolean showMessageIfEmpty;
|
||||
|
||||
public MultiRegattaList(Presenter presenter) {
|
||||
public MultiRegattaList(Presenter presenter, boolean showMessageIfEmpty) {
|
||||
this.currentPresenter = presenter;
|
||||
this.showMessageIfEmpty = showMessageIfEmpty;
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
@@ -39,6 +45,9 @@ public class MultiRegattaList extends Composite implements RefreshableWidget<Sor
|
||||
public void setListData(Collection<RegattaWithProgressDTO> data) {
|
||||
regattasContainerUi.clear();
|
||||
selectableBoatCategories.clear();
|
||||
if (data.isEmpty() && showMessageIfEmpty) {
|
||||
regattasContainerUi.add(getNoDataInfoWidget());
|
||||
}
|
||||
for (RegattaWithProgressDTO regattaWithProgress : data) {
|
||||
regattasContainerUi.add(new MultiRegattaListItem(regattaWithProgress, currentPresenter));
|
||||
String boatCategory = regattaWithProgress.getBoatCategory();
|
||||
@@ -48,6 +57,13 @@ public class MultiRegattaList extends Composite implements RefreshableWidget<Sor
|
||||
}
|
||||
}
|
||||
|
||||
private Widget getNoDataInfoWidget() {
|
||||
Label label = new Label(StringMessages.INSTANCE.noDataForEvent());
|
||||
label.getElement().getStyle().setMarginTop(1, Unit.EM);
|
||||
label.getElement().getStyle().setFontWeight(FontWeight.BOLD);
|
||||
return label;
|
||||
}
|
||||
|
||||
public Collection<String> getSelectableBoatCategories() {
|
||||
return selectableBoatCategories;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user