mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-11 06:40:53 +00:00
Merge remote-tracking branch 'server/design2015-races' into yes2015-with-design2015
Conflicts: java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/regattaoverview/client/SailingFlagsBuilder.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties
This commit is contained in:
commit
8b0f9cbe7f
60 files changed
+7443
-6614
No files matched your search
@@ -1,47 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
|
||||
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="false"/>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT" value="9998"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/dashboards/RibDashboard.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.dashboards.gwt"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.dashboards.gwt/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.dashboards.gwt/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.dashboards.gwt"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-servlet.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-user.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-superDevMode -incremental -war "${project_loc:com.sap.sailing.dashboards.gwt}" -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9998 com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.dashboards.gwt"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m"/>
|
||||
</launchConfiguration>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
|
||||
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="false"/>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT" value="9998"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/dashboards/RibDashboard.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.dashboards.gwt"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.dashboards.gwt/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.dashboards.gwt/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.dashboards.gwt"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-servlet.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-user.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-superDevMode -incremental -war "${project_loc:com.sap.sailing.dashboards.gwt}" -startupUrl /dashboards/RibDashboard.html -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort 9998 com.sap.sailing.dashboards.gwt.RibDashboard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.dashboards.gwt"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread -Xmx2048m"/>
|
||||
</launchConfiguration>
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,268 +0,0 @@
|
||||
/** Add css rules here for your application. */
|
||||
/*
|
||||
body #calendar:after
|
||||
content: " ";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
*/
|
||||
.clearafter {
|
||||
clear: both;
|
||||
font-size: 1px;
|
||||
height: 0px;
|
||||
line-height: 0px;
|
||||
margin: -1px 0 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.cover {
|
||||
left: -1000px;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
top: -1000px;
|
||||
}
|
||||
|
||||
|
||||
body {
|
||||
background: url(images/spectatorview-bg.png) no-repeat left top #ebebeb;
|
||||
font-family: 'OpenSansRegular', Arial, Verdana, sans-serif;
|
||||
line-height: 1;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
padding: 85px 0 120px 0;
|
||||
margin: 0;
|
||||
color: #3b3b3b;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #2968c0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
table td,select,button,checkbox {
|
||||
line-height: 1;
|
||||
font-family: 'OpenSansRegular', Arial, Verdana, sans-serif;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.contentOuterPanel {
|
||||
background: #dddcdc;
|
||||
margin: 0 12px 0 12px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
/** Example rules used by the template application (remove for your app) */
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
font-weight: bold;
|
||||
color: #777777;
|
||||
margin: 40px 0px 70px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: separate;
|
||||
}
|
||||
|
||||
.LogoAndTitlePanel {
|
||||
height: 68px;
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
background-image: url(images/white_gradient_header.png), url(images/header_bg_modern.png);
|
||||
background-position: center top, 0 0;
|
||||
background-repeat: no-repeat, repeat-x;
|
||||
box-shadow: 0 0 20px #858585;
|
||||
-moz-box-shadow: 0 0 20px #858585;
|
||||
-webkit-box-shadow: 0 0 20px #858585;
|
||||
-o-box-shadow: 0 0 20px #858585;
|
||||
-ms-box-shadow: 0 0 20px #858585;
|
||||
}
|
||||
|
||||
.LogoAndTitlePanel:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.sapLogo {
|
||||
float: left;
|
||||
margin: 13px 0 0 12px;
|
||||
}
|
||||
|
||||
.sailingAnalyticsLabelPanel {
|
||||
margin: 10px 0 0 0;
|
||||
}
|
||||
|
||||
.sailingAnalyticsLabel {
|
||||
float: left;
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
margin: 15px 0 0 0;
|
||||
}
|
||||
|
||||
.RegattaOverview-TitleLabel {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.RegattaOverview-EventLabel {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
.RegattaOverview-VenueLabel {
|
||||
margin-left:10px;
|
||||
}
|
||||
|
||||
.RegattaOverview-ClockLabel {
|
||||
margin-left:30px;
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
.RegattaOverview-RefreshStopTime {
|
||||
float:right;
|
||||
margin-left:10px;
|
||||
}
|
||||
|
||||
.RegattaOverview-functionBar {
|
||||
height: 43px;
|
||||
border: 1px solid #aaaaaa;
|
||||
background: url(images/functionBar_bg.png) 0 0 repeat-x;
|
||||
-moz-border-radius-topleft: 5px;
|
||||
-webkit-border-top-left-radius: 5px;
|
||||
-o-border-top-left-radius: 5px;
|
||||
-ms-border-top-left-radius: 5px;
|
||||
border-top-left-radius: 5px;
|
||||
-moz-border-radius-topright: 5px;
|
||||
-webkit-border-top-right-radius: 5px;
|
||||
-o-border-top-right-radius: 5px;
|
||||
-ms-border-top-right-radius: 5px;
|
||||
border-top-right-radius: 5px;
|
||||
-moz-border-radius-bottomleft: 5px;
|
||||
-webkit-border-bottom-left-radius: 5px;
|
||||
-o-border-bottom-left-radius: 5px;
|
||||
-ms-border-bottom-left-radius: 5px;
|
||||
border-bottom-left-radius: 5px;
|
||||
-moz-border-radius-bottomright: 5px;
|
||||
-webkit-border-bottom-right-radius: 5px;
|
||||
-o-border-bottom-right-radius: 5px;
|
||||
-ms-border-bottom-right-radius: 5px;
|
||||
border-bottom-right-radius: 5px;
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.RegattaOverview-contentWrapper {
|
||||
padding: 18px;
|
||||
}
|
||||
|
||||
.RegattaOverview-wordWrap {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.RegattaOverview-circle {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
-moz-border-radius-topleft: 50%;
|
||||
-webkit-border-top-left-radius: 50%;
|
||||
-o-border-top-left-radius: 50%;
|
||||
-ms-border-top-left-radius: 50%;
|
||||
border-top-left-radius: 50%;
|
||||
-moz-border-radius-topright: 50%;
|
||||
-webkit-border-top-right-radius: 50%;
|
||||
-o-border-top-right-radius: 50%;
|
||||
-ms-border-top-right-radius: 50%;
|
||||
border-top-right-radius: 50%;
|
||||
-moz-border-radius-bottomleft: 50%;
|
||||
-webkit-border-bottom-left-radius: 50%;
|
||||
-o-border-bottom-left-radius: 50%;
|
||||
-ms-border-bottom-left-radius: 50%;
|
||||
border-bottom-left-radius: 50%;
|
||||
-moz-border-radius-bottomright: 50%;
|
||||
-webkit-border-bottom-right-radius: 50%;
|
||||
-o-border-bottom-right-radius: 50%;
|
||||
-ms-border-bottom-right-radius: 50%;
|
||||
border-bottom-right-radius: 50%;
|
||||
float: left;
|
||||
margin: 2px 6px 0 0;
|
||||
}
|
||||
|
||||
.circleBlue {
|
||||
background: #008fcc;
|
||||
}
|
||||
|
||||
.circleYellow {
|
||||
background: #fbba00;
|
||||
}
|
||||
|
||||
.circleGreen {
|
||||
background: #8ab54e;
|
||||
}
|
||||
|
||||
.circleGrey {
|
||||
background: #ebebeb;
|
||||
}
|
||||
|
||||
.RaceDetailPanel {
|
||||
background: #ebebeb;
|
||||
border-top:5px solid #858585;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.RaceDetailPanel-header {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.RaceDetailPanel-content td {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.RegattaOverview-Leaderboards {
|
||||
padding-top: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.viewerToolbar-innerElement {
|
||||
background: url("images/btn-cta-orangeleft.png") repeat-x scroll center 0 transparent;
|
||||
border-bottom-left-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
font-family: UbuntuBold,Verdana,Arial,sans-serif;
|
||||
font-size: 14px;
|
||||
margin: 0 15px 0 0;
|
||||
padding: 2px 7px 2px 3px;
|
||||
height: 18px;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
-moz-border-radius: 5px 0 0 5px;
|
||||
-webkit-border-radius: 5px 0 0 5px;
|
||||
-o-border-radius: 5px 0 0 5px;
|
||||
-ms-border-radius: 5px 0 0 5px;
|
||||
border-radius: 5px 0 0 5px;
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
-o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
-ms-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
|
||||
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
.viewerToolbar-innerElement:active {
|
||||
top: 1px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.viewerToolbar-innerElement:hover {
|
||||
background: url("images/btn-cta-orangeleft.png") repeat-x scroll center -30px transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.viewerToolbar-innerElement label {
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -1,57 +1,31 @@
|
||||
<!doctype html>
|
||||
<!-- The DOCTYPE declaration above will set the -->
|
||||
<!-- browser's rendering engine into -->
|
||||
<!-- "Standards Mode". Replacing this declaration -->
|
||||
<!-- with a "Quirks Mode" doctype may lead to some -->
|
||||
<!-- differences in layout. -->
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<!--[if lt IE 9]>
|
||||
<meta http-equiv="REFRESH" content="0; url=http://www.sapsailing.com/browser-info.html">
|
||||
<![endif]-->
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<!-- <meta name="viewport" content="width=device-width" />-->
|
||||
<meta content='width = device-width, initial-scale = 1.0, user-scalable = yes' name='viewport'>
|
||||
<meta content='yes' name='apple-mobile-web-app-capable'>
|
||||
<meta content='black' name='apple-mobile-web-app-status-bar-style'>
|
||||
<!-- <link href='iphone-splash-screen.png' rel='apple-touch-startup-image'> -->
|
||||
|
||||
<link href='images/sap-sailing-app-icon.png' rel='apple-touch-icon'>
|
||||
<link rel="shortcut icon" type="image/x-icon" href="images/sap.ico" />
|
||||
|
||||
<!--<link href='http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700,300italic,400italic,500italic,700italic' rel='stylesheet' type='text/css'>-->
|
||||
<!-- -->
|
||||
<!-- Consider inlining CSS to reduce the number of requested files -->
|
||||
<!-- -->
|
||||
|
||||
<!-- -->
|
||||
<!-- Any title is fine -->
|
||||
<!-- -->
|
||||
<title>SAP Sailing Analytics Regatta Overview</title>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/clean/sailing-clean-1.0.cache.css">
|
||||
<link rel="stylesheet" type="text/css" href="/sailing-fontface-1.0.cache.css">
|
||||
<link rel="stylesheet" type="text/css" href="CommonControls.css">
|
||||
<link rel="stylesheet" type="text/css" href="RegattaOverview.css">
|
||||
|
||||
<!-- -->
|
||||
<!-- This script loads your compiled module. -->
|
||||
<!-- If you add any GWT meta tags, they must -->
|
||||
<!-- be added before this line. -->
|
||||
<!-- -->
|
||||
<script type="text/javascript" language="javascript" src="com.sap.sailing.gwt.ui.RegattaOverview/com.sap.sailing.gwt.ui.RegattaOverview.nocache.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
language="javascript"
|
||||
src="com.sap.sailing.gwt.regattaoverview.RegattaOverview/com.sap.sailing.gwt.regattaoverview.RegattaOverview.nocache.js"
|
||||
></script>
|
||||
</head>
|
||||
|
||||
<!-- -->
|
||||
<!-- The body can have arbitrary html, or -->
|
||||
<!-- you can leave the body empty if you want -->
|
||||
<!-- to create a completely dynamic UI. -->
|
||||
<!-- -->
|
||||
<body>
|
||||
|
||||
<!-- OPTIONAL: include this if you want history support -->
|
||||
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
|
||||
|
||||
<!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
|
||||
<noscript>
|
||||
<div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
|
||||
@@ -59,6 +33,5 @@
|
||||
in order for this application to display correctly.
|
||||
</div>
|
||||
</noscript>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,77 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
|
||||
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Simulator"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Leaderboard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.PolarSheets"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RegattaOverview"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Spectator"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.LeaderboardEditing"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.DataMining"/>
|
||||
<listEntry value="com.sap.sailing.gwt.Home"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.AutoPlay"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" javaProject="com.sap.sailing.gwt.ui" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.theme/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.googlecode.java-diff-utils/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.json.simple/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.udpconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.mongodb/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.operationaltransformation/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.replication/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.geocoding/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-user.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.gwt.ui"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.common/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-superDevMode -incremental -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort auto -startupUrl /gwt/Home.html com.sap.sailing.gwt.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/PolarSheets.html com.sap.sailing.gwt.ui.PolarSheets -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.ui.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.PolarSheets com.sap.sailing.gwt.ui.RegattaOverview com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.Home com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms1024m -Xmx3072m"/>
|
||||
</launchConfiguration>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
|
||||
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Simulator"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Leaderboard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.PolarSheets"/>
|
||||
<listEntry value="com.sap.sailing.gwt.regattaoverview.RegattaOverview"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Spectator"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.LeaderboardEditing"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.DataMining"/>
|
||||
<listEntry value="com.sap.sailing.gwt.Home"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.AutoPlay"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.SUPERDEVMODE_ENABLED" value="true"/>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="false"/>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" javaProject="com.sap.sailing.gwt.ui" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.theme/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.googlecode.java-diff-utils/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.json.simple/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.udpconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.mongodb/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.operationaltransformation/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.replication/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.geocoding/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-user.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.gwt.ui"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.common/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-superDevMode -incremental -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort auto -startupUrl /gwt/Home.html com.sap.sailing.gwt.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/PolarSheets.html com.sap.sailing.gwt.ui.PolarSheets -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.PolarSheets com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.Home com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms1024m -Xmx3072m"/>
|
||||
</launchConfiguration>
|
||||
@@ -1,75 +1,75 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
|
||||
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.Home"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.DataMining"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.LeaderboardEditing"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Spectator"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RegattaOverview"/>
|
||||
<listEntry value="com.sap.sailing.gwt.AutoPlay"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.PolarSheets"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Leaderboard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Simulator"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" javaProject="com.sap.sailing.gwt.ui" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.theme/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.googlecode.java-diff-utils/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.json.simple/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.udpconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.mongodb/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.operationaltransformation/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.replication/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.geocoding/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-user.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.gwt.ui"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.common/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort auto -startupUrl /gwt/Home.html com.sap.sailing.gwt.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/PolarSheets.html com.sap.sailing.gwt.ui.PolarSheets -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.ui.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login -startupUrl /security/ui/EditProfile.html com.sap.sse.security.ui.EditProfile -startupUrl /security/ui/EmailValidation.html com.sap.sse.security.ui.EmailValidation com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.PolarSheets com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.ui.RegattaOverview com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.Home com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
|
||||
</launchConfiguration>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
|
||||
<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
|
||||
<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.GWTShell"/>
|
||||
<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
|
||||
<booleanAttribute key="com.google.gwt.eclipse.core.CODE_SERVER_PORT_AUTO" value="true"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.Home"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.DataMining"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.YoutubePopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.LeaderboardEditing"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.AdminConsole"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Spectator"/>
|
||||
<listEntry value="com.sap.sailing.gwt.regattaoverview.RegattaOverview"/>
|
||||
<listEntry value="com.sap.sailing.gwt.AutoPlay"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.PolarSheets"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Leaderboard"/>
|
||||
<listEntry value="com.sap.sailing.gwt.ui.Simulator"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/gwt/Home.html"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.sap.sailing.gwt.ui"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6" javaProject="com.sap.sailing.gwt.ui" path="1" type="4"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.gwt.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.theme/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.googlecode.java-diff-utils/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.json.simple/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.server/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.expeditionconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.declination/resources" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.udpconnector/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.mongodb/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.swisstimingadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.operationaltransformation/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.replication/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.domain.tractracadapter.persistence/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.moxieapps.gwt.highcharts/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.geocoding/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sailing.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.common/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.datamining.shared/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.google.gwt.osgi/lib/gwt-user.jar" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry id="org.eclipse.jdt.launching.classpathentry.defaultClasspath"> <memento exportedEntriesOnly="false" project="com.sap.sailing.gwt.ui"/> </runtimeClasspathEntry> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.ui/src/main/java" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.gwt.adminconsole/src" path="3" type="2"/> "/>
|
||||
<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/com.sap.sse.security.common/src" path="3" type="2"/> "/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-nosuperDevMode -war "${project_loc:com.sap.sailing.gwt.ui}" -noserver -remoteUI "${gwt_remote_ui_server_port}:${unique_id}" -logLevel INFO -codeServerPort auto -startupUrl /gwt/Home.html com.sap.sailing.gwt.Home -startupUrl /gwt/AdminConsole.html com.sap.sailing.gwt.ui.AdminConsole -startupUrl /gwt/LeaderboardEditing.html com.sap.sailing.gwt.ui.LeaderboardEditing -startupUrl /gwt/Leaderboard.html com.sap.sailing.gwt.ui.Leaderboard -startupUrl /gwt/Spectator.html com.sap.sailing.gwt.ui.Spectator -startupUrl /gwt/RaceBoard.html com.sap.sailing.gwt.ui.RaceBoard -startupUrl /gwt/PolarSheets.html com.sap.sailing.gwt.ui.PolarSheets -startupUrl /gwt/RegattaOverview.html com.sap.sailing.gwt.regattaoverview.RegattaOverview -startupUrl /gwt/DataMining.html com.sap.sailing.gwt.ui.DataMining -startupUrl /gwt/Simulator.html com.sap.sailing.gwt.ui.Simulator -startupUrl /gwt/VideoPopup.html com.sap.sailing.gwt.ui.VideoPopup -startupUrl /security/ui/Login.html com.sap.sse.security.ui.Login -startupUrl /security/ui/EditProfile.html com.sap.sse.security.ui.EditProfile -startupUrl /security/ui/EmailValidation.html com.sap.sse.security.ui.EmailValidation com.sap.sailing.gwt.ui.Simulator com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.PolarSheets com.sap.sailing.gwt.ui.VideoPopup com.sap.sailing.gwt.AutoPlay com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.YoutubePopup com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.Home com.sap.sailing.gwt.ui.RaceBoard"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -Dgwt-usearchives=false -Dgwt.persistentunitcache=false"/>
|
||||
</launchConfiguration>
|
||||
@@ -29,9 +29,8 @@ bin.includes = META-INF/,\
|
||||
com.sap.sailing.gwt.ui.Simulator/,\
|
||||
Simulator.html,\
|
||||
Simulator.css,\
|
||||
RegattaOverview.css,\
|
||||
RegattaOverview.html,\
|
||||
com.sap.sailing.gwt.ui.RegattaOverview/,\
|
||||
com.sap.sailing.gwt.regattaoverview.RegattaOverview/,\
|
||||
com.sap.sailing.gwt.ui.VideoPopup/,\
|
||||
VideoPopup.html,\
|
||||
VideoPopup.css,\
|
||||
|
||||
+24
-13
@@ -8,8 +8,10 @@
|
||||
|
||||
<inherits name="com.google.gwt.resources.Resources" />
|
||||
<inherits name="com.google.gwt.logging.Logging"/>
|
||||
<inherits name="com.google.gwt.cell.Cell"/>
|
||||
|
||||
<!-- Other module inherits -->
|
||||
<inherits name='com.sap.sse.gwt.theme.SSEThemeLibrary'/>
|
||||
<inherits name="com.sap.sse.gwt.EmulatedJRE" />
|
||||
<inherits name="com.sap.sse.gwt.SSESharedGWT" />
|
||||
<inherits name="com.sap.sse.SSECommon" />
|
||||
@@ -29,7 +31,7 @@
|
||||
<inherits name='com.github.gwtbootstrap.datetimepicker.DatetimepickerNoResources' />
|
||||
|
||||
<!-- Specify the app entry point class. -->
|
||||
<entry-point class='com.sap.sailing.gwt.ui.regattaoverview.RegattaOverviewEntryPoint'/>
|
||||
<entry-point class='com.sap.sailing.gwt.regattaoverview.client.RegattaOverviewEntryPoint'/>
|
||||
|
||||
<set-property name="gwt.logging.enabled" value="TRUE"/>
|
||||
<set-property name="gwt.logging.logLevel" value="FINE"/>
|
||||
@@ -42,18 +44,27 @@
|
||||
<extend-property name="locale" values="de"/>
|
||||
<extend-property name="locale" values="ru"/>
|
||||
|
||||
<source path='common'/>
|
||||
<source path='client'/>
|
||||
<source path='controls'/>
|
||||
<source path='adminconsole'/>
|
||||
<source path='usermanagement'/>
|
||||
<source path='masterdataimport'/>
|
||||
<source path='components'/>
|
||||
<source path='leaderboard'/>
|
||||
<source path='regattaoverview'/>
|
||||
<source path='shared'/>
|
||||
<source path='test'/>
|
||||
<source path='actions'/>
|
||||
<source path='simulator'/>
|
||||
|
||||
<inherits name="com.sap.sse.gwt.theme.SSEThemeLibrary"/>
|
||||
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceClient'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceActions'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceShared'/>
|
||||
<inherits name="com.sap.sailing.gwt.ui.SourceLeaderboard"/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceCommon'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceSimulator'/>
|
||||
|
||||
<!-- <inherits name='com.sap.sailing.gwt.ui.SourceControl'/> -->
|
||||
<!-- <inherits name='com.sap.sailing.gwt.ui.SourceComponents'/> -->
|
||||
<!-- <inherits name='com.sap.sailing.gwt.ui.SourceLeaderboard'/> -->
|
||||
<!-- <inherits name='com.sap.sailing.gwt.ui.SourceRaceboard'/> -->
|
||||
|
||||
|
||||
|
||||
<!-- TODO -->
|
||||
<!-- <source path='test'/> -->
|
||||
<!-- <source path='actions'/> -->
|
||||
<!-- <source path='simulator'/> -->
|
||||
</module>
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
|
||||
public class EventDTOLoadedEvent extends GwtEvent<EventDTOLoadedEvent.Handler> {
|
||||
|
||||
public static final Type<Handler> TYPE = new Type<EventDTOLoadedEvent.Handler>();
|
||||
|
||||
public interface Handler extends EventHandler {
|
||||
void onEventDTOLoaded(EventDTOLoadedEvent e);
|
||||
}
|
||||
|
||||
private final EventDTO currentEvent;
|
||||
|
||||
public EventDTOLoadedEvent(EventDTO currentEvent) {
|
||||
super();
|
||||
this.currentEvent = currentEvent;
|
||||
}
|
||||
|
||||
public EventDTO getCurrentEvent() {
|
||||
return currentEvent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<Handler> getAssociatedType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispatch(Handler handler) {
|
||||
handler.onEventDTOLoaded(this);
|
||||
}
|
||||
|
||||
}
|
||||
+44
@@ -0,0 +1,44 @@
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.event.shared.EventHandler;
|
||||
import com.google.gwt.event.shared.GwtEvent;
|
||||
import com.google.gwt.i18n.client.DateTimeFormat;
|
||||
|
||||
public class EventTimeUpdateEvent extends GwtEvent<EventTimeUpdateEvent.Handler> {
|
||||
|
||||
public static final Type<Handler> TYPE = new Type<EventTimeUpdateEvent.Handler>();
|
||||
private final DateTimeFormat timeFormatter = DateTimeFormat.getFormat("HH:mm:ss");
|
||||
|
||||
public interface Handler extends EventHandler {
|
||||
void onEventDTOLoaded(EventTimeUpdateEvent e);
|
||||
}
|
||||
|
||||
private final Date updatedTime;
|
||||
|
||||
public EventTimeUpdateEvent(Date updatedTime) {
|
||||
super();
|
||||
this.updatedTime = updatedTime;
|
||||
}
|
||||
|
||||
public Date getUpdatedTime() {
|
||||
return updatedTime;
|
||||
}
|
||||
|
||||
public String getFormattedUpdatedTime() {
|
||||
return timeFormatter.format(updatedTime);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type<Handler> getAssociatedType() {
|
||||
return TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void dispatch(Handler handler) {
|
||||
handler.onEventDTOLoaded(this);
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
+6
-4
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
@@ -42,6 +42,8 @@ public class RaceDetailPanel extends SimplePanel {
|
||||
private final NumberFormat decimalFormat = NumberFormat.getFormat("#.##");
|
||||
private final RaceStateFlagsInterpreter flagInterpreter;
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
private static RegattaOverviewResources.LocalCss style = RegattaOverviewResources.INSTANCE.css();
|
||||
|
||||
private final Button closeButton;
|
||||
private final Label headerLabel = new Label();
|
||||
@@ -75,10 +77,10 @@ public class RaceDetailPanel extends SimplePanel {
|
||||
}
|
||||
});
|
||||
|
||||
this.addStyleName("RaceDetailPanel");
|
||||
this.addStyleName(style.raceDetailPanel());
|
||||
|
||||
HorizontalPanel headerPanel = new HorizontalPanel();
|
||||
headerPanel.addStyleName("RaceDetailPanel-header");
|
||||
headerPanel.addStyleName(style.raceDetailPanel_header());
|
||||
headerPanel.setWidth("100%");
|
||||
headerPanel.add(headerLabel);
|
||||
headerPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
|
||||
@@ -113,7 +115,7 @@ public class RaceDetailPanel extends SimplePanel {
|
||||
resetProcedureGrid();
|
||||
|
||||
HorizontalPanel contentPanel = new HorizontalPanel();
|
||||
contentPanel.addStyleName("RaceDetailPanel-content");
|
||||
contentPanel.addStyleName(style.raceDetailPanel_content());
|
||||
contentPanel.add(basicsGrid);
|
||||
contentPanel.add(managementGrid);
|
||||
contentPanel.add(procedureGrid);
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.sap.sailing.domain.common.racelog.utils.RaceStateFlagsInterpretationTemplate;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
+180
@@ -0,0 +1,180 @@
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.titleLabel {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.eventDescription {
|
||||
vertical-align: top;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.repeatedInfoLabel {
|
||||
margin: 10px;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.eventLabel {
|
||||
color: #fff;
|
||||
vertical-align: top;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.venueLabel {
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
|
||||
.clockLabel {
|
||||
margin-left:30px;
|
||||
margin-right:10px;
|
||||
color: white;
|
||||
font-size: 20px;
|
||||
font-weight: 700;
|
||||
|
||||
}
|
||||
|
||||
.refreshStopTime {
|
||||
float:right;
|
||||
margin-left:10px;
|
||||
}
|
||||
|
||||
.functionBar {
|
||||
height: 80px;
|
||||
background-color: #fff;
|
||||
padding: 2px 2px 5px 0px;
|
||||
text-align: right;
|
||||
}
|
||||
.functionBarLeft {
|
||||
height: 80px;
|
||||
background-color: #fff;
|
||||
padding: 2px 2px 5px 0px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.contentWrapper {
|
||||
|
||||
}
|
||||
|
||||
.circle {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
float: left;
|
||||
margin: 2px 6px 0 0;
|
||||
}
|
||||
|
||||
.circleBlue {
|
||||
background: #008fcc;
|
||||
}
|
||||
|
||||
.circleYellow {
|
||||
background: #fbba00;
|
||||
}
|
||||
|
||||
.circleGreen {
|
||||
background: #8ab54e;
|
||||
}
|
||||
|
||||
.circleGrey {
|
||||
background: #ebebeb;
|
||||
}
|
||||
|
||||
.raceDetailPanel {
|
||||
background: #f2f2f2;
|
||||
border-top: 1px solid #dedede;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
.raceDetailPanel_header {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.raceDetailPanel_content td {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.leaderboards {
|
||||
padding-top: 20px;
|
||||
font-size: 16px;
|
||||
margin: 10px;
|
||||
width: calc(100% - 20px);
|
||||
}
|
||||
|
||||
.viewerToolbar_innerElement {
|
||||
font-size: 13px;
|
||||
display: inline-block;
|
||||
color: white;
|
||||
border: none;
|
||||
padding: 2px 8px 4px 8px;
|
||||
border-radius: 3px;
|
||||
height: 26px;
|
||||
line-height: 24px;
|
||||
background-color: #efaa00;
|
||||
-webkit-transition: background-color 0.2s;
|
||||
-moz-transition: background-color 0.2s;
|
||||
transition: background-color 0.2s;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.viewerToolbar_innerElement:active {
|
||||
}
|
||||
|
||||
.viewerToolbar_innerElement:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.viewerToolbar_innerElement label {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.button {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.buttonLeaderboard {
|
||||
height: 2.666666666666667em;
|
||||
background-color: #9f9f9f;
|
||||
}
|
||||
|
||||
.refreshButton, .refreshButton:ACTIVE {
|
||||
width: 2.666666666666667em;
|
||||
height: 2.666666666666667em;
|
||||
background-color: #9f9f9f;
|
||||
background-image: url("images/home/reload.png");
|
||||
background-size: 40%;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
}
|
||||
.refreshButton_live {
|
||||
background-color: #f0ab00;
|
||||
}
|
||||
.refreshButton_playing {
|
||||
background-color: #f0ab00;
|
||||
}
|
||||
|
||||
.settingsButton {
|
||||
width: 2.666666666666667em;
|
||||
height: 2.666666666666667em;
|
||||
|
||||
background-color: #9f9f9f;
|
||||
background-image: url("images/home/settings.png");
|
||||
background-size: 40%;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
}
|
||||
+188
-155
@@ -1,156 +1,189 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.DockLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Panel;
|
||||
import com.google.gwt.user.client.ui.RootLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.RootPanel;
|
||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.LogoAndTitlePanel;
|
||||
import com.sap.sailing.gwt.ui.regattaoverview.RegattaRaceStatesComponent.EntryHandler;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
|
||||
import com.sap.sse.gwt.client.URLEncoder;
|
||||
|
||||
public class RegattaOverviewEntryPoint extends AbstractSailingEntryPoint {
|
||||
|
||||
private final static String PARAM_EVENT = "event";
|
||||
private final static String PARAM_ONLY_RUNNING_RACES = "onlyrunningraces";
|
||||
private final static String PARAM_ONLY_RACES_OF_SAME_DAY = "onlyracesofsameday";
|
||||
private final static String PARAM_REGATTA = "regatta";
|
||||
private final static String PARAM_COURSE_AREA = "coursearea";
|
||||
|
||||
private DockLayoutPanel containerPanel;
|
||||
private RaceDetailPanel detailPanel;
|
||||
private RegattaOverviewPanel regattaPanel;
|
||||
|
||||
@Override
|
||||
public void doOnModuleLoad() {
|
||||
super.doOnModuleLoad();
|
||||
|
||||
RootLayoutPanel rootPanel = RootLayoutPanel.get();
|
||||
containerPanel = new DockLayoutPanel(Unit.PX);
|
||||
rootPanel.add(containerPanel);
|
||||
|
||||
boolean embedded = Window.Location.getParameter("embedded") != null
|
||||
&& Window.Location.getParameter("embedded").equalsIgnoreCase("true");
|
||||
if (!embedded) {
|
||||
LogoAndTitlePanel logoAndTitlePanel = new LogoAndTitlePanel(getStringMessages().eventOverview(), getStringMessages(), this, getUserService());
|
||||
logoAndTitlePanel.addStyleName("LogoAndTitlePanel");
|
||||
containerPanel.addNorth(logoAndTitlePanel, 68);
|
||||
} else {
|
||||
RootPanel.getBodyElement().getStyle().setPadding(0, Unit.PX);
|
||||
RootPanel.getBodyElement().getStyle().setPaddingTop(20, Unit.PX);
|
||||
}
|
||||
|
||||
String eventIdAsString = Window.Location.getParameter(PARAM_EVENT);
|
||||
if (eventIdAsString == null) {
|
||||
Window.alert("Missing parameter");
|
||||
return;
|
||||
}
|
||||
|
||||
createAndAddDetailPanel();
|
||||
createAndAddRegattaPanel(UUID.fromString(eventIdAsString));
|
||||
toggleDetailPanel(false);
|
||||
|
||||
regattaPanel.setEntryClickedHandler(new EntryHandler() {
|
||||
@Override
|
||||
public void onEntryClicked(RegattaOverviewEntryDTO entry) {
|
||||
detailPanel.show(entry);
|
||||
toggleDetailPanel(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntryUpdated(RegattaOverviewEntryDTO entry) {
|
||||
detailPanel.update(entry);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void toggleDetailPanel(boolean visibile) {
|
||||
containerPanel.setWidgetHidden(detailPanel, !visibile);
|
||||
}
|
||||
|
||||
private void createAndAddRegattaPanel(UUID eventId) {
|
||||
RegattaRaceStatesSettings settings = createRegattaRaceStatesSettingsFromURL();
|
||||
regattaPanel = new RegattaOverviewPanel(sailingService, this, getStringMessages(), eventId, settings, userAgent);
|
||||
Panel centerPanel = new FlowPanel();
|
||||
centerPanel.add(regattaPanel);
|
||||
ScrollPanel scrollPanel = new ScrollPanel(centerPanel);
|
||||
containerPanel.add(scrollPanel);
|
||||
}
|
||||
|
||||
private void createAndAddDetailPanel() {
|
||||
detailPanel = new RaceDetailPanel(getStringMessages(), new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
toggleDetailPanel(false);
|
||||
}
|
||||
});
|
||||
containerPanel.addSouth(detailPanel, 110);
|
||||
}
|
||||
|
||||
public static RegattaRaceStatesSettings createRegattaRaceStatesSettingsFromURL() {
|
||||
List<UUID> visibleCourseAreas = new ArrayList<UUID>();
|
||||
List<String> visibleRegattas = new ArrayList<String>();
|
||||
|
||||
boolean showOnlyCurrentlyRunningRaces = Window.Location.getParameter(PARAM_ONLY_RUNNING_RACES) == null
|
||||
|| !Window.Location.getParameter(PARAM_ONLY_RUNNING_RACES).equalsIgnoreCase("false");
|
||||
|
||||
boolean showOnlyRacesOfSameDay = Window.Location.getParameter(PARAM_ONLY_RACES_OF_SAME_DAY) != null
|
||||
&& Window.Location.getParameter(PARAM_ONLY_RACES_OF_SAME_DAY).equalsIgnoreCase("true");
|
||||
|
||||
if (Window.Location.getParameterMap().containsKey(PARAM_COURSE_AREA)) {
|
||||
for (String value : Window.Location.getParameterMap().get(PARAM_COURSE_AREA)) {
|
||||
visibleCourseAreas.add(UUID.fromString(value));
|
||||
}
|
||||
}
|
||||
|
||||
if (Window.Location.getParameterMap().containsKey(PARAM_REGATTA)) {
|
||||
visibleRegattas.addAll(Window.Location.getParameterMap().get(PARAM_REGATTA));
|
||||
}
|
||||
|
||||
return new RegattaRaceStatesSettings(visibleCourseAreas, visibleRegattas, showOnlyRacesOfSameDay, showOnlyCurrentlyRunningRaces);
|
||||
}
|
||||
|
||||
public static String getUrl(UUID eventId, RegattaRaceStatesSettings settings,
|
||||
boolean isSetVisibleCourseAreasInUrl, boolean isSetVisibleRegattasInUrl) {
|
||||
String debugParam = Window.Location.getParameter("gwt.codesvr");
|
||||
String showOnlyCurrentlyRunningRaces = "&" + PARAM_ONLY_RUNNING_RACES + "=" + (settings.isShowOnlyCurrentlyRunningRaces() ? "true" : "false");
|
||||
String showOnlyRacesOfSameDay = "&" + PARAM_ONLY_RACES_OF_SAME_DAY + "=" + (settings.isShowOnlyRacesOfSameDay() ? "true" : "false");
|
||||
|
||||
StringBuilder visibleCourseAreas = new StringBuilder();
|
||||
if (isSetVisibleCourseAreasInUrl) {
|
||||
for (UUID visibleCourseArea : settings.getVisibleCourseAreas()) {
|
||||
visibleCourseAreas.append('&');
|
||||
visibleCourseAreas.append(PARAM_COURSE_AREA);
|
||||
visibleCourseAreas.append('=');
|
||||
visibleCourseAreas.append(visibleCourseArea.toString());
|
||||
}
|
||||
}
|
||||
StringBuilder visibleRegattas = new StringBuilder();
|
||||
if (isSetVisibleRegattasInUrl) {
|
||||
for (String visibleRegatta : settings.getVisibleRegattas()) {
|
||||
visibleRegattas.append('&');
|
||||
visibleRegattas.append(PARAM_REGATTA);
|
||||
visibleRegattas.append('=');
|
||||
visibleRegattas.append(visibleRegatta);
|
||||
}
|
||||
}
|
||||
String link = URLEncoder.encode("/gwt/RegattaOverview.html?" + PARAM_EVENT+ "=" + eventId.toString()
|
||||
+ visibleCourseAreas.toString()
|
||||
+ visibleRegattas.toString()
|
||||
+ showOnlyCurrentlyRunningRaces
|
||||
+ showOnlyRacesOfSameDay
|
||||
+ (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : ""));
|
||||
return link;
|
||||
}
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.DockLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.Panel;
|
||||
import com.google.gwt.user.client.ui.RootLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||
import com.sap.sailing.gwt.regattaoverview.client.RegattaRaceStatesComponent.EntryHandler;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaOverviewEntryDTO;
|
||||
import com.sap.sse.gwt.client.URLEncoder;
|
||||
import com.sap.sse.gwt.theme.client.component.sapheader2.SAPHeader2;
|
||||
import com.sap.sse.gwt.theme.client.resources.ThemeResources;
|
||||
|
||||
public class RegattaOverviewEntryPoint extends AbstractSailingEntryPoint {
|
||||
|
||||
private final static String PARAM_EVENT = "event";
|
||||
private final static String PARAM_ONLY_RUNNING_RACES = "onlyrunningraces";
|
||||
private final static String PARAM_ONLY_RACES_OF_SAME_DAY = "onlyracesofsameday";
|
||||
private final static String PARAM_REGATTA = "regatta";
|
||||
private final static String PARAM_COURSE_AREA = "coursearea";
|
||||
|
||||
private DockLayoutPanel containerPanel;
|
||||
private RaceDetailPanel detailPanel;
|
||||
private RegattaOverviewPanel regattaPanel;
|
||||
private SAPHeader2 logoAndTitlePanel;
|
||||
private final Label eventNameLabel = new Label();
|
||||
private final Label venueNameLabel = new Label();
|
||||
private final Label clockLabel = new Label();
|
||||
|
||||
private final RegattaOverviewResources.LocalCss style = RegattaOverviewResources.INSTANCE.css();
|
||||
|
||||
@Override
|
||||
public void doOnModuleLoad() {
|
||||
super.doOnModuleLoad();
|
||||
|
||||
ThemeResources.INSTANCE.mediaCss().ensureInjected();
|
||||
ThemeResources.INSTANCE.mainCss().ensureInjected();
|
||||
RegattaOverviewResources.INSTANCE.css().ensureInjected();
|
||||
|
||||
RootLayoutPanel rootPanel = RootLayoutPanel.get();
|
||||
containerPanel = new DockLayoutPanel(Unit.PX);
|
||||
rootPanel.add(containerPanel);
|
||||
containerPanel.addStyleName(RegattaOverviewResources.INSTANCE.css().container());
|
||||
|
||||
FlowPanel descriptionUi = new FlowPanel();
|
||||
descriptionUi.setStyleName(style.eventDescription());
|
||||
eventNameLabel.addStyleName(style.eventLabel());
|
||||
venueNameLabel.addStyleName(style.venueLabel());
|
||||
clockLabel.addStyleName(style.clockLabel());
|
||||
descriptionUi.add(eventNameLabel);
|
||||
descriptionUi.add(venueNameLabel);
|
||||
|
||||
SAPHeader2 logoAndTitlePanel = new SAPHeader2(getStringMessages().sapSailingAnalytics(), descriptionUi, false);
|
||||
|
||||
logoAndTitlePanel.addWidgetToRightSide(clockLabel);
|
||||
containerPanel.addNorth(logoAndTitlePanel, 75);
|
||||
|
||||
String eventIdAsString = Window.Location.getParameter(PARAM_EVENT);
|
||||
if (eventIdAsString == null) {
|
||||
Window.alert("Missing parameter");
|
||||
return;
|
||||
}
|
||||
|
||||
createAndAddDetailPanel();
|
||||
createAndAddRegattaPanel(UUID.fromString(eventIdAsString));
|
||||
toggleDetailPanel(false);
|
||||
|
||||
regattaPanel.setEntryClickedHandler(new EntryHandler() {
|
||||
@Override
|
||||
public void onEntryClicked(RegattaOverviewEntryDTO entry) {
|
||||
detailPanel.show(entry);
|
||||
toggleDetailPanel(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEntryUpdated(RegattaOverviewEntryDTO entry) {
|
||||
detailPanel.update(entry);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void toggleDetailPanel(boolean visibile) {
|
||||
containerPanel.setWidgetSize(detailPanel, visibile ? 110 : 0);
|
||||
containerPanel.animate(500);
|
||||
// containerPanel.setWidgetHidden(detailPanel, !visibile);
|
||||
}
|
||||
|
||||
private void createAndAddRegattaPanel(UUID eventId) {
|
||||
RegattaRaceStatesSettings settings = createRegattaRaceStatesSettingsFromURL();
|
||||
regattaPanel = new RegattaOverviewPanel(sailingService, this, getStringMessages(), eventId, settings, userAgent);
|
||||
|
||||
regattaPanel.addHandler(new EventDTOLoadedEvent.Handler() {
|
||||
@Override
|
||||
public void onEventDTOLoaded(EventDTOLoadedEvent e) {
|
||||
eventNameLabel.setText(e.getCurrentEvent().getName());
|
||||
venueNameLabel.setText(e.getCurrentEvent().venue.getName());
|
||||
|
||||
}
|
||||
}, EventDTOLoadedEvent.TYPE);
|
||||
|
||||
regattaPanel.addHandler(new EventTimeUpdateEvent.Handler() {
|
||||
@Override
|
||||
public void onEventDTOLoaded(EventTimeUpdateEvent e) {
|
||||
clockLabel.setText(e.getFormattedUpdatedTime());
|
||||
}
|
||||
}, EventTimeUpdateEvent.TYPE);
|
||||
|
||||
Panel centerPanel = new FlowPanel();
|
||||
centerPanel.add(regattaPanel);
|
||||
ScrollPanel scrollPanel = new ScrollPanel(centerPanel);
|
||||
containerPanel.add(scrollPanel);
|
||||
}
|
||||
|
||||
private void createAndAddDetailPanel() {
|
||||
detailPanel = new RaceDetailPanel(getStringMessages(), new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
toggleDetailPanel(false);
|
||||
}
|
||||
});
|
||||
containerPanel.addSouth(detailPanel, 110);
|
||||
}
|
||||
|
||||
public static RegattaRaceStatesSettings createRegattaRaceStatesSettingsFromURL() {
|
||||
List<UUID> visibleCourseAreas = new ArrayList<UUID>();
|
||||
List<String> visibleRegattas = new ArrayList<String>();
|
||||
|
||||
boolean showOnlyCurrentlyRunningRaces = Window.Location.getParameter(PARAM_ONLY_RUNNING_RACES) == null
|
||||
|| !Window.Location.getParameter(PARAM_ONLY_RUNNING_RACES).equalsIgnoreCase("false");
|
||||
|
||||
boolean showOnlyRacesOfSameDay = Window.Location.getParameter(PARAM_ONLY_RACES_OF_SAME_DAY) != null
|
||||
&& Window.Location.getParameter(PARAM_ONLY_RACES_OF_SAME_DAY).equalsIgnoreCase("true");
|
||||
|
||||
if (Window.Location.getParameterMap().containsKey(PARAM_COURSE_AREA)) {
|
||||
for (String value : Window.Location.getParameterMap().get(PARAM_COURSE_AREA)) {
|
||||
visibleCourseAreas.add(UUID.fromString(value));
|
||||
}
|
||||
}
|
||||
|
||||
if (Window.Location.getParameterMap().containsKey(PARAM_REGATTA)) {
|
||||
visibleRegattas.addAll(Window.Location.getParameterMap().get(PARAM_REGATTA));
|
||||
}
|
||||
|
||||
return new RegattaRaceStatesSettings(visibleCourseAreas, visibleRegattas, showOnlyRacesOfSameDay, showOnlyCurrentlyRunningRaces);
|
||||
}
|
||||
|
||||
public static String getUrl(UUID eventId, RegattaRaceStatesSettings settings,
|
||||
boolean isSetVisibleCourseAreasInUrl, boolean isSetVisibleRegattasInUrl) {
|
||||
String debugParam = Window.Location.getParameter("gwt.codesvr");
|
||||
String showOnlyCurrentlyRunningRaces = "&" + PARAM_ONLY_RUNNING_RACES + "=" + (settings.isShowOnlyCurrentlyRunningRaces() ? "true" : "false");
|
||||
String showOnlyRacesOfSameDay = "&" + PARAM_ONLY_RACES_OF_SAME_DAY + "=" + (settings.isShowOnlyRacesOfSameDay() ? "true" : "false");
|
||||
|
||||
StringBuilder visibleCourseAreas = new StringBuilder();
|
||||
if (isSetVisibleCourseAreasInUrl) {
|
||||
for (UUID visibleCourseArea : settings.getVisibleCourseAreas()) {
|
||||
visibleCourseAreas.append('&');
|
||||
visibleCourseAreas.append(PARAM_COURSE_AREA);
|
||||
visibleCourseAreas.append('=');
|
||||
visibleCourseAreas.append(visibleCourseArea.toString());
|
||||
}
|
||||
}
|
||||
StringBuilder visibleRegattas = new StringBuilder();
|
||||
if (isSetVisibleRegattasInUrl) {
|
||||
for (String visibleRegatta : settings.getVisibleRegattas()) {
|
||||
visibleRegattas.append('&');
|
||||
visibleRegattas.append(PARAM_REGATTA);
|
||||
visibleRegattas.append('=');
|
||||
visibleRegattas.append(visibleRegatta);
|
||||
}
|
||||
}
|
||||
String link = URLEncoder.encode("/gwt/RegattaOverview.html?" + PARAM_EVENT+ "=" + eventId.toString()
|
||||
+ visibleCourseAreas.toString()
|
||||
+ visibleRegattas.toString()
|
||||
+ showOnlyCurrentlyRunningRaces
|
||||
+ showOnlyRacesOfSameDay
|
||||
+ (debugParam != null && !debugParam.isEmpty() ? "&gwt.codesvr=" + debugParam : ""));
|
||||
return link;
|
||||
}
|
||||
}
|
||||
+350
-374
@@ -1,374 +1,350 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.dom.client.Style;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||
import com.google.gwt.i18n.client.DateTimeFormat;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.HasVerticalAlignment;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.TabPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsFactory;
|
||||
import com.sap.sailing.gwt.ui.regattaoverview.RegattaRaceStatesComponent.EntryHandler;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceGroupDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
import com.sap.sse.gwt.client.player.TimeListener;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayModes;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayStates;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
|
||||
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
|
||||
|
||||
public class RegattaOverviewPanel extends SimplePanel {
|
||||
private final static String STYLE_VIEWER_TOOLBAR_INNERELEMENT = "viewerToolbar-innerElement";
|
||||
|
||||
private final long serverUpdateRateInMs = 10000;
|
||||
private final long uiUpdateRateInMs = 450;
|
||||
|
||||
private final Timer serverUpdateTimer;
|
||||
private final Timer uiUpdateTimer;
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
protected final StringMessages stringMessages;
|
||||
protected final ErrorReporter errorReporter;
|
||||
|
||||
private final UUID eventId;
|
||||
private EventDTO eventDTO;
|
||||
private List<RaceGroupDTO> raceGroupDTOs;
|
||||
private List<EventAndRaceGroupAvailabilityListener> eventRaceGroupListeners;
|
||||
private boolean showLeaderboard = false;
|
||||
|
||||
private RegattaRaceStatesComponent regattaRaceStatesComponent;
|
||||
|
||||
private final TabPanel leaderboardsTabPanel;
|
||||
private final Label eventNameLabel;
|
||||
private final Label venueNameLabel;
|
||||
private final Label timeLabel;
|
||||
private final Button settingsButton;
|
||||
private final Button refreshNowButton;
|
||||
private final Button startStopUpdatingButton;
|
||||
private final CheckBox leaderboardCheckBox;
|
||||
private final UserAgentDetails userAgent;
|
||||
|
||||
private final DateTimeFormat timeFormatter = DateTimeFormat.getFormat("HH:mm:ss");
|
||||
|
||||
private static final String STYLE_NAME_PREFIX = "RegattaOverview-";
|
||||
private static final String STYLE_REFRESH_STOP_TIME = STYLE_NAME_PREFIX + "RefreshStopTime";
|
||||
private static final String STYLE_FUNCTION_BAR = STYLE_NAME_PREFIX + "functionBar";
|
||||
private static final String STYLE_CONTENT_WRAPPER = STYLE_NAME_PREFIX + "contentWrapper";
|
||||
private static final String STYLE_TITLE_LABEL = STYLE_NAME_PREFIX + "TitleLabel";
|
||||
private static final String STYLE_EVENT_LABEL = STYLE_NAME_PREFIX + "EventLabel";
|
||||
private static final String STYLE_VENUE_LABEL = STYLE_NAME_PREFIX + "VenueLabel";
|
||||
private static final String STYLE_CLOCK_LABEL = STYLE_NAME_PREFIX + "ClockLabel";
|
||||
|
||||
public void setEntryClickedHandler(EntryHandler handler) {
|
||||
regattaRaceStatesComponent.setEntryClickedHandler(handler);
|
||||
}
|
||||
|
||||
public RegattaOverviewPanel(SailingServiceAsync sailingService, final ErrorReporter errorReporter, final StringMessages stringMessages,
|
||||
UUID eventId, RegattaRaceStatesSettings settings, UserAgentDetails userAgent) {
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.eventId = eventId;
|
||||
this.serverUpdateTimer = new Timer(PlayModes.Live, serverUpdateRateInMs);
|
||||
this.uiUpdateTimer = new Timer(PlayModes.Live, uiUpdateRateInMs);
|
||||
this.eventDTO = null;
|
||||
this.userAgent = userAgent;
|
||||
this.raceGroupDTOs = new ArrayList<RaceGroupDTO>();
|
||||
this.eventRaceGroupListeners = new ArrayList<EventAndRaceGroupAvailabilityListener>();
|
||||
|
||||
retrieveEvent();
|
||||
retrieveRegattaStructure();
|
||||
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
setWidget(mainPanel);
|
||||
mainPanel.setWidth("100%");
|
||||
mainPanel.addStyleName(STYLE_CONTENT_WRAPPER);
|
||||
|
||||
regattaRaceStatesComponent = new RegattaRaceStatesComponent(sailingService, errorReporter, stringMessages, eventId, settings, uiUpdateTimer);
|
||||
this.eventRaceGroupListeners.add(regattaRaceStatesComponent);
|
||||
regattaRaceStatesComponent.setWidth("100%");
|
||||
|
||||
refreshNowButton = new Button(stringMessages.refreshNow());
|
||||
refreshNowButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
regattaRaceStatesComponent.loadAndUpdateEventLog();
|
||||
}
|
||||
|
||||
});
|
||||
settingsButton = new Button(stringMessages.settings());
|
||||
settingsButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
new SettingsDialog<RegattaRaceStatesSettings>(regattaRaceStatesComponent, stringMessages).show();
|
||||
}
|
||||
});
|
||||
|
||||
startStopUpdatingButton = new Button(stringMessages.stopUpdating());
|
||||
startStopUpdatingButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (serverUpdateTimer.getPlayState().equals(PlayStates.Playing)) {
|
||||
serverUpdateTimer.pause();
|
||||
startStopUpdatingButton.setText(stringMessages.startUpdating());
|
||||
} else if (serverUpdateTimer.getPlayState().equals(PlayStates.Paused)) {
|
||||
serverUpdateTimer.play();
|
||||
startStopUpdatingButton.setText(stringMessages.stopUpdating());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
this.refreshNowButton.getElement().getStyle().setMarginLeft(20.0, Unit.PX);
|
||||
this.startStopUpdatingButton.getElement().getStyle().setMarginLeft(20.0, Unit.PX);
|
||||
this.serverUpdateTimer.addTimeListener(new TimeListener() {
|
||||
@Override
|
||||
public void timeChanged(Date newTime, Date oldTime) {
|
||||
regattaRaceStatesComponent.onUpdateServer();
|
||||
}
|
||||
});
|
||||
this.serverUpdateTimer.play();
|
||||
this.uiUpdateTimer.addTimeListener(new TimeListener() {
|
||||
@Override
|
||||
public void timeChanged(Date newTime, Date oldTime) {
|
||||
onUpdateUI(newTime);
|
||||
}
|
||||
});
|
||||
this.uiUpdateTimer.play();
|
||||
|
||||
eventNameLabel = new Label();
|
||||
eventNameLabel.addStyleName(STYLE_EVENT_LABEL);
|
||||
eventNameLabel.addStyleName(STYLE_TITLE_LABEL);
|
||||
|
||||
venueNameLabel = new Label();
|
||||
venueNameLabel.addStyleName(STYLE_TITLE_LABEL);
|
||||
venueNameLabel.addStyleName(STYLE_VENUE_LABEL);
|
||||
|
||||
timeLabel = new Label();
|
||||
timeLabel.addStyleName(STYLE_TITLE_LABEL);
|
||||
timeLabel.addStyleName(STYLE_CLOCK_LABEL);
|
||||
|
||||
FlexTable flexTable = new FlexTable();
|
||||
flexTable.setWidth("100%");
|
||||
flexTable.addStyleName(STYLE_FUNCTION_BAR);
|
||||
|
||||
Grid eventVenueGrid = new Grid(1, 2);
|
||||
eventVenueGrid.setCellPadding(5);
|
||||
eventVenueGrid.setWidget(0, 0, eventNameLabel);
|
||||
eventVenueGrid.setWidget(0, 1, venueNameLabel);
|
||||
|
||||
flexTable.setWidget(0, 0, eventVenueGrid);
|
||||
flexTable.getCellFormatter().setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE);
|
||||
|
||||
final boolean showLeaderboardButton = Window.Location.getParameter("enableLeaderboard") != null
|
||||
&& Window.Location.getParameter("enableLeaderboard").equalsIgnoreCase("true");
|
||||
if (showLeaderboardButton) {
|
||||
leaderboardCheckBox = addLeaderboardEnablerButton();
|
||||
leaderboardCheckBox.getElement().getStyle().setMarginLeft(20.0, Unit.PX);
|
||||
} else {
|
||||
leaderboardCheckBox = null;
|
||||
}
|
||||
|
||||
HorizontalPanel refreshStartStopClockPanel = getRefreshStartStopClockPanel();
|
||||
flexTable.setWidget(0, 1, refreshStartStopClockPanel);
|
||||
|
||||
mainPanel.add(flexTable);
|
||||
mainPanel.add(regattaRaceStatesComponent);
|
||||
|
||||
if (showLeaderboardButton) {
|
||||
leaderboardsTabPanel = new TabPanel();
|
||||
leaderboardsTabPanel.setStyleName("RegattaOverview-Leaderboards");
|
||||
leaderboardsTabPanel.setVisible(false);
|
||||
mainPanel.add(leaderboardsTabPanel);
|
||||
} else {
|
||||
leaderboardsTabPanel = null;
|
||||
}
|
||||
|
||||
onUpdateUI(uiUpdateTimer.getLiveTimePointAsDate());
|
||||
}
|
||||
|
||||
private CheckBox addLeaderboardEnablerButton() {
|
||||
final CheckBox checkBox = new CheckBox(stringMessages.leaderboard());
|
||||
|
||||
checkBox.getElement().getStyle().setFloat(Style.Float.LEFT);
|
||||
|
||||
checkBox.setEnabled(true);
|
||||
checkBox.setValue(false);
|
||||
checkBox.setTitle(stringMessages.showHideComponent("Leaderboard"));
|
||||
checkBox.addStyleName(STYLE_VIEWER_TOOLBAR_INNERELEMENT);
|
||||
|
||||
checkBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
|
||||
@Override
|
||||
public void onValueChange(ValueChangeEvent<Boolean> newValue) {
|
||||
boolean visible = checkBox.getValue();
|
||||
showLeaderboard = visible;
|
||||
loadLeaderboard();
|
||||
}
|
||||
});
|
||||
|
||||
return checkBox;
|
||||
}
|
||||
|
||||
private void loadLeaderboard() {
|
||||
/*
|
||||
* Load a tabbed widget with one tab per regatta. Each tab contains the leaderboard for the regatta.
|
||||
*/
|
||||
if (leaderboardsTabPanel != null) {
|
||||
if (showLeaderboard) {
|
||||
final CompetitorSelectionModel competitorSelectionProvider = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
||||
final LeaderboardSettings leaderboardSettings = LeaderboardSettingsFactory.getInstance().createNewDefaultSettings(null, null, null, /* autoExpandFirstRace */ false, /* showRegattaRank */ true);
|
||||
sailingService.getLeaderboardsByEvent(eventDTO, new MarkedAsyncCallback<List<StrippedLeaderboardDTO>>(
|
||||
new AsyncCallback<List<StrippedLeaderboardDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<StrippedLeaderboardDTO> result) {
|
||||
leaderboardsTabPanel.clear();
|
||||
for (StrippedLeaderboardDTO leaderboard : result) {
|
||||
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService,
|
||||
new AsyncActionsExecutor(), leaderboardSettings, false,
|
||||
/*preSelectedRace*/null,
|
||||
competitorSelectionProvider,
|
||||
null, leaderboard.name,
|
||||
errorReporter, stringMessages, userAgent, /*showRaceDetails*/false);
|
||||
leaderboardsTabPanel.add(leaderboardPanel, leaderboard.getDisplayName() + " " + stringMessages.leaderboard());
|
||||
}
|
||||
if (!result.isEmpty()) {
|
||||
leaderboardsTabPanel.setVisible(true);
|
||||
leaderboardsTabPanel.selectTab(0);
|
||||
} else {
|
||||
leaderboardCheckBox.setValue(false);
|
||||
errorReporter.reportError("Error trying to load leaderboard. Either the event could not be associated to Regatta or there are no tracked races.");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
leaderboardsTabPanel.clear();
|
||||
leaderboardsTabPanel.setVisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private HorizontalPanel getRefreshStartStopClockPanel() {
|
||||
HorizontalPanel refreshStartStopClockPanel = new HorizontalPanel();
|
||||
refreshStartStopClockPanel.setSpacing(5);
|
||||
refreshStartStopClockPanel.setStyleName(STYLE_REFRESH_STOP_TIME);
|
||||
refreshStartStopClockPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
|
||||
|
||||
if (leaderboardCheckBox != null) {
|
||||
refreshStartStopClockPanel.add(leaderboardCheckBox);
|
||||
}
|
||||
refreshStartStopClockPanel.add(settingsButton);
|
||||
refreshStartStopClockPanel.add(refreshNowButton);
|
||||
refreshStartStopClockPanel.add(startStopUpdatingButton);
|
||||
refreshStartStopClockPanel.add(timeLabel);
|
||||
return refreshStartStopClockPanel;
|
||||
}
|
||||
|
||||
public void onUpdateUI(Date time) {
|
||||
timeLabel.setText(timeFormatter.format(time));
|
||||
}
|
||||
|
||||
private void retrieveEvent() {
|
||||
sailingService.getEventById(eventId, false, new MarkedAsyncCallback<EventDTO>(
|
||||
new AsyncCallback<EventDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable cause) {
|
||||
settingsButton.setEnabled(false);
|
||||
errorReporter.reportError("Error trying to load event with id " + eventId + " : "
|
||||
+ cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(EventDTO result) {
|
||||
if (result != null) {
|
||||
setEvent(result);
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void fillEventAndVenueName() {
|
||||
eventNameLabel.setText(eventDTO.getName());
|
||||
venueNameLabel.setText(eventDTO.venue.getName());
|
||||
}
|
||||
|
||||
protected void setEvent(EventDTO event) {
|
||||
eventDTO = event;
|
||||
onEventUpdated();
|
||||
}
|
||||
|
||||
private void onEventUpdated() {
|
||||
fillEventAndVenueName();
|
||||
for (EventAndRaceGroupAvailabilityListener listener : this.eventRaceGroupListeners) {
|
||||
listener.onEventUpdated(eventDTO);
|
||||
}
|
||||
checkToEnableSettingsButton();
|
||||
}
|
||||
|
||||
private void retrieveRegattaStructure() {
|
||||
sailingService.getRegattaStructureForEvent(eventId, new MarkedAsyncCallback<List<RaceGroupDTO>>(
|
||||
new AsyncCallback<List<RaceGroupDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable cause) {
|
||||
errorReporter.reportError("Error trying to load regattas for event with id " + eventId + " : "
|
||||
+ cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<RaceGroupDTO> result) {
|
||||
if (result != null) {
|
||||
setRaceGroups(result);
|
||||
}
|
||||
}
|
||||
|
||||
}));
|
||||
}
|
||||
|
||||
protected void setRaceGroups(List<RaceGroupDTO> result) {
|
||||
raceGroupDTOs.clear();
|
||||
raceGroupDTOs.addAll(result);
|
||||
onRaceGroupsUpdated();
|
||||
}
|
||||
|
||||
private void onRaceGroupsUpdated() {
|
||||
for (EventAndRaceGroupAvailabilityListener listener : this.eventRaceGroupListeners) {
|
||||
listener.onRaceGroupsUpdated(raceGroupDTOs);
|
||||
}
|
||||
checkToEnableSettingsButton();
|
||||
}
|
||||
|
||||
private void checkToEnableSettingsButton() {
|
||||
if (eventDTO != null && raceGroupDTOs.size() > 0) {
|
||||
settingsButton.setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.CheckBox;
|
||||
import com.google.gwt.user.client.ui.FlexTable;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.TabPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.regattaoverview.client.RegattaRaceStatesComponent.EntryHandler;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettingsFactory;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceGroupDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
import com.sap.sse.gwt.client.player.TimeListener;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayModes;
|
||||
import com.sap.sse.gwt.client.player.Timer.PlayStates;
|
||||
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
|
||||
import com.sap.sse.gwt.client.useragent.UserAgentDetails;
|
||||
import com.sap.sse.gwt.theme.client.resources.ThemeResources;
|
||||
|
||||
public class RegattaOverviewPanel extends SimplePanel {
|
||||
|
||||
private final long serverUpdateRateInMs = 10000;
|
||||
private final long uiUpdateRateInMs = 450;
|
||||
|
||||
private final Timer serverUpdateTimer;
|
||||
private final Timer uiUpdateTimer;
|
||||
|
||||
private final SailingServiceAsync sailingService;
|
||||
protected final StringMessages stringMessages;
|
||||
protected final ErrorReporter errorReporter;
|
||||
|
||||
private final UUID eventId;
|
||||
private EventDTO eventDTO;
|
||||
private List<RaceGroupDTO> raceGroupDTOs;
|
||||
private List<EventAndRaceGroupAvailabilityListener> eventRaceGroupListeners;
|
||||
private boolean showLeaderboard = false;
|
||||
|
||||
private RegattaRaceStatesComponent regattaRaceStatesComponent;
|
||||
|
||||
private final TabPanel leaderboardsTabPanel;
|
||||
private final Anchor settingsButton;
|
||||
private final Anchor refreshNowButton;
|
||||
private final Anchor startStopUpdatingButton;
|
||||
private final CheckBox leaderboardCheckBox;
|
||||
private final UserAgentDetails userAgent;
|
||||
private final Label repeatedInfoLabel = new Label();
|
||||
|
||||
private final RegattaOverviewResources.LocalCss style = RegattaOverviewResources.INSTANCE.css();
|
||||
private final ThemeResources RES = ThemeResources.INSTANCE;
|
||||
|
||||
public void setEntryClickedHandler(EntryHandler handler) {
|
||||
regattaRaceStatesComponent.setEntryClickedHandler(handler);
|
||||
}
|
||||
|
||||
public RegattaOverviewPanel(
|
||||
SailingServiceAsync sailingService,
|
||||
final ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages,
|
||||
UUID eventId,
|
||||
RegattaRaceStatesSettings settings,
|
||||
UserAgentDetails userAgent) {
|
||||
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.eventId = eventId;
|
||||
this.serverUpdateTimer = new Timer(PlayModes.Live, serverUpdateRateInMs);
|
||||
this.uiUpdateTimer = new Timer(PlayModes.Live, uiUpdateRateInMs);
|
||||
this.eventDTO = null;
|
||||
this.userAgent = userAgent;
|
||||
this.raceGroupDTOs = new ArrayList<RaceGroupDTO>();
|
||||
this.eventRaceGroupListeners = new ArrayList<EventAndRaceGroupAvailabilityListener>();
|
||||
|
||||
retrieveEvent();
|
||||
retrieveRegattaStructure();
|
||||
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
setWidget(mainPanel);
|
||||
mainPanel.setWidth("100%");
|
||||
mainPanel.addStyleName(style.contentWrapper());
|
||||
|
||||
regattaRaceStatesComponent = new RegattaRaceStatesComponent(sailingService, errorReporter, stringMessages, eventId, settings, uiUpdateTimer);
|
||||
this.eventRaceGroupListeners.add(regattaRaceStatesComponent);
|
||||
regattaRaceStatesComponent.setWidth("100%");
|
||||
|
||||
refreshNowButton = new Anchor(stringMessages.refreshNow());
|
||||
refreshNowButton.setStyleName(RES.mainCss().button());
|
||||
refreshNowButton.addStyleName(style.button());
|
||||
|
||||
refreshNowButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
regattaRaceStatesComponent.loadAndUpdateEventLog();
|
||||
}
|
||||
|
||||
});
|
||||
settingsButton = new Anchor(" ", true);
|
||||
settingsButton.setStyleName(style.settingsButton());
|
||||
settingsButton.addStyleName(RES.mainCss().button());
|
||||
settingsButton.addStyleName(style.button());
|
||||
|
||||
settingsButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
new SettingsDialog<RegattaRaceStatesSettings>(regattaRaceStatesComponent, stringMessages).show();
|
||||
}
|
||||
});
|
||||
|
||||
startStopUpdatingButton = new Anchor(" ", true);
|
||||
startStopUpdatingButton.setStyleName(RES.mainCss().button());
|
||||
startStopUpdatingButton.addStyleName(style.refreshButton());
|
||||
startStopUpdatingButton.addStyleName(style.button());
|
||||
startStopUpdatingButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (serverUpdateTimer.getPlayState().equals(PlayStates.Playing)) {
|
||||
serverUpdateTimer.pause();
|
||||
startStopUpdatingButton.removeStyleName(style.refreshButton_live());
|
||||
} else if (serverUpdateTimer.getPlayState().equals(PlayStates.Paused)) {
|
||||
serverUpdateTimer.play();
|
||||
startStopUpdatingButton.addStyleName(style.refreshButton_live());
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
this.serverUpdateTimer.addTimeListener(new TimeListener() {
|
||||
@Override
|
||||
public void timeChanged(Date newTime, Date oldTime) {
|
||||
regattaRaceStatesComponent.onUpdateServer();
|
||||
}
|
||||
});
|
||||
this.serverUpdateTimer.play();
|
||||
startStopUpdatingButton.addStyleName(style.refreshButton_live());
|
||||
|
||||
this.uiUpdateTimer.addTimeListener(new TimeListener() {
|
||||
@Override
|
||||
public void timeChanged(Date newTime, Date oldTime) {
|
||||
fireEvent(new EventTimeUpdateEvent(newTime));
|
||||
}
|
||||
});
|
||||
this.uiUpdateTimer.play();
|
||||
|
||||
|
||||
|
||||
final boolean showLeaderboardButton = Window.Location.getParameter("enableLeaderboard") != null
|
||||
&& Window.Location.getParameter("enableLeaderboard").equalsIgnoreCase("true");
|
||||
if (showLeaderboardButton) {
|
||||
leaderboardCheckBox = addLeaderboardEnablerButton();
|
||||
} else {
|
||||
leaderboardCheckBox = null;
|
||||
}
|
||||
FlowPanel flowPanelLeft = new FlowPanel();
|
||||
flowPanelLeft.addStyleName(style.functionBarLeft());
|
||||
flowPanelLeft.add(repeatedInfoLabel);
|
||||
repeatedInfoLabel.setStyleName(style.repeatedInfoLabel());
|
||||
regattaRaceStatesComponent.setRepeatedInfoLabel(repeatedInfoLabel);
|
||||
|
||||
FlowPanel flowPanelRight = new FlowPanel();
|
||||
flowPanelRight.addStyleName(style.functionBar());
|
||||
|
||||
if (leaderboardCheckBox != null) {
|
||||
flowPanelRight.add(leaderboardCheckBox);
|
||||
}
|
||||
// flexTable.add(refreshNowButton);
|
||||
flowPanelRight.add(startStopUpdatingButton);
|
||||
flowPanelRight.add(settingsButton);
|
||||
|
||||
FlexTable leftRightToolbar = new FlexTable();
|
||||
leftRightToolbar.setWidget(0, 1, flowPanelRight);
|
||||
leftRightToolbar.setWidget(0, 0, flowPanelLeft);
|
||||
|
||||
leftRightToolbar.getElement().getStyle().setWidth(100, Unit.PCT);
|
||||
mainPanel.add(leftRightToolbar);
|
||||
mainPanel.add(regattaRaceStatesComponent);
|
||||
|
||||
if (showLeaderboardButton) {
|
||||
leaderboardsTabPanel = new TabPanel();
|
||||
leaderboardsTabPanel.setStyleName(style.leaderboards());
|
||||
leaderboardsTabPanel.setVisible(false);
|
||||
mainPanel.add(leaderboardsTabPanel);
|
||||
} else {
|
||||
leaderboardsTabPanel = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private CheckBox addLeaderboardEnablerButton() {
|
||||
final CheckBox checkBox = new CheckBox(stringMessages.leaderboard());
|
||||
|
||||
checkBox.setEnabled(true);
|
||||
checkBox.setValue(false);
|
||||
checkBox.setTitle(stringMessages.showHideComponent("Leaderboard"));
|
||||
// checkBox.getElement().getStyle().setMarginRight(10, Unit.PX);
|
||||
checkBox.setStyleName(RES.mainCss().button());
|
||||
checkBox.addStyleName(style.button());
|
||||
checkBox.addStyleName(style.buttonLeaderboard());
|
||||
checkBox.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
|
||||
@Override
|
||||
public void onValueChange(ValueChangeEvent<Boolean> newValue) {
|
||||
boolean visible = checkBox.getValue();
|
||||
showLeaderboard = visible;
|
||||
loadLeaderboard();
|
||||
}
|
||||
});
|
||||
|
||||
return checkBox;
|
||||
}
|
||||
|
||||
private void loadLeaderboard() {
|
||||
/*
|
||||
* Load a tabbed widget with one tab per regatta. Each tab contains the leaderboard for the regatta.
|
||||
*/
|
||||
if (leaderboardsTabPanel != null) {
|
||||
if (showLeaderboard) {
|
||||
final CompetitorSelectionModel competitorSelectionProvider = new CompetitorSelectionModel(/* hasMultiSelection */ true);
|
||||
final LeaderboardSettings leaderboardSettings = LeaderboardSettingsFactory.getInstance().createNewDefaultSettings(null, null, null, /* autoExpandFirstRace */ false, /* showRegattaRank */ true);
|
||||
sailingService.getLeaderboardsByEvent(eventDTO, new MarkedAsyncCallback<List<StrippedLeaderboardDTO>>(
|
||||
new AsyncCallback<List<StrippedLeaderboardDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(List<StrippedLeaderboardDTO> result) {
|
||||
leaderboardsTabPanel.clear();
|
||||
for (StrippedLeaderboardDTO leaderboard : result) {
|
||||
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService,
|
||||
new AsyncActionsExecutor(), leaderboardSettings, false,
|
||||
/*preSelectedRace*/null,
|
||||
competitorSelectionProvider,
|
||||
null, leaderboard.name,
|
||||
errorReporter, stringMessages, userAgent, /*showRaceDetails*/false);
|
||||
leaderboardsTabPanel.add(leaderboardPanel, leaderboard.getDisplayName() + " " + stringMessages.leaderboard());
|
||||
}
|
||||
if (!result.isEmpty()) {
|
||||
leaderboardsTabPanel.setVisible(true);
|
||||
leaderboardsTabPanel.selectTab(0);
|
||||
} else {
|
||||
leaderboardCheckBox.setValue(false);
|
||||
errorReporter.reportError("Error trying to load leaderboard. Either the event could not be associated to Regatta or there are no tracked races.");
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
leaderboardsTabPanel.clear();
|
||||
leaderboardsTabPanel.setVisible(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void retrieveEvent() {
|
||||
sailingService.getEventById(eventId, false, new MarkedAsyncCallback<EventDTO>(
|
||||
new AsyncCallback<EventDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable cause) {
|
||||
settingsButton.setEnabled(false);
|
||||
errorReporter.reportError("Error trying to load event with id " + eventId + " : "
|
||||
+ cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(EventDTO result) {
|
||||
if (result != null) {
|
||||
setEvent(result);
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void setEvent(EventDTO event) {
|
||||
eventDTO = event;
|
||||
onEventUpdated();
|
||||
}
|
||||
|
||||
private void onEventUpdated() {
|
||||
fireEvent(new EventDTOLoadedEvent(eventDTO));
|
||||
|
||||
for (EventAndRaceGroupAvailabilityListener listener : this.eventRaceGroupListeners) {
|
||||
listener.onEventUpdated(eventDTO);
|
||||
}
|
||||
checkToEnableSettingsButton();
|
||||
}
|
||||
|
||||
private void retrieveRegattaStructure() {
|
||||
sailingService.getRegattaStructureForEvent(eventId, new MarkedAsyncCallback<List<RaceGroupDTO>>(
|
||||
new AsyncCallback<List<RaceGroupDTO>>() {
|
||||
@Override
|
||||
public void onFailure(Throwable cause) {
|
||||
errorReporter.reportError("Error trying to load regattas for event with id " + eventId + " : "
|
||||
+ cause.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(List<RaceGroupDTO> result) {
|
||||
if (result != null) {
|
||||
setRaceGroups(result);
|
||||
}
|
||||
}
|
||||
|
||||
}));
|
||||
}
|
||||
|
||||
protected void setRaceGroups(List<RaceGroupDTO> result) {
|
||||
|
||||
raceGroupDTOs.clear();
|
||||
raceGroupDTOs.addAll(result);
|
||||
onRaceGroupsUpdated();
|
||||
}
|
||||
|
||||
private void onRaceGroupsUpdated() {
|
||||
for (EventAndRaceGroupAvailabilityListener listener : this.eventRaceGroupListeners) {
|
||||
listener.onRaceGroupsUpdated(raceGroupDTOs);
|
||||
}
|
||||
checkToEnableSettingsButton();
|
||||
}
|
||||
|
||||
private void checkToEnableSettingsButton() {
|
||||
if (eventDTO != null && raceGroupDTOs.size() > 0) {
|
||||
settingsButton.setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+50
@@ -0,0 +1,50 @@
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
|
||||
public interface RegattaOverviewResources extends ClientBundle {
|
||||
public static final RegattaOverviewResources INSTANCE = GWT.create(RegattaOverviewResources.class);
|
||||
|
||||
@Source("RegattaOverview.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
String container();
|
||||
String titleLabel();
|
||||
String eventLabel();
|
||||
String venueLabel();
|
||||
String clockLabel();
|
||||
String refreshStopTime();
|
||||
String functionBar();
|
||||
String contentWrapper();
|
||||
String circle();
|
||||
String circleBlue();
|
||||
String circleYellow();
|
||||
String circleGreen();
|
||||
String circleGrey();
|
||||
String raceDetailPanel();
|
||||
String raceDetailPanel_header();
|
||||
String raceDetailPanel_content();
|
||||
String leaderboards();
|
||||
String viewerToolbar_innerElement();
|
||||
|
||||
String settingsButton();
|
||||
|
||||
String refreshButton();
|
||||
|
||||
String refreshButton_live();
|
||||
|
||||
String refreshButton_playing();
|
||||
String eventDescription();
|
||||
|
||||
String button();
|
||||
|
||||
String buttonLeaderboard();
|
||||
|
||||
String functionBarLeft();
|
||||
|
||||
String repeatedInfoLabel();
|
||||
}
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.LeaderboardNameConstants;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceGroupDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceGroupSeriesDTO;
|
||||
|
||||
public class RegattaOverviewUtils {
|
||||
|
||||
public static boolean hasAnyRaceGroupASeries(List<RaceGroupDTO> raceGroupDTOs) {
|
||||
boolean result = false;
|
||||
if (raceGroupDTOs != null) {
|
||||
for (RaceGroupDTO raceGroup : raceGroupDTOs) {
|
||||
for (RaceGroupSeriesDTO series : raceGroup.getSeries()) {
|
||||
if (!series.getName().equals(LeaderboardNameConstants.DEFAULT_SERIES_NAME)) {
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static boolean hasAnyRaceGroupAFleet(List<RaceGroupDTO> raceGroupDTOs) {
|
||||
boolean result = false;
|
||||
if (raceGroupDTOs != null) {
|
||||
for (RaceGroupDTO raceGroup : raceGroupDTOs) {
|
||||
for (RaceGroupSeriesDTO series : raceGroup.getSeries()) {
|
||||
for (FleetDTO fleet : series.getFleets()) {
|
||||
if (!fleet.getName().equals(LeaderboardNameConstants.DEFAULT_FLEET_NAME)) {
|
||||
result = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+842
-778
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
.cellTableWidget {
|
||||
border-spacing: 0px;
|
||||
font-size:16px;
|
||||
}
|
||||
.cellTableWidget a {
|
||||
color: black;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/** v-align images in the table header
|
||||
* grey background for table header
|
||||
*/
|
||||
.cellTableHeader {
|
||||
position: relative;
|
||||
vertical-align: bottom;
|
||||
background-color: #f2f2f2;
|
||||
background-color: #fff;
|
||||
padding: 20px 5px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid black;
|
||||
text-shadow: none;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.cellTableHeader:FOCUS {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.cellTableFirstColumnHeader {
|
||||
|
||||
}
|
||||
|
||||
.cellTableLastColumnHeader {
|
||||
|
||||
}
|
||||
|
||||
.cellTableHeader>span>img:first-child {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.cellTableEvenRow {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.cellTableEvenRowCell {
|
||||
border: none;
|
||||
border-bottom: 1px solid #dedede;
|
||||
padding: 20px 5px 20px 10px;
|
||||
vertical-align: top;
|
||||
|
||||
}
|
||||
|
||||
.cellTableOddRow {
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
|
||||
.cellTableOddRowCell {
|
||||
border: none;
|
||||
border-bottom: 1px solid #dedede;
|
||||
padding: 20px 5px 20px 10px;
|
||||
vertical-align: top;
|
||||
|
||||
}
|
||||
|
||||
.cellTableHoveredRow {
|
||||
background-color: rgba(229, 242, 249, 0.5);
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
.cellTableSelectedRow {
|
||||
color: #000000;
|
||||
background-color: rgba(229, 242, 249, 0.5);
|
||||
}
|
||||
|
||||
.cellTableSelectedRowCell {
|
||||
border-top: 2px solid #21a0e4 !important;
|
||||
border-bottom: 2px solid #21a0e4 !important;
|
||||
}
|
||||
|
||||
.cellTableRaceNameColumnHeader {
|
||||
background-color: #e0e0e0;
|
||||
padding: 5px 20px;
|
||||
}
|
||||
|
||||
.cellTableRaceNameColumn {
|
||||
background-color: #e0e0e0 !important;
|
||||
}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
|
||||
+8
-1
@@ -1,4 +1,4 @@
|
||||
package com.sap.sailing.gwt.ui.regattaoverview;
|
||||
package com.sap.sailing.gwt.regattaoverview.client;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
@@ -20,6 +20,13 @@ public class SailingFlagsBuilder {
|
||||
private final static FlagImageResolver flagImageResolver = new FlagImageResolver();
|
||||
|
||||
interface SailingFlagsTemplates extends SafeHtmlTemplates {
|
||||
/**
|
||||
* @param title
|
||||
* the tool-tip to display for the image on mouse-over
|
||||
* @param upperFlag
|
||||
* how to render the image; this needs to be an <img> tag, not enclosed by any other element,
|
||||
* as returned by {@link ImagesBarCell#makeImagePrototype(ImageResource)}
|
||||
*/
|
||||
@SafeHtmlTemplates.Template("<div title=\"{0}\">{1}</div>")
|
||||
SafeHtml cell(String title, SafeHtml content);
|
||||
|
||||
+310
@@ -0,0 +1,310 @@
|
||||
/**
|
||||
* The header of the pages to an event
|
||||
*/
|
||||
.jsdropdown {
|
||||
position: relative;
|
||||
}
|
||||
.jsdropdown_head,
|
||||
.jsdropdown_content {
|
||||
text-indent: 0;
|
||||
}
|
||||
.dropdown {
|
||||
font-size: 1rem;
|
||||
width: 20em;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
}
|
||||
.dropdown_head {
|
||||
display: block;
|
||||
}
|
||||
.dropdown_head_title {
|
||||
font-size: 1.866666666666667em;
|
||||
cursor: pointer;
|
||||
background: #f8f8f8;
|
||||
color: #cfcfcf;
|
||||
height: 1.464285714285714em;
|
||||
line-height: 1.428571428571429em;
|
||||
padding-left: 0.535714285714286em;
|
||||
font-weight: 700;
|
||||
}
|
||||
.dropdown_head_title_button {
|
||||
float: right;
|
||||
}
|
||||
.dropdown_content {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
background: #f6f9fc;
|
||||
display: none;
|
||||
width: 20em;
|
||||
height: auto;
|
||||
max-height: 23.333333333333332em;
|
||||
overflow: auto;
|
||||
box-shadow: 0 0.066666666666667em 0.266666666666667em #eee;
|
||||
border-bottom: solid 1px #eee;
|
||||
}
|
||||
.jsdropdownactive .dropdown_content {
|
||||
display: block;
|
||||
}
|
||||
.dropdown_content_link {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
padding: 1.333333333333333em 3.333333333333333em 1em 1em;
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
}
|
||||
.dropdown_content_link:hover,
|
||||
.dropdown_content_link:focus {
|
||||
background: #f8f8f8;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dropdown_content_link:hover .dropdown_content_link_title,
|
||||
.dropdown_content_link:focus .dropdown_content_link_title {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.dropdown_content_link_title {
|
||||
color: #008fcc;
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.dropdown_content_link_subtitle {
|
||||
color: #cfcfcf;
|
||||
font-size: 1.066666666666667em;
|
||||
}
|
||||
.dropdownregattas {
|
||||
width: 100%;
|
||||
min-width: 21.333333333333332em;
|
||||
margin-left: -0.666666666666667em;
|
||||
}
|
||||
.dropdownregattas_head {
|
||||
display: inherit;
|
||||
}
|
||||
.dropdownregattas_head_title {
|
||||
padding-left: 0.357142857142857em;
|
||||
background: #f2f2f2;
|
||||
color: #333;
|
||||
border-radius: 0.107142857142857em;
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
.dropdownregattas_head_title:hover {
|
||||
border: 1px solid #cfcfcf;
|
||||
background-color: #eee;
|
||||
text-decoration: none;
|
||||
}
|
||||
.dropdownregattas_head_title_button {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
margin-left: 0.714285714285714em;
|
||||
top: 50%;
|
||||
height: 0.285714285714286em;
|
||||
width: 0.428571428571429em;
|
||||
background-image: url("images/home/dropdown__button--arrow@2x.png");
|
||||
background-position: center bottom;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
-moz-transform: translate(-50%, -50%);
|
||||
-ms-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
float: none;
|
||||
}
|
||||
.dropdownregattas_content {
|
||||
width: auto;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 0.133333333333333em 0.133333333333333em 0.333333333333333em #ccc;
|
||||
}
|
||||
.dropdownregattas_content_link {
|
||||
position: relative;
|
||||
border: none;
|
||||
}
|
||||
.dropdownregattas_content_link:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
.dropdownregattas_content_linkactive:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
right: 1.333333333333333em;
|
||||
top: 50%;
|
||||
height: 0.933333333333333em;
|
||||
width: 0.933333333333333em;
|
||||
background-image: url("images/home/dropdown__check@2x.png");
|
||||
background-repeat: no-repeat;
|
||||
background-position: right center;
|
||||
background-size: contain;
|
||||
-webkit-transform: translate(0, -50%);
|
||||
-moz-transform: translate(0, -50%);
|
||||
-ms-transform: translate(0, -50%);
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
.dropdownregattas_content_link_title {
|
||||
color: #666;
|
||||
}
|
||||
.leaderboardquickaccess {
|
||||
font-size: 1rem;
|
||||
text-align: right;
|
||||
}
|
||||
.eventheader {
|
||||
position: relative;
|
||||
font-size: 1rem;
|
||||
color: #666;
|
||||
background: #f2f2f2;
|
||||
border-bottom: 1px solid #dedede;
|
||||
}
|
||||
.eventheader_breadcrumb {
|
||||
font-size: 1rem;
|
||||
/* @alternate */font-size: 0.866666666666667em;
|
||||
font-weight: 600;
|
||||
padding: 0.666666666666667em 0;
|
||||
}
|
||||
.eventheader_breadcrumbback {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 1.333333333333333em;
|
||||
border-right: 1px solid #cfcfcf;
|
||||
background-color: #dedede;
|
||||
background-image: url("images/home/breadcrumb-arrow__back.png");
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 50%;
|
||||
-webkit-transition: background-color 0.2s, border-color 0.2s;
|
||||
-moz-transition: background-color 0.2s, border-color 0.2s;
|
||||
transition: background-color 0.2s, border-color 0.2s;
|
||||
}
|
||||
.eventheader_breadcrumbback:hover {
|
||||
background-color: #cfcfcf;
|
||||
}
|
||||
.eventheader_intro {
|
||||
padding-left: 6em;
|
||||
margin: 0.666666666666667em 0;
|
||||
min-height: 5em;
|
||||
position: relative;
|
||||
}
|
||||
.eventheader_intro_logo {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 5em;
|
||||
height: 5em;
|
||||
border: 0.333333333333333em solid #f6f9fc;
|
||||
box-shadow: 0 0 5px rgba(238,238,238,0.5);
|
||||
}
|
||||
.eventheader_intro_logo_image {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.eventheader_intro_name {
|
||||
display: inline-block;
|
||||
margin: 0 0.333333333333333em 0 0;
|
||||
font-size: 1.866666666666667em;
|
||||
color: #333;
|
||||
}
|
||||
.eventheader_intro_details {
|
||||
margin-bottom: 0.666666666666667em;
|
||||
padding-bottom: 0.666666666666667em;
|
||||
font-weight: 700;
|
||||
color: #333;
|
||||
}
|
||||
.eventheader_intro_details_item {
|
||||
display: inline-block;
|
||||
border-left: 1px solid #cfcfcf;
|
||||
margin: 0.266666666666667em 0 0.266666666666667em 0.333333333333333em;
|
||||
padding-left: 0.666666666666667em;
|
||||
color: #666;
|
||||
}
|
||||
.eventheader_intro_details_itemlink {
|
||||
color: inherit;
|
||||
}
|
||||
.eventheader_intro_details_item:first-child {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
border: none;
|
||||
}
|
||||
.eventheader_status {
|
||||
text-align: right;
|
||||
}
|
||||
.eventheader_status_title {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.eventheader_status_body {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.locationicon {
|
||||
vertical-align: text-bottom;
|
||||
margin-right: 0.333333333333333em;
|
||||
}
|
||||
.eventnavigation {
|
||||
font-size: 0;
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
.eventnavigationnormal {
|
||||
position: relative;
|
||||
}
|
||||
.eventnavigation_dropdown {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
.eventnavigation_dropdown_toggle {
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
@media (min-width: 61em) {
|
||||
.eventnavigation_dropdown_toggle {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.eventnavigation_dropdown_toggle_icon {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 50%;
|
||||
width: 0.8em;
|
||||
height: 0.533333333333333em;
|
||||
vertical-align: middle;
|
||||
background-image: url("images/home/dropdown__button--arrow@2x.png");
|
||||
background-size: 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center bottom;
|
||||
}
|
||||
.eventnavigation_dropdown_container {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
z-index: 99;
|
||||
}
|
||||
@media (min-width: 61em) {
|
||||
.eventnavigation_dropdown_container {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
.eventnavigation_dropdown_containerhidden {
|
||||
display: none;
|
||||
}
|
||||
@media (min-width: 61em) {
|
||||
.eventnavigation_dropdown_containerhidden {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.eventnavigation_dropdown_container .navbar_button {
|
||||
border-top-width: 0;
|
||||
width: 16.666666666666668em;
|
||||
}
|
||||
@media (min-width: 61em) {
|
||||
.eventnavigation_dropdown_container .navbar_button {
|
||||
border-top-width: 1px;
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
@media (min-width: 61em) {
|
||||
.eventnavigation_dropdown_container .navbar_buttonhidden {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.eventnavigation .navbar_button {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
package com.sap.sailing.gwt.regattaoverview.client.eventheader;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
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.Widget;
|
||||
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
|
||||
|
||||
public class EventHeader extends Composite {
|
||||
private static EventHeaderUiBinder uiBinder = GWT.create(EventHeaderUiBinder.class);
|
||||
|
||||
interface EventHeaderUiBinder extends UiBinder<Widget, EventHeader> {
|
||||
}
|
||||
|
||||
|
||||
@UiField DivElement eventLogo;
|
||||
@UiField SpanElement eventName;
|
||||
@UiField DivElement eventDate;
|
||||
@UiField SpanElement eventVenue;
|
||||
@UiField DivElement eventVenueContainer;
|
||||
|
||||
|
||||
|
||||
public EventHeader() {
|
||||
EventHeaderResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
public void setLogoUrl(String displayName, Date startDate, Date endDate, String venue, String url) {
|
||||
final String logoUrl = url != null ? url : EventHeaderResources.INSTANCE.defaultEventLogoImage().getSafeUri()
|
||||
.asString();
|
||||
eventLogo.getStyle().setBackgroundImage("url(" + logoUrl + ")");
|
||||
eventLogo.setTitle(displayName);
|
||||
eventDate.setInnerHTML(EventDatesFormatterUtil.formatDateRangeWithYear(startDate, endDate));
|
||||
eventVenue.setInnerText(venue);
|
||||
// String venue = event.getLocationAndVenue();
|
||||
// if(event.getVenueCountry() != null && !event.getVenueCountry().isEmpty()) {
|
||||
// venue += ", " + event.getVenueCountry();
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared" xmlns:t="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
|
||||
xmlns:sharing="urn:import:com.sap.sailing.gwt.home.client.shared.sharing">
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.event.partials.header.EventHeaderResources" />
|
||||
<g:HTMLPanel addStyleNames="{res.mediaCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.large9} {res.mediaCss.columns}">
|
||||
<div class="{local_res.css.eventheader_intro}">
|
||||
<div class="{local_res.css.eventheader_intro_logo}">
|
||||
<div ui:field="eventLogo" class="{local_res.css.eventheader_intro_logo_image}" />
|
||||
</div>
|
||||
<h2 ui:field="staticTitle" class="{local_res.css.eventheader_intro_name}">
|
||||
<span ui:field="eventName"></span>
|
||||
</h2>
|
||||
<div class="{local_res.css.eventheader_intro_details}">
|
||||
<!-- IF event.venue && event.eventType !== 'multi-regatta-event' -->
|
||||
<div ui:field="eventDate" class="{local_res.css.eventheader_intro_details_item}">
|
||||
</div>
|
||||
<div ui:field="eventVenueContainer" class="{local_res.css.eventheader_intro_details_item}">
|
||||
<img src="images/home/location-icon.png" class="{local_res.css.locationicon}"></img>
|
||||
<span ui:field="eventVenue"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
+64
@@ -0,0 +1,64 @@
|
||||
package com.sap.sailing.gwt.regattaoverview.client.eventheader;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
|
||||
public interface EventHeaderResources extends ClientBundle {
|
||||
public static final EventHeaderResources INSTANCE = GWT.create(EventHeaderResources.class);
|
||||
|
||||
@Source("EventHeader.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
String jsdropdown();
|
||||
String jsdropdown_head();
|
||||
String jsdropdown_content();
|
||||
String dropdown();
|
||||
String dropdown_head();
|
||||
String dropdown_head_title();
|
||||
String dropdown_head_title_button();
|
||||
String dropdown_content();
|
||||
String jsdropdownactive();
|
||||
String dropdown_content_link();
|
||||
String dropdown_content_link_title();
|
||||
String dropdown_content_link_subtitle();
|
||||
String dropdownregattas();
|
||||
String dropdownregattas_head();
|
||||
String dropdownregattas_head_title();
|
||||
String dropdownregattas_head_title_button();
|
||||
String dropdownregattas_content();
|
||||
String dropdownregattas_content_link();
|
||||
String dropdownregattas_content_linkactive();
|
||||
String dropdownregattas_content_link_title();
|
||||
String leaderboardquickaccess();
|
||||
String eventheader();
|
||||
String eventheader_breadcrumb();
|
||||
String eventheader_breadcrumbback();
|
||||
String eventheader_intro();
|
||||
String eventheader_intro_logo();
|
||||
String eventheader_intro_logo_image();
|
||||
String eventheader_intro_name();
|
||||
String eventheader_intro_details();
|
||||
String eventheader_intro_details_item();
|
||||
String eventheader_intro_details_itemlink();
|
||||
String eventheader_status();
|
||||
String eventheader_status_title();
|
||||
String eventheader_status_body();
|
||||
String locationicon();
|
||||
String eventnavigation();
|
||||
String eventnavigationnormal();
|
||||
String eventnavigation_dropdown();
|
||||
String eventnavigation_dropdown_toggle();
|
||||
String eventnavigation_dropdown_toggle_icon();
|
||||
String eventnavigation_dropdown_container();
|
||||
String eventnavigation_dropdown_containerhidden();
|
||||
String navbar_button();
|
||||
String navbar_buttonhidden();
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/images/default_event_logo.jpg")
|
||||
ImageResource defaultEventLogoImage();
|
||||
|
||||
}
|
||||
+10
-8
@@ -53,16 +53,18 @@
|
||||
<!-- Turning CSS obfuscation on, which is the default -->
|
||||
<!-- <set-configuration-property name="CssResource.style" value="obf"/> -->
|
||||
|
||||
<source path='common'/>
|
||||
<source path='client'/>
|
||||
<source path='controls'/>
|
||||
<source path='components'/>
|
||||
<source path='adminconsole'/>
|
||||
<source path='leaderboard'/>
|
||||
<source path='raceboard'/>
|
||||
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceClient'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceShared'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceCommon'/>
|
||||
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceControl'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceComponents'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceLeaderboard'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceRaceboard'/>
|
||||
|
||||
<source path='masterdataimport'/>
|
||||
<source path='usermanagement'/>
|
||||
<source path='shared'/>
|
||||
<source path='test'/>
|
||||
<source path='actions'/>
|
||||
<source path='simulator'/>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path="actions"/>
|
||||
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path="client" />
|
||||
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path='common'/>
|
||||
|
||||
</module>
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path="components"/>
|
||||
|
||||
</module>
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path='controls'/>
|
||||
|
||||
|
||||
<!-- TODO -->
|
||||
<!-- <source path='masterdataimport'/> -->
|
||||
<!-- <source path='shared'/> -->
|
||||
<!-- <source path='test'/> -->
|
||||
<!-- <source path='actions'/> -->
|
||||
<!-- <source path='simulator'/> -->
|
||||
</module>
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path="leaderboard"/>
|
||||
|
||||
</module>
|
||||
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path="raceboard"/>
|
||||
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name="com.google.gwt.user.User"/>
|
||||
|
||||
<source path="shared"/>
|
||||
</module>
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
|
||||
<source path='simulator'/>
|
||||
|
||||
|
||||
<!-- TODO -->
|
||||
<!-- <source path='masterdataimport'/> -->
|
||||
<!-- <source path='shared'/> -->
|
||||
<!-- <source path='test'/> -->
|
||||
<!-- <source path='actions'/> -->
|
||||
<!-- <source path='simulator'/> -->
|
||||
</module>
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.7.0//EN" "http://gwtproject.org/doctype/2.7.0/gwt-module.dtd">
|
||||
<module>
|
||||
<inherits name='com.google.gwt.user.User'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceClient'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceCommon'/>
|
||||
<inherits name='com.sap.sailing.gwt.ui.SourceControl'/>
|
||||
|
||||
</module>
|
||||
|
||||
+1310
-1309
File diff suppressed because it is too large.
Load diff
+1276
-1275
File diff suppressed because it is too large.
Load diff
+3
-2
@@ -99,7 +99,9 @@ enterVideoURL=Enter video URL...
|
||||
defineNewConnection=Define a new connection
|
||||
seriesLeaderboard=Series leaderboard
|
||||
resultsMailRecipient=Results mail recipient
|
||||
protestTimeFinishesAt=Protest time ends at
|
||||
protestTime=Protest time
|
||||
protestTimeFinishesAt=ends at
|
||||
protestTimeFinishedAt=ended at
|
||||
racesInLeaderboard=积分榜中的比赛轮次
|
||||
pleaseEnterABoatClass=Please enter a boat class
|
||||
estimatedTimeToNextWaypointInSecondsTooltip=参赛队到达下个航路点所需要的预计时间
|
||||
@@ -776,7 +778,6 @@ optimality=Optimality
|
||||
sortBy=Sort by
|
||||
errorUpdatingRaceCourse=Error updating race course: {0}
|
||||
raceWithThisNameAlreadyExistsInRegatta=A race with that name already exists in this regatta.
|
||||
protestTimeFinishedAt=Protest time ended at
|
||||
addCourseArea=Add course area
|
||||
scoringSchemeHighPointFirstGetsOne=High Point, winner gets 1 point
|
||||
valueAscending=Value (Ascending)
|
||||
|
||||
+1266
-1265
File diff suppressed because it is too large.
Load diff
+1
@@ -729,6 +729,7 @@ dropReplicaConnection=Разъединить соединение
|
||||
timePanelName=Контроль времени
|
||||
competitorFilterExplanation=Фильтр отображает всех участников, соответствующих критериям:
|
||||
dropReplicaConnection=Разъединить соединения
|
||||
protestTime=Protest time
|
||||
protestTimeFinishesAt=Срок подачи протеста истекает в
|
||||
protestTimeFinishedAt=Срок подачи протеста истек в
|
||||
flags=Флаги
|
||||
|
||||
-111
@@ -1,111 +0,0 @@
|
||||
.cellTableWidget {
|
||||
border-left: 1px solid #c9caca;
|
||||
border-top: 1px solid #c9caca;
|
||||
}
|
||||
|
||||
/** v-align images in the table header
|
||||
* grey background for table header
|
||||
*/
|
||||
.cellTableHeader {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
background-color: #e5e5e5;
|
||||
border-right: 1px solid #ffffff !important;
|
||||
border-top: none !important;
|
||||
border-bottom: 1px solid #c9caca !important;
|
||||
padding: 3px 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cellTableFirstColumnHeader {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
background-color: #e5e5e5;
|
||||
border-left: none !important;
|
||||
border-right: 1px solid #ffffff !important;
|
||||
border-top: none !important;
|
||||
border-bottom: 1px solid #c9caca !important;
|
||||
padding: 3px 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cellTableLastColumnHeader {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
background-color: #e5e5e5;
|
||||
border-right: 1px solid #c9caca !important;
|
||||
border-top: none !important;
|
||||
border-bottom: 1px solid #c9caca !important;
|
||||
padding: 3px 12px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cellTableHeader > span > img:first-child {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.cellTableEvenRow {
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
background-color: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
.cellTableEvenRowCell {
|
||||
border-right: 1px solid #c9caca !important;
|
||||
border-left: none;
|
||||
border-top: none !important;
|
||||
border-bottom: 1px solid #c9caca !important;
|
||||
padding: 5px 17px 5px !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cellTableOddRow {
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
background-color: rgba(242,242,242,0.5);
|
||||
}
|
||||
|
||||
.cellTableOddRowCell {
|
||||
border-left: none !important;
|
||||
border-right: 1px solid #c9caca !important;
|
||||
border-top: none !important;
|
||||
border-bottom: 1px solid #c9caca !important;
|
||||
padding: 5px 17px 5px !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.cellTableHoveredRow {
|
||||
background-color: rgba(229,242,249,0.5);
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
.cellTableSelectedRow {
|
||||
color: #000000;
|
||||
background-color: rgba(229,242,249,0.5);
|
||||
border-right: 2px solid #21a0e4 !important;
|
||||
border-left: 2px solid #21a0e4 !important;
|
||||
border: 2px solid #21a0e4;
|
||||
}
|
||||
|
||||
.cellTableSelectedRow > td:FIRST-CHILD {
|
||||
border-left: 2px solid rgba(33,160,228,0.5) !important;
|
||||
}
|
||||
|
||||
.cellTableSelectedRow > td:LAST-CHILD {
|
||||
border-right: 2px solid rgba(33,160,228,0.5) !important;
|
||||
}
|
||||
|
||||
.cellTableSelectedRowCell {
|
||||
border-left: none;
|
||||
border-right: 1px solid #e5e5e5;
|
||||
border-top: 2px solid #21a0e4 !important;
|
||||
border-bottom: 2px solid #21a0e4 !important;
|
||||
}
|
||||
|
||||
.cellTableRaceNameColumnHeader {
|
||||
background-color: #e0e0e0;
|
||||
padding: 3px 12px;
|
||||
}
|
||||
|
||||
.cellTableRaceNameColumn {
|
||||
background-color: #e0e0e0 !important;
|
||||
}
|
||||
+13
-6
@@ -3930,20 +3930,26 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
String regattaName = getRegattaNameFromLeaderboard(leaderboard);
|
||||
if (leaderboard instanceof RegattaLeaderboard) {
|
||||
RegattaLeaderboard regattaLeaderboard = (RegattaLeaderboard) leaderboard;
|
||||
BoatClass boatClass = regattaLeaderboard.getRegatta().getBoatClass();
|
||||
for (Series series : regattaLeaderboard.getRegatta().getSeries()) {
|
||||
Map<String, List<RegattaOverviewEntryDTO>> entriesPerFleet = new HashMap<String, List<RegattaOverviewEntryDTO>>();
|
||||
for (RaceColumn raceColumn : series.getRaceColumns()) {
|
||||
getRegattaOverviewEntries(showOnlyRacesOfSameDay, dayToCheck,
|
||||
usedCourseArea, leaderboard, regattaName, series.getName(), raceColumn, entriesPerFleet);
|
||||
usedCourseArea, leaderboard, boatClass.getName(), regattaName, series.getName(), raceColumn, entriesPerFleet);
|
||||
}
|
||||
result.addAll(getRegattaOverviewEntriesToBeShown(showOnlyCurrentlyRunningRaces, entriesPerFleet));
|
||||
}
|
||||
|
||||
} else {
|
||||
} else if(leaderboard instanceof FlexibleLeaderboard) {
|
||||
BoatClass boatClass = null;
|
||||
for (TrackedRace trackedRace : leaderboard.getTrackedRaces()) {
|
||||
boatClass = trackedRace.getRace().getBoatClass();
|
||||
break;
|
||||
}
|
||||
Map<String, List<RegattaOverviewEntryDTO>> entriesPerFleet = new HashMap<String, List<RegattaOverviewEntryDTO>>();
|
||||
for (RaceColumn raceColumn : leaderboard.getRaceColumns()) {
|
||||
getRegattaOverviewEntries(showOnlyRacesOfSameDay, dayToCheck, usedCourseArea,
|
||||
leaderboard, regattaName, LeaderboardNameConstants.DEFAULT_SERIES_NAME, raceColumn, entriesPerFleet);
|
||||
leaderboard, boatClass.getName(), regattaName, LeaderboardNameConstants.DEFAULT_SERIES_NAME, raceColumn, entriesPerFleet);
|
||||
}
|
||||
result.addAll(getRegattaOverviewEntriesToBeShown(showOnlyCurrentlyRunningRaces, entriesPerFleet));
|
||||
}
|
||||
@@ -4080,12 +4086,12 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
}
|
||||
|
||||
private void getRegattaOverviewEntries(boolean showOnlyRacesOfSameDay, Calendar dayToCheck,
|
||||
CourseArea courseArea, Leaderboard leaderboard, String regattaName, String seriesName, RaceColumn raceColumn,
|
||||
CourseArea courseArea, Leaderboard leaderboard, String boatClassName, String regattaName, String seriesName, RaceColumn raceColumn,
|
||||
Map<String, List<RegattaOverviewEntryDTO>> entriesPerFleet) {
|
||||
|
||||
for (Fleet fleet : raceColumn.getFleets()) {
|
||||
RegattaOverviewEntryDTO entry = createRegattaOverviewEntryDTO(courseArea,
|
||||
leaderboard, regattaName, seriesName, raceColumn, fleet,
|
||||
leaderboard, boatClassName, regattaName, seriesName, raceColumn, fleet,
|
||||
showOnlyRacesOfSameDay, dayToCheck);
|
||||
if (entry != null) {
|
||||
addRegattaOverviewEntryToEntriesPerFleet(entriesPerFleet, fleet, entry);
|
||||
@@ -4134,7 +4140,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
entriesPerFleet.get(fleet.getName()).add(entry);
|
||||
}
|
||||
|
||||
private RegattaOverviewEntryDTO createRegattaOverviewEntryDTO(CourseArea courseArea, Leaderboard leaderboard,
|
||||
private RegattaOverviewEntryDTO createRegattaOverviewEntryDTO(CourseArea courseArea, Leaderboard leaderboard, String boatClassName,
|
||||
String regattaName, String seriesName, RaceColumn raceColumn, Fleet fleet, boolean showOnlyRacesOfSameDay, Calendar dayToCheck) {
|
||||
RegattaOverviewEntryDTO entry = new RegattaOverviewEntryDTO();
|
||||
if (courseArea != null) {
|
||||
@@ -4144,6 +4150,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
entry.courseAreaName = "Default";
|
||||
entry.courseAreaIdAsString = "Default";
|
||||
}
|
||||
entry.boatClassName = boatClassName;
|
||||
entry.regattaDisplayName = regattaName;
|
||||
entry.regattaName = leaderboard.getName();
|
||||
entry.raceInfo = createRaceInfoDTO(seriesName, raceColumn, fleet);
|
||||
|
||||
+1
@@ -10,6 +10,7 @@ public class RegattaOverviewEntryDTO implements IsSerializable {
|
||||
public String regattaDisplayName;
|
||||
public RaceInfoDTO raceInfo;
|
||||
public String regattaName;
|
||||
public String boatClassName;
|
||||
public Date currentServerTime;
|
||||
|
||||
// for GWT serialization
|
||||
|
||||
@@ -17,4 +17,7 @@ Web-ContextPath: /theme
|
||||
Export-Package: com.sap.sse.gwt.theme.client,
|
||||
com.sap.sse.gwt.theme.client.component.celltable,
|
||||
com.sap.sse.gwt.theme.client.component.imagegallery,
|
||||
com.sap.sse.gwt.theme.client.component.videogallery
|
||||
com.sap.sse.gwt.theme.client.component.videogallery,
|
||||
com.sap.sse.gwt.theme.client.component.sapheader,
|
||||
com.sap.sse.gwt.theme.client.component.sapheader2,
|
||||
com.sap.sse.gwt.theme.client.resources
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
.siteheader {
|
||||
font-size: 1rem;
|
||||
background: #333;
|
||||
border-bottom: 4px solid #f0ab00;
|
||||
height: 75px;
|
||||
line-height: 1,1em;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
vertical-align: top;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.siteheaderLeft {
|
||||
position: relative; top:10px;left:10px;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
height: 50px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.siteheaderCentered {
|
||||
position: absolute; top:10px;left:235px;
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
height:50px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.siteheaderRight {
|
||||
position: absolute; top:10px;right:10px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
height:50px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.logo {
|
||||
margin: 0px;
|
||||
display: inline-block;
|
||||
}
|
||||
.logotitle {
|
||||
display: inline-block;
|
||||
color: #f6f9fc;
|
||||
font-weight: bold;
|
||||
width: 150px;
|
||||
height: 100%;
|
||||
padding: 17px 15px 0 0;
|
||||
line-height:1,1em;
|
||||
vertical-align: top;
|
||||
text-align: right;
|
||||
border-right: 1px solid rgb(180,180,180);
|
||||
margin: 0px;
|
||||
|
||||
margin-left: -25px;
|
||||
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.pagetitle {
|
||||
color: #ffffff;
|
||||
font-size: 1.1rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package com.sap.sse.gwt.theme.client.component.sapheader2;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
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.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
|
||||
public class SAPHeader2 extends Composite {
|
||||
private static SAPHeaderUiBinder uiBinder = GWT.create(SAPHeaderUiBinder.class);
|
||||
|
||||
interface SAPHeaderUiBinder extends UiBinder<Widget, SAPHeader2> {
|
||||
}
|
||||
|
||||
@UiField
|
||||
DivElement applicationNameUi;
|
||||
@UiField
|
||||
SimplePanel pageTitleUi;
|
||||
|
||||
@UiField
|
||||
SimplePanel rightSideUi;
|
||||
|
||||
public SAPHeader2(String applicationName, Widget pageTitle, boolean startInAutoScreenMode) {
|
||||
SAPHeaderResources.INSTANCE.css().ensureInjected();
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
applicationNameUi.setInnerText(applicationName != null ? applicationName : " ");
|
||||
pageTitleUi.setWidget(pageTitle);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void addWidgetToRightSide(Widget widget) {
|
||||
rightSideUi.add(widget);
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui">
|
||||
<ui:with field="res" type="com.sap.sse.gwt.theme.client.resources.ThemeResources" />
|
||||
<ui:with field="local_res" type="com.sap.sse.gwt.theme.client.component.sapheader2.SAPHeaderResources" />
|
||||
<g:HTMLPanel>
|
||||
<header class="{local_res.css.siteheader}">
|
||||
<div class="{local_res.css.siteheaderLeft}">
|
||||
<g:Image resource="{local_res.logo}" pixelSize="80, 40" altText="SAP Sailing Analytics" styleName="{local_res.css.logo}"/>
|
||||
<div ui:field="applicationNameUi" class="{local_res.css.logotitle}"></div>
|
||||
</div>
|
||||
<g:SimplePanel ui:field="pageTitleUi" styleName="{local_res.css.siteheaderCentered}">
|
||||
</g:SimplePanel>
|
||||
<g:SimplePanel ui:field="rightSideUi" styleName="{local_res.css.siteheaderRight}">
|
||||
</g:SimplePanel>
|
||||
</header>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.sap.sse.gwt.theme.client.component.sapheader2;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
|
||||
public interface SAPHeaderResources extends ClientBundle {
|
||||
public static final SAPHeaderResources INSTANCE = GWT.create(SAPHeaderResources.class);
|
||||
|
||||
@Source("SAPHeader2.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
String siteheader();
|
||||
String siteheaderLeft();
|
||||
String siteheaderCentered();
|
||||
String siteheaderRight();
|
||||
String logo();
|
||||
String logotitle();
|
||||
String pagetitle();
|
||||
}
|
||||
|
||||
@Source("logo-small@2x.png")
|
||||
ImageResource logo();
|
||||
}
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
+5
-2
@@ -4,10 +4,13 @@
|
||||
.grid,
|
||||
.stackenblochen {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 80rem;
|
||||
/* width: 100%; */
|
||||
/* max-width: 80rem; */
|
||||
min-width: 720px;
|
||||
list-style: none;
|
||||
margin: 0 auto;
|
||||
margin-left: 5rem;
|
||||
margin-right: 5rem;
|
||||
zoom: 1;
|
||||
}
|
||||
.grid:before,
|
||||
|
||||
Reference in new issue
Block a user