mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-03 01:29:33 +00:00
Merge branch 'master' into mark-rounding-inference
Conflicts: java/com.sap.sailing.domain.persistence/src/com/sap/sailing/domain/persistence/impl/MongoObjectFactoryImpl.java java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/WindTest.java java/com.sap.sailing.domain.test/src/com/sap/sailing/domain/test/markpassing/AbstractMockedRaceMarkPassingTest.java java/com.sap.sailing.domain/META-INF/MANIFEST.MF java/com.sap.sailing.domain/src/com/sap/sailing/domain/markpassingcalculation/CandidateFinder.java java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/impl/DynamicTrackedRaceImpl.java java/com.sap.sailing.gwt.ui.test/src/com/sap/sailing/gwt/ui/test/MockedTrackedRace.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/regattaanalytics/RegattaAnalyticsDataManager.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/client/place/event/seriesanalytics/EventSeriesAnalyticsDataManager.java java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/SailingServiceAsync.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 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/RaceBoardPanel.java
This commit is contained in:
commit
e1e047bd75
1019 files changed
+32705
-10430
No files matched your search
@@ -1,4 +1,4 @@
|
||||
eclipse.preferences.version=1
|
||||
entryPointModules=
|
||||
filesCopiedToWebInfLib=gwt-servlet.jar
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDQgLXN0cmljdCAtbG9nTGV2ZWwgVFJBQ0VdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDIwMjRtIC1EZ3d0LnVzZWFyY2hpdmVzPWZhbHNlXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC5Ib21lPC9lbnRyeS1wb2ludC1tb2R1bGU+PC9nd3QtY29tcGlsZS1zZXR0aW5ncz4\=
|
||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgLiAtbG9jYWxXb3JrZXJzIDQgLXN0cmljdCAtbG9nTGV2ZWwgVFJBQ0VdXT48L2V4dHJhLWFyZ3M+PHZtLWFyZ3M+PCFbQ0RBVEFbLVhteDIwMjRtIC1EZ3d0LnVzZWFyY2hpdmVzPWZhbHNlXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC51aS5BZG1pbkNvbnNvbGU8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuTGVhZGVyYm9hcmQ8L2VudHJ5LXBvaW50LW1vZHVsZT48ZW50cnktcG9pbnQtbW9kdWxlPmNvbS5zYXAuc2FpbGluZy5nd3QudWkuTGVhZGVyYm9hcmRFZGl0aW5nPC9lbnRyeS1wb2ludC1tb2R1bGU+PGVudHJ5LXBvaW50LW1vZHVsZT5jb20uc2FwLnNhaWxpbmcuZ3d0LnVpLlJhY2VCb2FyZDwvZW50cnktcG9pbnQtbW9kdWxlPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLnNhcC5zYWlsaW5nLmd3dC51aS5TcGVjdGF0b3I8L2VudHJ5LXBvaW50LW1vZHVsZT48L2d3dC1jb21waWxlLXNldHRpbmdzPg\=\=
|
||||
@@ -171,6 +171,17 @@ input.magnifier {
|
||||
background: url(images/important-message.png) left center no-repeat;
|
||||
}
|
||||
|
||||
.chart-busyMessage {
|
||||
font-family: 'OpenSansSemiBold',Arial,Verdana,sans-serif;
|
||||
font-size: 20px;
|
||||
height: 70px;
|
||||
margin: 0 auto;
|
||||
padding: 49px 0 0 40px;
|
||||
width: 400px;
|
||||
color: #7c7c7c;
|
||||
background: url(images/busy_indicator_circle.gif) left center no-repeat;
|
||||
}
|
||||
|
||||
.dataMiningPanel {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.github.sdbg.debug.core.chromeMobileConnLaunchConfig">
|
||||
<stringAttribute key="applicationName" value=""/>
|
||||
<stringAttribute key="device" value="<YOUR-DEVICE>"/>
|
||||
<booleanAttribute key="launchFile" value="false"/>
|
||||
<booleanAttribute key="launchTabWithUrl" value="true"/>
|
||||
<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>
|
||||
<stringAttribute key="projectName" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="url" value="http://localhost:8888/gwt/Home.html"/>
|
||||
</launchConfiguration>
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.github.sdbg.debug.core.chromeLaunchConfig">
|
||||
<stringAttribute key="applicationArguments" value=""/>
|
||||
<stringAttribute key="applicationName" value=""/>
|
||||
<booleanAttribute key="launchFile" value="false"/>
|
||||
<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>
|
||||
<stringAttribute key="projectName" value="com.sap.sailing.gwt.ui"/>
|
||||
<booleanAttribute key="showLaunchOutput" value="false"/>
|
||||
<stringAttribute key="url" value="http://127.0.0.1:8888/gwt/Home.html"/>
|
||||
<stringAttribute key="urlQueryParams" value=""/>
|
||||
</launchConfiguration>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="com.github.sdbg.debug.core.androidReverseForwardsLaunchConfig">
|
||||
<stringAttribute key="device" value="<YOUR-DEVICE>"/>
|
||||
<intAttribute key="deviceCommandPort" value="6565"/>
|
||||
<stringAttribute key="reverseForwards" value="localhost:8888:8888,localhost:9876:9876,localhost:9875:9875"/>
|
||||
</launchConfiguration>
|
||||
Executable → Regular
+3
-2
@@ -10,7 +10,7 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sailing.server,
|
||||
com.sap.sailing.domain.tractracadapter,
|
||||
com.sap.sse.mongodb,
|
||||
com.mongodb.driver;bundle-version="2.6.2",
|
||||
org.mongodb.mongo-java-driver;bundle-version="2.13.0",
|
||||
com.sap.sailing.domain.swisstimingadapter,
|
||||
com.sap.sailing.domain.persistence,
|
||||
com.sap.sailing.domain.swisstimingadapter.persistence,
|
||||
@@ -45,7 +45,8 @@ Require-Bundle: com.sap.sailing.domain,
|
||||
com.sap.sse.operationaltransformation,
|
||||
com.sap.sse,
|
||||
com.sap.sse.security.common,
|
||||
com.sap.sse.filestorage
|
||||
com.sap.sse.filestorage,
|
||||
org.apache.shiro.core;bundle-version="1.2.2"
|
||||
Bundle-Activator: com.sap.sailing.gwt.ui.server.Activator
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com.sap.sailing.polars,
|
||||
|
||||
@@ -61,16 +61,6 @@ table {
|
||||
border-collapse: separate;
|
||||
}
|
||||
|
||||
.CombinedWindPanel {
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
-o-border-radius: 4px;
|
||||
-ms-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
background-color: rgba(255, 255, 255, 0.75);
|
||||
border: 1px solid #C9CACA;
|
||||
}
|
||||
|
||||
.CombinedWindPanelParentDiv {
|
||||
padding-top: 34px;
|
||||
padding-left: 10px;
|
||||
@@ -477,11 +467,11 @@ img.openColumn {
|
||||
}
|
||||
|
||||
.TimePanel-ShowExtended-Button-Open {
|
||||
background: white url(images/arrows_top_black.png) center no-repeat;
|
||||
background: white url(images/arrows_bottom_black.png) center no-repeat;
|
||||
}
|
||||
|
||||
.TimePanel-ShowExtended-Button-Closed {
|
||||
background: white url(images/arrows_bottom_black.png) center no-repeat;
|
||||
background: white url(images/arrows_top_black.png) center no-repeat;
|
||||
}
|
||||
|
||||
.TimePanel-ShowExtended-Button:hover {
|
||||
@@ -567,13 +557,17 @@ img.openColumn {
|
||||
background-color: white;
|
||||
background-image: url(images/viewicons/@1x/img/SAP_RV_AudioVideo_INACTIVE.png);
|
||||
background-repeat: no-repeat, no-repeat;
|
||||
background-position: 4% 50%, 96% 50%
|
||||
background-position: 10% 50%, 90% 50%
|
||||
}
|
||||
|
||||
.gwt-SplitLayoutPanel-NorthSouthToggleButton-mediaplaying {
|
||||
background-image: url(images/viewicons/@1x/img/SAP_RV_AudioVideo_GHOSTED.png);
|
||||
}
|
||||
|
||||
.gwt-SplitLayoutPanel-NorthSouthToggleButton-Small-media {
|
||||
background-position: 50% 50%, 100% 50% !important;
|
||||
background-position: 5% 50%, 100% 50% !important;
|
||||
margin-left: 0px !important;
|
||||
padding: 2px 20px !important;
|
||||
padding: 2px 35px !important;
|
||||
}
|
||||
|
||||
@external gwt-ToggleButton-up, gwt-ToggleButton-down, gwt-ToggleButton-up-hovering, gwt-ToggleButton-down-hovering;
|
||||
|
||||
@@ -1,60 +1,60 @@
|
||||
<?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"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<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.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.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.gwt.adminconsole/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.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 9997 -startupUrl /gwt/Home.html com.sap.sailing.gwt.ui.Search -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 com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -XX:MaxPermSize=512m -Xdebug -Xrunjdwp:transport=dt_socket,address=7999,server=y"/>
|
||||
</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"/>
|
||||
<listAttribute key="com.google.gwt.eclipse.core.ENTRY_POINT_MODULES">
|
||||
<listEntry value="com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<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.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.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.gwt.adminconsole/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.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 9997 -startupUrl /gwt/Home.html com.sap.sailing.gwt.ui.Search -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 com.sap.sailing.gwt.ui.VideoPopup"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.sap.sailing.gwt.ui"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx2048m -XX:MaxPermSize=512m -Xdebug -Xrunjdwp:transport=dt_socket,address=7999,server=y"/>
|
||||
</launchConfiguration>
|
||||
@@ -1,75 +1,76 @@
|
||||
<?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"/>
|
||||
<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.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 9997 -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.RaceBoard com.sap.sailing.gwt.Home com.sap.sailing.gwt.ui.DataMining com.sap.sailing.gwt.ui.LeaderboardEditing com.sap.sailing.gwt.ui.AdminConsole com.sap.sailing.gwt.ui.Spectator com.sap.sailing.gwt.ui.RegattaOverview com.sap.sailing.gwt.ui.PolarSheets com.sap.sailing.gwt.ui.Leaderboard com.sap.sailing.gwt.ui.Simulator"/>
|
||||
<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.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.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>
|
||||
@@ -1,73 +1,74 @@
|
||||
<?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"/>
|
||||
<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.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 9997 -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.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.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>
|
||||
@@ -112,6 +112,7 @@
|
||||
<servlet-mapping>
|
||||
<servlet-name>remoteLoggingServlet</servlet-name>
|
||||
<url-pattern>/com.sap.sailing.gwt.ui.AdminConsole/remote_logging</url-pattern>
|
||||
<url-pattern>/com.sap.sailing.gwt.ui.Leaderboard/remote_logging</url-pattern>
|
||||
<url-pattern>/com.sap.sailing.gwt.ui.Simulator/remote_logging</url-pattern>
|
||||
<url-pattern>/com.sap.sailing.gwt.ui.RaceBoard/remote_logging</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
-4
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.autoplay.client;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.user.client.rpc.ServiceDefTarget;
|
||||
import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppActivityMapper;
|
||||
import com.sap.sailing.gwt.autoplay.client.app.AutoPlayAppClientFactory;
|
||||
@@ -26,9 +25,6 @@ public class AutoPlayEntryPoint extends AbstractMvpEntryPoint<StringMessages> {
|
||||
|
||||
SharedResources.INSTANCE.mediaCss().ensureInjected();
|
||||
SharedResources.INSTANCE.mainCss().ensureInjected();
|
||||
|
||||
StyleInjector.injectAtEnd("@media (min-width: 25em) { "+SharedResources.INSTANCE.mediumCss().getText()+"}");
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+SharedResources.INSTANCE.largeCss().getText()+"}");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+2
-14
@@ -8,24 +8,12 @@ import com.google.gwt.resources.client.CssResource.Shared;
|
||||
public interface SharedResources extends ClientBundle {
|
||||
public static final SharedResources INSTANCE = GWT.create(SharedResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/main.css")
|
||||
@Source("com/sap/sailing/gwt/home/main.gss")
|
||||
MainCss mainCss();
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/media.css")
|
||||
@Source("com/sap/sailing/gwt/home/media.gss")
|
||||
MediaCss mediaCss();
|
||||
|
||||
public interface MinWidth25emCss extends MediaCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/medium.css")
|
||||
MinWidth25emCss mediumCss();
|
||||
|
||||
public interface MinWidth50emCss extends MediaCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/large.css")
|
||||
MinWidth50emCss largeCss();
|
||||
|
||||
@Shared
|
||||
public interface MainCss extends CssResource {
|
||||
String grid();
|
||||
|
||||
+1
@@ -6,6 +6,7 @@ import com.google.gwt.i18n.client.Messages;
|
||||
public interface TextMessages extends Messages {
|
||||
public static final TextMessages INSTANCE = GWT.create(TextMessages.class);
|
||||
|
||||
String chartSelectionHint();
|
||||
String chooseALanguage();
|
||||
String home();
|
||||
String events();
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
chartSelectionHint=Hint: You can also use the leaderboard (on the LEADERBOARD tab) to select the competitors displayed in the chart.
|
||||
chooseALanguage=Choose a language
|
||||
events=Events
|
||||
home=Home
|
||||
|
||||
+1
@@ -1,3 +1,4 @@
|
||||
chartSelectionHint=Hinweis: Sie können auch Ergebnisstabelle (im Menü ERGEBNISSE) nutzen, um die im Diagramm angezeigten Teilnehmer auszuwählen.
|
||||
chooseALanguage=Wähle eine Sprache
|
||||
events=Veranstaltungen
|
||||
home=Startseite
|
||||
|
||||
-4
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.home.client;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.user.client.rpc.ServiceDefTarget;
|
||||
import com.sap.sailing.gwt.common.client.SharedResources;
|
||||
import com.sap.sailing.gwt.home.client.app.ApplicationActivityMapper;
|
||||
@@ -22,9 +21,6 @@ public class HomeEntryPoint extends AbstractMvpEntryPoint<StringMessages> {
|
||||
|
||||
SharedResources.INSTANCE.mediaCss().ensureInjected();
|
||||
SharedResources.INSTANCE.mainCss().ensureInjected();
|
||||
|
||||
StyleInjector.injectAtEnd("@media (min-width: 25em) { "+SharedResources.INSTANCE.mediumCss().getText()+"}");
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+SharedResources.INSTANCE.largeCss().getText()+"}");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
-2
@@ -3,7 +3,6 @@ package com.sap.sailing.gwt.home.client.place.event.header;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.ImageElement;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -43,7 +42,6 @@ public class CompactEventHeader extends Composite {
|
||||
this.placeNavigator = placeNavigator;
|
||||
|
||||
EventHeaderResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
|
||||
<!-- event navigation-->
|
||||
<div class="{local_res.css.eventnavigation} {local_res.css.eventnavigationcompact}">
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mainCss.grid}" style="margin-left:5rem;margin-right:5rem;">
|
||||
<div class="{res.mediaCss.columns}">
|
||||
<g:Anchor ui:field="regattaLink">
|
||||
<img ui:field="eventLogo" alt="" height="41" width="41" class="{local_res.css.eventnavigationcompact_logo}"></img>
|
||||
|
||||
+15
-7
@@ -1,6 +1,6 @@
|
||||
.dropdown {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
width: 20em;
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
@@ -62,12 +62,12 @@
|
||||
}
|
||||
.leaderboardquickaccess {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
text-align: right;
|
||||
}
|
||||
.eventheaderwrapper {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventheaderwrapper[data-navigationtype='compact'] .eventheader,
|
||||
.eventheaderwrapper[data-navigationtype='compact'] .eventnavigationnormal {
|
||||
@@ -85,7 +85,7 @@
|
||||
}
|
||||
.eventheader {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
background: #f2f2f2;
|
||||
padding: 2em 0;
|
||||
border-bottom: 1px solid darkgray;
|
||||
@@ -97,7 +97,7 @@
|
||||
}
|
||||
.eventheader_intro_description {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventheader_intro_logo {
|
||||
-webkit-box-shadow: 0 0 5px rgba(204,204,204,0.25);
|
||||
@@ -137,7 +137,7 @@
|
||||
.eventheader_intro_details_item:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
.eventheader_intro_details_item:nth-child\(2\) {
|
||||
.eventheader_intro_details_item:nth-child(2) {
|
||||
border: none;
|
||||
}
|
||||
.eventheader_intro_details_item:last-child {
|
||||
@@ -146,6 +146,14 @@
|
||||
border: none;
|
||||
margin: 0;
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
.eventheader_intro_details_item:nth-child(2) {
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
.eventheader_intro_details_item:last-child {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.eventheader_sharing {
|
||||
text-align: right;
|
||||
}
|
||||
@@ -187,7 +195,7 @@
|
||||
}
|
||||
.eventnavigation {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventnavigationnormal {
|
||||
position: relative;
|
||||
+1
-3
@@ -5,7 +5,6 @@ import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.ImageElement;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -121,7 +120,6 @@ public class EventHeader extends AbstractEventComposite {
|
||||
|
||||
private void initResources() {
|
||||
EventHeaderResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
@@ -168,7 +166,7 @@ public class EventHeader extends AbstractEventComposite {
|
||||
seriesLeaderboardAnchor.setHref(seriesAnalyticsNavigation.getTargetUrl());
|
||||
|
||||
StrippedLeaderboardDTO leaderboardFittingToEvent = findLeaderboardWithSameCourseArea(event);
|
||||
if(leaderboardFittingToEvent != null) {
|
||||
if (leaderboardFittingToEvent != null) {
|
||||
regattaNameInSeriesDiv.setInnerText(leaderboardFittingToEvent.displayName);
|
||||
} else {
|
||||
regattaNameInSeriesDiv.getStyle().setDisplay(Display.NONE);
|
||||
|
||||
-42
@@ -1,42 +0,0 @@
|
||||
.eventheader_intro_details_item:nth-child\(2\) {
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
.eventheader_intro_details_item:last-child {
|
||||
display: inline-block;
|
||||
}
|
||||
.dropdown {}
|
||||
.dropdown_head {}
|
||||
.dropdown_head_title {}
|
||||
.dropdown_head_titlebutton {}
|
||||
.dropdown_content {}
|
||||
.dropdown_content_link {}
|
||||
.dropdown_content_link_title {}
|
||||
.dropdown_content_link_subtitle {}
|
||||
.leaderboardquickaccess {}
|
||||
.eventheaderwrapper {}
|
||||
.eventheader {}
|
||||
.eventheader_intro {}
|
||||
.eventheader_intro_description {}
|
||||
.eventheader_intro_logo {}
|
||||
.eventheader_intro_logo_image {}
|
||||
.eventheader_intro_name {}
|
||||
.eventheader_intro_details {}
|
||||
.eventheader_intro_details_item {}
|
||||
.eventheader_intro_details_itemlink {}
|
||||
.eventheader_sharing {}
|
||||
.eventheader_sharing_item {}
|
||||
.eventheader_sharing_itememail {}
|
||||
.eventheader_sharing_itemtwitter {}
|
||||
.eventheader_sharing_itemfacebook {}
|
||||
.locationicon {}
|
||||
.eventnavigation {}
|
||||
.eventnavigationnormal {}
|
||||
.eventnavigationcompact,
|
||||
.eventnavigationcompactfloating {}
|
||||
.eventnavigationcompact_logo,
|
||||
.eventnavigationcompactfloating_logo {}
|
||||
.eventnavigationcompactfloating {}
|
||||
.eventnavigationcompactfloating.eventnavigationfixed {}
|
||||
.eventnavigation_link {}
|
||||
.eventnavigation_linkactive {}
|
||||
|
||||
+1
-7
@@ -9,15 +9,9 @@ import com.google.gwt.resources.client.ImageResource;
|
||||
public interface EventHeaderResources extends ClientBundle {
|
||||
public static final EventHeaderResources INSTANCE = GWT.create(EventHeaderResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/header/EventHeader.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/header/EventHeader.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface MinWidth50emCss extends LocalCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/header/EventHeaderLarge.css")
|
||||
MinWidth50emCss largeCss();
|
||||
|
||||
@Shared
|
||||
public interface LocalCss extends CssResource {
|
||||
String dropdown();
|
||||
|
||||
+16
@@ -4,6 +4,8 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Style.Visibility;
|
||||
import com.google.gwt.event.dom.client.ChangeEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -14,9 +16,11 @@ import com.google.gwt.user.client.ui.ListBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionProvider;
|
||||
import com.sap.sailing.gwt.ui.client.DetailTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChart;
|
||||
import com.sap.sailing.gwt.ui.client.shared.charts.MultiCompetitorLeaderboardChartSettings;
|
||||
import com.sap.sse.common.Util;
|
||||
|
||||
public class OldCompetitorCharts extends Composite {
|
||||
private static OldCompetitorChartsUiBinder uiBinder = GWT.create(OldCompetitorChartsUiBinder.class);
|
||||
@@ -26,6 +30,7 @@ public class OldCompetitorCharts extends Composite {
|
||||
|
||||
@UiField HTMLPanel oldCompetitorChartsPanel;
|
||||
@UiField ListBox chartTypeSelectionListBox;
|
||||
@UiField DivElement competitorSelectionStateUi;
|
||||
|
||||
private final List<DetailType> availableDetailsTypes;
|
||||
private MultiCompetitorLeaderboardChart multiCompetitorChart;
|
||||
@@ -79,4 +84,15 @@ public class OldCompetitorCharts extends Composite {
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void updateSelectionState(CompetitorSelectionProvider competitorSelectionProvider) {
|
||||
int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors());
|
||||
if(selectedCompetitorsCount > 0) {
|
||||
int competitorsCount = Util.size(competitorSelectionProvider.getAllCompetitors());
|
||||
competitorSelectionStateUi.getStyle().setVisibility(Visibility.VISIBLE);
|
||||
competitorSelectionStateUi.setInnerText(selectedCompetitorsCount + "/" + competitorsCount + " competitors selected.");
|
||||
} else {
|
||||
competitorSelectionStateUi.getStyle().setVisibility(Visibility.HIDDEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-1
@@ -7,7 +7,7 @@
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources" />
|
||||
<ui:with field="local_res2" type="com.sap.sailing.gwt.home.client.place.event.regattaanalytics.RegattaAnalyticsResources" />
|
||||
<g:HTMLPanel>
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mainCss.grid}" style="margin-left:5rem;margin-right:5rem;">
|
||||
<div class="{res.mediaCss.small6} {res.mediaCss.column} {local_res.css.regattaleaderboard_meta_scoring}">
|
||||
<h3><ui:text from="{i18n.competitorsAnalytics}" /></h3>
|
||||
</div>
|
||||
@@ -15,6 +15,11 @@
|
||||
<ui:text from="{i18n.chooseChart}" />
|
||||
<g:ListBox ui:field="chartTypeSelectionListBox" />
|
||||
</div>
|
||||
<div class="{res.mediaCss.column}" style="margin-bottom: 1em;">
|
||||
<b><ui:text from="{i18n.chartSelectionHint}" /></b>
|
||||
</div>
|
||||
<div ui:field="competitorSelectionStateUi" class="{res.mediaCss.column}" style="margin-bottom: 1em;">
|
||||
</div>
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<g:HTMLPanel ui:field="oldCompetitorChartsPanel">
|
||||
</g:HTMLPanel>
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources" />
|
||||
<ui:with field="local_res2" type="com.sap.sailing.gwt.home.client.place.event.oldleaderboard.OldLeaderboardResources" />
|
||||
<g:HTMLPanel>
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mainCss.grid}" style="margin-left:5rem;margin-right:5rem;margin-bottom:1rem;">
|
||||
<div class="{res.mediaCss.small6} {res.mediaCss.column} {local_res.css.regattaleaderboard_meta_scoring}">
|
||||
<p ui:field="lastScoringCommentDiv" class="{local_res.css.regattaleaderboard_meta_scoring_comment}"></p>
|
||||
<p ui:field="scoringSchemeDiv" class="{local_res.css.regattaleaderboard_meta_scoring_type}"></p>
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.event.regattaleaderboard.EventRegattaLeaderboardResources" />
|
||||
<ui:with field="local_res2" type="com.sap.sailing.gwt.home.client.place.event.oldmultileaderboard.OldMultiLeaderboardResources" />
|
||||
<g:HTMLPanel>
|
||||
<div class="{res.mainCss.grid}">
|
||||
<div class="{res.mainCss.grid}" style="margin-left:5rem;margin-right:5rem;margin-bottom:1rem;">
|
||||
<div class="{res.mediaCss.small6} {res.mediaCss.column} {local_res.css.regattaleaderboard_meta_scoring}">
|
||||
<p ui:field="lastScoringCommentDiv" class="{local_res.css.regattaleaderboard_meta_scoring_comment}"></p>
|
||||
<p ui:field="scoringSchemeDiv" class="{local_res.css.regattaleaderboard_meta_scoring_type}"></p>
|
||||
|
||||
+10
-10
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
.latestraceresults {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
margin-top: 1.875em;
|
||||
margin-bottom: 4.0625em;
|
||||
}
|
||||
@@ -76,7 +76,7 @@
|
||||
}
|
||||
.mediateaser {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
margin-top: 1.875em;
|
||||
margin-bottom: 4.0625em;
|
||||
}
|
||||
@@ -184,7 +184,7 @@
|
||||
}
|
||||
.upcomingraceshort {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
padding: 0.8125em 0.625em;
|
||||
zoom: 1;
|
||||
}
|
||||
@@ -247,7 +247,7 @@
|
||||
}
|
||||
.weathershort {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
font-weight: 600;
|
||||
background: #eee;
|
||||
height: 5em;
|
||||
@@ -287,7 +287,7 @@
|
||||
}
|
||||
.newsupdate {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.newsupdate_date {
|
||||
font-size: 0.875em;
|
||||
@@ -296,7 +296,7 @@
|
||||
}
|
||||
.dropdown {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
width: 18.75em;
|
||||
display: inline-block;
|
||||
}
|
||||
@@ -360,12 +360,12 @@
|
||||
}
|
||||
.eventquickfinder.dropdown {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
float: right;
|
||||
}
|
||||
.eventlivebox {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
margin-top: 1.875em;
|
||||
}
|
||||
.eventlivebox_video_container {
|
||||
@@ -381,7 +381,7 @@
|
||||
background: #000;
|
||||
opacity: 0.4;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
|
||||
filter: literal("alpha(opacity=40)");
|
||||
filter: alpha(opacity=40);
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
height: 5em;
|
||||
@@ -460,5 +460,5 @@
|
||||
}
|
||||
.eventoverview {
|
||||
font-size: 16px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
+1
-1
@@ -7,7 +7,7 @@ import com.google.gwt.resources.client.CssResource;
|
||||
public interface EventOverviewResources extends ClientBundle {
|
||||
public static final EventOverviewResources INSTANCE = GWT.create(EventOverviewResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/overview/EventOverview.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/overview/EventOverview.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
|
||||
+10
-4
@@ -1,6 +1,6 @@
|
||||
.regatta {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
border-bottom: 1px solid #d9d9d9;
|
||||
padding: 1.333333333333333em 0;
|
||||
}
|
||||
@@ -16,11 +16,11 @@
|
||||
.regatta[data-rendermode='link']:focus {
|
||||
background-color: #fcfcfc;
|
||||
}
|
||||
.regatta[data-rendermode='link']:nth-child\(odd\) {
|
||||
.regatta[data-rendermode='link']:nth-child(odd) {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
.regatta[data-rendermode='link']:nth-child\(odd\):hover,
|
||||
.regatta[data-rendermode='link']:nth-child\(odd\):focus {
|
||||
.regatta[data-rendermode='link']:nth-child(odd):hover,
|
||||
.regatta[data-rendermode='link']:nth-child(odd):focus {
|
||||
background-color: #f3f3f3;
|
||||
}
|
||||
.regatta_intro {
|
||||
@@ -91,6 +91,12 @@
|
||||
min-height: 2.666666666666667em;
|
||||
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
.regatta_intro_phases_phase {
|
||||
display: inline-block;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
}
|
||||
.regatta_intro_phases_phase_name {
|
||||
font-size: 0.866666666666667em;
|
||||
}
|
||||
-2
@@ -8,7 +8,6 @@ import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.HeadingElement;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -97,7 +96,6 @@ public class Regatta extends Composite {
|
||||
// competitorWithRank3 = new RegattaCompetitor(3, null);
|
||||
|
||||
RegattaResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+RegattaResources.INSTANCE.largeCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
-33
@@ -1,33 +0,0 @@
|
||||
.regatta_intro_phases_phase {
|
||||
display: inline-block;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
.regatta {}
|
||||
.regatta_intro {}
|
||||
.regatta_intro_image {}
|
||||
.regatta_intro_header {}
|
||||
.regatta_intro_header_name {}
|
||||
.regatta_intro_header_namelink:hover,
|
||||
.regatta_intro_header_namelink:focus {}
|
||||
.regatta_intro_header_details {}
|
||||
.regatta_intro_header_details_item {}
|
||||
.regatta_intro_header_details_item_value {}
|
||||
.regatta_intro_header_details_label {}
|
||||
.regatta_intro_phases {}
|
||||
.regatta_intro_phases_phase_name {}
|
||||
.regatta_intro_phases_phase_races {}
|
||||
.regatta_intro_phases_phase_races_race {}
|
||||
.regatta_intro_phases_leaderboardlink {}
|
||||
.regatta_intro_scheduled {}
|
||||
.regatta_intro_results {}
|
||||
.regatta_intro_results_competitor {}
|
||||
.regatta_intro_results_competitor_name {}
|
||||
.regatta_intro_fleets {}
|
||||
.regatta_intro_fleets_fleet {}
|
||||
.regatta_intro_fleets_fleet:last-child {}
|
||||
.regatta_intro_fleets_fleet_item {}
|
||||
.regatta_intro_fleets_fleet_itemfirst {}
|
||||
.regatta_intro_fleets_fleet_item_value {}
|
||||
.regatta_intro_fleets_fleet_item_flag {}
|
||||
.regatta_intro_fleets_fleet_live {}
|
||||
.regatta_intro_details_itemhideoncompact {}
|
||||
+16
-9
@@ -6,6 +6,7 @@ import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.UIObject;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO.RaceColumnLiveState;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
|
||||
public class RegattaPhaseRace extends UIObject {
|
||||
@@ -14,7 +15,7 @@ public class RegattaPhaseRace extends UIObject {
|
||||
interface RegattaPhaseRaceUiBinder extends UiBinder<DivElement, RegattaPhaseRace> {
|
||||
}
|
||||
|
||||
@UiField DivElement raceStatus;
|
||||
@UiField DivElement raceColumnStatus;
|
||||
|
||||
private enum DataStatusEnum {
|
||||
FINISHED ("finished"), LIVE("live"), SCHEDULED("scheduled");
|
||||
@@ -31,14 +32,20 @@ public class RegattaPhaseRace extends UIObject {
|
||||
RegattaResources.INSTANCE.css().ensureInjected();
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
|
||||
DataStatusEnum dataStatus;
|
||||
if(raceColumn.hasLiveRaces(timerForClientServerOffset.getLiveTimePointInMillis())) {
|
||||
dataStatus = DataStatusEnum.LIVE;
|
||||
} else if (raceColumn.hasTrackedRaces()) {
|
||||
dataStatus = DataStatusEnum.FINISHED;
|
||||
} else {
|
||||
dataStatus = DataStatusEnum.SCHEDULED;
|
||||
DataStatusEnum dataStatus = DataStatusEnum.SCHEDULED;
|
||||
RaceColumnLiveState liveState = raceColumn.getLiveState(timerForClientServerOffset.getLiveTimePointInMillis());
|
||||
|
||||
switch(liveState) {
|
||||
case NOT_TRACKED:
|
||||
dataStatus = DataStatusEnum.SCHEDULED;
|
||||
break;
|
||||
case TRACKED:
|
||||
dataStatus = DataStatusEnum.FINISHED;
|
||||
break;
|
||||
case TRACKED_AND_LIVE:
|
||||
dataStatus = DataStatusEnum.LIVE;
|
||||
break;
|
||||
}
|
||||
raceStatus.setAttribute(DataStatusEnum.ATTRIBUTE_NAME, dataStatus.attributeValue);
|
||||
raceColumnStatus.setAttribute(DataStatusEnum.ATTRIBUTE_NAME, dataStatus.attributeValue);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -5,5 +5,5 @@
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.common.client.i18n.TextMessages"/>
|
||||
<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.regatta.RegattaResources" />
|
||||
<div ui:field="raceStatus" class="{local_res.css.regatta_intro_phases_phase_races_race}"></div>
|
||||
<div ui:field="raceColumnStatus" class="{local_res.css.regatta_intro_phases_phase_races_race}"></div>
|
||||
</ui:UiBinder>
|
||||
+1
-6
@@ -8,13 +8,8 @@ import com.google.gwt.resources.client.CssResource.Shared;
|
||||
public interface RegattaResources extends ClientBundle {
|
||||
public static final RegattaResources INSTANCE = GWT.create(RegattaResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regatta/Regatta.gss")
|
||||
LocalCss css();
|
||||
public interface MinWidth50emCss extends LocalCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regatta/RegattaLarge.css")
|
||||
MinWidth50emCss largeCss();
|
||||
|
||||
@Shared
|
||||
public interface LocalCss extends CssResource {
|
||||
|
||||
+1
@@ -182,6 +182,7 @@ public class RegattaAnalytics extends Composite implements LeaderboardUpdateList
|
||||
setActiveTabPanel(competitorChartsTabPanel, competitorChartsAnchor);
|
||||
DetailType selectedChartDetailType = oldCompetitorChartsComposite.getSelectedChartDetailType();
|
||||
regattaAnalyticsManager.showCompetitorChart(selectedChartDetailType);
|
||||
oldCompetitorChartsComposite.updateSelectionState(regattaAnalyticsManager.getCompetitorSelectionProvider());
|
||||
handleClickEvent(event, competitorChartsNavigation);
|
||||
}
|
||||
|
||||
|
||||
Regular → Executable
+29
-1
@@ -1,7 +1,13 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.regattaanalytics;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.DebugIdHelper;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
@@ -12,6 +18,7 @@ import com.sap.sailing.gwt.ui.client.shared.components.Component;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
@@ -32,7 +39,8 @@ public class RegattaAnalyticsDataManager {
|
||||
private final UserAgentDetails userAgent;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final Timer timer;
|
||||
|
||||
private final int MAX_COMPETITORS_IN_CHART = 30;
|
||||
|
||||
public RegattaAnalyticsDataManager(final SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor, Timer timer, ErrorReporter errorReporter, UserAgentDetails userAgent) {
|
||||
this.competitorSelectionProvider = new CompetitorSelectionModel(/* hasMultiSelection */true);
|
||||
this.sailingService = sailingService;
|
||||
@@ -73,12 +81,32 @@ public class RegattaAnalyticsDataManager {
|
||||
return multiCompetitorChart;
|
||||
}
|
||||
|
||||
public CompetitorSelectionModel getCompetitorSelectionProvider() {
|
||||
return competitorSelectionProvider;
|
||||
}
|
||||
|
||||
public void showCompetitorChart(DetailType chartDetailType) {
|
||||
// preselect the top N competitors in case there was no selection before and there too many competitors for a chart
|
||||
int competitorsCount = Util.size(competitorSelectionProvider.getAllCompetitors());
|
||||
int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors());
|
||||
|
||||
if(selectedCompetitorsCount == 0 && competitorsCount > MAX_COMPETITORS_IN_CHART) {
|
||||
List<CompetitorDTO> selectedCompetitors = new ArrayList<CompetitorDTO>();
|
||||
Iterator<CompetitorDTO> allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator();
|
||||
int counter = 0;
|
||||
while(counter < MAX_COMPETITORS_IN_CHART) {
|
||||
selectedCompetitors.add(allCompetitorsIt.next());
|
||||
counter++;
|
||||
}
|
||||
competitorSelectionProvider.setSelection(selectedCompetitors, (CompetitorSelectionChangeListener[]) null);
|
||||
}
|
||||
|
||||
MultiCompetitorLeaderboardChart multiCompetitorChart = getMultiCompetitorChart();
|
||||
MultiCompetitorLeaderboardChartSettings settings = new MultiCompetitorLeaderboardChartSettings(chartDetailType);
|
||||
multiCompetitorChart.updateSettings(settings);
|
||||
multiCompetitorChart.setVisible(true);
|
||||
timer.addTimeListener(multiCompetitorChart);
|
||||
multiCompetitorChart.clearChart();
|
||||
multiCompetitorChart.timeChanged(timer.getTime(), null);
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -52,12 +52,12 @@
|
||||
.regattalink:hover .regatta_intro_image {
|
||||
opacity: 0.9;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
|
||||
filter: literal("alpha(opacity=90)");
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
.regattalink:nth-child\(even\) {
|
||||
.regattalink:nth-child(even) {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
.regattalink:nth-child\(even\):hover {
|
||||
.regattalink:nth-child(even):hover {
|
||||
background-color: #f3f3f3;
|
||||
}
|
||||
.regatta_intro {
|
||||
+1
-1
@@ -7,7 +7,7 @@ import com.google.gwt.resources.client.CssResource;
|
||||
public interface EventRegattaHeaderResources extends ClientBundle {
|
||||
public static final EventRegattaHeaderResources INSTANCE = GWT.create(EventRegattaHeaderResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regattaheader/EventRegattaHeader.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regattaheader/EventRegattaHeader.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
|
||||
+2
@@ -38,6 +38,8 @@
|
||||
text-align: center;
|
||||
}
|
||||
.regattaleaderboard {
|
||||
margin-left: 5rem;
|
||||
margin-right: 5rem;
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
width: 100%;
|
||||
|
||||
+13
-5
@@ -1,6 +1,6 @@
|
||||
.eventregattaraces {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventregattaraces_phase {
|
||||
margin: 2em 0;
|
||||
@@ -69,7 +69,7 @@
|
||||
.eventregattaraces_legend_item:before {
|
||||
content: ' ';
|
||||
position: absolute;
|
||||
top: literal("-0.2em");
|
||||
top: -0.2em;
|
||||
left: 0.666666666666667em;
|
||||
width: 1.733333333333333em;
|
||||
height: 1.733333333333333em;
|
||||
@@ -130,7 +130,7 @@
|
||||
display: block;
|
||||
float: none;
|
||||
margin-right: 0.555555555555556em;
|
||||
margin-top: literal("-0.194444444444444em");
|
||||
margin-top: -0.194444444444444em;
|
||||
font-size: 2.4em;
|
||||
color: #ccc;
|
||||
font-weight: 700;
|
||||
@@ -168,7 +168,7 @@
|
||||
.eventregattarace_features_list,
|
||||
.eventregattarace_legs_list {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventregattarace_features {
|
||||
min-height: 0;
|
||||
@@ -252,7 +252,7 @@
|
||||
}
|
||||
.regattanavigation {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
@@ -277,3 +277,11 @@
|
||||
.regattanavigation_linkactive:focus {
|
||||
border-bottom-color: #d89a00;
|
||||
}
|
||||
@media (min-width: 25em) {
|
||||
.eventregattarace_nameshort {
|
||||
float: left;
|
||||
}
|
||||
.eventregattarace_flag {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
-2
@@ -4,7 +4,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
@@ -43,7 +42,6 @@ public class EventRegattaRaces extends AbstractEventComposite {
|
||||
regatta = new Regatta(event, timerForClientServerOffset, true, placeNavigator, pageNavigator);
|
||||
|
||||
EventRegattaRacesResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 25em) { "+EventRegattaRacesResources.INSTANCE.mediumCss().getText()+"}");
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
|
||||
-50
@@ -1,50 +0,0 @@
|
||||
.eventregattarace_nameshort {
|
||||
float: left;
|
||||
}
|
||||
.eventregattarace_flag {
|
||||
display: inline-block;
|
||||
}
|
||||
.eventregattaraces {}
|
||||
.eventregattaraces_phase {}
|
||||
.eventregattaraces_phase_name {}
|
||||
.eventregattaraces_phase_day {}
|
||||
.eventregattaraces_phase_races {}
|
||||
.eventregattaraces_phase_fleets {}
|
||||
.eventregattaraces_phase_fleet {}
|
||||
.eventregattaraces_phase_fleet_name {}
|
||||
.eventregattaraces_phase_fleet_count {}
|
||||
.eventregattaraces_legend {}
|
||||
.eventregattaraces_legend_item {}
|
||||
.eventregattarace {}
|
||||
.eventregattarace_fleetindicator {}
|
||||
.eventregattarace_details {}
|
||||
.eventregattarace_name {}
|
||||
.eventregattarace_flag {}
|
||||
.eventregattarace_wind {}
|
||||
.eventregattarace_wind_strength {}
|
||||
.eventregattarace_leader {}
|
||||
.eventregattarace_leader_name {}
|
||||
.eventregattarace_features,
|
||||
.eventregattarace_legs {}
|
||||
.eventregattarace_features_list,
|
||||
.eventregattarace_legs_list {}
|
||||
.eventregattarace_features {}
|
||||
.eventregattarace_legs_leg {}
|
||||
.eventregattarace_action {}
|
||||
.eventregattarace_action_watch,
|
||||
.eventregattarace_action_analyze {}
|
||||
.eventregattarace_action_watch {}
|
||||
.eventregattarace_actiondisabled {}
|
||||
.eventregattarace_feature {}
|
||||
.eventregattarace_featuregps {}
|
||||
.eventregattarace_featurewind {}
|
||||
.eventregattarace_featurevideo {}
|
||||
.eventregattarace_featureaudio {}
|
||||
.eventregattarace_featureunavailable {}
|
||||
.regattanavigation {}
|
||||
.regattanavigation_link {}
|
||||
.regattanavigation_linkactive {}
|
||||
.eventregattaraces_legend_itemgps {}
|
||||
.eventregattaraces_legend_itemwind {}
|
||||
.eventregattaraces_legend_itemvideo {}
|
||||
.eventregattaraces_legend_itemaudio {}
|
||||
+3
-26
@@ -16,6 +16,7 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceDTO.RaceLiveState;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventPlaceNavigator;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
@@ -23,8 +24,6 @@ import com.sap.sse.gwt.client.player.Timer;
|
||||
public class EventRegattaRacesRace extends Composite {
|
||||
private static EventRegattaRacesRaceUiBinder uiBinder = GWT.create(EventRegattaRacesRaceUiBinder.class);
|
||||
|
||||
private enum SimpleRaceStates { NOT_TRACKED, TRACKED, TRACKED_AND_LIVE, TRACKED_BUT_NOT_SCHEDULED };
|
||||
|
||||
interface EventRegattaRacesRaceUiBinder extends UiBinder<Widget, EventRegattaRacesRace> {
|
||||
}
|
||||
|
||||
@@ -62,16 +61,12 @@ public class EventRegattaRacesRace extends Composite {
|
||||
|
||||
private final DateTimeFormat raceTimeFormat = DateTimeFormat.getFormat("EEE, h:mm a");
|
||||
|
||||
private final FleetDTO fleet;
|
||||
private final RaceColumnDTO raceColumn;
|
||||
private final RaceDTO race;
|
||||
private final Timer timerForClientServerOffset;
|
||||
|
||||
private Element[] allConditionalElements;
|
||||
|
||||
public EventRegattaRacesRace(StrippedLeaderboardDTO leaderboard, FleetDTO fleet, RaceColumnDTO raceColumn, Timer timerForClientServerOffset, EventPlaceNavigator pageNavigator) {
|
||||
this.fleet = fleet;
|
||||
this.raceColumn = raceColumn;
|
||||
this.timerForClientServerOffset = timerForClientServerOffset;
|
||||
race = raceColumn.getRace(fleet);
|
||||
|
||||
@@ -97,25 +92,6 @@ public class EventRegattaRacesRace extends Composite {
|
||||
updateUI();
|
||||
}
|
||||
|
||||
private SimpleRaceStates getSimpleRaceState() {
|
||||
SimpleRaceStates simpleRaceState = SimpleRaceStates.NOT_TRACKED;
|
||||
|
||||
if(race != null && race.trackedRace != null && race.trackedRace.hasGPSData && race.trackedRace.hasWindData) {
|
||||
simpleRaceState = SimpleRaceStates.TRACKED;
|
||||
if(isLive()) {
|
||||
simpleRaceState = SimpleRaceStates.TRACKED_AND_LIVE;
|
||||
if(race.startOfRace == null) {
|
||||
simpleRaceState = SimpleRaceStates.TRACKED_BUT_NOT_SCHEDULED;
|
||||
}
|
||||
}
|
||||
}
|
||||
return simpleRaceState;
|
||||
}
|
||||
|
||||
private boolean isLive() {
|
||||
return raceColumn.isLive(fleet, timerForClientServerOffset.getLiveTimePointInMillis());
|
||||
}
|
||||
|
||||
private void updateUI() {
|
||||
averageRaceWind.setInnerText("tbd.");
|
||||
|
||||
@@ -123,7 +99,8 @@ public class EventRegattaRacesRace extends Composite {
|
||||
hideElement(el);
|
||||
}
|
||||
|
||||
switch(getSimpleRaceState()) {
|
||||
RaceLiveState liveState = race != null ? race.getLiveState(timerForClientServerOffset.getLiveTimePointInMillis()) : RaceLiveState.NOT_TRACKED;
|
||||
switch(liveState) {
|
||||
case NOT_TRACKED:
|
||||
showElement(raceNotTrackedDiv);
|
||||
break;
|
||||
|
||||
+1
-7
@@ -8,13 +8,7 @@ import com.google.gwt.resources.client.CssResource.Shared;
|
||||
public interface EventRegattaRacesResources extends ClientBundle {
|
||||
public static final EventRegattaRacesResources INSTANCE = GWT.create(EventRegattaRacesResources.class);
|
||||
|
||||
public interface MinWidth25emCss extends LocalCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRacesMedium.css")
|
||||
MinWidth25emCss mediumCss();
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/place/event/regattaraces/EventRegattaRaces.gss")
|
||||
LocalCss css();
|
||||
|
||||
@Shared
|
||||
|
||||
+1
@@ -213,6 +213,7 @@ public class EventSeriesAnalytics extends Composite implements LeaderboardUpdate
|
||||
setActiveTabPanel(competitorChartsTabPanel, eventSeriesAnalyticsManager.getMultiCompetitorChart(), competitorChartsAnchor);
|
||||
DetailType selectedChartDetailType = oldCompetitorChartsComposite.getSelectedChartDetailType();
|
||||
eventSeriesAnalyticsManager.showCompetitorChart(selectedChartDetailType);
|
||||
oldCompetitorChartsComposite.updateSelectionState(eventSeriesAnalyticsManager.getCompetitorSelectionProvider());
|
||||
handleClickEvent(event, competitorChartsNavigation);
|
||||
}
|
||||
|
||||
|
||||
Regular → Executable
+27
@@ -1,8 +1,13 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.seriesanalytics;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import com.sap.sailing.domain.common.DetailType;
|
||||
import com.sap.sailing.domain.common.RaceIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.CompetitorSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.DebugIdHelper;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
@@ -14,6 +19,7 @@ import com.sap.sailing.gwt.ui.client.shared.components.SettingsDialog;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardPanel;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.MultiLeaderboardPanel;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.AsyncActionsExecutor;
|
||||
import com.sap.sse.gwt.client.player.Timer;
|
||||
@@ -37,6 +43,7 @@ public class EventSeriesAnalyticsDataManager {
|
||||
private final UserAgentDetails userAgent;
|
||||
private final SailingServiceAsync sailingService;
|
||||
private final Timer timer;
|
||||
private final int MAX_COMPETITORS_IN_CHART = 30;
|
||||
|
||||
public EventSeriesAnalyticsDataManager(final SailingServiceAsync sailingService, AsyncActionsExecutor asyncActionsExecutor, Timer timer, ErrorReporter errorReporter, UserAgentDetails userAgent) {
|
||||
this.competitorSelectionProvider = new CompetitorSelectionModel(/* hasMultiSelection */true);
|
||||
@@ -94,14 +101,34 @@ public class EventSeriesAnalyticsDataManager {
|
||||
}
|
||||
|
||||
public void showCompetitorChart(DetailType chartDetailType) {
|
||||
// preselect the top N competitors in case there was no selection before and there too many competitors for a chart
|
||||
int competitorsCount = Util.size(competitorSelectionProvider.getAllCompetitors());
|
||||
int selectedCompetitorsCount = Util.size(competitorSelectionProvider.getSelectedCompetitors());
|
||||
|
||||
if(selectedCompetitorsCount == 0 && competitorsCount > MAX_COMPETITORS_IN_CHART) {
|
||||
List<CompetitorDTO> selectedCompetitors = new ArrayList<CompetitorDTO>();
|
||||
Iterator<CompetitorDTO> allCompetitorsIt = competitorSelectionProvider.getAllCompetitors().iterator();
|
||||
int counter = 0;
|
||||
while(counter < MAX_COMPETITORS_IN_CHART) {
|
||||
selectedCompetitors.add(allCompetitorsIt.next());
|
||||
counter++;
|
||||
}
|
||||
competitorSelectionProvider.setSelection(selectedCompetitors, (CompetitorSelectionChangeListener[]) null);
|
||||
}
|
||||
|
||||
MultiCompetitorLeaderboardChart multiCompetitorChart = getMultiCompetitorChart();
|
||||
MultiCompetitorLeaderboardChartSettings settings = new MultiCompetitorLeaderboardChartSettings(chartDetailType);
|
||||
multiCompetitorChart.updateSettings(settings);
|
||||
multiCompetitorChart.setVisible(true);
|
||||
timer.addTimeListener(multiCompetitorChart);
|
||||
multiCompetitorChart.clearChart();
|
||||
multiCompetitorChart.timeChanged(timer.getTime(), null);
|
||||
}
|
||||
|
||||
public CompetitorSelectionModel getCompetitorSelectionProvider() {
|
||||
return competitorSelectionProvider;
|
||||
}
|
||||
|
||||
public void hideCompetitorChart() {
|
||||
MultiCompetitorLeaderboardChart multiCompetitorChart = getMultiCompetitorChart();
|
||||
multiCompetitorChart.setVisible(false);
|
||||
|
||||
+8
-8
@@ -1,13 +1,13 @@
|
||||
.eventteasercontainer {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
height: 24em;
|
||||
}
|
||||
.eventteaser {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
display: inline-block;
|
||||
margin-bottom: 3em;
|
||||
text-align: left;
|
||||
@@ -22,7 +22,7 @@
|
||||
.eventteaser:hover .eventteaser_image {
|
||||
opacity: 0.9;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
|
||||
filter: literal("alpha(opacity=90)");
|
||||
filter: alpha(opacity=90);
|
||||
}
|
||||
.eventteaser_image {
|
||||
position: relative;
|
||||
@@ -45,24 +45,24 @@
|
||||
}
|
||||
.eventsoverviewnavigation {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventsoverviewnavigation .gridalternator {
|
||||
overflow: visible;
|
||||
}
|
||||
.eventsoverviewrecent {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.eventsoverviewrecent_year {
|
||||
border-bottom: 1px solid #ccc;
|
||||
transiton: opacity 0.1s;
|
||||
}
|
||||
.eventsoverviewrecent_year:nth-child\(even\) {
|
||||
.eventsoverviewrecent_year:nth-child(even) {
|
||||
background: #f8f8f8;
|
||||
}
|
||||
.eventsoverviewrecent_year:nth-child\(even\) .eventsoverviewrecent_year_header:hover,
|
||||
.eventsoverviewrecent_year:nth-child\(even\) .eventsoverviewrecent_year_header:focus {
|
||||
.eventsoverviewrecent_year:nth-child(even) .eventsoverviewrecent_year_header:hover,
|
||||
.eventsoverviewrecent_year:nth-child(even) .eventsoverviewrecent_year_header:focus {
|
||||
background-color: #f3f3f3;
|
||||
}
|
||||
.eventsoverviewrecent_yearcollapsed .eventsoverviewrecent_year_header_info_arrow_image {
|
||||
+1
-1
@@ -7,7 +7,7 @@ import com.google.gwt.resources.client.CssResource;
|
||||
public interface EventsOverviewRecentResources extends ClientBundle {
|
||||
public static final EventsOverviewRecentResources INSTANCE = GWT.create(EventsOverviewRecentResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/place/events/recent/EventsOverviewRecent.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/place/events/recent/EventsOverviewRecent.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
|
||||
+18
-1
@@ -144,6 +144,9 @@ public class RegattaActivity extends AbstractActivity {
|
||||
List<DetailType> maneuverDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_MANEUVER_DETAIL));
|
||||
List<DetailType> raceDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_RACE_DETAIL));
|
||||
List<DetailType> overallDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_OVERALL_DETAIL));
|
||||
if (overallDetails.isEmpty()) {
|
||||
overallDetails = Collections.singletonList(DetailType.REGATTA_RANK);
|
||||
}
|
||||
List<DetailType> legDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_LEG_DETAIL));
|
||||
List<String> namesOfRacesToShow = getStringListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_RACE_NAME));
|
||||
boolean showAddedScores = parameterMap.containsKey(LeaderboardUrlSettings.PARAM_SHOW_ADDED_SCORES) ?
|
||||
@@ -153,13 +156,27 @@ public class RegattaActivity extends AbstractActivity {
|
||||
boolean autoExpandPreSelectedRace = parameterMap.containsKey(LeaderboardUrlSettings.PARAM_AUTO_EXPAND_PRESELECTED_RACE) ?
|
||||
Boolean.valueOf(parameterMap.get(LeaderboardUrlSettings.PARAM_AUTO_EXPAND_PRESELECTED_RACE).get(0)) :
|
||||
(namesOfRacesToShow != null && namesOfRacesToShow.size() == 1);
|
||||
boolean showCompetitorSailIdColumn = true;
|
||||
boolean showCompetitorFullNameColumn = true;
|
||||
if (parameterMap.containsKey(LeaderboardUrlSettings.PARAM_SHOW_COMPETITOR_NAME_COLUMNS)) {
|
||||
String value = parameterMap.get(LeaderboardUrlSettings.PARAM_SHOW_COMPETITOR_NAME_COLUMNS).get(0);
|
||||
if (value.equals(LeaderboardUrlSettings.COMPETITOR_NAME_COLUMN_FULL_NAME)) {
|
||||
showCompetitorSailIdColumn = false;
|
||||
} else if (value.equals(LeaderboardUrlSettings.COMPETITOR_NAME_COLUMN_SAIL_ID)) {
|
||||
showCompetitorFullNameColumn = false;
|
||||
} else if (value.trim().equals("")) {
|
||||
showCompetitorFullNameColumn = false;
|
||||
showCompetitorSailIdColumn = false;
|
||||
}
|
||||
}
|
||||
result = new LeaderboardSettings(maneuverDetails, legDetails, raceDetails, overallDetails,
|
||||
/* namesOfRaceColumnsToShow */ null,
|
||||
namesOfRacesToShow, numberOfLastRacesToShow,
|
||||
autoExpandPreSelectedRace, refreshIntervalMillis, /* sort by column */ (namesOfRacesToShow != null && !namesOfRacesToShow.isEmpty()) ?
|
||||
namesOfRacesToShow.get(0) : null,
|
||||
/* ascending */ true, /* updateUponPlayStateChange */ raceDetails.isEmpty() && legDetails.isEmpty(),
|
||||
raceColumnSelectionStrategy, showAddedScores, showOverallColumnWithNumberOfRacesSailedPerCompetitor);
|
||||
raceColumnSelectionStrategy, showAddedScores, showOverallColumnWithNumberOfRacesSailedPerCompetitor,
|
||||
showCompetitorSailIdColumn, showCompetitorFullNameColumn);
|
||||
|
||||
} else {
|
||||
final List<DetailType> overallDetails = Collections.singletonList(DetailType.REGATTA_RANK);
|
||||
|
||||
+18
-1
@@ -145,6 +145,9 @@ public class SeriesActivity extends AbstractActivity {
|
||||
List<DetailType> maneuverDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_MANEUVER_DETAIL));
|
||||
List<DetailType> raceDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_RACE_DETAIL));
|
||||
List<DetailType> overallDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_OVERALL_DETAIL));
|
||||
if (overallDetails.isEmpty()) {
|
||||
overallDetails = Collections.singletonList(DetailType.REGATTA_RANK);
|
||||
}
|
||||
List<DetailType> legDetails = getDetailTypeListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_LEG_DETAIL));
|
||||
List<String> namesOfRacesToShow = getStringListFromParamValue(parameterMap.get(LeaderboardUrlSettings.PARAM_RACE_NAME));
|
||||
boolean showAddedScores = parameterMap.containsKey(LeaderboardUrlSettings.PARAM_SHOW_ADDED_SCORES) ?
|
||||
@@ -154,13 +157,27 @@ public class SeriesActivity extends AbstractActivity {
|
||||
boolean autoExpandPreSelectedRace = parameterMap.containsKey(LeaderboardUrlSettings.PARAM_AUTO_EXPAND_PRESELECTED_RACE) ?
|
||||
Boolean.valueOf(parameterMap.get(LeaderboardUrlSettings.PARAM_AUTO_EXPAND_PRESELECTED_RACE).get(0)) :
|
||||
(namesOfRacesToShow != null && namesOfRacesToShow.size() == 1);
|
||||
boolean showCompetitorSailIdColumn = true;
|
||||
boolean showCompetitorFullNameColumn = true;
|
||||
if (parameterMap.containsKey(LeaderboardUrlSettings.PARAM_SHOW_COMPETITOR_NAME_COLUMNS)) {
|
||||
String value = parameterMap.get(LeaderboardUrlSettings.PARAM_SHOW_COMPETITOR_NAME_COLUMNS).get(0);
|
||||
if (value.equals(LeaderboardUrlSettings.COMPETITOR_NAME_COLUMN_FULL_NAME)) {
|
||||
showCompetitorSailIdColumn = false;
|
||||
} else if (value.equals(LeaderboardUrlSettings.COMPETITOR_NAME_COLUMN_SAIL_ID)) {
|
||||
showCompetitorFullNameColumn = false;
|
||||
} else if (value.trim().equals("")) {
|
||||
showCompetitorFullNameColumn = false;
|
||||
showCompetitorSailIdColumn = false;
|
||||
}
|
||||
}
|
||||
result = new LeaderboardSettings(maneuverDetails, legDetails, raceDetails, overallDetails,
|
||||
/* namesOfRaceColumnsToShow */ null,
|
||||
namesOfRacesToShow, numberOfLastRacesToShow,
|
||||
autoExpandPreSelectedRace, refreshIntervalMillis, /* sort by column */ (namesOfRacesToShow != null && !namesOfRacesToShow.isEmpty()) ?
|
||||
namesOfRacesToShow.get(0) : null,
|
||||
/* ascending */ true, /* updateUponPlayStateChange */ raceDetails.isEmpty() && legDetails.isEmpty(),
|
||||
raceColumnSelectionStrategy, showAddedScores, showOverallColumnWithNumberOfRacesSailedPerCompetitor);
|
||||
raceColumnSelectionStrategy, showAddedScores, showOverallColumnWithNumberOfRacesSailedPerCompetitor,
|
||||
showCompetitorSailIdColumn, showCompetitorFullNameColumn);
|
||||
|
||||
} else {
|
||||
final List<DetailType> overallDetails = Collections.singletonList(DetailType.REGATTA_RANK);
|
||||
|
||||
+15
-1
@@ -1,6 +1,6 @@
|
||||
.sitefooter {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
background: #333;
|
||||
border-top: 5px solid #fff;
|
||||
color: #fff;
|
||||
@@ -35,3 +35,17 @@
|
||||
cursor: pointer;
|
||||
margin-left: 0.666666666666667em;
|
||||
}
|
||||
@media (min-width: 25em) {
|
||||
.sitefooter {
|
||||
line-height: 4.666666666666667em;
|
||||
}
|
||||
.sitefooter_copyright {
|
||||
float: left;
|
||||
}
|
||||
.sitefooter_links_link {
|
||||
display: inline-block;
|
||||
}
|
||||
.sitefooter_language {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -7,7 +7,6 @@ import java.util.Map.Entry;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.http.client.UrlBuilder;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
@@ -20,11 +19,11 @@ import com.google.gwt.user.client.Window.Location;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.user.client.ui.impl.HyperlinkImpl;
|
||||
import com.sap.sailing.gwt.home.client.app.HomePlacesNavigator;
|
||||
import com.sap.sailing.gwt.home.client.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.client.place.whatsnew.WhatsNewPlace;
|
||||
import com.sap.sailing.gwt.home.client.place.whatsnew.WhatsNewPlace.WhatsNewNavigationTabs;
|
||||
import com.google.gwt.user.client.ui.impl.HyperlinkImpl;
|
||||
|
||||
public class Footer extends Composite {
|
||||
private static FooterPanelUiBinder uiBinder = GWT.create(FooterPanelUiBinder.class);
|
||||
@@ -52,7 +51,6 @@ public class Footer extends Composite {
|
||||
localeAndLanguages.put("de", "Deutsch");
|
||||
|
||||
FooterResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 25em) { "+FooterResources.INSTANCE.mediumCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
.sitefooter {
|
||||
line-height: 4.666666666666667em;
|
||||
}
|
||||
.sitefooter_copyright {
|
||||
float: left;
|
||||
}
|
||||
.sitefooter_links_link {
|
||||
display: inline-block;
|
||||
}
|
||||
.sitefooter_language {
|
||||
text-align: right;
|
||||
}
|
||||
.sitefooter_copyright {}
|
||||
.sitefooter_links {}
|
||||
.sitefooter_links_link {}
|
||||
.sitefooter_links_link:last-child {}
|
||||
.sitefooter_language {}
|
||||
.sitefooter_language_link {}
|
||||
+1
-8
@@ -3,21 +3,14 @@ package com.sap.sailing.gwt.home.client.shared.footer;
|
||||
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.CssResource.NotStrict;
|
||||
import com.google.gwt.resources.client.CssResource.Shared;
|
||||
|
||||
public interface FooterResources extends ClientBundle {
|
||||
public static final FooterResources INSTANCE = GWT.create(FooterResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/footer/Footer.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/footer/Footer.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface MinWidth25emCss extends LocalCss {
|
||||
}
|
||||
@NotStrict
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/footer/FooterMedium.css")
|
||||
MinWidth25emCss mediumCss();
|
||||
|
||||
@Shared
|
||||
public interface LocalCss extends CssResource {
|
||||
String sitefooter();
|
||||
|
||||
+8
-3
@@ -1,6 +1,6 @@
|
||||
.siteheader {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
background: #333;
|
||||
border-bottom: 5px solid #f0ab00;
|
||||
min-height: 4.333333333333333em;
|
||||
@@ -22,6 +22,11 @@
|
||||
line-height: 4.333333333333333em;
|
||||
color: #f6f9fc;
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
.logotitle {
|
||||
display: inline;
|
||||
}
|
||||
}
|
||||
.sitenavigation {
|
||||
float: right;
|
||||
text-align: right;
|
||||
@@ -69,7 +74,7 @@
|
||||
}
|
||||
.search {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin-top: 0.2em;
|
||||
@@ -102,7 +107,7 @@
|
||||
.searchsmall .search_textfield {
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: literal("alpha(opacity=0)");
|
||||
filter: alpha(opacity=0);
|
||||
pointer-events: none;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-2
@@ -4,7 +4,6 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.KeyCodes;
|
||||
import com.google.gwt.event.dom.client.KeyPressEvent;
|
||||
@@ -56,7 +55,6 @@ public class Header extends Composite {
|
||||
this.navigator = navigator;
|
||||
|
||||
HeaderResources.INSTANCE.css().ensureInjected();
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+HeaderResources.INSTANCE.largeCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
links = Arrays.asList(new Anchor[] { startPageLink, eventsPageLink, solutionsPageLink });
|
||||
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
.logotitle {
|
||||
display: inline;
|
||||
}
|
||||
.siteheader {}
|
||||
.siteheader_full {}
|
||||
.logo {}
|
||||
.sitenavigation {}
|
||||
.sitenavigation_link {}
|
||||
.sitenavigation_link:hover,
|
||||
.sitenavigation_link:focus {}
|
||||
.sitenavigation_linkactive,
|
||||
.sitenavigation_link:hover,
|
||||
.sitenavigation_link:focus {}
|
||||
.sitenavigation_search {}
|
||||
.sitenavigationexpanded .searchsmall {}
|
||||
.sitenavigationexpanded .searchsmall .search_textfield {}
|
||||
.search {}
|
||||
.search_textfield {}
|
||||
.search_button {}
|
||||
.search_button:hover,
|
||||
.search_button:focus {}
|
||||
.searchsmall {}
|
||||
.searchsmall .search_textfield {}
|
||||
.searchsmall .search_button {}
|
||||
.submit {}
|
||||
+1
-7
@@ -9,15 +9,9 @@ import com.google.gwt.resources.client.ImageResource;
|
||||
public interface HeaderResources extends ClientBundle {
|
||||
public static final HeaderResources INSTANCE = GWT.create(HeaderResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/header/Header.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/header/Header.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface MinWidth50emCss extends LocalCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/header/HeaderLarge.css")
|
||||
MinWidth50emCss largeCss();
|
||||
|
||||
@Shared
|
||||
public interface LocalCss extends CssResource {
|
||||
String siteheader();
|
||||
|
||||
+62
-9
@@ -1,6 +1,6 @@
|
||||
.solutions {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
padding-top: 3.4em;
|
||||
}
|
||||
.solutions_nav {
|
||||
@@ -44,10 +44,10 @@
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
.solutions_content:nth-child\(odd\) {
|
||||
.solutions_content:nth-child(odd) {
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
.solutions_content:nth-child\(even\) {
|
||||
.solutions_content:nth-child(even) {
|
||||
background-color: #fff;
|
||||
}
|
||||
.solutions_content .parallax {
|
||||
@@ -77,14 +77,14 @@
|
||||
}
|
||||
.solutions_contentrace {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.solutions_contentrace .gridalternator {
|
||||
padding: 2.666666666666667em 0 10%;
|
||||
}
|
||||
.solutions_contentrace .parallax {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.solutions_contentrace .parallax .background {
|
||||
margin: auto;
|
||||
@@ -105,7 +105,7 @@
|
||||
}
|
||||
.solutions_contentpost {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.solutions_contentpost .gridalternator {
|
||||
background-repeat: no-repeat;
|
||||
@@ -118,14 +118,14 @@
|
||||
}
|
||||
.solutions_contenttraining {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.solutions_contenttraining .gridalternator {
|
||||
padding-top: 5em;
|
||||
}
|
||||
.solutions_contenttraining .parallax {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.solutions_contenttraining .parallax .background {
|
||||
margin: auto;
|
||||
@@ -143,7 +143,7 @@
|
||||
}
|
||||
.solutions_contentsimulator {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.solutions_contentsimulator .gridalternator {
|
||||
background-repeat: no-repeat;
|
||||
@@ -158,3 +158,56 @@
|
||||
display: inline-block;
|
||||
margin-top: 2.666666666666667em;
|
||||
}
|
||||
|
||||
@media (min-width: 25em) {
|
||||
.solutions_nav_link {
|
||||
margin-right: 1em;
|
||||
}
|
||||
.solutions_content .gridalternator {
|
||||
padding: 5em 0;
|
||||
}
|
||||
.solutions_contentsap .gridalternator {
|
||||
padding: 5em 0 5.666666666666667em;
|
||||
}
|
||||
.solutions_contentrace .gridalternator {
|
||||
padding: 4em 0 15%;
|
||||
}
|
||||
.solutions_contentrace .parallax .background {
|
||||
background-position: center 16.666666666666668em;
|
||||
}
|
||||
.solutions_contentpost .gridalternator {
|
||||
padding: 3.333333333333333em 0;
|
||||
}
|
||||
.solutions_contenttraining .gridalternator {
|
||||
padding-top: 6.666666666666667em;
|
||||
}
|
||||
.solutions_contentsimulator .gridalternator {
|
||||
padding: 5em 0 6.666666666666667em;
|
||||
}
|
||||
}
|
||||
@media (min-width: 50em) {
|
||||
.solutions_nav_link {
|
||||
margin-right: 2em;
|
||||
}
|
||||
.solutions_content .gridalternator {
|
||||
padding: 6.666666666666667em 0;
|
||||
}
|
||||
.solutions_contentsap .gridalternator {
|
||||
padding: 6.666666666666667em 0 12em;
|
||||
}
|
||||
.solutions_contentrace .gridalternator {
|
||||
padding: 4em 0 20%;
|
||||
}
|
||||
.solutions_contentrace .parallax .background {
|
||||
background-position: center 13.333333333333334em;
|
||||
}
|
||||
.solutions_contentpost .gridalternator {
|
||||
padding: 5em 0;
|
||||
}
|
||||
.solutions_contenttraining .gridalternator {
|
||||
padding-top: 8.333333333333334em;
|
||||
}
|
||||
.solutions_contentsimulator .gridalternator {
|
||||
padding: 6.666666666666667em 0 13.333333333333334em;
|
||||
}
|
||||
}
|
||||
-4
@@ -3,7 +3,6 @@ package com.sap.sailing.gwt.home.client.shared.solutions;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.core.client.Scheduler;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.StyleInjector;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
@@ -63,9 +62,6 @@ public class Solutions extends Composite {
|
||||
this.placesNavigator = placesNavigator;
|
||||
|
||||
SolutionsResources.INSTANCE.css().ensureInjected();
|
||||
|
||||
StyleInjector.injectAtEnd("@media (min-width: 25em) { "+SolutionsResources.INSTANCE.mediumCss().getText()+"}");
|
||||
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+SolutionsResources.INSTANCE.largeCss().getText()+"}");
|
||||
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
.solutions_nav_link {
|
||||
margin-right: 2em;
|
||||
}
|
||||
.solutions_content .gridalternator {
|
||||
padding: 6.666666666666667em 0;
|
||||
}
|
||||
.solutions_contentsap .gridalternator {
|
||||
padding: 6.666666666666667em 0 12em;
|
||||
}
|
||||
.solutions_contentrace .gridalternator {
|
||||
padding: 4em 0 20%;
|
||||
}
|
||||
.solutions_contentrace .parallax .background {
|
||||
background-position: center 13.333333333333334em;
|
||||
}
|
||||
.solutions_contentpost .gridalternator {
|
||||
padding: 5em 0;
|
||||
}
|
||||
.solutions_contenttraining .gridalternator {
|
||||
padding-top: 8.333333333333334em;
|
||||
}
|
||||
.solutions_contentsimulator .gridalternator {
|
||||
padding: 6.666666666666667em 0 13.333333333333334em;
|
||||
}
|
||||
.solutions_content_linkappstore{}
|
||||
.noparallax{}
|
||||
.solutions{}
|
||||
.solutions_nav{}
|
||||
.solutions_nav_linkactive{}
|
||||
.solutions_navsticky{}
|
||||
-30
@@ -1,30 +0,0 @@
|
||||
.solutions_nav_link {
|
||||
margin-right: 1em;
|
||||
}
|
||||
.solutions_content .gridalternator {
|
||||
padding: 5em 0;
|
||||
}
|
||||
.solutions_contentsap .gridalternator {
|
||||
padding: 5em 0 5.666666666666667em;
|
||||
}
|
||||
.solutions_contentrace .gridalternator {
|
||||
padding: 4em 0 15%;
|
||||
}
|
||||
.solutions_contentrace .parallax .background {
|
||||
background-position: center 16.666666666666668em;
|
||||
}
|
||||
.solutions_contentpost .gridalternator {
|
||||
padding: 3.333333333333333em 0;
|
||||
}
|
||||
.solutions_contenttraining .gridalternator {
|
||||
padding-top: 6.666666666666667em;
|
||||
}
|
||||
.solutions_contentsimulator .gridalternator {
|
||||
padding: 5em 0 6.666666666666667em;
|
||||
}
|
||||
.solutions_content_linkappstore{}
|
||||
.noparallax{}
|
||||
.solutions{}
|
||||
.solutions_nav{}
|
||||
.solutions_nav_linkactive{}
|
||||
.solutions_navsticky{}
|
||||
+1
-13
@@ -8,21 +8,9 @@ import com.google.gwt.resources.client.CssResource.Shared;
|
||||
public interface SolutionsResources extends ClientBundle {
|
||||
public static final SolutionsResources INSTANCE = GWT.create(SolutionsResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/solutions/Solutions.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/solutions/Solutions.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface MinWidth25emCss extends LocalCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/solutions/SolutionsMedium.css")
|
||||
MinWidth25emCss mediumCss();
|
||||
|
||||
public interface MinWidth50emCss extends LocalCss {
|
||||
}
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/solutions/SolutionsLarge.css")
|
||||
MinWidth50emCss largeCss();
|
||||
|
||||
@Shared
|
||||
public interface LocalCss extends CssResource {
|
||||
String solutions();
|
||||
|
||||
+8
-63
@@ -6,72 +6,17 @@
|
||||
-moz-backface-visibility: hidden;
|
||||
-ms-backface-visibility: hidden;
|
||||
-o-backface-visibility: hidden;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-moz-backface-visibility: hidden;
|
||||
-ms-backface-visibility: hidden;
|
||||
backface-visibility: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
.swiperwrapper {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
-webkit-transition-property: -webkit-transform, left, top;
|
||||
-webkit-transition-duration: 0s;
|
||||
-webkit-transform: translate3d(0px, 0, 0);
|
||||
-webkit-transition-timing-function: ease;
|
||||
-moz-transition-property: -moz-transform, left, top;
|
||||
-moz-transition-duration: 0s;
|
||||
-moz-transform: translate3d(0px, 0, 0);
|
||||
-moz-transition-timing-function: ease;
|
||||
-o-transition-property: -o-transform, left, top;
|
||||
-o-transition-duration: 0s;
|
||||
-o-transform: translate3d(0px, 0, 0);
|
||||
-o-transition-timing-function: ease;
|
||||
-o-transform: translate(0px, 0px);
|
||||
-ms-transition-property: -ms-transform, left, top;
|
||||
-ms-transition-duration: 0s;
|
||||
-ms-transform: translate3d(0px, 0, 0);
|
||||
-ms-transition-timing-function: ease;
|
||||
-webkit-transition-property: -webkit-transform, left, top;
|
||||
-moz-transition-property: -moz-transform, left, top;
|
||||
-o-transition-property: -o-transform, left, top;
|
||||
-ms-transition-property: -ms-transform, left, top;
|
||||
transition-property: transform, left, top;
|
||||
-webkit-transition-duration: 0s;
|
||||
-moz-transition-duration: 0s;
|
||||
-o-transition-duration: 0s;
|
||||
-ms-transition-duration: 0s;
|
||||
transition-duration: 0s;
|
||||
-webkit-transform: translate3d(0px, 0, 0);
|
||||
-moz-transform: translate3d(0px, 0, 0);
|
||||
-o-transform: translate3d(0px, 0, 0);
|
||||
-ms-transform: translate3d(0px, 0, 0);
|
||||
transform: translate3d(0px, 0, 0);
|
||||
-webkit-transition-timing-function: ease;
|
||||
-moz-transition-timing-function: ease;
|
||||
-o-transition-timing-function: ease;
|
||||
-ms-transition-timing-function: ease;
|
||||
transition-timing-function: ease;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box;
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
}
|
||||
.swiperslide {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
float: left;
|
||||
}
|
||||
.swiperwp8horizontal {
|
||||
-ms-touch-action: pan-y;
|
||||
}
|
||||
.swiperwp8vertical {
|
||||
-ms-touch-action: pan-x;
|
||||
}
|
||||
.countdown {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.countdown_pane {
|
||||
border: 0.266666666666667em solid #fff;
|
||||
@@ -99,7 +44,7 @@
|
||||
}
|
||||
.stageteaser {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
@@ -147,7 +92,7 @@
|
||||
.stageteaser_content_headerhidden {
|
||||
opacity: 0;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: literal("alpha(opacity=0)");
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
.stageteaser_content_header_subtitle {
|
||||
font-size: 2em;
|
||||
@@ -163,7 +108,7 @@
|
||||
}
|
||||
.stageteaser_content_header_countdown {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.stageteaser_content_band {
|
||||
position: absolute;
|
||||
@@ -211,7 +156,7 @@
|
||||
}
|
||||
.stageteaser_content_band_item[data-bandcount="1"] .stageteaser_content_band_text {
|
||||
font-size: 18px;
|
||||
font-size: 1.2rem;
|
||||
/* @alternate */ font-size: 1.2rem;
|
||||
}
|
||||
.stageteaser_content_band_item[data-bandcount="1"] .stageteaser_content_band_text_headline {
|
||||
display: inline-block;
|
||||
@@ -230,7 +175,7 @@
|
||||
}
|
||||
.stage {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
height: 38.666666666666664em;
|
||||
position: relative;
|
||||
clear: both;
|
||||
@@ -241,7 +186,7 @@
|
||||
}
|
||||
.stage_controls {
|
||||
font-size: 15px;
|
||||
font-size: 1rem;
|
||||
/* @alternate */ font-size: 1rem;
|
||||
}
|
||||
.stage_progress {
|
||||
height: 0.333333333333333em;
|
||||
+1
-4
@@ -8,7 +8,7 @@ import com.google.gwt.resources.client.ImageResource;
|
||||
public interface StageResources extends ClientBundle {
|
||||
public static final StageResources INSTANCE = GWT.create(StageResources.class);
|
||||
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/stage/Stage.css")
|
||||
@Source("com/sap/sailing/gwt/home/client/shared/stage/Stage.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
@@ -32,10 +32,7 @@ public interface StageResources extends ClientBundle {
|
||||
String stageteaser_content_band_text_name();
|
||||
String stageteaser_content_band_action();
|
||||
String swipercontainer();
|
||||
String swiperwrapper();
|
||||
String swiperslide();
|
||||
String swiperwp8horizontal();
|
||||
String swiperwp8vertical();
|
||||
String stage();
|
||||
String stage_teasers();
|
||||
String stage_controls();
|
||||
|
||||
+133
-11
@@ -2,8 +2,10 @@ package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
@@ -29,8 +31,11 @@ import com.sap.sailing.domain.common.RegattaNameAndRaceName;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.NamedDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.RaceColumnInLeaderboardDialog.RaceColumnDescriptor;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback;
|
||||
import com.sap.sailing.gwt.ui.client.ParallelExecutionHolder;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
|
||||
@@ -39,11 +44,14 @@ import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaLogDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
|
||||
public abstract class AbstractLeaderboardConfigPanel extends FormPanel implements SelectedLeaderboardProvider,
|
||||
@@ -122,7 +130,7 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
||||
|
||||
public AbstractLeaderboardConfigPanel(final SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,
|
||||
LeaderboardsRefresher leaderboardsRefresher, final ErrorReporter errorReporter,
|
||||
StringMessages theStringConstants, SetSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality> raceColumnTableSelectionModel) {
|
||||
StringMessages theStringConstants, boolean multiSelection) {
|
||||
this.stringMessages = theStringConstants;
|
||||
this.sailingService = sailingService;
|
||||
leaderboardList = new ListDataProvider<StrippedLeaderboardDTO>();
|
||||
@@ -227,16 +235,13 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
||||
}
|
||||
});
|
||||
vPanel.add(reloadAllRaceLogs);
|
||||
|
||||
|
||||
Label lblRaceNamesIn = new Label(stringMessages.races());
|
||||
vPanel.add(lblRaceNamesIn);
|
||||
|
||||
raceColumnTable = new RaceTableWrapper<SetSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>>(
|
||||
sailingService, stringMessages, errorReporter, raceColumnTableSelectionModel);
|
||||
sailingService, stringMessages, errorReporter, multiSelection);
|
||||
raceColumnTable.getTable().setWidth("100%");
|
||||
addColumnsToRacesTable(raceColumnTable.getTable());
|
||||
this.raceColumnTableSelectionModel = raceColumnTableSelectionModel;
|
||||
this.raceColumnTableSelectionModel = raceColumnTable.getSelectionModel();
|
||||
raceColumnTableSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
leaderboardRaceColumnSelectionChanged();
|
||||
@@ -266,11 +271,6 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
||||
protected ListDataProvider<StrippedLeaderboardDTO> getListDataProvider() {
|
||||
return leaderboardList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean getValue(StrippedLeaderboardDTO row) {
|
||||
return leaderboardTable.getSelectionModel().isSelected(row);
|
||||
}
|
||||
};
|
||||
selectionCheckboxColumn.setSortable(true);
|
||||
leaderboardColumnListHandler.setComparator(selectionCheckboxColumn, new Comparator<StrippedLeaderboardDTO>() {
|
||||
@@ -527,4 +527,126 @@ public abstract class AbstractLeaderboardConfigPanel extends FormPanel implement
|
||||
protected LeaderboardsRefresher getLeaderboardsRefresher() {
|
||||
return leaderboardsRefresher;
|
||||
}
|
||||
|
||||
protected void editRaceColumnOfLeaderboard(final RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnWithFleet) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final boolean oldIsMedalRace = raceColumnWithFleet.getA().isMedalRace();
|
||||
final String oldRaceColumnName = raceColumnWithFleet.getA().getRaceColumnName();
|
||||
final Double oldExplicitFactor = raceColumnWithFleet.getA().getExplicitFactor();
|
||||
// use a set to avoid duplicates in the case of regatta leaderboards with multiple fleets per column
|
||||
Set<RaceColumnDTO> existingRacesWithoutThisRace = new HashSet<RaceColumnDTO>();
|
||||
for (RaceColumnDTOAndFleetDTOWithNameBasedEquality pair : raceColumnTable.getDataProvider().getList()) {
|
||||
existingRacesWithoutThisRace.add(pair.getA());
|
||||
}
|
||||
existingRacesWithoutThisRace.remove(raceColumnWithFleet.getA());
|
||||
final RaceColumnInLeaderboardDialog raceDialog = new RaceColumnInLeaderboardDialog(existingRacesWithoutThisRace,
|
||||
raceColumnWithFleet.getA(), getSelectedLeaderboard().type.isRegattaLeaderboard(), stringMessages, new DialogCallback<RaceColumnDescriptor>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ok(final RaceColumnDescriptor result) {
|
||||
boolean rename = !oldRaceColumnName.equals(result.getName());
|
||||
boolean updateIsMedalRace = oldIsMedalRace != result.isMedalRace();
|
||||
boolean updateFactor = oldExplicitFactor != result.getExplicitFactor();
|
||||
List<ParallelExecutionCallback<Void>> callbacks = new ArrayList<ParallelExecutionCallback<Void>>();
|
||||
final ParallelExecutionCallback<Void> renameLeaderboardColumnCallback = new ParallelExecutionCallback<Void>();
|
||||
if (rename) {
|
||||
callbacks.add(renameLeaderboardColumnCallback);
|
||||
}
|
||||
final ParallelExecutionCallback<Void> updateIsMedalRaceCallback = new ParallelExecutionCallback<Void>();
|
||||
if (updateIsMedalRace) {
|
||||
callbacks.add(updateIsMedalRaceCallback);
|
||||
}
|
||||
final ParallelExecutionCallback<Void> updateLeaderboardColumnFactorCallback = new ParallelExecutionCallback<Void>();
|
||||
if (updateFactor) {
|
||||
callbacks.add(updateLeaderboardColumnFactorCallback);
|
||||
}
|
||||
new ParallelExecutionHolder(callbacks.toArray(new ParallelExecutionCallback<?>[0])) {
|
||||
@Override
|
||||
public void handleSuccess() {
|
||||
loadAndRefreshLeaderboard(selectedLeaderboardName, result.getName());
|
||||
}
|
||||
@Override
|
||||
public void handleFailure(Throwable t) {
|
||||
errorReporter.reportError("Error trying to update data of race column "
|
||||
+ oldRaceColumnName + " in leaderboard " + selectedLeaderboardName + ": "
|
||||
+ t.getMessage());
|
||||
}
|
||||
};
|
||||
if (rename) {
|
||||
sailingService.renameLeaderboardColumn(selectedLeaderboardName, oldRaceColumnName,
|
||||
result.getName(), renameLeaderboardColumnCallback);
|
||||
}
|
||||
if (updateIsMedalRace) {
|
||||
sailingService.updateIsMedalRace(selectedLeaderboardName, result.getName(),
|
||||
result.isMedalRace(), updateIsMedalRaceCallback);
|
||||
}
|
||||
if (updateFactor) {
|
||||
sailingService.updateLeaderboardColumnFactor(selectedLeaderboardName, result.getName(),
|
||||
result.getExplicitFactor(), updateLeaderboardColumnFactorCallback);
|
||||
}
|
||||
}
|
||||
});
|
||||
raceDialog.show();
|
||||
}
|
||||
|
||||
protected void showRaceLog(final RaceColumnDTO raceColumnDTO, final FleetDTO fleetDTO) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.getRaceLog(selectedLeaderboardName, raceColumnDTO, fleetDTO,
|
||||
new MarkedAsyncCallback<RaceLogDTO>(
|
||||
new AsyncCallback<RaceLogDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(caught.getMessage(), true);
|
||||
}
|
||||
@Override
|
||||
public void onSuccess(RaceLogDTO result) {
|
||||
openRaceLogDialog(result);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void openRaceLogDialog(RaceLogDTO raceLogDTO) {
|
||||
RaceLogDialog dialog = new RaceLogDialog(raceLogDTO, stringMessages, new DialogCallback<RaceLogDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ok(RaceLogDTO result) {
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
protected void showRegattaLog() {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.getRegattaLog(selectedLeaderboardName,
|
||||
new MarkedAsyncCallback<RegattaLogDTO>(
|
||||
new AsyncCallback<RegattaLogDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(caught.getMessage(), true);
|
||||
}
|
||||
@Override
|
||||
public void onSuccess(RegattaLogDTO result) {
|
||||
openRegattaLogDialog(result);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void openRegattaLogDialog(RegattaLogDTO regattaLogDTO) {
|
||||
RegattaLogDialog dialog = new RegattaLogDialog(regattaLogDTO, stringMessages, new DialogCallback<RegattaLogDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ok(RegattaLogDTO result) {
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
}
|
||||
java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/AbstractLogDialog.java
Executable
+184
@@ -0,0 +1,184 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.user.cellview.client.CellTable;
|
||||
import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.SelectionModel;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.impl.NaturalComparator;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.common.client.DateAndTimeFormatterUtil;
|
||||
import com.sap.sailing.gwt.ui.shared.AbstractLogDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.AbstractLogEventDTO;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
|
||||
public abstract class AbstractLogDialog<R extends AbstractLogDTO<E>, E extends AbstractLogEventDTO> extends DataEntryDialog<R> {
|
||||
private final R logDTO;
|
||||
|
||||
private final SelectionModel<E> selectionModel;
|
||||
private final CellTable<E> raceLogEventsTable;
|
||||
private ListDataProvider<E> raceLogEventsList;
|
||||
|
||||
public AbstractLogDialog(final R logDTO, final StringMessages stringMessages, String logName, DialogCallback<R> callback) {
|
||||
super(logName, null, stringMessages.ok(), stringMessages.cancel(), /* validator */ null, callback);
|
||||
this.logDTO = logDTO;
|
||||
|
||||
raceLogEventsList = new ListDataProvider<E>();
|
||||
selectionModel = new SingleSelectionModel<E>();
|
||||
|
||||
AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
|
||||
raceLogEventsTable = new CellTable<E>(/* pageSize */10000, tableRes);
|
||||
raceLogEventsTable.ensureDebugId("TrackedRacesTable");
|
||||
raceLogEventsTable.setSelectionModel(selectionModel);
|
||||
|
||||
raceLogEventsList.setList(logDTO.getEntries());
|
||||
ListHandler<E> columnSortHandler = new ListHandler<>(raceLogEventsList.getList());
|
||||
raceLogEventsTable.addColumnSortHandler(columnSortHandler);
|
||||
|
||||
TextColumn<E> logEventAuthorColumn = new TextColumn<E>() {
|
||||
@Override
|
||||
public String getValue(E logEventDTO) {
|
||||
return String.valueOf(logEventDTO.getAuthorName());
|
||||
}
|
||||
};
|
||||
logEventAuthorColumn.setSortable(true);
|
||||
columnSortHandler.setComparator(logEventAuthorColumn, new Comparator<E>() {
|
||||
@Override
|
||||
public int compare(E r1, E r2) {
|
||||
return new NaturalComparator().compare(r1.getAuthorName(), r1.getAuthorName());
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<E> logEventAuthorPriorityColumn = new TextColumn<E>() {
|
||||
@Override
|
||||
public String getValue(E logEventDTO) {
|
||||
return String.valueOf(logEventDTO.getAuthorPriority());
|
||||
}
|
||||
};
|
||||
logEventAuthorPriorityColumn.setSortable(true);
|
||||
columnSortHandler.setComparator(logEventAuthorPriorityColumn, new Comparator<E>() {
|
||||
@Override
|
||||
public int compare(E r1, E r2) {
|
||||
return r1.getAuthorPriority() - r2.getAuthorPriority();
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<E> logEventCreatedColumn = new TextColumn<E>() {
|
||||
@Override
|
||||
public String getValue(E raceLogEventDTO) {
|
||||
Date createdAt = raceLogEventDTO.getCreatedAt();
|
||||
if(createdAt != null) {
|
||||
return DateAndTimeFormatterUtil.defaultDateFormatter.render(createdAt) + " " +
|
||||
DateAndTimeFormatterUtil.defaultTimeFormatter.render(createdAt);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
};
|
||||
logEventCreatedColumn.setSortable(true);
|
||||
columnSortHandler.setComparator(logEventCreatedColumn, new Comparator<E>() {
|
||||
@Override
|
||||
public int compare(E r1, E r2) {
|
||||
if (r1.getCreatedAt() != null && r2.getCreatedAt() != null) {
|
||||
return r1.getCreatedAt().compareTo(r2.getCreatedAt());
|
||||
}
|
||||
return r1.getCreatedAt() == null ? (r2.getCreatedAt() == null ? 0 : -1) : 1;
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<E> logEventLogicalTimeColumn = new TextColumn<E>() {
|
||||
@Override
|
||||
public String getValue(E logEventDTO) {
|
||||
Date logicalTimePoint = logEventDTO.getLogicalTimePoint();
|
||||
if (logicalTimePoint != null) {
|
||||
return DateAndTimeFormatterUtil.defaultDateFormatter.render(logicalTimePoint) + " " +
|
||||
DateAndTimeFormatterUtil.defaultTimeFormatter.render(logicalTimePoint);
|
||||
}
|
||||
return "";
|
||||
}
|
||||
};
|
||||
logEventLogicalTimeColumn.setSortable(true);
|
||||
columnSortHandler.setComparator(logEventLogicalTimeColumn, new Comparator<E>() {
|
||||
@Override
|
||||
public int compare(E r1, E r2) {
|
||||
if (r1.getLogicalTimePoint() != null && r2.getLogicalTimePoint() != null) {
|
||||
return r1.getLogicalTimePoint().compareTo(r2.getLogicalTimePoint());
|
||||
}
|
||||
return r1.getLogicalTimePoint() == null ? (r2.getLogicalTimePoint() == null ? 0 : -1) : 1;
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<E> logEventTypeColumn = new TextColumn<E>() {
|
||||
@Override
|
||||
public String getValue(E logEventDTO) {
|
||||
return logEventDTO.getType();
|
||||
}
|
||||
};
|
||||
logEventTypeColumn.setSortable(true);
|
||||
columnSortHandler.setComparator(logEventTypeColumn, new Comparator<E>() {
|
||||
@Override
|
||||
public int compare(E r1, E r2) {
|
||||
return new NaturalComparator().compare(r1.getType(), r2.getType());
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<E> logEventInfoColumn = new TextColumn<E>() {
|
||||
@Override
|
||||
public String getValue(E logEventDTO) {
|
||||
return logEventDTO.getInfo();
|
||||
}
|
||||
};
|
||||
logEventInfoColumn.setSortable(true);
|
||||
columnSortHandler.setComparator(logEventInfoColumn, new Comparator<E>() {
|
||||
@Override
|
||||
public int compare(E o1, E o2) {
|
||||
return new NaturalComparator().compare(o1.getInfo(), o2.getInfo());
|
||||
}
|
||||
});
|
||||
|
||||
addFirstColumns(raceLogEventsTable, columnSortHandler);
|
||||
raceLogEventsTable.addColumn(logEventTypeColumn, stringMessages.type());
|
||||
raceLogEventsTable.addColumn(logEventCreatedColumn, "Created at");
|
||||
raceLogEventsTable.addColumn(logEventLogicalTimeColumn, "Logical timepoint");
|
||||
raceLogEventsTable.addColumn(logEventAuthorColumn, "Author");
|
||||
raceLogEventsTable.addColumn(logEventAuthorPriorityColumn, "Priority");
|
||||
raceLogEventsTable.addColumn(logEventInfoColumn, "Info");
|
||||
addLastColumns(raceLogEventsTable, columnSortHandler);
|
||||
|
||||
raceLogEventsList.addDataDisplay(raceLogEventsTable);
|
||||
raceLogEventsTable.getColumnSortList().push(logEventLogicalTimeColumn);
|
||||
}
|
||||
|
||||
protected void addFirstColumns(CellTable<E> table, ListHandler<E> columnSortHandler) {}
|
||||
protected void addLastColumns(CellTable<E> table, ListHandler<E> columnSortHandler) {}
|
||||
|
||||
@Override
|
||||
protected R getResult() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
VerticalPanel vPanel = new VerticalPanel();
|
||||
addFirstWidgetComponents(vPanel);
|
||||
ScrollPanel scrollPanel = new ScrollPanel(raceLogEventsTable);
|
||||
scrollPanel.setSize("960px", "500px");
|
||||
vPanel.add(scrollPanel);
|
||||
addLastWidgetComponents(vPanel);
|
||||
return vPanel;
|
||||
}
|
||||
|
||||
protected R getLogDTO() {
|
||||
return logDTO;
|
||||
}
|
||||
|
||||
protected void addFirstWidgetComponents(VerticalPanel vPanel) {}
|
||||
protected void addLastWidgetComponents(VerticalPanel vPanel) {}
|
||||
}
|
||||
+9
-12
@@ -18,11 +18,11 @@ import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.racelog.RaceLogServletConstants;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.DeviceMappingConstants;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.MappableToDevice;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.DeviceMappingQRCodeWidget.QRCodeURLCreationException;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ItemToMapToDeviceSelectionPanel.SelectionChangedHandler;
|
||||
import com.sap.sailing.gwt.ui.client.GwtUrlHelper;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.BetterDateTimeBox;
|
||||
@@ -103,7 +103,7 @@ public class AddDeviceMappingToRaceLogDialog extends DataEntryDialog<DeviceMappi
|
||||
});
|
||||
|
||||
deviceId = createTextBox("");
|
||||
|
||||
|
||||
itemSelectionPanel = new ItemToMapToDeviceSelectionPanel(sailingService, stringMessages, errorReporter,
|
||||
new SelectionChangedHandler() {
|
||||
@Override
|
||||
@@ -120,7 +120,7 @@ public class AddDeviceMappingToRaceLogDialog extends DataEntryDialog<DeviceMappi
|
||||
}
|
||||
}, mapping != null ? mapping.mappedTo : null);
|
||||
|
||||
//load table content
|
||||
// load table content
|
||||
sailingService.getCompetitorRegistrations(leaderboardName, raceColumnName, fleetName,
|
||||
itemSelectionPanel.getSetCompetitorsCallback());
|
||||
|
||||
@@ -136,7 +136,7 @@ public class AddDeviceMappingToRaceLogDialog extends DataEntryDialog<DeviceMappi
|
||||
qrWidget = new DeviceMappingQRCodeWidget(stringMessages, new DeviceMappingQRCodeWidget.URLFactory() {
|
||||
@SuppressWarnings("deprecation")
|
||||
@Override
|
||||
public String createURL(String baseUrlWithoutTrailingSlash, String mappedItemQueryParam)
|
||||
public String createURL(String baseUrlWithoutTrailingSlash, String mappedItemType, String mappedItemId)
|
||||
throws QRCodeURLCreationException {
|
||||
if (from.getValue() == null) {
|
||||
throw new QRCodeURLCreationException("from not set");
|
||||
@@ -147,14 +147,11 @@ public class AddDeviceMappingToRaceLogDialog extends DataEntryDialog<DeviceMappi
|
||||
long fromMillis = from.getValue().getTime();
|
||||
long toMillis = to.getValue().getTime();
|
||||
if (fromMillis > toMillis) {
|
||||
throw new QRCodeURLCreationException("from cannt lie after to");
|
||||
throw new QRCodeURLCreationException("from can't lie after to");
|
||||
}
|
||||
return baseUrlWithoutTrailingSlash + DeviceMappingConstants.APK_PATH + "?"
|
||||
+ RaceLogServletConstants.PARAMS_LEADERBOARD_NAME + "=" + DeviceMappingQRCodeWidget.encode(leaderboardName) + "&"
|
||||
+ RaceLogServletConstants.PARAMS_RACE_COLUMN_NAME + "=" + DeviceMappingQRCodeWidget.encode(raceColumnName)
|
||||
+ "&" + RaceLogServletConstants.PARAMS_RACE_FLEET_NAME + "=" + DeviceMappingQRCodeWidget.encode(fleetName)
|
||||
+ "&" + mappedItemQueryParam + "&" + DeviceMappingConstants.URL_FROM_MILLIS + "=" + fromMillis
|
||||
+ "&" + DeviceMappingConstants.URL_TO_MILLIS + "=" + toMillis;
|
||||
return DeviceMappingConstants.getDeviceMappingForRaceLogUrl(baseUrlWithoutTrailingSlash,
|
||||
leaderboardName, raceColumnName, fleetName, mappedItemType, mappedItemId, fromMillis, toMillis,
|
||||
GwtUrlHelper.INSTANCE);
|
||||
}
|
||||
});
|
||||
qrWidget.generateQRCode();
|
||||
|
||||
+19
-18
@@ -13,15 +13,16 @@ import com.google.gwt.user.client.ui.Panel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.DeviceMappingConstants;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.DeviceMappingQRCodeWidget.QRCodeURLCreationException;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ItemToMapToDeviceSelectionPanel.SelectionChangedHandler;
|
||||
import com.sap.sailing.gwt.ui.client.GwtUrlHelper;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.common.client.GenericListBox;
|
||||
import com.sap.sailing.gwt.ui.common.client.GenericListBox.ValueBuilder;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.MarkDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.controls.GenericListBox;
|
||||
import com.sap.sse.gwt.client.controls.GenericListBox.ValueBuilder;
|
||||
|
||||
public class AddDeviceMappingToRegattaLogDialog extends AbstractCancelableDialog {
|
||||
private DeviceMappingQRCodeWidget qrWidget;
|
||||
@@ -35,11 +36,11 @@ public class AddDeviceMappingToRegattaLogDialog extends AbstractCancelableDialog
|
||||
setupUi();
|
||||
center();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void addMainContent(Panel mainPanel) {
|
||||
super.addMainContent(mainPanel);
|
||||
|
||||
|
||||
CaptionPanel inputPanel = new CaptionPanel();
|
||||
Grid inputGrid = new Grid(1, 2);
|
||||
inputPanel.add(inputGrid);
|
||||
@@ -62,13 +63,13 @@ public class AddDeviceMappingToRegattaLogDialog extends AbstractCancelableDialog
|
||||
public void onSuccess(Collection<EventDTO> result) {
|
||||
events.addItems(result);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Could not load events: " + caught.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
itemSelectionPanel = new ItemToMapToDeviceSelectionPanel(sailingService, stringMessages, errorReporter,
|
||||
new SelectionChangedHandler() {
|
||||
@Override
|
||||
@@ -85,33 +86,33 @@ public class AddDeviceMappingToRegattaLogDialog extends AbstractCancelableDialog
|
||||
}
|
||||
}, null);
|
||||
|
||||
//load table content
|
||||
// load table content
|
||||
sailingService.getCompetitorRegistrations(leaderboardName, itemSelectionPanel.getSetCompetitorsCallback());
|
||||
//TODO marks from RegattaLog also?
|
||||
|
||||
// fetching marks definitions from the race logs; note that currently there are no mark *definitions*
|
||||
// on regatta logs although there can be mark/device assignments on a regatta log which then gives the
|
||||
// mark a position that applies across all races in the regatta-like thing
|
||||
sailingService.getMarksInRaceLogsAndTrackedRaces(leaderboardName, itemSelectionPanel.getSetMarksCallback());
|
||||
qrWidget = new DeviceMappingQRCodeWidget(stringMessages, new DeviceMappingQRCodeWidget.URLFactory() {
|
||||
@Override
|
||||
public String createURL(String baseUrlWithoutTrailingSlash, String mappedItemQueryParam)
|
||||
public String createURL(String baseUrlWithoutTrailingSlash, String mappedItemType, String mappedItemId)
|
||||
throws QRCodeURLCreationException {
|
||||
if (events.getValue() == null) {
|
||||
throw new QRCodeURLCreationException("no event selected");
|
||||
throw new QRCodeURLCreationException(stringMessages.noEventSelected());
|
||||
}
|
||||
String eventIdAsString = events.getValue().id.toString();
|
||||
return baseUrlWithoutTrailingSlash + DeviceMappingConstants.URL_BASE
|
||||
+ "?" + DeviceMappingConstants.URL_EVENT_ID + "=" + DeviceMappingQRCodeWidget.encode(eventIdAsString)
|
||||
+ "&" + DeviceMappingConstants.URL_LEADERBOARD_NAME + "=" + DeviceMappingQRCodeWidget.encode(leaderboardName)
|
||||
+ "&" + mappedItemQueryParam;
|
||||
return DeviceMappingConstants.getDeviceMappingForRegattaLogUrl(baseUrlWithoutTrailingSlash, eventIdAsString,
|
||||
leaderboardName, mappedItemType, mappedItemId, GwtUrlHelper.INSTANCE);
|
||||
}
|
||||
});
|
||||
qrWidget.generateQRCode();
|
||||
|
||||
|
||||
VerticalPanel leftSidePanel = new VerticalPanel();
|
||||
leftSidePanel.add(inputPanel);
|
||||
|
||||
CaptionPanel qrContentPanel = new CaptionPanel();
|
||||
leftSidePanel.add(qrContentPanel);
|
||||
qrContentPanel.add(qrWidget);
|
||||
|
||||
|
||||
HorizontalPanel panel = new HorizontalPanel();
|
||||
mainPanel.add(panel);
|
||||
panel.add(leftSidePanel);
|
||||
|
||||
+32
-33
@@ -9,6 +9,8 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.rpc.ServiceDefTarget;
|
||||
import com.google.gwt.user.client.ui.RootLayoutPanel;
|
||||
import com.google.gwt.user.client.ui.TabLayoutPanel;
|
||||
import com.sap.sailing.domain.common.security.Permission;
|
||||
import com.sap.sailing.domain.common.security.SailingPermissionsForRoleProvider;
|
||||
import com.sap.sailing.gwt.ui.client.AbstractSailingEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardGroupsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardGroupsRefresher;
|
||||
@@ -49,8 +51,8 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
}
|
||||
|
||||
private void createUI() {
|
||||
AdminConsolePanel panel = new AdminConsolePanel(getUserService(), sailingService,
|
||||
getStringMessages().releaseNotes(), "/release_notes_admin.html", /* error reporter */ this, SecurityStylesheetResources.INSTANCE.css());
|
||||
AdminConsolePanel panel = new AdminConsolePanel(getUserService(), SailingPermissionsForRoleProvider.INSTANCE,
|
||||
sailingService, getStringMessages().releaseNotes(), "/release_notes_admin.html", /* error reporter */ this, SecurityStylesheetResources.INSTANCE.css());
|
||||
BetterDateTimeBox.initialize();
|
||||
regattasDisplayers = new HashSet<>();
|
||||
leaderboardsDisplayers = new HashSet<>();
|
||||
@@ -63,7 +65,7 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
getWidget().fillEvents();
|
||||
fillLeaderboardGroups();
|
||||
}
|
||||
}, getStringMessages().events(), SailingAdminConsoleFeatures.MANAGE_EVENTS);
|
||||
}, getStringMessages().events(), Permission.MANAGE_EVENTS);
|
||||
leaderboardGroupsDisplayers.add(eventManagementPanel);
|
||||
|
||||
RegattaManagementPanel regattaManagementPanel = new RegattaManagementPanel(
|
||||
@@ -74,13 +76,12 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
public void refreshAfterBecomingVisible() {
|
||||
fillRegattas();
|
||||
}
|
||||
}, getStringMessages().regattas(), SailingAdminConsoleFeatures.MANAGE_REGATTAS);
|
||||
}, getStringMessages().regattas(), Permission.MANAGE_REGATTAS);
|
||||
regattasDisplayers.add(regattaManagementPanel);
|
||||
|
||||
/* LEADERBOARDS */
|
||||
|
||||
final TabLayoutPanel leaderboardTabPanel = panel.addVerticalTab(getStringMessages().leaderboards(),
|
||||
"LeaderboardPanel", SailingAdminConsoleFeatures.MANAGE_LEADERBOARDS);
|
||||
final TabLayoutPanel leaderboardTabPanel = panel.addVerticalTab(getStringMessages().leaderboards(), "LeaderboardPanel");
|
||||
final LeaderboardConfigPanel leaderboardConfigPanel = new LeaderboardConfigPanel(sailingService, this, this,
|
||||
getStringMessages(), /* showRaceDetails */true, this);
|
||||
leaderboardConfigPanel.ensureDebugId("LeaderboardConfiguration");
|
||||
@@ -89,7 +90,7 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
public void refreshAfterBecomingVisible() {
|
||||
fillLeaderboards();
|
||||
}
|
||||
}, getStringMessages().leaderboardConfiguration(), SailingAdminConsoleFeatures.MANAGE_LEADERBOARDS);
|
||||
}, getStringMessages().leaderboardConfiguration(), Permission.MANAGE_LEADERBOARDS);
|
||||
regattasDisplayers.add(leaderboardConfigPanel);
|
||||
leaderboardsDisplayers.add(leaderboardConfigPanel);
|
||||
|
||||
@@ -102,20 +103,19 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
fillLeaderboards();
|
||||
fillLeaderboardGroups();
|
||||
}
|
||||
}, getStringMessages().leaderboardGroups(), SailingAdminConsoleFeatures.MANAGE_LEADERBOARD_GROUPS);
|
||||
}, getStringMessages().leaderboardGroups(), Permission.MANAGE_LEADERBOARD_GROUPS);
|
||||
regattasDisplayers.add(leaderboardGroupConfigPanel);
|
||||
leaderboardGroupsDisplayers.add(leaderboardGroupConfigPanel);
|
||||
leaderboardsDisplayers.add(leaderboardGroupConfigPanel);
|
||||
|
||||
/* RACES */
|
||||
|
||||
final TabLayoutPanel racesTabPanel = panel.addVerticalTab(getStringMessages().races(),
|
||||
"RacesPanel", SailingAdminConsoleFeatures.MANAGE_TRACKED_RACES);
|
||||
final TabLayoutPanel racesTabPanel = panel.addVerticalTab(getStringMessages().races(), "RacesPanel");
|
||||
TrackedRacesManagementPanel trackedRacesManagementPanel = new TrackedRacesManagementPanel(sailingService, this,
|
||||
this, getStringMessages());
|
||||
trackedRacesManagementPanel.ensureDebugId("TrackedRacesManagement");
|
||||
panel.addToTabPanel(racesTabPanel, new DefaultRefreshableAdminConsolePanel<TrackedRacesManagementPanel>(trackedRacesManagementPanel),
|
||||
getStringMessages().trackedRaces(), SailingAdminConsoleFeatures.SHOW_TRACKED_RACES);
|
||||
getStringMessages().trackedRaces(), Permission.SHOW_TRACKED_RACES);
|
||||
regattasDisplayers.add(trackedRacesManagementPanel);
|
||||
|
||||
final CompetitorPanel competitorPanel = new CompetitorPanel(sailingService, getStringMessages(), this);
|
||||
@@ -124,17 +124,17 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
public void refreshAfterBecomingVisible() {
|
||||
getWidget().refreshCompetitorList();
|
||||
}
|
||||
}, getStringMessages().competitors(), SailingAdminConsoleFeatures.MANAGE_ALL_COMPETITORS);
|
||||
}, getStringMessages().competitors(), Permission.MANAGE_ALL_COMPETITORS);
|
||||
|
||||
RaceCourseManagementPanel raceCourseManagementPanel = new RaceCourseManagementPanel(sailingService, this, this, getStringMessages());
|
||||
panel.addToTabPanel(racesTabPanel, new DefaultRefreshableAdminConsolePanel<RaceCourseManagementPanel>(raceCourseManagementPanel), getStringMessages().courseLayout(), SailingAdminConsoleFeatures.MANAGE_COURSE_LAYOUT);
|
||||
panel.addToTabPanel(racesTabPanel, new DefaultRefreshableAdminConsolePanel<RaceCourseManagementPanel>(raceCourseManagementPanel), getStringMessages().courseLayout(), Permission.MANAGE_COURSE_LAYOUT);
|
||||
regattasDisplayers.add(raceCourseManagementPanel);
|
||||
|
||||
final AsyncActionsExecutor asyncActionsExecutor = new AsyncActionsExecutor();
|
||||
|
||||
WindPanel windPanel = new WindPanel(sailingService, asyncActionsExecutor, this, this, getStringMessages());
|
||||
panel.addToTabPanel(racesTabPanel, new DefaultRefreshableAdminConsolePanel<WindPanel>(windPanel), getStringMessages().wind(),
|
||||
SailingAdminConsoleFeatures.MANAGE_WIND);
|
||||
Permission.MANAGE_WIND);
|
||||
regattasDisplayers.add(windPanel);
|
||||
|
||||
final MediaPanel mediaPanel = new MediaPanel(regattasDisplayers, sailingService, this, mediaService, this, getStringMessages());
|
||||
@@ -143,29 +143,28 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
public void refreshAfterBecomingVisible() {
|
||||
getWidget().onShow();
|
||||
}
|
||||
}, getStringMessages().mediaPanel(), SailingAdminConsoleFeatures.MANAGE_MEDIA);
|
||||
}, getStringMessages().mediaPanel(), Permission.MANAGE_MEDIA);
|
||||
|
||||
/* CONNECTORS */
|
||||
|
||||
final TabLayoutPanel connectorsTabPanel = panel.addVerticalTab(getStringMessages().connectors(),
|
||||
"TrackingProviderPanel", SailingAdminConsoleFeatures.MANAGE_TRACKED_RACES);
|
||||
final TabLayoutPanel connectorsTabPanel = panel.addVerticalTab(getStringMessages().connectors(), "TrackingProviderPanel");
|
||||
TracTracEventManagementPanel tractracEventManagementPanel = new TracTracEventManagementPanel(sailingService,
|
||||
this, this, getStringMessages());
|
||||
tractracEventManagementPanel.ensureDebugId("TracTracEventManagement");
|
||||
panel.addToTabPanel(connectorsTabPanel, new DefaultRefreshableAdminConsolePanel<TracTracEventManagementPanel>(tractracEventManagementPanel),
|
||||
getStringMessages().tracTracEvents(), SailingAdminConsoleFeatures.MANAGE_TRACKED_RACES);
|
||||
getStringMessages().tracTracEvents(), Permission.MANAGE_TRACKED_RACES);
|
||||
regattasDisplayers.add(tractracEventManagementPanel);
|
||||
|
||||
SwissTimingReplayConnectorPanel swissTimingReplayConnectorPanel = new SwissTimingReplayConnectorPanel(
|
||||
sailingService, this, this, getStringMessages());
|
||||
panel.addToTabPanel(connectorsTabPanel, new DefaultRefreshableAdminConsolePanel<SwissTimingReplayConnectorPanel>(swissTimingReplayConnectorPanel),
|
||||
getStringMessages().swissTimingArchiveConnector(), SailingAdminConsoleFeatures.MANAGE_TRACKED_RACES);
|
||||
getStringMessages().swissTimingArchiveConnector(), Permission.MANAGE_TRACKED_RACES);
|
||||
regattasDisplayers.add(swissTimingReplayConnectorPanel);
|
||||
|
||||
SwissTimingEventManagementPanel swisstimingEventManagementPanel = new SwissTimingEventManagementPanel(
|
||||
sailingService, this, this, getStringMessages());
|
||||
panel.addToTabPanel(connectorsTabPanel, new DefaultRefreshableAdminConsolePanel<SwissTimingEventManagementPanel>(swisstimingEventManagementPanel),
|
||||
getStringMessages().swissTimingEvents(), SailingAdminConsoleFeatures.MANAGE_TRACKED_RACES);
|
||||
getStringMessages().swissTimingEvents(), Permission.MANAGE_TRACKED_RACES);
|
||||
regattasDisplayers.add(swisstimingEventManagementPanel);
|
||||
|
||||
final RaceLogTrackingEventManagementPanel raceLogTrackingEventManagementPanel = new RaceLogTrackingEventManagementPanel(
|
||||
@@ -175,56 +174,56 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
|
||||
public void refreshAfterBecomingVisible() {
|
||||
fillLeaderboards();
|
||||
}
|
||||
}, getStringMessages().raceLogTracking(), SailingAdminConsoleFeatures.MANAGE_TRACKED_RACES);
|
||||
}, getStringMessages().raceLogTracking(), Permission.MANAGE_TRACKED_RACES);
|
||||
regattasDisplayers.add(raceLogTrackingEventManagementPanel);
|
||||
leaderboardsDisplayers.add(raceLogTrackingEventManagementPanel);
|
||||
|
||||
IgtimiAccountsPanel igtimiAccountsPanel = new IgtimiAccountsPanel(sailingService, this, getStringMessages());
|
||||
igtimiAccountsPanel.ensureDebugId("IgtimiAccounts");
|
||||
panel.addToTabPanel(connectorsTabPanel, new DefaultRefreshableAdminConsolePanel<IgtimiAccountsPanel>(igtimiAccountsPanel),
|
||||
getStringMessages().igtimiAccounts(), SailingAdminConsoleFeatures.MANAGE_IGTIMI_ACCOUNTS);
|
||||
getStringMessages().igtimiAccounts(), Permission.MANAGE_IGTIMI_ACCOUNTS);
|
||||
|
||||
ResultImportUrlsManagementPanel resultImportUrlsManagementPanel = new ResultImportUrlsManagementPanel(sailingService, this, getStringMessages());
|
||||
panel.addToTabPanel(connectorsTabPanel, new DefaultRefreshableAdminConsolePanel<ResultImportUrlsManagementPanel>(resultImportUrlsManagementPanel),
|
||||
getStringMessages().resultImportUrls(), SailingAdminConsoleFeatures.MANAGE_RESULT_IMPORT_URLS);
|
||||
getStringMessages().resultImportUrls(), Permission.MANAGE_RESULT_IMPORT_URLS);
|
||||
|
||||
StructureImportManagementPanel structureImportUrlsManagementPanel = new StructureImportManagementPanel(sailingService, this, getStringMessages(), this, eventManagementPanel);
|
||||
panel.addToTabPanel(connectorsTabPanel, new DefaultRefreshableAdminConsolePanel<StructureImportManagementPanel>(structureImportUrlsManagementPanel),
|
||||
getStringMessages().structureImportUrls(), SailingAdminConsoleFeatures.MANAGE_STRUCTURE_IMPORT_URLS);
|
||||
getStringMessages().structureImportUrls(), Permission.MANAGE_STRUCTURE_IMPORT_URLS);
|
||||
|
||||
/* ADVANCED */
|
||||
|
||||
final TabLayoutPanel advancedTabPanel = panel.addVerticalTab(getStringMessages().advanced(),
|
||||
"AdvancedPanel", SailingAdminConsoleFeatures.MANAGE_REPLICATION);
|
||||
final TabLayoutPanel advancedTabPanel = panel.addVerticalTab(getStringMessages().advanced(), "AdvancedPanel");
|
||||
final ReplicationPanel replicationPanel = new ReplicationPanel(sailingService, this, getStringMessages());
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<ReplicationPanel>(replicationPanel) {
|
||||
@Override
|
||||
public void refreshAfterBecomingVisible() {
|
||||
replicationPanel.updateReplicaList();
|
||||
}
|
||||
}, getStringMessages().replication(), SailingAdminConsoleFeatures.MANAGE_REPLICATION);
|
||||
}, getStringMessages().replication(), Permission.MANAGE_REPLICATION);
|
||||
|
||||
final MasterDataImportPanel masterDataImportPanel = new MasterDataImportPanel(getStringMessages(), sailingService,
|
||||
this, eventManagementPanel, this, this);
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<MasterDataImportPanel>(masterDataImportPanel),
|
||||
getStringMessages().masterDataImportPanel(), SailingAdminConsoleFeatures.MANAGE_MASTERDATA_IMPORT);
|
||||
getStringMessages().masterDataImportPanel(), Permission.MANAGE_MASTERDATA_IMPORT);
|
||||
|
||||
RemoteSailingServerInstancesManagementPanel sailingServerInstancesManagementPanel = new RemoteSailingServerInstancesManagementPanel(sailingService, this, getStringMessages());
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<RemoteSailingServerInstancesManagementPanel>(sailingServerInstancesManagementPanel),
|
||||
getStringMessages().sailingServers(), SailingAdminConsoleFeatures.MANAGE_SAILING_SERVER_INSTANCES);
|
||||
getStringMessages().sailingServers(), Permission.MANAGE_SAILING_SERVER_INSTANCES);
|
||||
|
||||
final DeviceConfigurationUserPanel deviceConfigurationUserPanel = new DeviceConfigurationUserPanel(sailingService,
|
||||
getStringMessages(), this);
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<DeviceConfigurationUserPanel>(deviceConfigurationUserPanel),
|
||||
getStringMessages().deviceConfiguration(), SailingAdminConsoleFeatures.MANAGE_DEVICE_CONFIGURATION);
|
||||
getStringMessages().deviceConfiguration(), Permission.MANAGE_DEVICE_CONFIGURATION);
|
||||
|
||||
final UserManagementPanel userManagementPanel = new UserManagementPanel(getUserService(), StringMessages.INSTANCE);
|
||||
final UserManagementPanel userManagementPanel = new UserManagementPanel(getUserService(), StringMessages.INSTANCE,
|
||||
SailingPermissionsForRoleProvider.INSTANCE);
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<UserManagementPanel>(userManagementPanel),
|
||||
getStringMessages().userManagement(), SailingAdminConsoleFeatures.MANAGE_USERS);
|
||||
getStringMessages().userManagement(), Permission.MANAGE_USERS);
|
||||
|
||||
final FileStoragePanel fileStoragePanel = new FileStoragePanel(sailingService, this);
|
||||
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<FileStoragePanel>(fileStoragePanel),
|
||||
getStringMessages().fileStorage(), SailingAdminConsoleFeatures.MANAGE_FILE_STORAGE);
|
||||
getStringMessages().fileStorage(), Permission.MANAGE_FILE_STORAGE);
|
||||
|
||||
panel.initUI();
|
||||
fillRegattas();
|
||||
|
||||
+3
-3
@@ -11,9 +11,6 @@ interface AdminConsoleResources extends ClientBundle {
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/settingsActionIcon.png")
|
||||
ImageResource settingsActionIcon();
|
||||
|
||||
@Source("com/sap/sse/gwt/client/images/remove.png")
|
||||
ImageResource removeIcon();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/edit.png")
|
||||
ImageResource editIcon();
|
||||
|
||||
@@ -97,4 +94,7 @@ interface AdminConsoleResources extends ClientBundle {
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/close_time_range.png")
|
||||
ImageResource closeTimeRange();
|
||||
|
||||
@Source("com/sap/sailing/gwt/ui/client/images/compose_mail_small.png")
|
||||
ImageResource inviteBuoyTenders();
|
||||
}
|
||||
+1
-7
@@ -4,7 +4,6 @@ import com.google.gwt.event.dom.client.KeyUpEvent;
|
||||
import com.google.gwt.event.dom.client.KeyUpHandler;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||
import com.google.gwt.http.client.URL;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||
@@ -13,7 +12,7 @@ import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.DeviceMappingQRCodeWidget.QRCodeURLCreationException;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.QRCodeComposite;
|
||||
|
||||
@@ -91,9 +90,4 @@ public abstract class BaseQRIdentifierWidget implements IsWidget {
|
||||
protected void setError(String text) {
|
||||
error.setText(text);
|
||||
}
|
||||
|
||||
public static String encode(String value) {
|
||||
//pathSegment instead of queryString, so that ' ' is encoded as '%20'
|
||||
return URL.encodePathSegment(value);
|
||||
}
|
||||
}
|
||||
+16
-6
@@ -20,6 +20,7 @@ import com.sap.sse.common.CountryCode;
|
||||
import com.sap.sse.common.CountryCodeFactory;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.impl.RGBColor;
|
||||
import com.sap.sse.gwt.adminconsole.URLFieldWithFileUpload;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
|
||||
/**
|
||||
@@ -38,11 +39,13 @@ public class CompetitorEditDialog extends DataEntryDialog<CompetitorDTO> {
|
||||
private final TextBox displayColorTextBox;
|
||||
private final ListBox threeLetterIocCountryCode;
|
||||
private final TextBox sailId;
|
||||
private final TextBox email;
|
||||
private final StringMessages stringMessages;
|
||||
private final URLFieldWithFileUpload imageUrlAndUploadComposite;
|
||||
|
||||
public CompetitorEditDialog(final StringMessages stringMessages, CompetitorDTO competitorToEdit,
|
||||
DialogCallback<CompetitorDTO> callback) {
|
||||
super(stringMessages.editCompetitor(), stringMessages.editCompetitor(), stringMessages.ok(), stringMessages
|
||||
super(stringMessages.editCompetitor(), null, stringMessages.ok(), stringMessages
|
||||
.cancel(), new Validator<CompetitorDTO>() {
|
||||
@Override
|
||||
public String getErrorMessage(CompetitorDTO valueToValidate) {
|
||||
@@ -89,6 +92,7 @@ public class CompetitorEditDialog extends DataEntryDialog<CompetitorDTO> {
|
||||
}
|
||||
|
||||
this.name = createTextBox(competitorToEdit.getName());
|
||||
this.email = createTextBox(competitorToEdit.getEmail());
|
||||
this.displayColorTextBox = createTextBox(competitorToEdit.getColor() == null ? "" : competitorToEdit.getColor().getAsHtml());
|
||||
this.threeLetterIocCountryCode = createListBox(/* isMultipleSelect */ false);
|
||||
CountryCodeFactory ccf = CountryCodeFactory.INSTANCE;
|
||||
@@ -118,6 +122,8 @@ public class CompetitorEditDialog extends DataEntryDialog<CompetitorDTO> {
|
||||
}
|
||||
}
|
||||
this.sailId = createTextBox(competitorToEdit.getSailID());
|
||||
imageUrlAndUploadComposite = new URLFieldWithFileUpload(stringMessages);
|
||||
imageUrlAndUploadComposite.setURL(competitorToEdit.getImageURL());
|
||||
}
|
||||
|
||||
|
||||
@@ -170,17 +176,17 @@ public class CompetitorEditDialog extends DataEntryDialog<CompetitorDTO> {
|
||||
}
|
||||
}
|
||||
BoatClassDTO boatClass = new BoatClassDTO(boatClassName.getValue(boatClassName.getSelectedIndex()), 0);
|
||||
CompetitorDTO result = new CompetitorDTOImpl(name.getText(), color,
|
||||
CompetitorDTO result = new CompetitorDTOImpl(name.getText(), color, email.getText(),
|
||||
/* twoLetterIsoCountryCode */ null,
|
||||
threeLetterIocCountryCode.getValue(threeLetterIocCountryCode.getSelectedIndex()),
|
||||
/* countryName */ null, sailId.getText(), competitorToEdit.getIdAsString(),
|
||||
boatClass);
|
||||
imageUrlAndUploadComposite.getURL(), boatClass);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
Grid result = new Grid(5, 2);
|
||||
Grid result = new Grid(7, 2);
|
||||
result.setWidget(0, 0, new Label(stringMessages.name()));
|
||||
result.setWidget(0, 1, name);
|
||||
result.setWidget(1, 0, new Label(stringMessages.sailNumber()));
|
||||
@@ -189,8 +195,12 @@ public class CompetitorEditDialog extends DataEntryDialog<CompetitorDTO> {
|
||||
result.setWidget(2, 1, threeLetterIocCountryCode);
|
||||
result.setWidget(3, 0, new Label(stringMessages.color()));
|
||||
result.setWidget(3, 1, displayColorTextBox);
|
||||
result.setWidget(4, 0, new Label(stringMessages.boatClass()));
|
||||
result.setWidget(4, 1, boatClassName);
|
||||
result.setWidget(4, 0, new Label(stringMessages.email()));
|
||||
result.setWidget(4, 1, email);
|
||||
result.setWidget(5, 0, new Label(stringMessages.boatClass()));
|
||||
result.setWidget(5, 1, boatClassName);
|
||||
result.setWidget(6, 0, new Label(stringMessages.imageURL()));
|
||||
result.setWidget(6, 1, imageUrlAndUploadComposite);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
+167
-19
@@ -1,18 +1,24 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gwt.cell.client.FieldUpdater;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.i18n.client.LocaleInfo;
|
||||
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.Grid;
|
||||
import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
import com.google.gwt.user.client.ui.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.google.gwt.view.client.MultiSelectionModel;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent.Handler;
|
||||
@@ -20,8 +26,13 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTOImpl;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.controls.GenericListBox;
|
||||
import com.sap.sse.gwt.client.controls.GenericListBox.ValueBuilder;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
|
||||
/**
|
||||
@@ -43,15 +54,14 @@ public class CompetitorPanel extends SimplePanel {
|
||||
this(sailingService, null, stringMessages, errorReporter);
|
||||
}
|
||||
|
||||
public CompetitorPanel(final SailingServiceAsync sailingService, String leaderboardName, final StringMessages stringMessages,
|
||||
final ErrorReporter errorReporter) {
|
||||
public CompetitorPanel(final SailingServiceAsync sailingService, final String leaderboardName,
|
||||
final StringMessages stringMessages, final ErrorReporter errorReporter) {
|
||||
super();
|
||||
this.sailingService = sailingService;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new MultiSelectionModel<CompetitorDTO>(), false);
|
||||
this.competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ false);
|
||||
this.competitorSelectionModel = competitorTable.getSelectionModel();
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
this.setWidget(mainPanel);
|
||||
@@ -79,16 +89,56 @@ public class CompetitorPanel extends SimplePanel {
|
||||
buttonPanel.add(allowReloadButton);
|
||||
Button addCompetitorButton = new Button(stringMessages.add());
|
||||
addCompetitorButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openAddCompetitorDialog();
|
||||
}
|
||||
});
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
openAddCompetitorDialog();
|
||||
}
|
||||
});
|
||||
buttonPanel.add(addCompetitorButton);
|
||||
|
||||
Button selectAllButton = new Button(stringMessages.selectAll());
|
||||
selectAllButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
for (CompetitorDTO c : competitorTable.getDataProvider().getList()) {
|
||||
competitorSelectionModel.setSelected(c, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
buttonPanel.add(selectAllButton);
|
||||
|
||||
//only if this competitor panel is connected to a leaderboard, we want to enable invitations
|
||||
if (leaderboardName != null) {
|
||||
final Button inviteCompetitorsButton = new Button(stringMessages.inviteCompetitors());
|
||||
inviteCompetitorsButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
Set<CompetitorDTO> competitors = competitorSelectionModel.getSelectedSet();
|
||||
boolean emailProvidedForAll = isEmailProvidedForAll(competitors);
|
||||
|
||||
if (emailProvidedForAll) {
|
||||
openChooseEventDialogAndSendMails(competitors);
|
||||
} else {
|
||||
Window.alert(stringMessages.notAllCompetitorsProvideEmail());
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isEmailProvidedForAll(Iterable<CompetitorDTO> allCompetitors) {
|
||||
for (CompetitorDTO competitor : allCompetitors) {
|
||||
if (!competitor.hasEmail()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
buttonPanel.add(inviteCompetitorsButton);
|
||||
}
|
||||
|
||||
competitorsPanel.add(buttonPanel);
|
||||
|
||||
|
||||
//competitor table
|
||||
// competitor table
|
||||
ImagesBarColumn<CompetitorDTO, CompetitorConfigImagesBarCell> competitorActionColumn = new ImagesBarColumn<CompetitorDTO, CompetitorConfigImagesBarCell>(
|
||||
new CompetitorConfigImagesBarCell(stringMessages));
|
||||
competitorActionColumn.setFieldUpdater(new FieldUpdater<CompetitorDTO, String>() {
|
||||
@@ -112,21 +162,24 @@ public class CompetitorPanel extends SimplePanel {
|
||||
}
|
||||
});
|
||||
allowReloadButton.setEnabled(!competitorSelectionModel.getSelectedSet().isEmpty());
|
||||
|
||||
if(leaderboardName != null) {
|
||||
|
||||
if (leaderboardName != null) {
|
||||
refreshCompetitorList();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void allowUpdate(final Iterable<CompetitorDTO> competitors) {
|
||||
List<CompetitorDTO> serializableSingletonList = new ArrayList<CompetitorDTO>();
|
||||
Util.addAll(competitors, serializableSingletonList);
|
||||
sailingService.allowCompetitorResetToDefaults(serializableSingletonList, new AsyncCallback<Void>() {
|
||||
@Override public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to allow resetting competitors "+competitors
|
||||
+" to defaults: "+caught.getMessage());
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to allow resetting competitors " + competitors
|
||||
+ " to defaults: " + caught.getMessage());
|
||||
}
|
||||
@Override public void onSuccess(Void result) {
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
Window.alert(stringMessages.successfullyAllowedCompetitorReset(competitors.toString()));
|
||||
}
|
||||
});
|
||||
@@ -143,7 +196,7 @@ public class CompetitorPanel extends SimplePanel {
|
||||
sailingService.addOrUpdateCompetitor(competitor, new AsyncCallback<CompetitorDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to update competitor: "+caught.getMessage());
|
||||
errorReporter.reportError("Error trying to update competitor: " + caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -159,6 +212,101 @@ public class CompetitorPanel extends SimplePanel {
|
||||
}).show();
|
||||
}
|
||||
|
||||
private class SelectEventAndHostnameDialog extends DataEntryDialog<Pair<EventDTO, String>> {
|
||||
private GenericListBox<EventDTO> events;
|
||||
private TextBox serverUrl;
|
||||
|
||||
public SelectEventAndHostnameDialog(DialogCallback<Pair<EventDTO, String>> callback) {
|
||||
super(stringMessages.selectEventForInvitation(), null, stringMessages.inviteCompetitors(), stringMessages.cancel(),
|
||||
new Validator<Pair<EventDTO, String>>() {
|
||||
@Override
|
||||
public String getErrorMessage(Pair<EventDTO, String> valueToValidate) {
|
||||
if (valueToValidate.getA() == null) {
|
||||
return stringMessages.pleaseSelectAnEvent();
|
||||
} else if (valueToValidate.getB() == null || valueToValidate.getB().isEmpty()) {
|
||||
return stringMessages.pleaseEnterA(stringMessages.hostname());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}, false, callback);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Pair<EventDTO, String> getResult() {
|
||||
EventDTO event = events.getValue();
|
||||
String serverUrlString = serverUrl.getValue();
|
||||
if (serverUrlString.endsWith("/")) {
|
||||
serverUrlString = serverUrlString.substring(0, serverUrlString.length() - 1);
|
||||
}
|
||||
return new Pair<>(event, serverUrlString);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
Grid grid = new Grid(2, 2);
|
||||
grid.setWidget(0, 0, createLabel(stringMessages.hostname()));
|
||||
serverUrl = createTextBox(Window.Location.getProtocol() + "//" + Window.Location.getHost());
|
||||
grid.setWidget(0, 1, serverUrl);
|
||||
|
||||
grid.setWidget(1, 0, createLabel(stringMessages.event()));
|
||||
events = createGenericListBox(new ValueBuilder<EventDTO>() {
|
||||
@Override
|
||||
public String getValue(EventDTO item) {
|
||||
if (item == null) {
|
||||
return "";
|
||||
}
|
||||
return item.getName();
|
||||
}
|
||||
}, false);
|
||||
grid.setWidget(1, 1, events);
|
||||
|
||||
events.addItem((EventDTO) null);
|
||||
sailingService.getEventsForLeaderboard(leaderboardName, new AsyncCallback<Collection<EventDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Collection<EventDTO> result) {
|
||||
events.addItems(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Could not load events: " + caught.getMessage());
|
||||
}
|
||||
});
|
||||
return grid;
|
||||
}
|
||||
}
|
||||
|
||||
private String getLocaleInfo() {
|
||||
return LocaleInfo.getCurrentLocale().getLocaleName();
|
||||
}
|
||||
|
||||
private void openChooseEventDialogAndSendMails(final Set<CompetitorDTO> competitors) {
|
||||
new SelectEventAndHostnameDialog(new DialogCallback<Pair<EventDTO, String>>() {
|
||||
|
||||
@Override
|
||||
public void ok(Pair<EventDTO, String> result) {
|
||||
sailingService.inviteCompetitorsForTrackingViaEmail(result.getB(), result.getA(), leaderboardName,
|
||||
competitors, getLocaleInfo(), new AsyncCallback<Void>() {
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
Window.alert(stringMessages.sendingMailsFailed() + caught.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
Window.alert(stringMessages.sendingMailsSuccessfull());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
|
||||
public void refreshCompetitorList() {
|
||||
competitorTable.refreshCompetitorList(leaderboardName);
|
||||
}
|
||||
|
||||
+40
-9
@@ -28,12 +28,11 @@ import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
|
||||
public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> extends TableWrapper<CompetitorDTO, S> {
|
||||
private final LabeledAbstractFilterablePanel<CompetitorDTO> filterField;
|
||||
|
||||
|
||||
public CompetitorTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages,ErrorReporter errorReporter,
|
||||
S selectionModel, boolean enablePager) {
|
||||
super(sailingService, stringMessages, errorReporter, selectionModel, enablePager);
|
||||
|
||||
ListHandler<CompetitorDTO> competitorColumnListHandler = new ListHandler<CompetitorDTO>(dataProvider.getList());
|
||||
boolean multiSelection, boolean enablePager) {
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, enablePager);
|
||||
ListHandler<CompetitorDTO> competitorColumnListHandler = getColumnSortHandler();
|
||||
|
||||
// competitors table
|
||||
TextColumn<CompetitorDTO> competitorNameColumn = new TextColumn<CompetitorDTO>() {
|
||||
@@ -101,14 +100,32 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
|
||||
}
|
||||
});
|
||||
|
||||
Column<CompetitorDTO, SafeHtml> imageColumn = new Column<CompetitorDTO, SafeHtml>(new SafeHtmlCell()) {
|
||||
@Override
|
||||
public SafeHtml getValue(CompetitorDTO competitor) {
|
||||
SafeHtmlBuilder sb = new SafeHtmlBuilder();
|
||||
if (competitor.getImageURL() != null && !competitor.getImageURL().isEmpty()) {
|
||||
sb.appendHtmlConstant("<img src=\"/sailingserver/api/v1/file?uri=" + competitor.getImageURL()
|
||||
+ "\" height=\"40px\" title=\"" + competitor.getImageURL() + "\"/>");
|
||||
}
|
||||
return sb.toSafeHtml();
|
||||
}
|
||||
};
|
||||
imageColumn.setSortable(true);
|
||||
competitorColumnListHandler.setComparator(imageColumn, new Comparator<CompetitorDTO>() {
|
||||
private final NaturalComparator comparator = new NaturalComparator(/* case sensitive */ false);
|
||||
@Override
|
||||
public int compare(CompetitorDTO o1, CompetitorDTO o2) {
|
||||
return comparator.compare(o1.getImageURL(), o2.getImageURL());
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<CompetitorDTO> competitorIdColumn = new TextColumn<CompetitorDTO>() {
|
||||
@Override
|
||||
public String getValue(CompetitorDTO competitor) {
|
||||
return competitor.getIdAsString();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
competitorIdColumn.setSortable(true);
|
||||
competitorColumnListHandler.setComparator(competitorIdColumn, new Comparator<CompetitorDTO>() {
|
||||
@Override
|
||||
@@ -117,9 +134,22 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
|
||||
}
|
||||
});
|
||||
|
||||
TextColumn<CompetitorDTO> competitorEMailColumn = new TextColumn<CompetitorDTO>() {
|
||||
@Override
|
||||
public String getValue(CompetitorDTO competitor) {
|
||||
return competitor.getEmail();
|
||||
}
|
||||
};
|
||||
competitorEMailColumn.setSortable(true);
|
||||
competitorColumnListHandler.setComparator(competitorEMailColumn, new Comparator<CompetitorDTO>() {
|
||||
@Override
|
||||
public int compare(CompetitorDTO o1, CompetitorDTO o2) {
|
||||
return new NaturalComparator(false).compare(o1.getEmail(), o2.getEmail());
|
||||
}
|
||||
});
|
||||
|
||||
filterField = new LabeledAbstractFilterablePanel<CompetitorDTO>(new Label(stringMessages.filterCompetitors()),
|
||||
new ArrayList<CompetitorDTO>(), table, dataProvider) {
|
||||
|
||||
@Override
|
||||
public Iterable<String> getSearchableStrings(CompetitorDTO t) {
|
||||
List<String> string = new ArrayList<String>();
|
||||
@@ -129,13 +159,14 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
|
||||
return string;
|
||||
}
|
||||
};
|
||||
|
||||
mainPanel.insert(filterField, 0);
|
||||
table.addColumnSortHandler(competitorColumnListHandler);
|
||||
table.addColumn(sailIdColumn, stringMessages.sailNumber());
|
||||
table.addColumn(competitorNameColumn, stringMessages.name());
|
||||
table.addColumn(boatClassColumn, stringMessages.boatClass());
|
||||
table.addColumn(displayColorColumn, stringMessages.color());
|
||||
table.addColumn(imageColumn, stringMessages.imageURL());
|
||||
table.addColumn(competitorEMailColumn, stringMessages.email());
|
||||
table.addColumn(competitorIdColumn, stringMessages.id());
|
||||
}
|
||||
|
||||
|
||||
+2
-3
@@ -10,10 +10,9 @@ import com.sap.sailing.gwt.ui.shared.MarkDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
|
||||
public class ControlPointTableWrapper<S extends SelectionModel<ControlPointDTO>> extends TableWrapper<ControlPointDTO, S> {
|
||||
public ControlPointTableWrapper(S selectionModel, SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
public ControlPointTableWrapper(boolean multiSelection, SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, selectionModel, true);
|
||||
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, /* enablePager */ true);
|
||||
TextColumn<ControlPointDTO> nameColumn = new TextColumn<ControlPointDTO>() {
|
||||
@Override
|
||||
public String getValue(ControlPointDTO d) {
|
||||
|
||||
+5
-5
@@ -34,7 +34,7 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
|
||||
public abstract class CourseManagementWidget implements IsWidget {
|
||||
protected final MarkTableWrapper<MultiSelectionModel<MarkDTO>> marks;
|
||||
protected final ControlPointTableWrapper<MultiSelectionModel<ControlPointDTO>> multiMarkControlPoints;
|
||||
protected final ControlPointTableWrapper<SingleSelectionModel<ControlPointDTO>> multiMarkControlPoints;
|
||||
protected final WaypointTableWrapper<SingleSelectionModel<WaypointDTO>> waypoints;
|
||||
|
||||
protected final Grid mainPanel;
|
||||
@@ -69,11 +69,11 @@ public abstract class CourseManagementWidget implements IsWidget {
|
||||
mainPanel.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
|
||||
|
||||
waypoints = new WaypointTableWrapper<SingleSelectionModel<WaypointDTO>>(
|
||||
new SingleSelectionModel<WaypointDTO>(), sailingService, stringMessages, errorReporter);
|
||||
multiMarkControlPoints = new ControlPointTableWrapper<MultiSelectionModel<ControlPointDTO>>(
|
||||
new MultiSelectionModel<ControlPointDTO>(), sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ false, sailingService, stringMessages, errorReporter);
|
||||
multiMarkControlPoints = new ControlPointTableWrapper<SingleSelectionModel<ControlPointDTO>>(
|
||||
/* multiSelection */ false, sailingService, stringMessages, errorReporter);
|
||||
marks = new MarkTableWrapper<MultiSelectionModel<MarkDTO>>(
|
||||
new MultiSelectionModel<MarkDTO>(), sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ true, sailingService, stringMessages, errorReporter);
|
||||
|
||||
CaptionPanel waypointsPanel = new CaptionPanel(stringMessages.waypoints());
|
||||
CaptionPanel controlPointsPanel = new CaptionPanel(stringMessages.twoMarkControlPoint());
|
||||
|
||||
+2
-3
@@ -2,13 +2,12 @@ package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
|
||||
public class CourseManagementWidgetWaypointsImagesBarCell extends ImagesBarCell {
|
||||
public static final String ACTION_DELETE = "ACTION_DELETE";
|
||||
private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
public CourseManagementWidgetWaypointsImagesBarCell(StringMessages stringMessages) {
|
||||
@@ -19,7 +18,7 @@ public class CourseManagementWidgetWaypointsImagesBarCell extends ImagesBarCell
|
||||
@Override
|
||||
protected Iterable<ImageSpec> getImageSpecs() {
|
||||
ArrayList<ImageSpec> result = new ArrayList<ImageSpec>();
|
||||
result.add(new ImageSpec(ACTION_DELETE, stringMessages.remove(), makeImagePrototype(resources.removeIcon())));
|
||||
result.add(new ImageSpec(ACTION_DELETE, stringMessages.remove(), makeImagePrototype(IconResources.INSTANCE.removeIcon())));
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -2,7 +2,6 @@ package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.user.client.ui.TabPanel;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
@@ -12,12 +11,11 @@ import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.SeriesDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
import com.sap.sse.gwt.client.controls.listedit.ListEditorComposite;
|
||||
|
||||
public class DefaultRegattaCreateDialog extends AbstractRegattaWithSeriesAndFleetsDialog<EventAndRegattaDTO> {
|
||||
|
||||
private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
|
||||
public DefaultRegattaCreateDialog(List<EventDTO> existingEvents, RegattaDTO selectedRegatta,
|
||||
SailingServiceAsync sailingService, ErrorReporter errorReporter, StringMessages stringMessages,
|
||||
com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback<EventAndRegattaDTO> callback) {
|
||||
@@ -34,7 +32,7 @@ public class DefaultRegattaCreateDialog extends AbstractRegattaWithSeriesAndFlee
|
||||
}
|
||||
|
||||
protected ListEditorComposite<SeriesDTO> createSeriesEditor(Iterable<SeriesDTO> series) {
|
||||
return new SeriesWithFleetsDefaultListEditor(series, stringMessages, resources.removeIcon(), /* enableFleetRemoval */ false);
|
||||
return new SeriesWithFleetsDefaultListEditor(series, stringMessages, IconResources.INSTANCE.removeIcon(), /* enableFleetRemoval */ false);
|
||||
}
|
||||
|
||||
protected void setupAdditionalWidgetsOnPanel(final VerticalPanel panel) {
|
||||
|
||||
+2
-3
@@ -5,7 +5,6 @@ import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.dom.client.ChangeEvent;
|
||||
import com.google.gwt.event.dom.client.ChangeHandler;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
@@ -20,6 +19,7 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.domain.common.configuration.DeviceConfigurationMatcherType;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationMatcherDTO;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
|
||||
public class DeviceConfigurationCreateMatcherDialog extends DataEntryDialog<DeviceConfigurationMatcherDTO> {
|
||||
@@ -63,7 +63,6 @@ public class DeviceConfigurationCreateMatcherDialog extends DataEntryDialog<Devi
|
||||
|
||||
}
|
||||
|
||||
private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
private ListBox typeBox;
|
||||
private List<TextBox> devicesBoxes;
|
||||
|
||||
@@ -164,7 +163,7 @@ public class DeviceConfigurationCreateMatcherDialog extends DataEntryDialog<Devi
|
||||
}
|
||||
|
||||
private PushButton createRemoveButton(final Grid devicesGrid) {
|
||||
PushButton removeButton = new PushButton(new Image(resources.removeIcon()));
|
||||
PushButton removeButton = new PushButton(new Image(IconResources.INSTANCE.removeIcon()));
|
||||
removeButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
+3
-2
@@ -29,6 +29,7 @@ import com.sap.sailing.gwt.ui.shared.DeviceConfigurationDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationDTO.RegattaConfigurationDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.DeviceConfigurationMatcherDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
import com.sap.sse.gwt.client.controls.listedit.ListEditorComposite;
|
||||
import com.sap.sse.gwt.client.controls.listedit.StringListEditorComposite;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
@@ -206,7 +207,7 @@ public class DeviceConfigurationDetailComposite extends Composite {
|
||||
List<String> initialValues = originalConfiguration.allowedCourseAreaNames == null ? Collections
|
||||
.<String> emptyList() : originalConfiguration.allowedCourseAreaNames;
|
||||
|
||||
allowedCourseAreasList = new StringListEditorComposite(initialValues, stringMessages, stringMessages.courseAreas(), resources.removeIcon(),
|
||||
allowedCourseAreasList = new StringListEditorComposite(initialValues, stringMessages, stringMessages.courseAreas(), IconResources.INSTANCE.removeIcon(),
|
||||
SuggestedCourseAreaNames.suggestedCourseAreaNames, stringMessages.enterCourseAreaName());
|
||||
allowedCourseAreasList.setWidth("80%");
|
||||
allowedCourseAreasList.addValueChangeHandler(dirtyValueMarker);
|
||||
@@ -219,7 +220,7 @@ public class DeviceConfigurationDetailComposite extends Composite {
|
||||
List<String> initialValues = originalConfiguration.byNameDesignerCourseNames == null ? Collections
|
||||
.<String> emptyList() : originalConfiguration.byNameDesignerCourseNames;
|
||||
|
||||
courseNamesList = new StringListEditorComposite(initialValues, stringMessages, stringMessages.courseNames(), resources.removeIcon(), suggestedCourseNames,
|
||||
courseNamesList = new StringListEditorComposite(initialValues, stringMessages, stringMessages.courseNames(), IconResources.INSTANCE.removeIcon(), suggestedCourseNames,
|
||||
stringMessages.enterCourseName());
|
||||
courseNamesList.setWidth("80%");
|
||||
courseNamesList.addValueChangeHandler(dirtyValueMarker);
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ public class DeviceIdentifierTableWrapper extends TableWrapper<DeviceIdentifierD
|
||||
|
||||
public DeviceIdentifierTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, new MultiSelectionModel<DeviceIdentifierDTO>(), false);
|
||||
super(sailingService, stringMessages, errorReporter, /* multiSelection */ true, /* enablePager */ false);
|
||||
|
||||
TextColumn<DeviceIdentifierDTO> typeColumn = new TextColumn<DeviceIdentifierDTO>() {
|
||||
@Override
|
||||
|
||||
+3
-9
@@ -2,6 +2,7 @@ package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import com.google.gwt.http.client.URL;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.DeviceMappingConstants;
|
||||
import com.sap.sailing.domain.common.racelog.tracking.QRCodeURLCreationException;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.QRCodeComposite;
|
||||
|
||||
@@ -13,15 +14,8 @@ public class DeviceMappingQRCodeWidget extends BaseQRIdentifierWidget {
|
||||
private String mappedItemId;
|
||||
private String mappedItemType;
|
||||
|
||||
static class QRCodeURLCreationException extends Exception {
|
||||
private static final long serialVersionUID = -8243995470804772458L;
|
||||
public QRCodeURLCreationException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
static interface URLFactory {
|
||||
String createURL(String baseUrlWithoutTrailingSlash, String mappedItemQueryParam)
|
||||
String createURL(String baseUrlWithoutTrailingSlash, String mappedItemType, String mappedItemId)
|
||||
throws QRCodeURLCreationException;
|
||||
}
|
||||
|
||||
@@ -52,6 +46,6 @@ public class DeviceMappingQRCodeWidget extends BaseQRIdentifierWidget {
|
||||
throw new QRCodeURLCreationException("No item selected for mapping");
|
||||
}
|
||||
|
||||
return urlFactory.createURL(serverUrl, mappedItemType + "=" + encode(mappedItemId));
|
||||
return urlFactory.createURL(serverUrl, mappedItemType, mappedItemId);
|
||||
}
|
||||
}
|
||||
+2
-6
@@ -30,8 +30,7 @@ public class DeviceMappingTableWrapper extends TableWrapper<DeviceMappingDTO, Si
|
||||
|
||||
public DeviceMappingTableWrapper(SailingServiceAsync sailingService, final StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, new SingleSelectionModel<DeviceMappingDTO>(), true);
|
||||
|
||||
super(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true);
|
||||
showPingMappingsCb = new CheckBox(stringMessages.showPingMarkMappings());
|
||||
showPingMappingsCb.addValueChangeHandler(new ValueChangeHandler<Boolean>() {
|
||||
@Override
|
||||
@@ -40,12 +39,9 @@ public class DeviceMappingTableWrapper extends TableWrapper<DeviceMappingDTO, Si
|
||||
}
|
||||
});
|
||||
mainPanel.insert(showPingMappingsCb, 0);
|
||||
|
||||
table.setWidth("1000px", true);
|
||||
table.addStyleName("wrap-cols");
|
||||
|
||||
ListHandler<DeviceMappingDTO> listHandler = new ListHandler<DeviceMappingDTO>(dataProvider.getList());
|
||||
|
||||
ListHandler<DeviceMappingDTO> listHandler = getColumnSortHandler();
|
||||
TextColumn<DeviceMappingDTO> itemTypeCol = new TextColumn<DeviceMappingDTO>() {
|
||||
@Override
|
||||
public String getValue(DeviceMappingDTO mapping) {
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@ import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.text.shared.SafeHtmlRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
|
||||
public class EventConfigImagesBarCell extends ImagesBarCell {
|
||||
static final String ACTION_REMOVE = "ACTION_REMOVE";
|
||||
@@ -27,7 +28,7 @@ public class EventConfigImagesBarCell extends ImagesBarCell {
|
||||
protected Iterable<ImageSpec> getImageSpecs() {
|
||||
return Arrays.asList(
|
||||
new ImageSpec(ACTION_EDIT, stringMessages.actionEdit(), makeImagePrototype(resources.editIcon())),
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(resources.removeIcon()))
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(IconResources.INSTANCE.removeIcon()))
|
||||
);
|
||||
}
|
||||
}
|
||||
+6
-7
@@ -8,7 +8,6 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeEvent;
|
||||
import com.google.gwt.event.logical.shared.ValueChangeHandler;
|
||||
@@ -28,11 +27,11 @@ import com.sap.sailing.gwt.ui.shared.CourseAreaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.VenueDTO;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
import com.sap.sse.gwt.client.controls.listedit.StringConstantsListEditorComposite;
|
||||
import com.sap.sse.gwt.client.controls.listedit.StringListInlineEditorComposite;
|
||||
|
||||
public abstract class EventDialog extends DataEntryDialogWithBootstrap<EventDTO> {
|
||||
private final AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
protected StringMessages stringMessages;
|
||||
protected TextBox nameEntryField;
|
||||
protected TextArea descriptionEntryField;
|
||||
@@ -131,22 +130,22 @@ public abstract class EventDialog extends DataEntryDialogWithBootstrap<EventDTO>
|
||||
};
|
||||
|
||||
courseAreaNameList = new StringListInlineEditorComposite(Collections.<String> emptyList(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, resources.removeIcon(), /* suggestValues */
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, IconResources.INSTANCE.removeIcon(), /* suggestValues */
|
||||
SuggestedCourseAreaNames.suggestedCourseAreaNames, stringMessages.enterCourseAreaName(), 50));
|
||||
courseAreaNameList.addValueChangeHandler(valueChangeHandler);
|
||||
final List<String> imageSuggestionURLs = Arrays.asList(new String[] { "http://", "https://", "http://www.", "https://www" });
|
||||
imageURLList = new StringListInlineEditorComposite(Collections.<String> emptyList(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, resources.removeIcon(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, IconResources.INSTANCE.removeIcon(),
|
||||
/* suggestValues */ imageSuggestionURLs, stringMessages.enterImageURL(), 80));
|
||||
imageURLList.addValueChangeHandler(valueChangeHandler);
|
||||
List<String> videoURLSuggestions = new ArrayList<>(imageSuggestionURLs);
|
||||
videoURLSuggestions.add("http://www.youtube.com/watch?v=");
|
||||
videoURLList = new StringListInlineEditorComposite(Collections.<String> emptyList(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, resources.removeIcon(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, IconResources.INSTANCE.removeIcon(),
|
||||
/* suggestValues */ videoURLSuggestions, stringMessages.enterVideoURL(), 80));
|
||||
videoURLList.addValueChangeHandler(valueChangeHandler);
|
||||
sponsorImageURLList = new StringListInlineEditorComposite(Collections.<String> emptyList(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, resources.removeIcon(),
|
||||
new StringListInlineEditorComposite.ExpandedUi(stringMessages, IconResources.INSTANCE.removeIcon(),
|
||||
/* suggestValues */ imageSuggestionURLs, stringMessages.enterSponsorImageURL(), 80));
|
||||
sponsorImageURLList.addValueChangeHandler(valueChangeHandler);
|
||||
List<String> leaderboardGroupNames = new ArrayList<>();
|
||||
@@ -154,7 +153,7 @@ public abstract class EventDialog extends DataEntryDialogWithBootstrap<EventDTO>
|
||||
leaderboardGroupNames.add(leaderboardGroupDTO.getName());
|
||||
}
|
||||
leaderboardGroupList = new StringConstantsListEditorComposite(Collections.<String> emptyList(),
|
||||
new StringConstantsListEditorComposite.ExpandedUi(stringMessages, resources.removeIcon(),
|
||||
new StringConstantsListEditorComposite.ExpandedUi(stringMessages, IconResources.INSTANCE.removeIcon(),
|
||||
leaderboardGroupNames, "Select a leaderboard group..."));
|
||||
leaderboardGroupList.addValueChangeHandler(valueChangeHandler);
|
||||
}
|
||||
|
||||
+1
-1
@@ -46,7 +46,7 @@ public class GateCreationDialog extends DataEntryDialog<GateDTO> {
|
||||
name = createTextBox("");
|
||||
|
||||
marksWrapper = new MarkTableWrapper<MultiSelectionModel<MarkDTO>>(
|
||||
new MultiSelectionModel<MarkDTO>(), sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ true, sailingService, stringMessages, errorReporter);
|
||||
marksWrapper.getDataProvider().getList().addAll(marks);
|
||||
|
||||
marksWrapper.getSelectionModel().addSelectionChangeHandler(new Handler() {
|
||||
|
||||
+2
-2
@@ -35,6 +35,7 @@ import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
|
||||
@@ -48,7 +49,6 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
|
||||
public static class AccountImagesBarCell extends ImagesBarCell {
|
||||
public static final String ACTION_REMOVE = "ACTION_REMOVE";
|
||||
private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
public AccountImagesBarCell(StringMessages stringMessages) {
|
||||
@@ -64,7 +64,7 @@ public class IgtimiAccountsPanel extends FlowPanel {
|
||||
@Override
|
||||
protected Iterable<ImageSpec> getImageSpecs() {
|
||||
return Arrays.asList(
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(resources.removeIcon())));
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(IconResources.INSTANCE.removeIcon())));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-11
@@ -48,9 +48,7 @@ public class ImportFixesAndAddMappingsDialog extends DataEntryDialog<Collection<
|
||||
return null;
|
||||
}
|
||||
}, true, callback);
|
||||
|
||||
this.stringMessages = stringMessages;
|
||||
|
||||
deviceIdTable = new TrackFileImportDeviceIdentifierTableWrapper(sailingService, stringMessages, errorReporter);
|
||||
importWidget = new TrackFileImportWidget(deviceIdTable, stringMessages, sailingService, errorReporter);
|
||||
deviceIdTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@@ -59,11 +57,9 @@ public class ImportFixesAndAddMappingsDialog extends DataEntryDialog<Collection<
|
||||
deviceSelectionChanged(deviceIdTable.getSelectionModel().getSelectedObject());
|
||||
}
|
||||
});
|
||||
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new SingleSelectionModel<CompetitorDTO>(), true);
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, true);
|
||||
markTable = new MarkTableWrapper<SingleSelectionModel<MarkDTO>>(
|
||||
new SingleSelectionModel<MarkDTO>(), sailingService, stringMessages, errorReporter);
|
||||
/* multiSelection */ false, sailingService, stringMessages, errorReporter);
|
||||
|
||||
competitorTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
@@ -71,14 +67,12 @@ public class ImportFixesAndAddMappingsDialog extends DataEntryDialog<Collection<
|
||||
mappedToSelectionChanged(competitorTable.getSelectionModel().getSelectedObject());
|
||||
}
|
||||
});
|
||||
|
||||
markTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
mappedToSelectionChanged(markTable.getSelectionModel().getSelectedObject());
|
||||
}
|
||||
});
|
||||
|
||||
sailingService.getCompetitorRegistrations(leaderboardName, raceColumnName, fleetName, new AsyncCallback<Collection<CompetitorDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Collection<CompetitorDTO> result) {
|
||||
@@ -90,10 +84,9 @@ public class ImportFixesAndAddMappingsDialog extends DataEntryDialog<Collection<
|
||||
errorReporter.reportError("Could not load competitors: " + caught.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
sailingService.getMarksInRaceLog(leaderboardName, raceColumnName, fleetName, new AsyncCallback<Collection<MarkDTO>>() {
|
||||
sailingService.getMarksInRaceLog(leaderboardName, raceColumnName, fleetName, new AsyncCallback<Iterable<MarkDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Collection<MarkDTO> result) {
|
||||
public void onSuccess(Iterable<MarkDTO> result) {
|
||||
markTable.refresh(result);
|
||||
}
|
||||
|
||||
|
||||
+98
@@ -0,0 +1,98 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Grid;
|
||||
import com.google.gwt.user.client.ui.TextBox;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sse.common.Util.Triple;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.controls.GenericListBox;
|
||||
import com.sap.sse.gwt.client.controls.GenericListBox.ValueBuilder;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
|
||||
public class InviteBuoyTenderDialog extends DataEntryDialog<Triple<EventDTO, String, String>> {
|
||||
private GenericListBox<EventDTO> events;
|
||||
private TextBox serverUrl;
|
||||
private TextBox emails;
|
||||
private StringMessages stringMessages;
|
||||
private SailingServiceAsync sailingService;
|
||||
private String leaderboardName;
|
||||
private ErrorReporter errorReporter;
|
||||
|
||||
public InviteBuoyTenderDialog(final StringMessages stringMessages, SailingServiceAsync sailingService, String leaderboardName, ErrorReporter errorReporter, DialogCallback<Triple<EventDTO, String, String>> callback) {
|
||||
super(stringMessages.selectEventForInvitation(), null, stringMessages.inviteCompetitors(), stringMessages
|
||||
.cancel(), new Validator<Triple<EventDTO, String, String>>() {
|
||||
@Override
|
||||
public String getErrorMessage(Triple<EventDTO, String, String> valueToValidate) {
|
||||
if (valueToValidate.getA() == null) {
|
||||
return stringMessages.pleaseSelectAnEvent();
|
||||
} else if (valueToValidate.getB() == null || valueToValidate.getB().isEmpty()) {
|
||||
return stringMessages.pleaseEnterA(stringMessages.hostname());
|
||||
} else if (valueToValidate.getC() == null || valueToValidate.getC().isEmpty()) {
|
||||
return stringMessages.pleaseEnterA(stringMessages.email())+stringMessages.orMultipleEmails() ;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}, false, callback);
|
||||
this.stringMessages = stringMessages;
|
||||
this.sailingService = sailingService;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.errorReporter = errorReporter;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Triple<EventDTO, String, String> getResult() {
|
||||
EventDTO event = events.getValue();
|
||||
String serverUrlString = serverUrl.getValue();
|
||||
String emailsString = emails.getValue();
|
||||
if (serverUrlString.endsWith("/")) {
|
||||
serverUrlString = serverUrlString.substring(0, serverUrlString.length() - 1);
|
||||
}
|
||||
return new Triple<>(event, serverUrlString, emailsString);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
Grid grid = new Grid(3, 3);
|
||||
grid.setWidget(0, 0, createLabel(stringMessages.hostname()));
|
||||
serverUrl = createTextBox(Window.Location.getProtocol() + "//" + Window.Location.getHost());
|
||||
emails = createTextBox("test@example.com,test2@example.com");
|
||||
grid.setWidget(0, 1, serverUrl);
|
||||
|
||||
grid.setWidget(1, 0, createLabel(stringMessages.event()));
|
||||
events = createGenericListBox(new ValueBuilder<EventDTO>() {
|
||||
@Override
|
||||
public String getValue(EventDTO item) {
|
||||
if (item == null) {
|
||||
return "";
|
||||
}
|
||||
return item.getName();
|
||||
}
|
||||
}, false);
|
||||
grid.setWidget(1, 1, events);
|
||||
|
||||
events.addItem((EventDTO) null);
|
||||
sailingService.getEventsForLeaderboard(leaderboardName, new AsyncCallback<Collection<EventDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Collection<EventDTO> result) {
|
||||
events.addItems(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Could not load events: " + caught.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
grid.setWidget(2, 0, createLabel(stringMessages.email()));
|
||||
grid.setWidget(2, 1, emails);
|
||||
|
||||
return grid;
|
||||
}
|
||||
}
|
||||
+8
-14
@@ -31,16 +31,12 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget {
|
||||
|
||||
public ItemToMapToDeviceSelectionPanel(SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter, final SelectionChangedHandler handler, MappableToDevice selected) {
|
||||
|
||||
this.selected = selected;
|
||||
this.errorReporter = errorReporter;
|
||||
|
||||
final SingleSelectionModel<MarkDTO> markSelectionModel = new SingleSelectionModel<MarkDTO>();
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new SingleSelectionModel<CompetitorDTO>(), true);
|
||||
markTable = new MarkTableWrapper<SingleSelectionModel<MarkDTO>>(markSelectionModel, sailingService,
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, /* multiSelection */ false, /* enablePager */ true);
|
||||
markTable = new MarkTableWrapper<SingleSelectionModel<MarkDTO>>(/* multiSelection */ false, sailingService,
|
||||
stringMessages, errorReporter);
|
||||
|
||||
final SingleSelectionModel<MarkDTO> markSelectionModel = markTable.getSelectionModel();
|
||||
competitorTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
@@ -53,8 +49,7 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
markTable.getSelectionModel().addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
markSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
if (markSelectionModel.getSelectedSet().size() == 1) {
|
||||
@@ -65,8 +60,7 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//build UI
|
||||
// build UI
|
||||
this.mainPanel = new VerticalPanel();
|
||||
CaptionPanel marksPanel = new CaptionPanel(stringMessages.mark());
|
||||
CaptionPanel competitorsPanel = new CaptionPanel(stringMessages.competitor());
|
||||
@@ -113,10 +107,10 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget {
|
||||
};
|
||||
}
|
||||
|
||||
public AsyncCallback<Collection<MarkDTO>> getSetMarksCallback() {
|
||||
return new AsyncCallback<Collection<MarkDTO>>() {
|
||||
public AsyncCallback<Iterable<MarkDTO>> getSetMarksCallback() {
|
||||
return new AsyncCallback<Iterable<MarkDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Collection<MarkDTO> result) {
|
||||
public void onSuccess(Iterable<MarkDTO> result) {
|
||||
markTable.refresh(result);
|
||||
select(result, markTable.getSelectionModel());
|
||||
}
|
||||
|
||||
+5
-2
@@ -6,6 +6,7 @@ import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.text.shared.SafeHtmlRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
|
||||
public class LeaderboardConfigImagesBarCell extends ImagesBarCell {
|
||||
public static final String ACTION_REMOVE = "ACTION_REMOVE";
|
||||
@@ -15,6 +16,7 @@ public class LeaderboardConfigImagesBarCell extends ImagesBarCell {
|
||||
public static final String ACTION_CONFIGURE_URL = "ACTION_CONFIGURE_URL";
|
||||
public static final String ACTION_EXPORT_XML = "ACTION_EXPORT_XML";
|
||||
public static final String ACTION_OPEN_COACH_DASHBOARD = "ACTION_OPEN_COACH_DASHBOARD";
|
||||
public static final String ACTION_SHOW_REGATTA_LOG = "ACTION_SHOW_REGATTA_LOG";
|
||||
private static AdminConsoleResources resources = GWT.create(AdminConsoleResources.class);
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
@@ -35,8 +37,9 @@ public class LeaderboardConfigImagesBarCell extends ImagesBarCell {
|
||||
new ImageSpec(ACTION_EDIT_SCORES, stringMessages.actionEditScores(), makeImagePrototype(resources.scoresIcon())),
|
||||
new ImageSpec(ACTION_EDIT_COMPETITORS, stringMessages.actionEditCompetitors(), makeImagePrototype(resources.competitorsIcon())),
|
||||
new ImageSpec(ACTION_CONFIGURE_URL, stringMessages.actionConfigureUrl(), makeImagePrototype(resources.settingsActionIcon())),
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(resources.removeIcon())),
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(IconResources.INSTANCE.removeIcon())),
|
||||
new ImageSpec(ACTION_EXPORT_XML, stringMessages.actionExportXML(), makeImagePrototype(resources.exportXMLIcon())),
|
||||
new ImageSpec(ACTION_OPEN_COACH_DASHBOARD, stringMessages.actionOpenDashboard(), makeImagePrototype(resources.openCoachDashboard())));
|
||||
new ImageSpec(ACTION_OPEN_COACH_DASHBOARD, stringMessages.actionOpenDashboard(), makeImagePrototype(resources.openCoachDashboard())),
|
||||
new ImageSpec(ACTION_SHOW_REGATTA_LOG, stringMessages.regattaLog(), makeImagePrototype(resources.flagIcon())));
|
||||
}
|
||||
}
|
||||
+3
-101
@@ -30,7 +30,6 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||
import com.google.gwt.user.client.ui.Panel;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.RegattaIdentifier;
|
||||
import com.sap.sailing.domain.common.RegattaName;
|
||||
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
|
||||
@@ -38,12 +37,9 @@ import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.dto.FleetDTO;
|
||||
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.DisablableCheckboxCell.IsEnabled;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.RaceColumnInLeaderboardDialog.RaceColumnDescriptor;
|
||||
import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsDisplayer;
|
||||
import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.ParallelExecutionCallback;
|
||||
import com.sap.sailing.gwt.ui.client.ParallelExecutionHolder;
|
||||
import com.sap.sailing.gwt.ui.client.RaceSelectionChangeListener;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattasDisplayer;
|
||||
@@ -53,7 +49,6 @@ import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardEntryPoint;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceLogSetStartTimeAndProcedureDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.common.Util;
|
||||
@@ -76,7 +71,6 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
private Button columnMoveDownButton;
|
||||
|
||||
public static class AnchorCell extends AbstractCell<SafeHtml> {
|
||||
|
||||
@Override
|
||||
public void render(com.google.gwt.cell.client.Cell.Context context, SafeHtml safeHtml, SafeHtmlBuilder sb) {
|
||||
sb.append(safeHtml);
|
||||
@@ -87,13 +81,12 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
@SafeHtmlTemplates.Template("<a href=\"{0}\">{1}</a>")
|
||||
SafeHtml cell(String url, String displayName);
|
||||
}
|
||||
|
||||
|
||||
public LeaderboardConfigPanel(final SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,
|
||||
final ErrorReporter errorReporter, StringMessages theStringConstants, final boolean showRaceDetails,
|
||||
LeaderboardsRefresher leaderboardsRefresher) {
|
||||
super(sailingService, regattaRefresher, leaderboardsRefresher, errorReporter, theStringConstants,
|
||||
new SingleSelectionModel<RaceColumnDTOAndFleetDTOWithNameBasedEquality>());
|
||||
/* multi-selection */ false);
|
||||
this.showRaceDetails = showRaceDetails;
|
||||
leaderboardTable.ensureDebugId("LeaderboardsCellTable");
|
||||
}
|
||||
@@ -268,6 +261,8 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
Map<String, String> dashboardURLParameters = new HashMap<String, String>();
|
||||
dashboardURLParameters.put("leaderboardName", leaderboardDTO.name);
|
||||
Window.open(EntryPointLinkFactory.createDashboardLink(dashboardURLParameters), "", null);
|
||||
} else if (LeaderboardConfigImagesBarCell.ACTION_SHOW_REGATTA_LOG.equals(value)) {
|
||||
showRegattaLog();
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -485,35 +480,6 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
}).show();
|
||||
}
|
||||
|
||||
private void showRaceLog(final RaceColumnDTO raceColumnDTO, final FleetDTO fleetDTO) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
sailingService.getRaceLog(selectedLeaderboardName, raceColumnDTO, fleetDTO,
|
||||
new MarkedAsyncCallback<RaceLogDTO>(
|
||||
new AsyncCallback<RaceLogDTO>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError(caught.getMessage(), true);
|
||||
}
|
||||
@Override
|
||||
public void onSuccess(RaceLogDTO result) {
|
||||
openRaceLogDialog(result);
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
private void openRaceLogDialog(RaceLogDTO raceLogDTO) {
|
||||
RaceLogDialog dialog = new RaceLogDialog(raceLogDTO, stringMessages, new DialogCallback<RaceLogDTO>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ok(RaceLogDTO result) {
|
||||
}
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
private void removeRaceColumn(final RaceColumnDTO raceColumnDTO) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final String raceColumnString = raceColumnDTO.getRaceColumnName();
|
||||
@@ -595,70 +561,6 @@ TrackedRaceChangedListener, LeaderboardsDisplayer {
|
||||
}
|
||||
}
|
||||
|
||||
private void editRaceColumnOfLeaderboard(final RaceColumnDTOAndFleetDTOWithNameBasedEquality raceColumnWithFleet) {
|
||||
final String selectedLeaderboardName = getSelectedLeaderboardName();
|
||||
final boolean oldIsMedalRace = raceColumnWithFleet.getA().isMedalRace();
|
||||
final String oldRaceColumnName = raceColumnWithFleet.getA().getRaceColumnName();
|
||||
final Double oldExplicitFactor = raceColumnWithFleet.getA().getExplicitFactor();
|
||||
// use a set to avoid duplicates in the case of regatta leaderboards with multiple fleets per column
|
||||
Set<RaceColumnDTO> existingRacesWithoutThisRace = new HashSet<RaceColumnDTO>();
|
||||
for (RaceColumnDTOAndFleetDTOWithNameBasedEquality pair : raceColumnTable.getDataProvider().getList()) {
|
||||
existingRacesWithoutThisRace.add(pair.getA());
|
||||
}
|
||||
existingRacesWithoutThisRace.remove(raceColumnWithFleet.getA());
|
||||
final RaceColumnInLeaderboardDialog raceDialog = new RaceColumnInLeaderboardDialog(existingRacesWithoutThisRace,
|
||||
raceColumnWithFleet.getA(), getSelectedLeaderboard().type.isRegattaLeaderboard(), stringMessages, new DialogCallback<RaceColumnDescriptor>() {
|
||||
@Override
|
||||
public void cancel() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ok(final RaceColumnDescriptor result) {
|
||||
boolean rename = !oldRaceColumnName.equals(result.getName());
|
||||
boolean updateIsMedalRace = oldIsMedalRace != result.isMedalRace();
|
||||
boolean updateFactor = oldExplicitFactor != result.getExplicitFactor();
|
||||
List<ParallelExecutionCallback<Void>> callbacks = new ArrayList<ParallelExecutionCallback<Void>>();
|
||||
final ParallelExecutionCallback<Void> renameLeaderboardColumnCallback = new ParallelExecutionCallback<Void>();
|
||||
if (rename) {
|
||||
callbacks.add(renameLeaderboardColumnCallback);
|
||||
}
|
||||
final ParallelExecutionCallback<Void> updateIsMedalRaceCallback = new ParallelExecutionCallback<Void>();
|
||||
if (updateIsMedalRace) {
|
||||
callbacks.add(updateIsMedalRaceCallback);
|
||||
}
|
||||
final ParallelExecutionCallback<Void> updateLeaderboardColumnFactorCallback = new ParallelExecutionCallback<Void>();
|
||||
if (updateFactor) {
|
||||
callbacks.add(updateLeaderboardColumnFactorCallback);
|
||||
}
|
||||
new ParallelExecutionHolder(callbacks.toArray(new ParallelExecutionCallback<?>[0])) {
|
||||
@Override
|
||||
public void handleSuccess() {
|
||||
loadAndRefreshLeaderboard(selectedLeaderboardName, result.getName());
|
||||
}
|
||||
@Override
|
||||
public void handleFailure(Throwable t) {
|
||||
errorReporter.reportError("Error trying to update data of race column "
|
||||
+ oldRaceColumnName + " in leaderboard " + selectedLeaderboardName + ": "
|
||||
+ t.getMessage());
|
||||
}
|
||||
};
|
||||
if (rename) {
|
||||
sailingService.renameLeaderboardColumn(selectedLeaderboardName, oldRaceColumnName,
|
||||
result.getName(), renameLeaderboardColumnCallback);
|
||||
}
|
||||
if (updateIsMedalRace) {
|
||||
sailingService.updateIsMedalRace(selectedLeaderboardName, result.getName(),
|
||||
result.isMedalRace(), updateIsMedalRaceCallback);
|
||||
}
|
||||
if (updateFactor) {
|
||||
sailingService.updateLeaderboardColumnFactor(selectedLeaderboardName, result.getName(),
|
||||
result.getExplicitFactor(), updateLeaderboardColumnFactorCallback);
|
||||
}
|
||||
}
|
||||
});
|
||||
raceDialog.show();
|
||||
}
|
||||
|
||||
private void setIsMedalRace(String leaderboardName, final RaceColumnDTO raceInLeaderboard,
|
||||
final boolean isMedalRace) {
|
||||
sailingService.updateIsMedalRace(leaderboardName, raceInLeaderboard.getRaceColumnName(), isMedalRace,
|
||||
|
||||
+2
-1
@@ -6,6 +6,7 @@ import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.text.shared.SafeHtmlRenderer;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
|
||||
public class LeaderboardGroupConfigImagesBarCell extends ImagesBarCell {
|
||||
public static final String ACTION_REMOVE = "ACTION_REMOVE";
|
||||
@@ -26,6 +27,6 @@ public class LeaderboardGroupConfigImagesBarCell extends ImagesBarCell {
|
||||
@Override
|
||||
protected Iterable<ImageSpec> getImageSpecs() {
|
||||
return Arrays.asList(new ImageSpec(ACTION_EDIT, stringMessages.actionEdit(), makeImagePrototype(resources.editIcon())),
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(resources.removeIcon())));
|
||||
new ImageSpec(ACTION_REMOVE, stringMessages.actionRemove(), makeImagePrototype(IconResources.INSTANCE.removeIcon())));
|
||||
}
|
||||
}
|
||||
+28
-9
@@ -44,6 +44,7 @@ import com.sap.sailing.gwt.ui.client.LeaderboardsRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
|
||||
import com.sap.sailing.gwt.ui.leaderboard.ScoringSchemeTypeFormatter;
|
||||
import com.sap.sailing.gwt.ui.raceboard.RaceBoardViewConfiguration;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
@@ -63,6 +64,8 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
|
||||
SafeHtml cell(String url, String displayName);
|
||||
}
|
||||
|
||||
private static AdminConsoleTableResources tableResources = GWT.create(AdminConsoleTableResources.class);
|
||||
|
||||
private static final AnchorTemplates ANCHORTEMPLATE = GWT.create(AnchorTemplates.class);
|
||||
|
||||
private VerticalPanel mainPanel;
|
||||
@@ -186,6 +189,16 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
|
||||
ListHandler<StrippedLeaderboardDTO> leaderboardsListHandler = new ListHandler<StrippedLeaderboardDTO>(leaderboardsProvider.getList());
|
||||
leaderboardsTable = new CellTable<StrippedLeaderboardDTO>(10000, tableRes);
|
||||
leaderboardsTable.ensureDebugId("LeaderboardsCellTable");
|
||||
SelectionCheckboxColumn<StrippedLeaderboardDTO> leaderboardTableSelectionColumn =
|
||||
new SelectionCheckboxColumn<StrippedLeaderboardDTO>(
|
||||
tableResources.cellTableStyle().cellTableCheckboxSelected(), tableResources.cellTableStyle().cellTableCheckboxDeselected(), tableResources.cellTableStyle().cellTableCheckboxColumnCell()) {
|
||||
@Override
|
||||
protected ListDataProvider<StrippedLeaderboardDTO> getListDataProvider() {
|
||||
return leaderboardsProvider;
|
||||
}
|
||||
};
|
||||
leaderboardsSelectionModel = leaderboardTableSelectionColumn.getSelectionModel();
|
||||
leaderboardsTable.setSelectionModel(leaderboardsSelectionModel, leaderboardTableSelectionColumn.getSelectionManager());
|
||||
leaderboardsFilterablePanel = new LabeledAbstractFilterablePanel<StrippedLeaderboardDTO>(filterLeaderboardsLabel, availableLeaderboards, leaderboardsTable, leaderboardsProvider) {
|
||||
@Override
|
||||
public Iterable<String> getSearchableStrings(StrippedLeaderboardDTO t) {
|
||||
@@ -240,10 +253,10 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
|
||||
|
||||
leaderboardsTable.setWidth("100%");
|
||||
leaderboardsTable.addColumnSortHandler(leaderboardsListHandler);
|
||||
leaderboardsTable.addColumn(leaderboardTableSelectionColumn, leaderboardTableSelectionColumn.getHeader());
|
||||
leaderboardsTable.addColumn(leaderboardsNameColumn, stringMessages.leaderboardName());
|
||||
leaderboardsTable.addColumn(leaderboardsRacesColumn, stringMessages.races());
|
||||
|
||||
leaderboardsSelectionModel = new MultiSelectionModel<StrippedLeaderboardDTO>();
|
||||
leaderboardsSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
@@ -251,11 +264,8 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
|
||||
moveToGroupButton.setEnabled(selectedLeaderboards != null && selectedLeaderboards.size() > 0);
|
||||
}
|
||||
});
|
||||
leaderboardsTable.setSelectionModel(leaderboardsSelectionModel);
|
||||
|
||||
leaderboardsProvider.addDataDisplay(leaderboardsTable);
|
||||
leaderboardsPanel.add(leaderboardsTable);
|
||||
|
||||
return leaderboardsCaptionPanel;
|
||||
}
|
||||
|
||||
@@ -350,11 +360,23 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
|
||||
|
||||
groupDetailsTable = new CellTable<StrippedLeaderboardDTO>(10000, tableRes);
|
||||
groupDetailsTable.ensureDebugId("LeaderboardGroupsCellTable");
|
||||
groupDetailsProvider = new ListDataProvider<StrippedLeaderboardDTO>();
|
||||
groupDetailsProvider.addDataDisplay(groupDetailsTable);
|
||||
SelectionCheckboxColumn<StrippedLeaderboardDTO> groupDetailsTableSelectionColumn =
|
||||
new SelectionCheckboxColumn<StrippedLeaderboardDTO>(
|
||||
tableResources.cellTableStyle().cellTableCheckboxSelected(), tableResources.cellTableStyle().cellTableCheckboxDeselected(), tableResources.cellTableStyle().cellTableCheckboxColumnCell()) {
|
||||
@Override
|
||||
protected ListDataProvider<StrippedLeaderboardDTO> getListDataProvider() {
|
||||
return groupDetailsProvider;
|
||||
}
|
||||
};
|
||||
|
||||
groupDetailsTable.setWidth("100%");
|
||||
groupDetailsTable.addColumn(groupDetailsTableSelectionColumn, groupDetailsTableSelectionColumn.getHeader());
|
||||
groupDetailsTable.addColumn(groupDetailsNameColumn, stringMessages.leaderboardName());
|
||||
groupDetailsTable.addColumn(groupDetailsRacesColumn, stringMessages.races());
|
||||
|
||||
groupDetailsSelectionModel = new MultiSelectionModel<StrippedLeaderboardDTO>();
|
||||
groupDetailsSelectionModel = groupDetailsTableSelectionColumn.getSelectionModel();
|
||||
groupDetailsSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
@@ -364,10 +386,7 @@ public class LeaderboardGroupConfigPanel extends AbstractRegattaPanel implements
|
||||
leaderboardUpButton.setEnabled(selectedLeaderboardsInGroup != null && selectedLeaderboardsInGroup.size() == 1);
|
||||
}
|
||||
});
|
||||
groupDetailsTable.setSelectionModel(groupDetailsSelectionModel);
|
||||
|
||||
groupDetailsProvider = new ListDataProvider<StrippedLeaderboardDTO>();
|
||||
groupDetailsProvider.addDataDisplay(groupDetailsTable);
|
||||
groupDetailsTable.setSelectionModel(groupDetailsSelectionModel, groupDetailsTableSelectionColumn.getSelectionManager());
|
||||
groupDetailsPanel.add(groupDetailsTable);
|
||||
|
||||
//Create details functionality
|
||||
|
||||
+2
-1
@@ -8,6 +8,7 @@ import com.sap.sailing.domain.common.LeaderboardType;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.components.ImagesBarCell;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.gwt.client.IconResources;
|
||||
|
||||
public class LeaderboardRaceConfigImagesBarCell extends ImagesBarCell {
|
||||
public final static String ACTION_REMOVE = "ACTION_REMOVE";
|
||||
@@ -35,7 +36,7 @@ public class LeaderboardRaceConfigImagesBarCell extends ImagesBarCell {
|
||||
StrippedLeaderboardDTO selectedLeaderboard = selectedLeaderboardProvider.getSelectedLeaderboard();
|
||||
if (selectedLeaderboard != null && selectedLeaderboard.type != LeaderboardType.RegattaLeaderboard && selectedLeaderboard.type != LeaderboardType.RegattaMetaLeaderboard) {
|
||||
// race columns cannot be removed from a regatta leaderboard; they need to be removed from the regatta instead
|
||||
result.add(new ImageSpec(ACTION_REMOVE, stringMessages.actionRaceRemove(), makeImagePrototype(resources.removeIcon())));
|
||||
result.add(new ImageSpec(ACTION_REMOVE, stringMessages.actionRaceRemove(), makeImagePrototype(IconResources.INSTANCE.removeIcon())));
|
||||
}
|
||||
result.add(new ImageSpec(ACTION_REFRESH_RACELOG, stringMessages.refreshRaceLog(), makeImagePrototype(resources.reloadIcon())));
|
||||
result.add(new ImageSpec(ACTION_SET_STARTTIME, stringMessages.setStartTime(), makeImagePrototype(resources.clockIcon())));
|
||||
|
||||
+4
-23
@@ -1,13 +1,11 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.user.cellview.client.Column;
|
||||
import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.view.client.SelectionModel;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
@@ -19,10 +17,9 @@ import com.sap.sse.common.impl.RGBColor;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
|
||||
public class MarkTableWrapper<S extends SelectionModel<MarkDTO>> extends TableWrapper<MarkDTO, S> {
|
||||
public MarkTableWrapper(S selectionModel, SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
public MarkTableWrapper(boolean multiSelection, SailingServiceAsync sailingService, StringMessages stringMessages,
|
||||
ErrorReporter errorReporter) {
|
||||
super(sailingService, stringMessages, errorReporter, selectionModel, true);
|
||||
|
||||
super(sailingService, stringMessages, errorReporter, multiSelection, true);
|
||||
TextColumn<MarkDTO> markNameColumn = new TextColumn<MarkDTO>() {
|
||||
@Override
|
||||
public String getValue(MarkDTO markDTO) {
|
||||
@@ -94,10 +91,8 @@ public class MarkTableWrapper<S extends SelectionModel<MarkDTO>> extends TableWr
|
||||
table.addColumn(markUUIDColumn, "UUID");
|
||||
}
|
||||
|
||||
public void refresh(Collection<MarkDTO> marks) {
|
||||
dataProvider.getList().clear();
|
||||
dataProvider.getList().addAll(marks);
|
||||
dataProvider.flush();
|
||||
public void refresh(Iterable<MarkDTO> marks) {
|
||||
super.refresh(marks);
|
||||
Collections.sort(dataProvider.getList(), new Comparator<MarkDTO>() {
|
||||
@Override
|
||||
public int compare(MarkDTO o1, MarkDTO o2) {
|
||||
@@ -105,18 +100,4 @@ public class MarkTableWrapper<S extends SelectionModel<MarkDTO>> extends TableWr
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void refresh(String leaderboardName, String raceColumnName, String fleetName) {
|
||||
sailingService.getMarksInRaceLog(leaderboardName, raceColumnName, fleetName, new AsyncCallback<Collection<MarkDTO>>() {
|
||||
@Override
|
||||
public void onSuccess(Collection<MarkDTO> result) {
|
||||
refresh(result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Could not load marks: " + caught.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Loaded 100 of 1019 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user