mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-20 19:20:04 +00:00
added no data message to start analyses widget
This commit is contained in:
1 parent
50b3926546
commit
1e40022f81
12 files changed
+91
-7
No files matched your search
+1
-1
@@ -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";
|
||||
|
||||
+3
-1
@@ -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";
|
||||
}
|
||||
+3
-1
@@ -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");
|
||||
+31
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
+27
-1
@@ -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);
|
||||
|
||||
+6
-1
@@ -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}">
|
||||
|
||||
+4
@@ -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();
|
||||
|
||||
+3
-1
@@ -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();
|
||||
|
||||
+3
@@ -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
|
||||
|
||||
+4
-1
@@ -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
|
||||
|
||||
+3
@@ -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
|
||||
|
||||
+3
@@ -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
|
||||
|
||||
Reference in new issue
Block a user