added no data message to start analyses widget

This commit is contained in:
Alexander Ries committed 2016-01-28 15:36:28 +01:00
1 parent 50b3926546
commit 1e40022f81
12 files changed
+91 -7

No files matched your search

@@ -9,7 +9,7 @@ public class Colors {
public static final String LIGHT_GREY = "#F3F2F4";
public static final String DARK_GREY = "#E0E0E0";
public static final String LIGHT_TEXT_COLOR = "#848484";
public static final String DARK_TEXT_COLOR = "#FFFFFF";
public static final String DARK_TEXT_COLOR = "#000000";
public static final String DARK_BLUE = "#FFFFFF";
public static final String LIGHT_BLUE = "#FFFFFF";
public static final String YELLOW = "#FFFFFF";
@@ -8,7 +8,7 @@ public class Sizes {
public static final String DASHBOARD_FONT_SIZE_VERY_SMALL = "10px";
public static final String DASHBOARD_FONT_SIZE_SMALL = "13px";
public static final String DASHBOARD_FONT_SIZE_MEDIUM = "14px";
public static final String DASHBOARD_FONT_SIZE_LARGE = "16px";
public static final String DASHBOARD_FONT_SIZE_LARGE = "18px";
public static final String DASHBOARD_FONT_SIZE_VERY_LARGE = "25px";
public static final String DASHBOARD_SPACE_VERY_SMALL = "10px";
@@ -16,4 +16,6 @@ public class Sizes {
public static final String DASHBOARD_SPACE_MEDIUM = "40px";
public static final String DASHBOARD_SPACE_LARGE = "50px";
public static final String DASHBOARD_SPACE_VERY_LARGE = "70px";
public static final String DASHBOARD_LINE_HEIGHT = "20px";
}
@@ -22,4 +22,6 @@
@def DASHBOARD_SPACE_SMALL eval("com.sap.sailing.dashboards.gwt.client.theme.Sizes.DASHBOARD_SPACE_SMALL");
@def DASHBOARD_SPACE_MEDIUM eval("com.sap.sailing.dashboards.gwt.client.theme.Sizes.DASHBOARD_SPACE_MEDIUM");
@def DASHBOARD_SPACE_LARGE eval("com.sap.sailing.dashboards.gwt.client.theme.Sizes.DASHBOARD_SPACE_LARGE");
@def DASHBOARD_SPACE_VERY_LARGE eval("com.sap.sailing.dashboards.gwt.client.theme.Sizes.DASHBOARD_SPACE_VERY_LARGE");
@def DASHBOARD_SPACE_VERY_LARGE eval("com.sap.sailing.dashboards.gwt.client.theme.Sizes.DASHBOARD_SPACE_VERY_LARGE");
@def DASHBOARD_LINE_HEIGHT eval("com.sap.sailing.dashboards.gwt.client.theme.Sizes.DASHBOARD_LINE_HEIGHT");
@@ -24,6 +24,33 @@
background-color: WHITE;
}
.no_data_message_container {
position: absolute;
top: DASHBOARD_SPACE_MEDIUM;
bottom: 0px;
width: 100%;
font-size: DASHBOARD_FONT_SIZE_MEDIUM;
font-family: DASHBOARD_FONT_FAMILY;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
line-height: DASHBOARD_LINE_HEIGHT;
}
.no_data_message_header {
color: DARK_TEXT_COLOR;
font-weight: bold;
text-align: center;
}
.no_data_message {
color: LIGHT_TEXT_COLOR;
max-width: 230px;
margin: auto;
font-weight: normal;
}
.current_start_panel {
height: DASHBOARD_SPACE_MEDIUM;
top: DASHBOARD_SPACE_MEDIUM;
@@ -44,6 +71,10 @@
top: 50%;
background-color: WHITE;
z-index: 1;
opacity: 0.0;
}
.controll_header_button_visible {
opacity: 0.9;
}
@@ -8,6 +8,7 @@ import java.util.logging.Level;
import java.util.logging.Logger;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.DivElement;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
@@ -39,6 +40,7 @@ import com.sap.sailing.dashboards.gwt.shared.dto.LeaderboardCompetitorsDTO;
import com.sap.sailing.dashboards.gwt.shared.dto.StartAnalysesDTO;
import com.sap.sailing.dashboards.gwt.shared.dto.StartAnalysisDTO;
import com.sap.sailing.domain.common.dto.CompetitorDTO;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.racemap.RaceMapResources;
/**
@@ -91,6 +93,12 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
* */
@UiField
HTMLPanel startanalysis_card_container;
@UiField
DivElement noDataMessageHeader;
@UiField
DivElement noDataMessage;
/**
* The CSS "left" property from the {@link #startanalysis_card_container}.
@@ -134,7 +142,7 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
pageChangeListener = new ArrayList<StartAnalysisCard>();
starts = new ArrayList<StartAnalysisDTO>();
initWidget(uiBinder.createAndBindUi(this));
header.getElement().setInnerText("Start Analysis");
header.getElement().setInnerText(StringMessages.INSTANCE.dashboardStartAnalysesHeader());
initCompetitorSelectionPopupAndAddCompetitorSelectionListener();
initLeftRightButtons();
initAndAddBottomNotification();
@@ -173,6 +181,7 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
public void onSuccess(StartAnalysesDTO result) {
logger.log(Level.INFO, "Received startanalysis list");
if (result != null && !result.getStartAnalyses().isEmpty()) {
hideNoDataMessage();
if (displayedStartAnalysisCompetitorDifferentToRequestedOne()) {
removeAllStartAnalysisCards();
}
@@ -181,9 +190,11 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
}
logger.log(Level.INFO, "Updating UI with startanalysis list");
addNewStartAnalysisCards(result.getStartAnalyses());
showControllHeaderButtons();
settingsButtonWithSelectionIndicationLabel.setSelectionIndicationTextOnLabel(result.getStartAnalyses().get(0).competitor.getName());
} else {
logger.log(Level.INFO, "Received startanalysis list is null or empty");
showNoDataMessageWithHeaderAndMessage(null, null);
}
}
});
@@ -310,6 +321,11 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
}
}
}
private void showControllHeaderButtons() {
leftButton.getElement().addClassName(StartAnalysisWidgetResources.INSTANCE.gss().controll_header_button_visible());
rightButton.getElement().addClassName(StartAnalysisWidgetResources.INSTANCE.gss().controll_header_button_visible());
}
private void scrollToLast() {
if (numberOfStartAnalysisCards > 1) {
@@ -397,6 +413,16 @@ public class StartAnalysisWidget extends Composite implements HasWidgets, PollsL
}
}
private void showNoDataMessageWithHeaderAndMessage(String header, String message) {
noDataMessageHeader.setInnerHTML(StringMessages.INSTANCE.dashboardNoStartAnalysesAvailableHeader());
noDataMessage.setInnerHTML(StringMessages.INSTANCE.dashboardNoStartAnalysesAvailableMessage());
}
private void hideNoDataMessage() {
noDataMessageHeader.setInnerHTML("");
noDataMessage.setInnerHTML("");
}
@Override
public void timeChanged(Date newTime, Date oldTime) {
String selectedCompetitorId = Cookies.getCookie(SELECTED_COMPETITOR_ID_COOKIE_KEY);
@@ -8,8 +8,13 @@
<g:HTMLPanel styleName="{resources.gss.startanalysis}">
<g:HTMLPanel ui:field="header" styleName="{resources.gss.panel_header}">
</g:HTMLPanel>
<div class="{resources.gss.no_data_message_container}">
<span>
<div ui:field="noDataMessageHeader" class="{resources.gss.no_data_message_header}"></div>
<div ui:field="noDataMessage" class="{resources.gss.no_data_message}"></div>
</span>
</div>
<g:HTMLPanel ui:field="currentStartPanel" styleName="{resources.gss.current_start_panel}">
</g:HTMLPanel>
<g:HTMLPanel ui:field="leftButton"
styleName="{resources.gss.controll_header_button} {resources.gss.controll_header_button_left}">
@@ -27,8 +27,12 @@ public interface StartAnalysisWidgetResources extends ClientBundle {
public interface StartAnalysisGSS extends CssResource {
String startanalysis();
String panel_header();
String no_data_message_container();
String no_data_message_header();
String no_data_message();
String current_start_panel();
String controll_header_button();
String controll_header_button_visible();
String controll_header_button_image();
String controll_header_button_left();
String controll_header_button_right();
@@ -1270,8 +1270,10 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String dashboardAverageWindMinutes(int minutes);
String dashboardWindChartHint();
String dashboardStartAnalysesHeader();
String dashboardNewStartAnalysisAvailable();
String dashboardNoStartAnalysesAvailableHeader();
String dashboardNoStartAnalysesAvailableMessage();
String dashboardStartlineAdvantagesByWind();
String dashboardStartlineAdvantageByGeometry();
String dashboardRankAtFirstMark();
@@ -1232,7 +1232,10 @@ dashboardLiveWind=live
dashboardAverageWind=average
dashboardAverageWindMinutes=({0} minutes)
dashboardWindChartHint=Tap on chart to change interval
dashboardStartAnalysesHeader=Start Analyses
dashboardNewStartAnalysisAvailable=New start analysis available
dashboardNoStartAnalysesAvailableHeader=No Start Analyses available yet.
dashboardNoStartAnalysesAvailableMessage=There is a Start Analysis created from each race start. Please stand by till racing has been started.
dashboardStartlineAdvantagesByWind=Startline advantage by wind
dashboardStartlineAdvantageByGeometry=Startline advantage by geometry
dashboardRankAtFirstMark=Rank at first mark
@@ -1223,7 +1223,10 @@ dashboardLiveWind=live
dashboardAverageWind=average
dashboardAverageWindMinutes=({0} minutes)
dashboardWindChartHint=Auf Chart drücken um Interval zu ändern
dashboardNewStartAnalysisAvailable=Neue Startanalyse verfügbar
dashboardStartAnalysesHeader=Start Analysen
dashboardNewStartAnalysisAvailable=Neue Start Analyse verfügbar.
dashboardNoStartAnalysesAvailableHeader=Noch keine Start Analysen verfügbar.
dashboardNoStartAnalysesAvailableMessage=Es wird eine Start Analyse für jeden Renn Start erstellt. Bitte warten bis die Rennen starten.
dashboardStartlineAdvantagesByWind=Startlininien Vorteil nach Wind
dashboardStartlineAdvantageByGeometry=Startlininien Vorteil nach Geometrie
dashboardRankAtFirstMark=Position an erster Bahnmarke
@@ -1166,7 +1166,10 @@ dashboardLiveWind=live
dashboardAverageWind=average
dashboardAverageWindMinutes=({0} minutes)
dashboardWindChartHint=Tap on chart to change interval
dashboardStartAnalysesHeader=Start Analyses
dashboardNewStartAnalysisAvailable=New start analysis available
dashboardNoStartAnalysesAvailableHeader=No Start Analyses available yet.
dashboardNoStartAnalysesAvailableMessage=There is a Start Analysis created from each race start. Please stand by till racing has been started.
dashboardStartlineAdvantagesByWind=Startline advantage by wind
dashboardStartlineAdvantageByGeometry=Startline advantage by geometry
dashboardRankAtFirstMark=Rank at first mark
@@ -350,7 +350,10 @@ raceIsRunning=正在进行
starboardSide=右舷
polarSheetMinimumWindConfidence=Minimum wind confidence value
group=分组
dashboardStartAnalysesHeader=Start Analyses
dashboardNewStartAnalysisAvailable=New start analysis available
dashboardNoStartAnalysesAvailableHeader=No Start Analyses available yet.
dashboardNoStartAnalysesAvailableMessage=There is a Start Analysis created from each race start. Please stand by till racing has been started.
actionAddWindData=Add wind data
competitorSearchFilter=Competitor Search Filter
dataCount=Data Size