mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-15 16:51:07 +00:00
applied selection checkbox also for other competitor tables
This commit is contained in:
1 parent
791f985d13
commit
d70c11c0dd
6 files changed
+55
-13
No files matched your search
+4
-2
@@ -61,8 +61,10 @@ public class CompetitorPanel extends SimplePanel {
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
this.leaderboardName = leaderboardName;
|
||||
this.competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new MultiSelectionModel<CompetitorDTO>(), false);
|
||||
final Class<?> selectionModelType = MultiSelectionModel.class;
|
||||
@SuppressWarnings("unchecked")
|
||||
final Class<MultiSelectionModel<CompetitorDTO>> multiSelectionType = (Class<MultiSelectionModel<CompetitorDTO>>) selectionModelType;
|
||||
this.competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, multiSelectionType, false);
|
||||
this.competitorSelectionModel = competitorTable.getSelectionModel();
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
this.setWidget(mainPanel);
|
||||
|
||||
+37
-2
@@ -6,6 +6,7 @@ import java.util.List;
|
||||
|
||||
import com.google.gwt.cell.client.SafeHtmlCell;
|
||||
import com.google.gwt.core.client.Callback;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ImageResource;
|
||||
import com.google.gwt.safehtml.shared.SafeHtml;
|
||||
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
|
||||
@@ -15,23 +16,32 @@ import com.google.gwt.user.cellview.client.TextColumn;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.ImageResourceRenderer;
|
||||
import com.google.gwt.user.client.ui.Label;
|
||||
import com.google.gwt.view.client.ListDataProvider;
|
||||
import com.google.gwt.view.client.SelectionModel;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.domain.common.dto.CompetitorDTO;
|
||||
import com.sap.sailing.domain.common.impl.NaturalComparator;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.AdminConsoleTableResources.AdminConsoleTableStyle;
|
||||
import com.sap.sailing.gwt.ui.adminconsole.ColorColumn.ColorRetriever;
|
||||
import com.sap.sailing.gwt.ui.client.FlagImageResolver;
|
||||
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
|
||||
import com.sap.sse.common.Color;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
|
||||
public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> extends TableWrapper<CompetitorDTO, S> {
|
||||
private static final AdminConsoleTableResources tableResources = GWT.create(AdminConsoleTableResources.class);
|
||||
private static final AdminConsoleTableStyle tableSTyle = tableResources.cellTableStyle();
|
||||
|
||||
private final LabeledAbstractFilterablePanel<CompetitorDTO> filterField;
|
||||
|
||||
private final S selectionModel;
|
||||
|
||||
public CompetitorTableWrapper(SailingServiceAsync sailingService, StringMessages stringMessages,ErrorReporter errorReporter,
|
||||
S selectionModel, boolean enablePager) {
|
||||
super(sailingService, stringMessages, errorReporter, selectionModel, enablePager);
|
||||
Class<S> selectionModelType, boolean enablePager) {
|
||||
super(sailingService, stringMessages, errorReporter, /* selectionModel will be set later below */ null, enablePager);
|
||||
|
||||
ListHandler<CompetitorDTO> competitorColumnListHandler = new ListHandler<CompetitorDTO>(dataProvider.getList());
|
||||
|
||||
@@ -131,6 +141,26 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
|
||||
};
|
||||
|
||||
mainPanel.insert(filterField, 0);
|
||||
if (selectionModelType.getName().contains("Multi")) {
|
||||
// add a selection checkbox column
|
||||
SelectionCheckboxColumn<CompetitorDTO> selectionCheckboxColumn = new SelectionCheckboxColumn<CompetitorDTO>(
|
||||
tableSTyle.cellTableCheckboxSelected(), tableSTyle.cellTableCheckboxDeselected(), tableSTyle.cellTableCheckboxColumnCell()) {
|
||||
@Override
|
||||
protected ListDataProvider<CompetitorDTO> getListDataProvider() {
|
||||
return dataProvider;
|
||||
}
|
||||
};
|
||||
@SuppressWarnings("unchecked")
|
||||
S mySelectionModel = (S) selectionCheckboxColumn.getSelectionModel();
|
||||
selectionModel = mySelectionModel;
|
||||
table.setSelectionModel(selectionModel, selectionCheckboxColumn.getSelectionManager());
|
||||
table.addColumn(selectionCheckboxColumn, selectionCheckboxColumn.getHeader());
|
||||
} else {
|
||||
@SuppressWarnings("unchecked")
|
||||
S mySelectionModel = (S) new SingleSelectionModel<CompetitorDTO>();
|
||||
selectionModel = mySelectionModel;
|
||||
table.setSelectionModel(selectionModel);
|
||||
}
|
||||
table.addColumnSortHandler(competitorColumnListHandler);
|
||||
table.addColumn(sailIdColumn, stringMessages.sailNumber());
|
||||
table.addColumn(competitorNameColumn, stringMessages.name());
|
||||
@@ -139,6 +169,11 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
|
||||
table.addColumn(competitorIdColumn, stringMessages.id());
|
||||
}
|
||||
|
||||
@Override
|
||||
public S getSelectionModel() {
|
||||
return selectionModel;
|
||||
}
|
||||
|
||||
public Iterable<CompetitorDTO> getAllCompetitors() {
|
||||
return filterField.getAll();
|
||||
}
|
||||
|
||||
+4
-2
@@ -60,8 +60,10 @@ public class ImportFixesAndAddMappingsDialog extends DataEntryDialog<Collection<
|
||||
}
|
||||
});
|
||||
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new SingleSelectionModel<CompetitorDTO>(), true);
|
||||
final Class<?> selectionModelType = SingleSelectionModel.class;
|
||||
@SuppressWarnings("unchecked")
|
||||
final Class<SingleSelectionModel<CompetitorDTO>> singleSelectionType = (Class<SingleSelectionModel<CompetitorDTO>>) selectionModelType;
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, singleSelectionType, true);
|
||||
markTable = new MarkTableWrapper<SingleSelectionModel<MarkDTO>>(
|
||||
new SingleSelectionModel<MarkDTO>(), sailingService, stringMessages, errorReporter);
|
||||
|
||||
|
||||
+4
-2
@@ -35,9 +35,11 @@ public class ItemToMapToDeviceSelectionPanel implements IsWidget {
|
||||
this.selected = selected;
|
||||
this.errorReporter = errorReporter;
|
||||
|
||||
final Class<?> selectionModelType = SingleSelectionModel.class;
|
||||
@SuppressWarnings("unchecked")
|
||||
final Class<SingleSelectionModel<CompetitorDTO>> singleSelectionType = (Class<SingleSelectionModel<CompetitorDTO>>) selectionModelType;
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, singleSelectionType, true);
|
||||
final SingleSelectionModel<MarkDTO> markSelectionModel = new SingleSelectionModel<MarkDTO>();
|
||||
competitorTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new SingleSelectionModel<CompetitorDTO>(), true);
|
||||
markTable = new MarkTableWrapper<SingleSelectionModel<MarkDTO>>(markSelectionModel, sailingService,
|
||||
stringMessages, errorReporter);
|
||||
|
||||
|
||||
+5
-4
@@ -88,10 +88,11 @@ public class RaceLogTrackingCompetitorRegistrationsDialog extends AbstractSaveDi
|
||||
mainPanel.add(panel);
|
||||
CaptionPanel allCompetitorsPanel = new CaptionPanel(stringMessages.competitorPool());
|
||||
CaptionPanel registeredCompetitorsPanel = new CaptionPanel(stringMessages.registeredCompetitors());
|
||||
allCompetitorsTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new MultiSelectionModel<CompetitorDTO>(), true);
|
||||
registeredCompetitorsTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter,
|
||||
new MultiSelectionModel<CompetitorDTO>(), true);
|
||||
final Class<?> selectionModelType = MultiSelectionModel.class;
|
||||
@SuppressWarnings("unchecked")
|
||||
final Class<MultiSelectionModel<CompetitorDTO>> multiSelectionType = (Class<MultiSelectionModel<CompetitorDTO>>) selectionModelType;
|
||||
allCompetitorsTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, multiSelectionType, true);
|
||||
registeredCompetitorsTable = new CompetitorTableWrapper<>(sailingService, stringMessages, errorReporter, multiSelectionType, true);
|
||||
allCompetitorsPanel.add(allCompetitorsTable);
|
||||
registeredCompetitorsPanel.add(registeredCompetitorsTable);
|
||||
VerticalPanel movePanel = new VerticalPanel();
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ import com.sap.sse.gwt.client.ErrorReporter;
|
||||
*/
|
||||
public abstract class TableWrapper<T, S extends SelectionModel<T>> implements IsWidget {
|
||||
protected final CellTable<T> table;
|
||||
protected final S selectionModel;
|
||||
private final S selectionModel;
|
||||
protected final ListDataProvider<T> dataProvider;
|
||||
protected VerticalPanel mainPanel;
|
||||
protected final SailingServiceAsync sailingService;
|
||||
|
||||
Reference in new issue
Block a user