mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 05:11:04 +00:00
race tree view can clear selection
This commit is contained in:
1 parent
2db990a5c1
commit
dab3a2a294
3 files changed
+44
-8
No files matched your search
+28
-8
@@ -24,12 +24,15 @@ import com.sap.sailing.gwt.ui.client.DataEntryDialog.Validator;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.Pair;
|
||||
import com.sap.sailing.gwt.ui.shared.RaceDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDAO;
|
||||
import com.sap.sailing.gwt.ui.shared.Triple;
|
||||
|
||||
public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer {
|
||||
public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer, RaceSelectionChangeListener {
|
||||
|
||||
private static final int MAX_NUMBER_OF_DISCARDED_RESULTS = 4;
|
||||
|
||||
private RaceTreeView raceTree;
|
||||
private final RaceTreeView raceTree;
|
||||
|
||||
private final StringConstants stringConstants;
|
||||
|
||||
@@ -61,6 +64,10 @@ public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer
|
||||
|
||||
private final Button columnRemoveButton;
|
||||
|
||||
private final Button linkRaceColumnToTrackedRaceButton;
|
||||
|
||||
private final Button unlinkRaceColumnFromTrackedRaceButton;
|
||||
|
||||
public LeaderboardConfigPanel(SailingServiceAsync sailingService, AdminConsole adminConsole,
|
||||
ErrorReporter errorReporter, StringConstants stringConstants) {
|
||||
this.stringConstants = stringConstants;
|
||||
@@ -191,27 +198,29 @@ public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer
|
||||
}
|
||||
});
|
||||
|
||||
// --------- linking columns to tracked races ------------
|
||||
Label lblTrackedRaceConnected = new Label(stringConstants.trackedRaceConnectedToSelectedRaceName());
|
||||
grid.setWidget(4, 0, lblTrackedRaceConnected);
|
||||
|
||||
raceTree = new RaceTreeView(stringConstants, /* multiselection */ false);
|
||||
grid.setWidget(5, 0, raceTree);
|
||||
raceTree.addRaceSelectionChangeListener(this);
|
||||
|
||||
VerticalPanel verticalPanel_2 = new VerticalPanel();
|
||||
grid.setWidget(5, 1, verticalPanel_2);
|
||||
|
||||
Button btnLinkToColumn = new Button(stringConstants.linkToColumn());
|
||||
verticalPanel_2.add(btnLinkToColumn);
|
||||
btnLinkToColumn.addClickHandler(new ClickHandler() {
|
||||
linkRaceColumnToTrackedRaceButton = new Button(stringConstants.linkToColumn());
|
||||
verticalPanel_2.add(linkRaceColumnToTrackedRaceButton);
|
||||
linkRaceColumnToTrackedRaceButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
});
|
||||
|
||||
Button btnUnlink = new Button(stringConstants.unlink());
|
||||
verticalPanel_2.add(btnUnlink);
|
||||
btnUnlink.addClickHandler(new ClickHandler() {
|
||||
unlinkRaceColumnFromTrackedRaceButton = new Button(stringConstants.unlink());
|
||||
verticalPanel_2.add(unlinkRaceColumnFromTrackedRaceButton);
|
||||
unlinkRaceColumnFromTrackedRaceButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
// TODO Auto-generated method stub
|
||||
@@ -305,6 +314,9 @@ public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer
|
||||
} else {
|
||||
columnRenameButton.setEnabled(false);
|
||||
columnRemoveButton.setEnabled(false);
|
||||
raceTree.clearSelection();
|
||||
linkRaceColumnToTrackedRaceButton.setEnabled(false);
|
||||
unlinkRaceColumnFromTrackedRaceButton.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -543,4 +555,12 @@ public class LeaderboardConfigPanel extends FormPanel implements EventDisplayer
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRaceSelectionChange(List<Triple<EventDAO, RegattaDAO, RaceDAO>> selectedRaces) {
|
||||
if (selectedRaces.isEmpty()) {
|
||||
linkRaceColumnToTrackedRaceButton.setEnabled(false);
|
||||
unlinkRaceColumnFromTrackedRaceButton.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
+2
@@ -18,6 +18,8 @@ public interface RaceSelectionChangeListener {
|
||||
|
||||
/**
|
||||
* The first element is the first one selected
|
||||
*
|
||||
* @param selectedRaces a non-<code>null</code> list which is empty if nothing is selected
|
||||
*/
|
||||
void onRaceSelectionChange(List<Triple<EventDAO, RegattaDAO, RaceDAO>> selectedRaces);
|
||||
|
||||
|
||||
+14
@@ -48,6 +48,20 @@ public class RaceTreeView extends FormPanel implements EventDisplayer, RaceSelec
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void clearSelection() {
|
||||
if (eventsList != null) {
|
||||
for (EventDAO event : eventsList.getList()) {
|
||||
trackedEventsModel.getSelectionModel().setSelected(event, false);
|
||||
for (RegattaDAO regatta : event.regattas) {
|
||||
trackedEventsModel.getSelectionModel().setSelected(regatta, false);
|
||||
for (RaceDAO race : regatta.races) {
|
||||
trackedEventsModel.getSelectionModel().setSelected(race, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addRaceSelectionChangeListener(RaceSelectionChangeListener listener) {
|
||||
|
||||
Reference in new issue
Block a user