setValue without updating

This commit is contained in:
unknown committed 2014-09-04 13:54:06 +02:00
1 parent 4788a1ce1a
commit 2030d29270
3 files changed
+77 -42

No files matched your search

@@ -188,9 +188,10 @@ public class AdminConsoleEntryPoint extends AbstractEntryPoint implements Regatt
// replicationPanel.ensureDebugId("ReplicationManagement");
addToTabPanel(tabPanel, user, replicationPanel, stringMessages.replication(), AdminConsoleFeatures.MANAGE_REPLICATION);
final MediaPanel mediaPanel = new MediaPanel(sailingService, this, mediaService, this, stringMessages);
final MediaPanel mediaPanel = new MediaPanel(regattasDisplayers, sailingService, this, mediaService, this, stringMessages);
addToTabPanel(tabPanel, user, mediaPanel, stringMessages.mediaPanel(), AdminConsoleFeatures.MANAGE_MEDIA);
final MasterDataImportPanel masterDataImportPanel = new MasterDataImportPanel(stringMessages, sailingService,
this, eventManagementPanel, this, this);
addToTabPanel(tabPanel, user, masterDataImportPanel, stringMessages.masterDataImportPanel(), AdminConsoleFeatures.MANAGE_MASTERDATA_IMPORT);
@@ -5,17 +5,15 @@ import static com.google.gwt.dom.client.BrowserEvents.KEYUP;
import java.util.Collection;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.HashSet;
import java.util.Set;
import com.google.gwt.cell.client.ActionCell;
import com.google.gwt.cell.client.Cell.Context;
import com.google.gwt.cell.client.ClickableTextCell;
import com.google.gwt.cell.client.EditTextCell;
import com.google.gwt.cell.client.FieldUpdater;
import com.google.gwt.cell.client.TextCell;
import com.google.gwt.cell.client.ValueUpdater;
import com.google.gwt.cell.client.Cell.Context;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NativeEvent;
@@ -43,13 +41,12 @@ import com.sap.sailing.domain.common.media.MediaTrack;
import com.sap.sailing.domain.common.media.MediaUtil;
import com.sap.sailing.gwt.ui.client.ErrorReporter;
import com.sap.sailing.gwt.ui.client.MediaServiceAsync;
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
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.media.NewMediaDialog;
import com.sap.sailing.gwt.ui.client.media.TimeFormatUtil;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
/**
@@ -66,12 +63,14 @@ public class MediaPanel extends FlowPanel {
private final ErrorReporter errorReporter;
private final StringMessages stringMessages;
private final Grid mediaTracks;
private Set<RegattasDisplayer> regattasDisplayers;
private CellTable<MediaTrack> mediaTracksTable;
private ListDataProvider<MediaTrack> mediaTrackListDataProvider = new ListDataProvider<MediaTrack>();
public MediaPanel(SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,MediaServiceAsync mediaService, ErrorReporter errorReporter, StringMessages stringMessages) {
public MediaPanel(Set<RegattasDisplayer> regattasDisplayers, SailingServiceAsync sailingService,
RegattaRefresher regattaRefresher, MediaServiceAsync mediaService, ErrorReporter errorReporter,
StringMessages stringMessages) {
this.regattasDisplayers = regattasDisplayers;
this.sailingService = sailingService;
this.regattaRefresher = regattaRefresher;
this.mediaService = mediaService;
@@ -248,18 +247,18 @@ public class MediaPanel extends FlowPanel {
// regattasAndRaces
Column<MediaTrack, String> regattaAndRaceColumn = new Column<MediaTrack, String>(new ClickableTextCell(){
Column<MediaTrack, String> regattaAndRaceColumn = new Column<MediaTrack, String>(new ClickableTextCell() {
public void onEnterKeyDown(Context context, Element parent, String value, NativeEvent event,
ValueUpdater<String> valueUpdater) {
Object key = context.getKey();
Object key = context.getKey();
String type = event.getType();
int keyCode = event.getKeyCode();
boolean enterPressed = KEYUP.equals(type) && keyCode == KeyCodes.KEY_ENTER;
if (CLICK.equals(type) || enterPressed) {
openRegattasAndRacesDialog();
}
openRegattasAndRacesDialog(context, parent);
}
}
}) {
@Override
@@ -270,8 +269,6 @@ public class MediaPanel extends FlowPanel {
return "";
}
};
regattaAndRaceColumn.setSortable(true);
@@ -289,9 +286,7 @@ public class MediaPanel extends FlowPanel {
} else {
String[] regattaAndRace = newRegattaAndRace.split(" ");
Set<RegattaAndRaceIdentifier> regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
regattasAndRaces.add(new RegattaNameAndRaceName(regattaAndRace[0], regattaAndRace[1])); // TODO
// sinnvolle
// Eingabe)
regattasAndRaces.add(new RegattaNameAndRaceName(regattaAndRace[0], regattaAndRace[1]));
mediaTrack.regattasAndRaces = regattasAndRaces;
}
mediaService.updateRace(mediaTrack, new AsyncCallback<Void>() {
@@ -471,23 +466,38 @@ public class MediaPanel extends FlowPanel {
public void onShow() {
loadMediaTracks();
}
public void openRegattasAndRacesDialog(){
RegattasAndRacesDialog dialog = new RegattasAndRacesDialog(sailingService, errorReporter, regattaRefresher,stringMessages,null,
new DialogCallback<RegattaDTO>() {
@Override
public void cancel() {
}
@Override
public void ok(RegattaDTO newRegatta) {
// createNewRegatta(newRegatta);
}
});
dialog.ensureDebugId("RegattasAndRacesDialog");
dialog.show();
public void openRegattasAndRacesDialog(final Context context, final Element parent) {
final RegattasAndRacesDialog dialog = new RegattasAndRacesDialog(sailingService, errorReporter,
regattaRefresher, stringMessages, null, new DialogCallback<Set<RegattaAndRaceIdentifier>>() {
@Override
public void cancel() {
}
@Override
public void ok(Set<RegattaAndRaceIdentifier> regattas) {
ClickableTextCell text = (ClickableTextCell) mediaTracksTable.getColumn(3).getCell();
if (regattas.size() >=0) {
// text.setValue(context, parent, regattas.iterator().next().getRegattaName()+ " "+regattas.iterator().next().getRaceName());
//
// }
// else if(regattas.size()>=1){
//// text.setValue(context, parent, String.valueOf(regattas.size()));
String value = "";
for(RegattaAndRaceIdentifier regattasAndRaces: regattas){
value = value.concat(regattasAndRaces.getRegattaName()+ " "+regattasAndRaces.getRaceName());
}
text.setValue(context, parent, value);
}
}
});
regattasDisplayers.add(dialog);
dialog.ensureDebugId("RegattasAndRacesDialog");
dialog.show();
}
}
@@ -1,22 +1,28 @@
package com.sap.sailing.gwt.ui.adminconsole;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.domain.common.RegattaAndRaceIdentifier;
import com.sap.sailing.domain.common.RegattaNameAndRaceName;
import com.sap.sailing.domain.common.dto.RaceDTO;
import com.sap.sailing.gwt.ui.client.ErrorReporter;
import com.sap.sailing.gwt.ui.client.RaceSelectionModel;
import com.sap.sailing.gwt.ui.client.RaceSelectionProvider;
import com.sap.sailing.gwt.ui.client.RegattaRefresher;
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.shared.EventDTO;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
public class RegattasAndRacesDialog extends DataEntryDialog<RegattaDTO> {
public class RegattasAndRacesDialog extends DataEntryDialog<Set<RegattaAndRaceIdentifier>> implements RegattasDisplayer{
protected StringMessages stringMessages;
protected final TrackedRacesListComposite trackedRacesListComposite;
@@ -36,7 +42,7 @@ public class RegattasAndRacesDialog extends DataEntryDialog<RegattaDTO> {
// DialogCallback<RegattaDTO> callback) {
public RegattasAndRacesDialog(SailingServiceAsync sailingService,
ErrorReporter errorReporter, RegattaRefresher regattaRefresher,
StringMessages stringMessages, Validator<RegattaDTO> validator, DialogCallback<RegattaDTO> callback) {
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;
@@ -44,6 +50,7 @@ public class RegattasAndRacesDialog extends DataEntryDialog<RegattaDTO> {
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, regattaRefresher,
new RaceSelectionModel(), stringMessages, /* multiselection */true);
trackedRacesListComposite.ensureDebugId("TrackedRacesListComposite");
regattaRefresher.fillRegattas();
// regattasListBox = createListBox(true);
// regattasListBox.ensureDebugId("RegattasListBox");
@@ -91,14 +98,31 @@ public class RegattasAndRacesDialog extends DataEntryDialog<RegattaDTO> {
}
@Override
protected RegattaDTO getResult() {
protected Set<RegattaAndRaceIdentifier> getResult() {
// regatta.setName(nameEntryField.getText());
// regatta.boatClass = new BoatClassDTO(boatClassEntryField.getText(), 0.0);
// regatta.scoringScheme = getSelectedScoringSchemeType();
// regatta.useStartTimeInference = useStartTimeInferenceCheckBox.getValue();
// setCourseAreaInRegatta(regatta);
// return regatta;
return null;
return getSelectedRegattasAndRaces();
}
@Override
public void fillRegattas(List<RegattaDTO> result) {
// TODO Auto-generated method stub
this.trackedRacesListComposite.fillRegattas(result);
}
public Set<RegattaAndRaceIdentifier> getSelectedRegattasAndRaces(){
List<RaceDTO> races = trackedRacesListComposite.getSelectedRaces();
Set<RegattaAndRaceIdentifier> regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
for(RaceDTO race: races){
RegattaAndRaceIdentifier regattaNameAndRaceName = new RegattaNameAndRaceName(race.getRegattaName(), race.getName());
regattasAndRaces.add(regattaNameAndRaceName);
}
return regattasAndRaces;
}
// private void setCourseAreaInRegatta(RegattaDTO regatta) {