removed unused legacy leaderboard url configuration dialog

This commit is contained in:
Kai Boernert committed 2017-02-13 17:51:15 +01:00
1 parent 9da53463c9
commit 21222d9ab3
1 file changed
-222
@@ -1,222 +0,0 @@
package com.sap.sailing.gwt.ui.leaderboard;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.FocusWidget;
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.domain.common.LeaderboardType;
import com.sap.sailing.domain.common.dto.AbstractLeaderboardDTO;
import com.sap.sailing.domain.common.dto.RaceColumnDTO;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
import com.sap.sse.gwt.client.shared.components.AbstractComponent;
import com.sap.sse.gwt.client.shared.components.Component;
import com.sap.sse.gwt.client.shared.components.SettingsDialog;
import com.sap.sse.gwt.client.shared.components.SettingsDialogComponent;
import com.sap.sse.gwt.client.shared.perspective.ComponentContext;
public class LeaderboardUrlConfigurationDialog extends SettingsDialog<LeaderboardUrlSettings> {
public LeaderboardUrlConfigurationDialog(StringMessages stringMessages, AbstractLeaderboardDTO leaderboard) {
super(new ProxyLeaderboardUrlComponent(null, null, stringMessages, leaderboard), stringMessages,
/* animationEnabled */ false);
}
public LeaderboardUrlConfigurationDialog(StringMessages stringMessages, AbstractLeaderboardDTO leaderboard, DialogCallback<LeaderboardUrlSettings> callback) {
super(new ProxyLeaderboardUrlComponent(null, null, stringMessages, leaderboard), stringMessages, callback);
}
private static class ProxyLeaderboardUrlComponent extends AbstractComponent<LeaderboardUrlSettings> {
private final StringMessages stringMessages;
private final LeaderboardUrlConfigurationDialogComponent settingsDialogComponent;
private LeaderboardUrlSettings settings;
public ProxyLeaderboardUrlComponent(Component<?> parent, ComponentContext<?, ?> context,
StringMessages stringMessages,
AbstractLeaderboardDTO leaderboard) {
super(parent, context);
this.stringMessages = stringMessages;
this.settingsDialogComponent = new LeaderboardUrlConfigurationDialogComponent(leaderboard, stringMessages);
}
@Override
public boolean hasSettings() {
return true;
}
@Override
public SettingsDialogComponent<LeaderboardUrlSettings> getSettingsDialogComponent() {
return settingsDialogComponent;
}
@Override
public void updateSettings(LeaderboardUrlSettings newSettings) {
this.settings = newSettings;
}
@Override
public String getLocalizedShortName() {
return stringMessages.leaderboardConfiguration();
}
@Override
public Widget getEntryWidget() {
throw new UnsupportedOperationException(
"Internal error. This settings dialog does not actually belong to a LeaderboardPanel");
}
@Override
public boolean isVisible() {
return false;
}
@Override
public void setVisible(boolean visibility) {
// no-op
}
@Override
public String getDependentCssClassName() {
return "leaderboardUrlConfigurationDialog";
}
@Override
public LeaderboardUrlSettings getSettings() {
return settings;
}
@Override
public String getId() {
return "ProxyLeaderboardUrlComponent";
}
}
private static class LeaderboardUrlConfigurationDialogComponent implements SettingsDialogComponent<LeaderboardUrlSettings> {
private final LeaderboardSettingsDialogComponent leaderboardSettingsDialogComponent;
private final StringMessages stringMessages;
private CheckBox embeddedCheckbox;
private CheckBox hideToolbarCheckbox;
private CheckBox showRaceDetailsCheckbox;
private CheckBox autoExpandLastRaceBox;
private CheckBox autoRefreshCheckbox;
private CheckBox showChartsCheckbox;
private ListBox chartDetailListBox;
private CheckBox showOverallLeaderboardCheckbox;
private CheckBox showSeriesLeaderboardsCheckbox;
private Anchor resultingUrl;
private final String leaderboardName;
private final String leaderboardDisplayName;
private final LeaderboardType leaderboardType;
public LeaderboardUrlConfigurationDialogComponent(AbstractLeaderboardDTO leaderboard, StringMessages stringMessages) {
this.stringMessages = stringMessages;
this.leaderboardType = leaderboard.type;
this.leaderboardName = leaderboard.name;
this.leaderboardDisplayName = leaderboard.displayName;
List<RaceColumnDTO> raceList = leaderboard.getRaceList();
List<String> namesOfRaceColumnsToShow = new ArrayList<String>();
for (RaceColumnDTO raceColumn : raceList) {
namesOfRaceColumnsToShow.add(raceColumn.getName());
}
LeaderboardSettings settings = new LeaderboardSettings(namesOfRaceColumnsToShow);
leaderboardSettingsDialogComponent = new LeaderboardSettingsDialogComponent(settings, raceList, stringMessages);
}
private void updateURL(LeaderboardUrlSettings settings, String leaderboardName, String leaderboardDisplayName) {
resultingUrl.setHref(LeaderboardUrlSettings.getUrl(leaderboardName, leaderboardDisplayName, settings));
}
/**
* In addition to the usual leaderboard settings widget, add a checkbox for embedded mode
*/
@Override
public Widget getAdditionalWidget(DataEntryDialog<?> dialog) {
FlowPanel panel = (FlowPanel) leaderboardSettingsDialogComponent.getAdditionalWidget(dialog);
panel.add(createAdditionalUrlSettingsPanel(dialog));
return panel;
}
@Override
public Validator<LeaderboardUrlSettings> getValidator() {
final Validator<LeaderboardSettings> superValidator = leaderboardSettingsDialogComponent.getValidator();
Validator<LeaderboardUrlSettings> result = new Validator<LeaderboardUrlSettings>() {
@Override
public String getErrorMessage(LeaderboardUrlSettings settings) {
String errorMessage = superValidator.getErrorMessage(settings.getLeaderboardSettings());
if (errorMessage == null) {
updateURL(settings, leaderboardName, leaderboardDisplayName);
}
return errorMessage;
}
};
return result;
}
private FlowPanel createAdditionalUrlSettingsPanel(DataEntryDialog<?> dialog) {
FlowPanel urlSettingsPanel = new FlowPanel();
urlSettingsPanel.addStyleName("SettingsDialogComponent");
urlSettingsPanel.add(dialog.createHeadline(stringMessages.additionalUrlSettings(), true));
FlowPanel urlSettingsContent = new FlowPanel();
urlSettingsContent.addStyleName("dialogInnerContent");
urlSettingsPanel.add(urlSettingsContent);
embeddedCheckbox = dialog.createCheckbox(stringMessages.embedded());
urlSettingsContent.add(embeddedCheckbox);
hideToolbarCheckbox = dialog.createCheckbox(stringMessages.hideToolbar());
urlSettingsContent.add(hideToolbarCheckbox);
autoExpandLastRaceBox = dialog.createCheckbox(stringMessages.expandLastRace());
urlSettingsContent.add(autoExpandLastRaceBox);
showRaceDetailsCheckbox = dialog.createCheckbox(stringMessages.showRaceDetails());
urlSettingsContent.add(showRaceDetailsCheckbox);
autoRefreshCheckbox = dialog.createCheckbox(stringMessages.autoRefresh());
urlSettingsContent.add(autoRefreshCheckbox);
if(leaderboardType.isMetaLeaderboard()) {
showSeriesLeaderboardsCheckbox = dialog.createCheckbox(stringMessages.showSeriesLeaderboards());
urlSettingsContent.add(showSeriesLeaderboardsCheckbox);
} else {
showOverallLeaderboardCheckbox = dialog.createCheckbox(stringMessages.showOverallLeaderboard());
urlSettingsContent.add(showOverallLeaderboardCheckbox);
}
showChartsCheckbox = dialog.createCheckbox(stringMessages.showCharts()+":");
urlSettingsContent.add(showChartsCheckbox);
chartDetailListBox = dialog.createListBox(false);
urlSettingsContent.add(chartDetailListBox);
if (leaderboardType.isMetaLeaderboard()) {
chartDetailListBox.addItem(DetailType.OVERALL_RANK.name());
chartDetailListBox.addItem(DetailType.REGATTA_NET_POINTS_SUM.name());
} else {
chartDetailListBox.addItem(DetailType.REGATTA_RANK.name());
chartDetailListBox.addItem(DetailType.REGATTA_NET_POINTS_SUM.name());
}
chartDetailListBox.setSelectedIndex(0);
resultingUrl = new Anchor(stringMessages.leaderboard() + " URL");
urlSettingsContent.add(resultingUrl);
return urlSettingsPanel;
}
@Override
public LeaderboardUrlSettings getResult() {
boolean showOverallLeaderboard = leaderboardType.isMetaLeaderboard() ? false : showOverallLeaderboardCheckbox.getValue();
boolean showSeriesLeaderboards = leaderboardType.isMetaLeaderboard() ? showSeriesLeaderboardsCheckbox.getValue() : false;
DetailType chartType = showChartsCheckbox.getValue() ? DetailType.valueOf(chartDetailListBox.getItemText(chartDetailListBox.getSelectedIndex())) : null;
return new LeaderboardUrlSettings(leaderboardSettingsDialogComponent.getResult(),
embeddedCheckbox.getValue(), hideToolbarCheckbox.getValue(),
showRaceDetailsCheckbox.getValue(), autoRefreshCheckbox.getValue(), autoExpandLastRaceBox.getValue(),
showChartsCheckbox.getValue(), chartType, showOverallLeaderboard, showSeriesLeaderboards);
}
@Override
public FocusWidget getFocusWidget() {
return leaderboardSettingsDialogComponent.getFocusWidget();
}
}
}