mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-14 16:20:57 +00:00
dialog without errors
This commit is contained in:
1 parent
4d82d85b72
commit
75817fa9f7
2 files changed
+93
-78
No files matched your search
+24
-20
@@ -248,14 +248,14 @@ public class MediaPanel extends FlowPanel {
|
||||
// regattasAndRaces
|
||||
|
||||
Column<MediaTrack, String> regattaAndRaceColumn = new Column<MediaTrack, String>(new ClickableTextCell() {
|
||||
public void onEnterKeyDown(Context context, Element parent, String value, NativeEvent event,
|
||||
ValueUpdater<String> valueUpdater) {
|
||||
public void onEnterKeyDown(Context context, Element parent, String value, NativeEvent event,
|
||||
ValueUpdater<String> valueUpdater) {
|
||||
String type = event.getType();
|
||||
int keyCode = event.getKeyCode();
|
||||
boolean enterPressed = KEYUP.equals(type) && keyCode == KeyCodes.KEY_ENTER;
|
||||
if (CLICK.equals(type) || enterPressed) {
|
||||
openRegattasAndRacesDialog(context, parent, valueUpdater);
|
||||
}
|
||||
}
|
||||
}
|
||||
}) {
|
||||
@Override
|
||||
@@ -279,7 +279,7 @@ public class MediaPanel extends FlowPanel {
|
||||
public void update(int index, MediaTrack mediaTrack, String newRegattaAndRace) {
|
||||
// Called when the user changes the value.
|
||||
if ("".equals(newRegattaAndRace) || !newRegattaAndRace.contains(" ")) {
|
||||
mediaTrack.regattasAndRaces = null;
|
||||
mediaTrack.regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
|
||||
} else {
|
||||
String[] regattasAndRacesArray = newRegattaAndRace.split(",");
|
||||
Set<RegattaAndRaceIdentifier> regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
|
||||
@@ -449,7 +449,7 @@ public class MediaPanel extends FlowPanel {
|
||||
public void onSuccess(String dbId) {
|
||||
mediaTrack.dbId = dbId;
|
||||
loadMediaTracks();
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -459,27 +459,31 @@ public class MediaPanel extends FlowPanel {
|
||||
}
|
||||
|
||||
private String listRegattasAndRaces(MediaTrack mediaTrack) {
|
||||
String value = "";
|
||||
for (RegattaAndRaceIdentifier regattaAndRace : mediaTrack.regattasAndRaces) {
|
||||
value += regattaAndRace.getRegattaName() + " " + regattaAndRace.getRaceName() + ", ";
|
||||
|
||||
if (mediaTrack.regattasAndRaces.size() > 1) {
|
||||
return String.valueOf(mediaTrack.regattasAndRaces.size());
|
||||
} else {
|
||||
String value = "";
|
||||
for (RegattaAndRaceIdentifier regattaAndRace : mediaTrack.regattasAndRaces) {
|
||||
value += regattaAndRace.getRegattaName() + " " + regattaAndRace.getRaceName() + ", ";
|
||||
}
|
||||
if (value.length() > 1) {
|
||||
return value.substring(0, value.length() - 2);
|
||||
} else
|
||||
return value;
|
||||
|
||||
}
|
||||
if (value.length() > 1) {
|
||||
// return value.substring(0, value.length()-2);
|
||||
return String.valueOf(value.length());
|
||||
} else
|
||||
return value;
|
||||
}
|
||||
|
||||
public void onShow() {
|
||||
loadMediaTracks();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void openRegattasAndRacesDialog(final Context context, final Element parent, final ValueUpdater<String> valueUpdater) {
|
||||
final RegattasAndRacesDialog dialog = new RegattasAndRacesDialog(sailingService, (MediaTrack) context.getKey() , errorReporter,
|
||||
regattaRefresher, stringMessages, null, new DialogCallback<Set<RegattaAndRaceIdentifier>>() {
|
||||
public void openRegattasAndRacesDialog(final Context context, final Element parent,
|
||||
final ValueUpdater<String> valueUpdater) {
|
||||
final RegattasAndRacesDialog dialog = new RegattasAndRacesDialog(sailingService, (MediaTrack) context.getKey(),
|
||||
errorReporter, regattaRefresher, stringMessages, null,
|
||||
new DialogCallback<Set<RegattaAndRaceIdentifier>>() {
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
@@ -503,7 +507,7 @@ public class MediaPanel extends FlowPanel {
|
||||
|
||||
regattasDisplayers.add(dialog);
|
||||
dialog.ensureDebugId("RegattasAndRacesDialog");
|
||||
dialog.show();
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
}
|
||||
+69
-58
@@ -21,102 +21,113 @@ import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||
|
||||
public class RegattasAndRacesDialog extends DataEntryDialog<Set<RegattaAndRaceIdentifier>> implements RegattasDisplayer{
|
||||
public class RegattasAndRacesDialog extends DataEntryDialog<Set<RegattaAndRaceIdentifier>> implements RegattasDisplayer {
|
||||
|
||||
protected StringMessages stringMessages;
|
||||
protected final TrackedRacesListComposite trackedRacesListComposite;
|
||||
protected final MediaTrack mediaTrack;
|
||||
protected final MediaTrack mediaTrack;
|
||||
|
||||
protected List<EventDTO> existingEvents;
|
||||
|
||||
public RegattasAndRacesDialog(SailingServiceAsync sailingService, MediaTrack mediaTrack,
|
||||
ErrorReporter errorReporter, RegattaRefresher regattaRefresher,
|
||||
StringMessages stringMessages, Validator<Set<RegattaAndRaceIdentifier>> validator, DialogCallback<Set<RegattaAndRaceIdentifier>> callback) {
|
||||
ErrorReporter errorReporter, RegattaRefresher regattaRefresher, StringMessages stringMessages,
|
||||
Validator<Set<RegattaAndRaceIdentifier>> validator, DialogCallback<Set<RegattaAndRaceIdentifier>> callback) {
|
||||
super(stringMessages.addRegatta(), null, stringMessages.ok(), stringMessages.cancel(), validator, callback);
|
||||
this.stringMessages = stringMessages;
|
||||
// this.regatta = regatta;
|
||||
// this.existingEvents = existingEvents;
|
||||
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, regattaRefresher,
|
||||
new RaceSelectionModel(), stringMessages, /* multiselection */true){
|
||||
new RaceSelectionModel(), stringMessages, /* multiselection */true) {
|
||||
protected boolean raceIsToBeAddedToList(RaceDTO race) {
|
||||
if(mediaTrackIsInTimerangeOf(race)){
|
||||
if (mediaTrackIsInTimerangeOf(race)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel) {}
|
||||
protected void makeControlsReactToSelectionChange(List<RaceDTO> selectedRaces) {}
|
||||
protected void makeControlsReactToFillRegattas(List<RegattaDTO> regattas) {}
|
||||
|
||||
protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel) {
|
||||
}
|
||||
|
||||
protected void makeControlsReactToSelectionChange(List<RaceDTO> selectedRaces) {
|
||||
}
|
||||
|
||||
protected void makeControlsReactToFillRegattas(List<RegattaDTO> regattas) {
|
||||
}
|
||||
};
|
||||
trackedRacesListComposite.ensureDebugId("TrackedRacesListComposite");
|
||||
this.mediaTrack = mediaTrack;
|
||||
regattaRefresher.fillRegattas();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
final VerticalPanel panel = new VerticalPanel();
|
||||
Widget additionalWidget = super.getAdditionalWidget();
|
||||
if (additionalWidget != null) {
|
||||
panel.add(additionalWidget);
|
||||
}
|
||||
Grid formGrid = new Grid(1,1);
|
||||
panel.add(formGrid);
|
||||
|
||||
formGrid.setWidget(0, 0, trackedRacesListComposite);
|
||||
|
||||
return panel;
|
||||
}
|
||||
@Override
|
||||
protected Widget getAdditionalWidget() {
|
||||
final VerticalPanel panel = new VerticalPanel();
|
||||
Widget additionalWidget = super.getAdditionalWidget();
|
||||
if (additionalWidget != null) {
|
||||
panel.add(additionalWidget);
|
||||
}
|
||||
Grid formGrid = new Grid(1, 1);
|
||||
panel.add(formGrid);
|
||||
|
||||
formGrid.setWidget(0, 0, trackedRacesListComposite);
|
||||
|
||||
return panel;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Set<RegattaAndRaceIdentifier> getResult() {
|
||||
return getSelectedRegattasAndRaces();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void fillRegattas(List<RegattaDTO> result) {
|
||||
this.trackedRacesListComposite.fillRegattas(result);
|
||||
}
|
||||
|
||||
public Set<RegattaAndRaceIdentifier> getSelectedRegattasAndRaces(){
|
||||
|
||||
public Set<RegattaAndRaceIdentifier> getSelectedRegattasAndRaces() {
|
||||
List<RaceDTO> races = trackedRacesListComposite.getSelectedRaces();
|
||||
Set<RegattaAndRaceIdentifier> regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
|
||||
for(RaceDTO race: races){
|
||||
for (RaceDTO race : races) {
|
||||
regattasAndRaces.add(race.getRaceIdentifier());
|
||||
}
|
||||
return regattasAndRaces;
|
||||
}
|
||||
|
||||
private boolean mediaTrackIsInTimerangeOf(RaceDTO race){
|
||||
if(mediaTrack.beginsAfter(race.endOfRace) || mediaTrack.endsBefore(race.startOfRace)){
|
||||
|
||||
private boolean mediaTrackIsInTimerangeOf(RaceDTO race) {
|
||||
// if (race.endOfRace != null && race.startOfRace != null) {
|
||||
// if (mediaTrack.beginsAfter(race.endOfRace) || mediaTrack.endsBefore(race.startOfRace)) {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
// return true;
|
||||
|
||||
if (race.endOfRace != null && mediaTrack.beginsAfter(race.endOfRace) || race.startOfRace != null
|
||||
&& mediaTrack.endsBefore(race.startOfRace)) {
|
||||
return false;
|
||||
} else
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
private boolean eventIsNotConnectedToAnyRaces(EventDTO event) {
|
||||
if (regattasAreNotConnectedToAnyRaces(event.regattas)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean regattasAreNotConnectedToAnyRaces(List<RegattaDTO> regattas) {
|
||||
for (RegattaDTO regatta : regattas) {
|
||||
if (regattaIsConnectedToAnyRaces(regatta)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private boolean eventIsNotConnectedToAnyRaces(EventDTO event){
|
||||
if(regattasAreNotConnectedToAnyRaces(event.regattas)){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean regattasAreNotConnectedToAnyRaces(List<RegattaDTO> regattas){
|
||||
for (RegattaDTO regatta : regattas) {
|
||||
if(regattaIsConnectedToAnyRaces(regatta)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private boolean regattaIsConnectedToAnyRaces(RegattaDTO regatta){
|
||||
if(regatta.races.size() > 0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private boolean regattaIsConnectedToAnyRaces(RegattaDTO regatta) {
|
||||
if (regatta.races.size() > 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user