bug4371 show raceColumnName, if multiple races are touched, in the

linkdialog
This commit is contained in:
Kai Börnert committed 2018-04-17 09:43:36 +02:00
1 parent 9b1b2f88b4
commit 8312638979
2 files changed
+29 -19

No files matched your search

@@ -5,12 +5,13 @@ import java.util.UUID;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.shared.race.TrackedRaceCreationResultDialog;
import com.sap.sse.common.Util.Pair;
public class ExpeditionAllInOneImportResultDialog extends TrackedRaceCreationResultDialog {
public ExpeditionAllInOneImportResultDialog(UUID eventId, String regattaName, List<String> raceNames,
public ExpeditionAllInOneImportResultDialog(UUID eventId, String regattaName, List<Pair<String, String>> raceEntries,
String leaderboardName, String leaderboardGroupName) {
super(StringMessages.INSTANCE.importFinished(), StringMessages.INSTANCE.importFinishedMessage(), eventId,
regattaName, raceNames, leaderboardName, leaderboardGroupName);
regattaName, raceEntries, leaderboardName, leaderboardGroupName);
}
}
@@ -1,6 +1,6 @@
package com.sap.sailing.gwt.ui.client.shared.race;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
@@ -11,26 +11,32 @@ import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.settings.client.EntryPointWithSettingsLinkFactory;
import com.sap.sailing.gwt.ui.client.EntryPointLinkFactory;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
/**
* Summary dialog to be shown after actions that generate a new TrackedRace.
* the dialog shows a link to the RaceBoard for the generated TrackedRace.
* In addition, if available a link to the associated event is shown.
* Summary dialog to be shown after actions that generate a new TrackedRace. the dialog shows a link to the RaceBoard
* for the generated TrackedRace. In addition, if available a link to the associated event is shown.
*/
public class TrackedRaceCreationResultDialog extends DataEntryDialog<Void> {
private final VerticalPanel verticalPanel;
public TrackedRaceCreationResultDialog(String title, String message, UUID eventId, String regattaName, String raceNames,
String leaderboardName, String leaderboardGroupName) {
this(title, message, eventId, regattaName, Arrays.asList(new String[] { raceNames }), leaderboardName, leaderboardGroupName);
public TrackedRaceCreationResultDialog(String title, String message, UUID eventId, String regattaName,
String raceName, String leaderboardName, String leaderboardGroupName) {
this(title, message, eventId, regattaName, createSingleRaceList(raceName), leaderboardName,
leaderboardGroupName);
}
public TrackedRaceCreationResultDialog(String title, String message, UUID eventId, String regattaName, List<String> raceNames,
String leaderboardName, String leaderboardGroupName) {
super(title, message,
StringMessages.INSTANCE.ok(), StringMessages.INSTANCE.cancel(), /* validator */ null,
private static List<Pair<String, String>> createSingleRaceList(String raceName) {
ArrayList<Pair<String, String>> rv = new ArrayList<>();
rv.add(new Pair<String, String>(raceName, null));
return rv;
}
public TrackedRaceCreationResultDialog(String title, String message, UUID eventId, String regattaName,
List<Pair<String, String>> raceNameRaceColumnName, String leaderboardName, String leaderboardGroupName) {
super(title, message, StringMessages.INSTANCE.ok(), StringMessages.INSTANCE.cancel(), /* validator */ null,
new DialogCallback<Void>() {
@Override
public void ok(Void editedObject) {
@@ -43,21 +49,24 @@ public class TrackedRaceCreationResultDialog extends DataEntryDialog<Void> {
verticalPanel = new VerticalPanel();
verticalPanel.setSpacing(20);
for(String raceName:raceNames) {
Anchor raceboardAnchor = new Anchor(StringMessages.INSTANCE.importFinishedGotoRaceboard(),
boolean multiRace = raceNameRaceColumnName.size() > 1;
for (Pair<String, String> raceName : raceNameRaceColumnName) {
String anchorLabel = multiRace ? StringMessages.INSTANCE.importFinishedGotoRaceboard() + raceName.getB()
: StringMessages.INSTANCE.importFinishedGotoRaceboard();
Anchor raceboardAnchor = new Anchor(anchorLabel,
EntryPointWithSettingsLinkFactory.createRaceBoardLinkWithDefaultSettings(eventId, leaderboardName,
leaderboardGroupName, regattaName, raceName));
leaderboardGroupName, regattaName, raceName.getA()));
raceboardAnchor.setTarget("_blank");
verticalPanel.add(raceboardAnchor);
}
if (eventId != null) {
Anchor eventAnchor = new Anchor(StringMessages.INSTANCE.importFinishedGotoEvent(),
EntryPointLinkFactory.createEventPlaceLink(eventId.toString(), Collections.emptyMap()));
eventAnchor.setTarget("_blank");
verticalPanel.add(eventAnchor);
}
}
@Override