Improved auto player configuration UI

This commit is contained in:
fmittag committed 2015-12-07 14:50:43 +01:00
1 parent 7f8ac5ec4f
commit 3b79c09400
8 files changed
+160 -184

No files matched your search

@@ -1,9 +1,8 @@
package com.sap.sailing.gwt.autoplay.client.app;
import java.util.Map;
import com.sap.sailing.gwt.autoplay.client.place.player.AutoPlayerConfiguration;
public interface PlaceNavigator {
void goToStart();
void goToPlayer(String eventUuidAsString, boolean fullscreen,
Map<String, String> leaderboardParameters, Map<String, String> raceboardParameters);
void goToPlayer(AutoPlayerConfiguration playerConfig);
}
@@ -1,8 +1,7 @@
package com.sap.sailing.gwt.autoplay.client.app;
import java.util.Map;
import com.google.gwt.place.shared.PlaceController;
import com.sap.sailing.gwt.autoplay.client.place.player.AutoPlayerConfiguration;
import com.sap.sailing.gwt.autoplay.client.place.player.PlayerPlace;
import com.sap.sailing.gwt.autoplay.client.place.start.StartPlace;
@@ -20,12 +19,8 @@ public class PlaceNavigatorImpl implements PlaceNavigator {
}
@Override
public void goToPlayer(String eventUuidAsString, boolean fullscreen,
Map<String, String> leaderboardParameters, Map<String, String> raceboardParameters) {
PlayerPlace playerPlace = new PlayerPlace(eventUuidAsString, fullscreen,
leaderboardParameters.get(PlayerPlace.PARAM_LEADEROARD_NAME),
leaderboardParameters.get(PlayerPlace.PARAM_LEADEROARD_ZOOM),
raceboardParameters.get(PlayerPlace.PARAM_RACEBOARD_AUTOSELECT_MEDIA));
public void goToPlayer(AutoPlayerConfiguration playerConfig) {
PlayerPlace playerPlace = new PlayerPlace(playerConfig);
placeController.goTo(playerPlace);
}
@@ -66,14 +66,10 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
private final Timer raceboardTimer;
private final RaceTimesInfoProvider raceTimesInfoProvider;
private AutoPlayModes activeTvView;
private final boolean isfullscreenMode;
private boolean isInitialScreen = true;
// leaderboard related attributes
private LeaderboardDTO leaderboard;
private final String leaderboardName;
private final String leaderboardGroupName;
private final String leaderboardZoom;
private LeaderboardSettings leaderboardSettings;
// raceboard related attributes
@@ -82,24 +78,21 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
private boolean showWindChart;
private final RaceBoardPerspectiveSettings raceboardViewConfig;
private final PlayerView playerView;
private final AutoPlayerConfiguration autoPlayerConfiguration;
private Widget currentContentWidget;
private static int SAP_HEADER_HEIGHT = 70;
public AutoPlayController(SailingServiceAsync sailingService, MediaServiceAsync mediaService,
UserService userService, ErrorReporter errorReporter, boolean isfullscreenMode,
String leaderboardGroupName, String leaderboardName, final String leaderboardZoom,
UserService userService, ErrorReporter errorReporter, AutoPlayerConfiguration autoPlayerConfiguration,
UserAgentDetails userAgent, long delayToLiveInMillis, boolean showRaceDetails,
RaceBoardPerspectiveSettings raceboardViewConfig, PlayerView playerView, LeaderboardSettings leaderboardSettings) {
this.raceboardViewConfig = raceboardViewConfig;
this.sailingService = sailingService;
this.mediaService = mediaService;
this.userService = userService;
this.isfullscreenMode = isfullscreenMode;
this.errorReporter = errorReporter;
this.leaderboardName = leaderboardName;
this.leaderboardZoom = leaderboardZoom;
this.leaderboardGroupName = leaderboardGroupName;
this.autoPlayerConfiguration = autoPlayerConfiguration;
this.userAgent = userAgent;
this.showRaceDetails = showRaceDetails;
this.playerView = playerView;
@@ -128,6 +121,7 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
String leaderboardZoom = AutoPlayController.this.autoPlayerConfiguration.getLeaderboardZoom();
if(leaderboardZoom != null && leaderboardZoom.equalsIgnoreCase("auto")) {
autoZoomContentWidget(SAP_HEADER_HEIGHT, currentContentWidget);
}
@@ -135,11 +129,11 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
});
}
private LeaderboardPanel createLeaderboardPanel(String leaderboardGroupName, String leaderboardName, boolean showRaceDetails) {
private LeaderboardPanel createLeaderboardPanel(String leaderboardName, boolean showRaceDetails) {
CompetitorSelectionModel selectionModel = new CompetitorSelectionModel(/* hasMultiSelection */ true);
LeaderboardPanel leaderboardPanel = new LeaderboardPanel(sailingService, asyncActionsExecutor,
leaderboardSettings, true,
/* preSelectedRace */null, selectionModel, leaderboardTimer, leaderboardGroupName, leaderboardName,
/* preSelectedRace */null, selectionModel, leaderboardTimer, /*leaderboardGroupName*/ "", leaderboardName,
errorReporter, StringMessages.INSTANCE, userAgent, showRaceDetails, /* competitorSearchTextBox */ null, /* showRegattaRank */
/* showSelectionCheckbox */false, /* raceTimesInfoProvider */null, false, /* autoExpandLastRaceColumn */
/* adjustTimerDelay */true, /*autoApplyTopNFilter*/ false, false) {
@@ -185,23 +179,23 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
if (activeTvView != AutoPlayModes.Leaderboard) {
playerView.clear();
boolean withFullscreenButton = isfullscreenMode && isInitialScreen;
boolean withFullscreenButton = autoPlayerConfiguration.isFullscreenMode() && isInitialScreen;
SAPHeader sapHeader = new SAPHeader(TextMessages.INSTANCE.leaderboard() + ": " + leaderboardName, withFullscreenButton);
SAPHeader sapHeader = new SAPHeader(TextMessages.INSTANCE.leaderboard() + ": " + autoPlayerConfiguration.getLeaderboardName(), withFullscreenButton);
playerView.getDockPanel().addNorth(sapHeader, SAP_HEADER_HEIGHT);
LeaderboardPanel leaderboardPanel = createLeaderboardPanel(leaderboardGroupName, leaderboardName, showRaceDetails);
LeaderboardPanel leaderboardPanel = createLeaderboardPanel(autoPlayerConfiguration.getLeaderboardName(), showRaceDetails);
OldLeaderboard oldLeaderboard = new OldLeaderboard(leaderboardPanel);
leaderboardPanel.addLeaderboardUpdateListener(oldLeaderboard);
currentContentWidget = oldLeaderboard.getContentWidget();
if(leaderboardZoom != null) {
if(leaderboardZoom.equalsIgnoreCase("auto")) {
if(autoPlayerConfiguration.getLeaderboardZoom() != null) {
if(autoPlayerConfiguration.getLeaderboardZoom().equalsIgnoreCase("auto")) {
autoZoomContentWidget(SAP_HEADER_HEIGHT, currentContentWidget);
} else {
try {
Double zoom = Double.valueOf(leaderboardZoom);
Double zoom = Double.valueOf(autoPlayerConfiguration.getLeaderboardZoom());
zoomContentWidget(SAP_HEADER_HEIGHT, currentContentWidget, zoom);
} catch (NumberFormatException e) {
// do nothing
@@ -289,11 +283,12 @@ public class AutoPlayController implements RaceTimesInfoProviderListener {
private void showRaceBoard() {
if (activeTvView != AutoPlayModes.Raceboard) {
sailingService.getRaceboardData(currentLiveRace.getRegattaName(), currentLiveRace.getRaceName(),
leaderboardName, null, null, new AsyncCallback<RaceboardDataDTO>() {
autoPlayerConfiguration.getLeaderboardName(), null, null, new AsyncCallback<RaceboardDataDTO>() {
@Override
public void onSuccess(RaceboardDataDTO result) {
playerView.clear();
RaceBoardPanel raceBoardPanel = createRaceBoardPanel(leaderboardName, currentLiveRace, result.getCompetitorAndTheirBoats());
RaceBoardPanel raceBoardPanel = createRaceBoardPanel(AutoPlayController.this.autoPlayerConfiguration.getLeaderboardName(),
currentLiveRace, result.getCompetitorAndTheirBoats());
raceBoardPanel.setSize("100%", "100%");
if (showWindChart) {
raceBoardPanel.setWindChartVisible(true);
@@ -0,0 +1,38 @@
package com.sap.sailing.gwt.autoplay.client.place.player;
public class AutoPlayerConfiguration {
public final static String PARAM_EVENTID = "eventId";
public final static String PARAM_FULLSCREEN = "fullscreen";
public final static String PARAM_LEADEROARD_NAME = "leaderboardName";
public final static String PARAM_LEADEROARD_ZOOM = "leaderboardZoom";
private String eventUidAsString;
private String leaderboardName;
private boolean fullscreenMode;
private String leaderboardZoom;
public AutoPlayerConfiguration(String eventUidAsString, String leaderboardName, boolean fullscreenMode,
String leaderboardZoom) {
this.eventUidAsString = eventUidAsString;
this.leaderboardName = leaderboardName;
this.fullscreenMode = fullscreenMode;
this.leaderboardZoom = leaderboardZoom;
}
public String getEventUidAsString() {
return eventUidAsString;
}
public String getLeaderboardName() {
return leaderboardName;
}
public boolean isFullscreenMode() {
return fullscreenMode;
}
public String getLeaderboardZoom() {
return leaderboardZoom;
}
}
@@ -34,7 +34,7 @@ public class PlayerActivity extends AbstractActivity {
final long delayToLiveMillis = Window.Location.getParameter(PARAM_DELAY_TO_LIVE_MILLIS) != null ? Long
.valueOf(Window.Location.getParameter(PARAM_DELAY_TO_LIVE_MILLIS)) : 5000l; // default 5s
UUID eventUUID = UUID.fromString(playerPlace.getEventUuidAsString());
UUID eventUUID = UUID.fromString(playerPlace.getConfiguration().getEventUidAsString());
clientFactory.getSailingService().getEventById(eventUUID, true, new AsyncCallback<EventDTO>() {
@Override
public void onSuccess(final EventDTO event) {
@@ -46,9 +46,8 @@ public class PlayerActivity extends AbstractActivity {
RootLayoutPanel.get().add(view.asWidget());
autoPlayController = new AutoPlayController(clientFactory.getSailingService(), clientFactory
.getMediaService(), clientFactory.getUserService(), clientFactory.getErrorReporter(), playerPlace
.isFullscreen(), /* leaderboardGroupName */"", playerPlace.getLeaderboardIdAsNameString(),
playerPlace.getLeaderboardZoom(), userAgent, delayToLiveMillis, showRaceDetails,
.getMediaService(), clientFactory.getUserService(), clientFactory.getErrorReporter(),
playerPlace.getConfiguration(), userAgent, delayToLiveMillis, showRaceDetails,
readRaceboardConfiguration, view, /** TODO: pass leaderboardSettings*/ null);
autoPlayController.updatePlayMode(AutoPlayModes.Leaderboard);
}
@@ -61,7 +60,7 @@ public class PlayerActivity extends AbstractActivity {
}
private RaceBoardPerspectiveSettings readRaceboardConfiguration() {
Boolean autoSelectMedia = Boolean.valueOf(playerPlace.getRaceboardAutoSelectMedia());
Boolean autoSelectMedia = true;
final boolean showLeaderboard = GwtHttpRequestUtils.getBooleanParameter(
RaceBoardPerspectiveSettings.PARAM_VIEW_SHOW_LEADERBOARD, true /* default */);
@@ -4,66 +4,29 @@ import com.google.gwt.place.shared.PlaceTokenizer;
import com.sap.sailing.gwt.common.client.AbstractBasePlace;
public class PlayerPlace extends AbstractBasePlace {
// general parameters
private final String eventUuidAsString;
private final boolean fullscreen;
public final static String PARAM_EVENTID = "eventId";
public final static String PARAM_FULLSCREEN = "fullscreen";
// leaderboard parameters
private final String leaderboardIdAsNameString;
private final String leaderboardZoom;
public final static String PARAM_LEADEROARD_NAME = "leaderboardName";
public final static String PARAM_LEADEROARD_ZOOM = "leaderboardZoom";
// raceboard parameters
private String raceboardAutoSelectMedia;
public final static String PARAM_RACEBOARD_AUTOSELECT_MEDIA = "autoSelectMedia";
private final AutoPlayerConfiguration playerConfiguration;
public PlayerPlace(String url) {
super(url);
eventUuidAsString = getParameter(PARAM_EVENTID);
fullscreen = Boolean.valueOf(getParameter(PARAM_FULLSCREEN));
leaderboardIdAsNameString = getParameter(PARAM_LEADEROARD_NAME);
leaderboardZoom = getParameter(PARAM_LEADEROARD_ZOOM);
raceboardAutoSelectMedia = getParameter(PARAM_RACEBOARD_AUTOSELECT_MEDIA);
String eventUuidAsString = getParameter(AutoPlayerConfiguration.PARAM_EVENTID);
String leaderboardName= getParameter(AutoPlayerConfiguration.PARAM_LEADEROARD_NAME);
Boolean fullscreen = Boolean.valueOf(getParameter(AutoPlayerConfiguration.PARAM_FULLSCREEN));
String leaderboardZoom = getParameter(AutoPlayerConfiguration.PARAM_LEADEROARD_ZOOM);
this.playerConfiguration = new AutoPlayerConfiguration(eventUuidAsString, leaderboardName, fullscreen, leaderboardZoom);
}
public PlayerPlace(String eventUuidAsString, boolean fullscreen,
String leaderboardIdAsNameString, String leaderboardZoomAsString, String raceboardAutoSelectMedia) {
super(PARAM_EVENTID, eventUuidAsString, PARAM_FULLSCREEN, String.valueOf(fullscreen),
PARAM_LEADEROARD_NAME, leaderboardIdAsNameString, PARAM_LEADEROARD_ZOOM, leaderboardZoomAsString,
PARAM_RACEBOARD_AUTOSELECT_MEDIA, raceboardAutoSelectMedia);
this.eventUuidAsString = eventUuidAsString;
this.fullscreen = fullscreen;
this.leaderboardIdAsNameString = leaderboardIdAsNameString;
this.leaderboardZoom = leaderboardZoomAsString;
this.raceboardAutoSelectMedia = raceboardAutoSelectMedia;
public PlayerPlace(AutoPlayerConfiguration playerConfiguration) {
super(AutoPlayerConfiguration.PARAM_EVENTID, playerConfiguration.getEventUidAsString(),
AutoPlayerConfiguration.PARAM_FULLSCREEN, String.valueOf(playerConfiguration.isFullscreenMode()),
AutoPlayerConfiguration.PARAM_LEADEROARD_NAME, playerConfiguration.getLeaderboardName(),
AutoPlayerConfiguration.PARAM_LEADEROARD_ZOOM, playerConfiguration.getLeaderboardZoom());
this.playerConfiguration = playerConfiguration;
}
public String getEventUuidAsString() {
return eventUuidAsString;
}
public String getLeaderboardIdAsNameString() {
return leaderboardIdAsNameString;
}
public String getLeaderboardZoom() {
return leaderboardZoom;
}
public String getRaceboardAutoSelectMedia() {
return raceboardAutoSelectMedia;
}
public boolean isFullscreen() {
return fullscreen;
public AutoPlayerConfiguration getConfiguration() {
return this.playerConfiguration;
}
public static class Tokenizer implements PlaceTokenizer<PlayerPlace> {
@@ -19,7 +19,6 @@ import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -28,7 +27,7 @@ import com.google.web.bindery.event.shared.EventBus;
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
import com.sap.sailing.gwt.autoplay.client.app.PlaceNavigator;
import com.sap.sailing.gwt.autoplay.client.place.player.PlayerPlace;
import com.sap.sailing.gwt.autoplay.client.place.player.AutoPlayerConfiguration;
import com.sap.sailing.gwt.autoplay.client.shared.header.SAPHeader;
import com.sap.sailing.gwt.common.client.SharedResources;
import com.sap.sailing.gwt.ui.client.StringMessages;
@@ -64,8 +63,9 @@ public class DesktopStartView extends Composite implements StartView {
@UiField DivElement leaderboardSelectionUi;
@UiField DivElement leaderboardZoomDiv;
@UiField DivElement leaderboardAutoZoomDiv;
@UiField DivElement screenConfiguraionUi;
@UiField VerticalPanel perspectiveConfigurationPanel;
@UiField DivElement screenConfigurationUi;
@UiField VerticalPanel leaderboardPerspectiveSettingsPanel;
@UiField VerticalPanel raceboardPerspectiveSettingsPanel;
@UiField CheckBox autoSwitchToRaceboard;
@UiField TextBox timeToRaceStartInSeconds;
@@ -74,13 +74,8 @@ public class DesktopStartView extends Composite implements StartView {
private final EventBus eventBus;
private final List<EventDTO> events;
private Map<String, String> raceboardParameters;
private Map<String, String> leaderboardParameters;
private final List<Perspective<?>> supportedPerspectives;
private ProxyLeaderboardPerspective leaderboardPerspective;
private ProxyRaceBoardPerspective raceViewerPerspective;
private ProxyRaceBoardPerspective raceboardPerspective;
private final int defaultTimeToStartTimeInSeconds = 180;
private final Map<Perspective<?>, CompositeSettings> perspectiveSettings;
@@ -90,9 +85,6 @@ public class DesktopStartView extends Composite implements StartView {
this.navigator = navigator;
this.eventBus = eventBus;
this.events = new ArrayList<EventDTO>();
this.raceboardParameters = new HashMap<String, String>();
this.leaderboardParameters = new HashMap<String, String>();
this.supportedPerspectives = new ArrayList<Perspective<?>>();
sapHeader = new SAPHeader("Auto player configuration", false);
eventSelectionBox = new ListBox();
@@ -127,9 +119,7 @@ public class DesktopStartView extends Composite implements StartView {
timeToRaceStartInSeconds.setValue(String.valueOf(defaultTimeToStartTimeInSeconds));
leaderboardSelectionUi.getStyle().setVisibility(Visibility.HIDDEN);
screenConfiguraionUi.getStyle().setVisibility(Visibility.HIDDEN);
perspectiveConfigurationPanel.setVisible(false);
screenConfigurationUi.getStyle().setVisibility(Visibility.HIDDEN);
startAutoPlayButton.setEnabled(false);
startAutoPlayButton.addStyleName(SharedResources.INSTANCE.mainCss().buttoninactive());
@@ -137,12 +127,9 @@ public class DesktopStartView extends Composite implements StartView {
private void updatePerspectives(AbstractLeaderboardDTO leaderboard) {
leaderboardPerspective = new ProxyLeaderboardPerspective(leaderboard, createDefaultLeaderboardSettings(leaderboard));
raceViewerPerspective = new ProxyRaceBoardPerspective(new RaceBoardPerspectiveSettings(), leaderboard, createDefaultLeaderboardSettings(leaderboard));
raceboardPerspective = new ProxyRaceBoardPerspective(new RaceBoardPerspectiveSettings(), leaderboard, createDefaultLeaderboardSettings(leaderboard));
perspectiveSettings.clear();
supportedPerspectives.clear();
supportedPerspectives.add(leaderboardPerspective);
supportedPerspectives.add(raceViewerPerspective);
}
private void openPerspectiveSettingsDialog(final Perspective<?> perspective) {
@@ -201,40 +188,41 @@ public class DesktopStartView extends Composite implements StartView {
StrippedLeaderboardDTO selectedLeaderboard = getSelectedLeaderboard();
this.updatePerspectives(selectedLeaderboard);
perspectiveConfigurationPanel.clear();
for(final Perspective<?> perspective: supportedPerspectives) {
HorizontalPanel hPanel = new HorizontalPanel();
perspectiveConfigurationPanel.add(hPanel);
hPanel.add(new Label(perspective.getPerspectiveName() + ":"));
hPanel.setSpacing(5);
Button perspectiveComponentSettingsButton = new Button("Component settings");
hPanel.add(perspectiveComponentSettingsButton);
perspectiveComponentSettingsButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
openPerspectiveComponentSettingsDialog(perspective);
}
});
if(perspective.hasSettings()) {
Button perspectiveSettingsButton = new Button("Settings");
hPanel.add(perspectiveSettingsButton);
perspectiveSettingsButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
openPerspectiveSettingsDialog(perspective);
}
});
}
}
createPerspectiveSettingsUI(leaderboardPerspective, leaderboardPerspectiveSettingsPanel);
createPerspectiveSettingsUI(raceboardPerspective, raceboardPerspectiveSettingsPanel);
} else {
startAutoPlayButton.setEnabled(false);
startAutoPlayButton.addStyleName(SharedResources.INSTANCE.mainCss().buttoninactive());
}
perspectiveConfigurationPanel.setVisible(selectedLeaderboardName != null);
screenConfiguraionUi.getStyle().setVisibility(selectedLeaderboardName != null ? Visibility.VISIBLE : Visibility.HIDDEN);
screenConfigurationUi.getStyle().setVisibility(selectedLeaderboardName != null ? Visibility.VISIBLE : Visibility.HIDDEN);
}
private void createPerspectiveSettingsUI(final Perspective<?> perspective, VerticalPanel perspectiveSettingsPanel) {
perspectiveSettingsPanel.clear();
HorizontalPanel hPanel = new HorizontalPanel();
perspectiveSettingsPanel.add(hPanel);
hPanel.setSpacing(5);
Button perspectiveComponentSettingsButton = new Button("Component settings");
hPanel.add(perspectiveComponentSettingsButton);
perspectiveComponentSettingsButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
openPerspectiveComponentSettingsDialog(perspective);
}
});
if(perspective.hasSettings()) {
Button perspectiveSettingsButton = new Button("Settings");
hPanel.add(perspectiveSettingsButton);
perspectiveSettingsButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
openPerspectiveSettingsDialog(perspective);
}
});
}
}
@UiHandler("localeSelectionBox")
@@ -251,12 +239,8 @@ public class DesktopStartView extends Composite implements StartView {
String leaderboardZoom = getLeaderboardZoom();
if(selectedEvent != null && selectedLeaderboardName != null) {
leaderboardParameters.put(PlayerPlace.PARAM_LEADEROARD_ZOOM, leaderboardZoom);
leaderboardParameters.put(PlayerPlace.PARAM_LEADEROARD_NAME, selectedLeaderboardName);
// raceboardParameters.put(PlayerPlace.PARAM_RACEBOARD_AUTOSELECT_MEDIA, String.valueOf(isAutoSelectMedia));
navigator.goToPlayer(selectedEvent.id.toString(), startInFullscreenModeBox.getValue(),
leaderboardParameters, raceboardParameters);
navigator.goToPlayer(new AutoPlayerConfiguration(selectedEvent.id.toString(), selectedLeaderboardName,
startInFullscreenModeBox.getValue(), leaderboardZoom));
}
}
@@ -11,6 +11,11 @@
.perspectiveConfigurationPanel {
width: 100%;
}
.headline {
background-color: #eeeeee;
margin-top: 1em;
margin-bottom: 1em;
}
</ui:style>
<g:HTMLPanel>
<s:header.SAPHeader ui:field="sapHeader" />
@@ -23,14 +28,6 @@
<g:ListBox ui:field="localeSelectionBox" />
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Start browser in full screen mode:</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:CheckBox ui:field="startInFullscreenModeBox" />
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Event:</span>
@@ -47,16 +44,20 @@
<g:ListBox ui:field="leaderboardSelectionBox" />
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div ui:field="screenConfiguraionUi" class="{res.mediaCss.columns}">
Screen configuration
<div ui:field="screenConfigurationUi">
<div class="{res.mediaCss.grid} {style.row} {style.headline}">
<div class="{res.mediaCss.columns}">Screen size and zoom</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Start browser in full screen mode:</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:CheckBox ui:field="startInFullscreenModeBox" />
</div>
</div>
<div ui:field="leaderboardAutoZoomDiv" class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.columns} {style.row}">
Screen settings
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Auto-Zoom:</span>
</div>
@@ -72,52 +73,54 @@
<g:TextBox ui:field="leaderboardZoomBox" />
</div>
</div>
<div class="{res.mediaCss.grid} {style.row} {style.headline}">
<div class="{res.mediaCss.columns}">Screen switching</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Auto switch when race active:</span>
<span>Switch automatically to live race:</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:CheckBox ui:field="autoSwitchToRaceboard" />
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.columns} {style.row}">
Trigger to switch to raceboard
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Time to race start (in s):</span>
<span>...when to start is less than (in s):</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:TextBox ui:field="timeToRaceStartInSeconds" />
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Auto-Play video:</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:CheckBox ui:field="autoSelectMediaBox" />
</div>
<div class="{res.mediaCss.grid} {style.row} {style.headline}">
<div class="{res.mediaCss.columns}">Viewer Settings</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Settings:</span>
<span>Leaderboard Viewer:</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:VerticalPanel ui:field="perspectiveConfigurationPanel" styleName="{res.mediaCss.grid} {style.row}">
<g:VerticalPanel ui:field="leaderboardPerspectiveSettingsPanel" styleName="{res.mediaCss.columns}">
</g:VerticalPanel>
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
<span>Raceboard Viewer:</span>
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:VerticalPanel ui:field="raceboardPerspectiveSettingsPanel" styleName="{res.mediaCss.columns}">
</g:VerticalPanel>
</div>
</div>
<div class="{res.mediaCss.grid} {style.row}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
&nbsp;
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:Button ui:field="startAutoPlayButton" text="Start autoplay" styleName="{res.mainCss.button}" />
</div>
</div>
</div>
<div class="{res.mediaCss.grid}">
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large3} {res.mediaCss.columns}">
&nbsp;
</div>
<div class="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large9} {res.mediaCss.columns}">
<g:Button ui:field="startAutoPlayButton" text="Start autoplay" styleName="{res.mainCss.button}" />
</div>
</div>
</g:HTMLPanel>
</ui:UiBinder>