mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 06:17:27 +00:00
newSelectionModel: removed constructors form SelectionCheckboxColumn.java
This commit is contained in:
1 parent
e5b4858ff8
commit
aebcd513c7
7 files changed
+57
-88
No files matched your search
+14
-5
@@ -47,6 +47,7 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.Util.Pair;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
@@ -90,10 +91,8 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
|
||||
private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
|
||||
|
||||
public EventListComposite(final SailingServiceAsync sailingService, final RefreshableMultiSelectionModel<EventDTO> refreshableEventSelectionModel,
|
||||
final ErrorReporter errorReporter, final StringMessages stringMessages) {
|
||||
public EventListComposite(final SailingServiceAsync sailingService, final ErrorReporter errorReporter, final StringMessages stringMessages) {
|
||||
this.sailingService = sailingService;
|
||||
this.refreshableEventSelectionModel = refreshableEventSelectionModel;
|
||||
this.stringMessages = stringMessages;
|
||||
this.errorReporter = errorReporter;
|
||||
availableLeaderboardGroups = Collections.emptyList();
|
||||
@@ -184,9 +183,15 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
eventListDataProvider.addDataDisplay(table);
|
||||
table.setWidth("100%");
|
||||
|
||||
SelectionCheckboxColumn<EventDTO> eventSelectionCheckboxColumn = new SelectionCheckboxColumn<EventDTO>(refreshableEventSelectionModel, tableRes.cellTableStyle().cellTableCheckboxSelected(),
|
||||
SelectionCheckboxColumn<EventDTO> eventSelectionCheckboxColumn = new SelectionCheckboxColumn<EventDTO>(
|
||||
tableRes.cellTableStyle().cellTableCheckboxSelected(),
|
||||
tableRes.cellTableStyle().cellTableCheckboxDeselected(),
|
||||
tableRes.cellTableStyle().cellTableCheckboxColumnCell()) {
|
||||
tableRes.cellTableStyle().cellTableCheckboxColumnCell(), new EntityIdentityComparator<EventDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(EventDTO dto1, EventDTO dto2) {
|
||||
return dto1.id.equals(dto2.id);
|
||||
}
|
||||
}) {
|
||||
@Override
|
||||
protected ListDataProvider<EventDTO> getListDataProvider() {
|
||||
return eventListDataProvider;
|
||||
@@ -599,4 +604,8 @@ public class EventListComposite extends Composite implements EventsRefresher, Le
|
||||
public List<EventDTO> getAllEvents() {
|
||||
return allEvents;
|
||||
}
|
||||
|
||||
public RefreshableMultiSelectionModel<EventDTO> getRefreshableMultiSelectionModel() {
|
||||
return refreshableEventSelectionModel;
|
||||
}
|
||||
}
|
||||
+9
-18
@@ -13,7 +13,6 @@ import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.EventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
|
||||
/**
|
||||
@@ -39,16 +38,17 @@ public class EventManagementPanel extends SimplePanel implements EventsRefresher
|
||||
VerticalPanel eventsContentPanel = new VerticalPanel();
|
||||
eventsPanel.setContentWidget(eventsContentPanel);
|
||||
|
||||
refreshableEventSelectionModel = new RefreshableMultiSelectionModel<>(new EntityIdentityComparator<EventDTO>() {
|
||||
|
||||
@Override
|
||||
public boolean representSameEntity(EventDTO dto1, EventDTO dto2) {
|
||||
return dto1.id.equals(dto2.id);
|
||||
}
|
||||
});
|
||||
eventListComposite = new EventListComposite(sailingService, errorReporter, stringMessages);
|
||||
eventListComposite.ensureDebugId("EventListComposite");
|
||||
eventsContentPanel.add(eventListComposite);
|
||||
|
||||
eventDetailsComposite = new EventDetailsComposite(sailingService, errorReporter, stringMessages);
|
||||
eventDetailsComposite.ensureDebugId("EventDetailsComposite");
|
||||
eventDetailsComposite.setVisible(false);
|
||||
mainPanel.add(eventDetailsComposite);
|
||||
|
||||
refreshableEventSelectionModel = eventListComposite.getRefreshableMultiSelectionModel();
|
||||
refreshableEventSelectionModel.addSelectionChangeHandler(new Handler() {
|
||||
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
final Set<EventDTO> selectedEvents = refreshableEventSelectionModel.getSelectedSet();
|
||||
@@ -67,15 +67,6 @@ public class EventManagementPanel extends SimplePanel implements EventsRefresher
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
eventListComposite = new EventListComposite(sailingService, refreshableEventSelectionModel, errorReporter, stringMessages);
|
||||
eventListComposite.ensureDebugId("EventListComposite");
|
||||
eventsContentPanel.add(eventListComposite);
|
||||
|
||||
eventDetailsComposite = new EventDetailsComposite(sailingService, errorReporter, stringMessages);
|
||||
eventDetailsComposite.ensureDebugId("EventDetailsComposite");
|
||||
eventDetailsComposite.setVisible(false);
|
||||
mainPanel.add(eventDetailsComposite);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+17
-8
@@ -40,6 +40,7 @@ import com.sap.sse.common.Util;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.async.MarkedAsyncCallback;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
|
||||
@@ -75,11 +76,10 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer
|
||||
}
|
||||
}
|
||||
|
||||
public RegattaListComposite(final SailingServiceAsync sailingService,
|
||||
final RefreshableMultiSelectionModel<RegattaDTO> refreshableRegattaMultiSelectionModel, RegattaRefresher regattaRefresher,
|
||||
@SuppressWarnings("unchecked")
|
||||
public RegattaListComposite(final SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,
|
||||
final ErrorReporter errorReporter, final StringMessages stringMessages) {
|
||||
this.sailingService = sailingService;
|
||||
this.refreshableRegattaMultiSelectionModel = refreshableRegattaMultiSelectionModel;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
@@ -96,8 +96,9 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer
|
||||
panel.add(noRegattasLabel);
|
||||
|
||||
regattaListDataProvider = new ListDataProvider<RegattaDTO>();
|
||||
regattaTable = createRegattaTable(this.refreshableRegattaMultiSelectionModel);
|
||||
regattaTable = createRegattaTable();
|
||||
regattaTable.ensureDebugId("RegattasCellTable");
|
||||
refreshableRegattaMultiSelectionModel = (RefreshableMultiSelectionModel<RegattaDTO>) regattaTable.getSelectionModel();
|
||||
regattaTable.setVisible(false);
|
||||
|
||||
filterablePanelRegattas = new LabeledAbstractFilterablePanel<RegattaDTO>(filterRegattasLabel, allRegattas,
|
||||
@@ -123,14 +124,20 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer
|
||||
return refreshableRegattaMultiSelectionModel.addSelectionChangeHandler(handler);
|
||||
}
|
||||
|
||||
protected CellTable<RegattaDTO> createRegattaTable(RefreshableMultiSelectionModel<RegattaDTO> selectionmodel) {
|
||||
protected CellTable<RegattaDTO> createRegattaTable() {
|
||||
CellTable<RegattaDTO> table = new CellTable<RegattaDTO>(/* pageSize */10000, tableRes);
|
||||
regattaListDataProvider.addDataDisplay(table);
|
||||
table.setWidth("100%");
|
||||
|
||||
SelectionCheckboxColumn<RegattaDTO> regattaSelectionCheckboxColumn = new SelectionCheckboxColumn<RegattaDTO>(selectionmodel, tableRes.cellTableStyle().cellTableCheckboxSelected(),
|
||||
SelectionCheckboxColumn<RegattaDTO> regattaSelectionCheckboxColumn = new SelectionCheckboxColumn<RegattaDTO>(
|
||||
tableRes.cellTableStyle().cellTableCheckboxSelected(),
|
||||
tableRes.cellTableStyle().cellTableCheckboxDeselected(),
|
||||
tableRes.cellTableStyle().cellTableCheckboxColumnCell()) {
|
||||
tableRes.cellTableStyle().cellTableCheckboxColumnCell(), new EntityIdentityComparator<RegattaDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(RegattaDTO dto1, RegattaDTO dto2) {
|
||||
return dto1.getRegattaIdentifier().equals(dto2.getRegattaIdentifier());
|
||||
}
|
||||
}) {
|
||||
@Override
|
||||
protected ListDataProvider<RegattaDTO> getListDataProvider() {
|
||||
return regattaListDataProvider;
|
||||
@@ -233,7 +240,6 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer
|
||||
table.addColumn(rankingMetricColumn, stringMessages.rankingMetric());
|
||||
table.addColumn(regattaActionColumn, stringMessages.actions());
|
||||
table.setSelectionModel(regattaSelectionCheckboxColumn.getSelectionModel(), regattaSelectionCheckboxColumn.getSelectionManager());
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
@@ -353,4 +359,7 @@ public class RegattaListComposite extends Composite implements RegattasDisplayer
|
||||
return allRegattas;
|
||||
}
|
||||
|
||||
public RefreshableMultiSelectionModel<RegattaDTO> getRefreshableMultiSelectionModel() {
|
||||
return refreshableRegattaMultiSelectionModel;
|
||||
}
|
||||
}
|
||||
+3
-12
@@ -30,7 +30,6 @@ import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.SeriesDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.StrippedLeaderboardDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
|
||||
@@ -103,15 +102,10 @@ public class RegattaManagementPanel extends SimplePanel implements RegattasDispl
|
||||
});
|
||||
regattaManagementControlsPanel.add(removeRegattaButton);
|
||||
regattasContentPanel.add(regattaManagementControlsPanel);
|
||||
|
||||
refreshableRegattaMultiSelectionModel = new RefreshableMultiSelectionModel<>(new EntityIdentityComparator<RegattaDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(RegattaDTO dto1, RegattaDTO dto2) {
|
||||
return dto1.getRegattaIdentifier().equals(dto2.getRegattaIdentifier());
|
||||
}
|
||||
});
|
||||
regattaListComposite = new RegattaListComposite(sailingService, regattaRefresher, errorReporter, stringMessages);
|
||||
regattaListComposite.ensureDebugId("RegattaListComposite");
|
||||
refreshableRegattaMultiSelectionModel = regattaListComposite.getRefreshableMultiSelectionModel();
|
||||
refreshableRegattaMultiSelectionModel.addSelectionChangeHandler(new Handler() {
|
||||
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
List<RegattaDTO> selectedRegattas = new ArrayList<>(refreshableRegattaMultiSelectionModel.getSelectedSet());
|
||||
@@ -134,9 +128,6 @@ public class RegattaManagementPanel extends SimplePanel implements RegattasDispl
|
||||
removeRegattaButton.setEnabled(!selectedRegattas.isEmpty());
|
||||
}
|
||||
});
|
||||
|
||||
regattaListComposite = new RegattaListComposite(sailingService, refreshableRegattaMultiSelectionModel, regattaRefresher, errorReporter, stringMessages);
|
||||
regattaListComposite.ensureDebugId("RegattaListComposite");
|
||||
regattasContentPanel.add(regattaListComposite);
|
||||
|
||||
regattaDetailsComposite = new RegattaDetailsComposite(sailingService, regattaRefresher, errorReporter, stringMessages);
|
||||
|
||||
+11
-7
@@ -14,7 +14,7 @@ import com.sap.sailing.gwt.ui.client.shared.controls.SelectionCheckboxColumn;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sse.common.util.NaturalComparator;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
|
||||
public class StructureImportListComposite extends RegattaListComposite implements RegattasDisplayer {
|
||||
|
||||
@@ -25,25 +25,29 @@ public class StructureImportListComposite extends RegattaListComposite implement
|
||||
RegattaStructure getRegattaStructure(RegattaDTO regatta);
|
||||
}
|
||||
|
||||
public StructureImportListComposite(final SailingServiceAsync sailingService,
|
||||
final RefreshableMultiSelectionModel<RegattaDTO> refreshableRegattaSelectionModel, RegattaRefresher regattaRefresher,
|
||||
public StructureImportListComposite(final SailingServiceAsync sailingService, RegattaRefresher regattaRefresher,
|
||||
RegattaStructureProvider regattaStructureProvider, final ErrorReporter errorReporter,
|
||||
final StringMessages stringMessages) {
|
||||
super(sailingService, refreshableRegattaSelectionModel, regattaRefresher, errorReporter, stringMessages);
|
||||
super(sailingService, regattaRefresher, errorReporter, stringMessages);
|
||||
this.regattaStructureProvider = regattaStructureProvider;
|
||||
}
|
||||
|
||||
// create Regatta Table in StructureImportManagementPanel
|
||||
@Override
|
||||
protected CellTable<RegattaDTO> createRegattaTable(RefreshableMultiSelectionModel<RegattaDTO> refreshableRegattaSelectionModel) {
|
||||
protected CellTable<RegattaDTO> createRegattaTable() {
|
||||
CellTable<RegattaDTO> table = new CellTable<RegattaDTO>(/* pageSize */10000, tableRes);
|
||||
regattaListDataProvider.addDataDisplay(table);
|
||||
table.setWidth("100%");
|
||||
|
||||
this.selectionCheckboxColumn = new SelectionCheckboxColumn<RegattaDTO>(refreshableRegattaSelectionModel,
|
||||
this.selectionCheckboxColumn = new SelectionCheckboxColumn<RegattaDTO>(
|
||||
tableRes.cellTableStyle().cellTableCheckboxSelected(),
|
||||
tableRes.cellTableStyle().cellTableCheckboxDeselected(),
|
||||
tableRes.cellTableStyle().cellTableCheckboxColumnCell()) {
|
||||
tableRes.cellTableStyle().cellTableCheckboxColumnCell(), new EntityIdentityComparator<RegattaDTO>() {
|
||||
@Override
|
||||
public boolean representSameEntity(RegattaDTO dto1, RegattaDTO dto2) {
|
||||
return dto1.getRegattaIdentifier().equals(dto2.getRegattaIdentifier());
|
||||
}
|
||||
}) {
|
||||
@Override
|
||||
protected ListDataProvider<RegattaDTO> getListDataProvider() {
|
||||
return regattaListDataProvider;
|
||||
|
||||
+2
-10
@@ -45,8 +45,6 @@ import com.sap.sailing.gwt.ui.shared.LeaderboardGroupDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.SeriesDTO;
|
||||
import com.sap.sse.gwt.client.ErrorReporter;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
import com.sap.sse.gwt.client.controls.busyindicator.BusyIndicator;
|
||||
import com.sap.sse.gwt.client.controls.busyindicator.SimpleBusyIndicator;
|
||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
|
||||
@@ -104,14 +102,8 @@ public class StructureImportManagementPanel extends SimplePanel implements Regat
|
||||
this.errorReporter = errorReporter;
|
||||
this.stringMessages = stringMessages;
|
||||
this.regattaRefresher = regattaRefresher;
|
||||
this.regattaListComposite = new StructureImportListComposite(this.sailingService,
|
||||
new RefreshableMultiSelectionModel<RegattaDTO>(new EntityIdentityComparator<RegattaDTO>() {
|
||||
|
||||
@Override
|
||||
public boolean representSameEntity(RegattaDTO dto1, RegattaDTO dto2) {
|
||||
return dto1.getRegattaIdentifier().equals(dto2.getRegattaIdentifier());
|
||||
}
|
||||
}), this.regattaRefresher, this, this.errorReporter, this.stringMessages);
|
||||
this.regattaListComposite = new StructureImportListComposite(this.sailingService, this.regattaRefresher, this,
|
||||
this.errorReporter, this.stringMessages);
|
||||
regattaListComposite.ensureDebugId("RegattaListComposite");
|
||||
|
||||
VerticalPanel mainPanel = new VerticalPanel();
|
||||
|
||||
+1
-28
@@ -1,7 +1,6 @@
|
||||
package com.sap.sailing.gwt.ui.client.shared.controls;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.cell.client.Cell.Context;
|
||||
import com.google.gwt.dom.client.BrowserEvents;
|
||||
import com.google.gwt.dom.client.NativeEvent;
|
||||
@@ -21,7 +20,6 @@ import com.sap.sailing.domain.common.dto.LeaderboardRowDTO;
|
||||
import com.sap.sailing.domain.common.impl.InvertibleComparatorAdapter;
|
||||
import com.sap.sse.gwt.client.celltable.EntityIdentityComparator;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableMultiSelectionModel;
|
||||
import com.sap.sse.gwt.client.celltable.RefreshableSelectionModel;
|
||||
|
||||
/**
|
||||
* A column to be used in a {@link CellTable} that controls and reflects a table's selection model using stylable
|
||||
@@ -50,23 +48,7 @@ public abstract class SelectionCheckboxColumn<T> extends AbstractSortableColumnW
|
||||
private final String checkboxColumnCellCSSClass;
|
||||
private final EventTranslator<T> selectionEventTranslator;
|
||||
private final RefreshableMultiSelectionModel<T> selectionModel;
|
||||
|
||||
/**
|
||||
* @param selectionModel
|
||||
* {@link RefreshableSelectionModel} to set an already existing selectionmodel for the
|
||||
* {@link SelectionCheckboxColumn}
|
||||
* @param selectedCheckboxCSSClass
|
||||
* CSS class for the <code><div></code> element representing a selected element
|
||||
* @param deselectedCheckboxCSSClass
|
||||
* CSS class for the <code><div></code> element representing a deselected element
|
||||
* @param checkboxColumnCellCSSClass
|
||||
* CSS class for the <code><td></code> element rendering the cell
|
||||
*/
|
||||
// TODO Lukas: test whether using an arbitrary selection model here that does not trigger the redrawRow method displays the checkbox correctly when the selection is changed programmatically; is this required at all, or could the client grab the selection model from this column instead?
|
||||
protected SelectionCheckboxColumn(RefreshableMultiSelectionModel<T> selectionModel, String selectedCheckboxCSSClass,
|
||||
String deselectedCheckboxCSSClass, String checkboxColumnCellCSSClass) {
|
||||
this(selectionModel, new BetterCheckboxCell(selectedCheckboxCSSClass, deselectedCheckboxCSSClass), checkboxColumnCellCSSClass);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param selectedCheckboxCSSClass
|
||||
* CSS class for the <code><div></code> element representing a selected element
|
||||
@@ -82,15 +64,6 @@ public abstract class SelectionCheckboxColumn<T> extends AbstractSortableColumnW
|
||||
this(new BetterCheckboxCell(selectedCheckboxCSSClass, deselectedCheckboxCSSClass), checkboxColumnCellCSSClass,
|
||||
entityIdentityComparator);
|
||||
}
|
||||
|
||||
// TODO Lukas: test whether using an arbitrary selection model here that does not trigger the redrawRow method displays the checkbox correctly when the selection is changed programmatically; is this required at all, or could the client grab the selection model from this column instead?
|
||||
private SelectionCheckboxColumn(RefreshableMultiSelectionModel<T> selectionModel, BetterCheckboxCell checkboxCell, String checkboxColumnCellCSSClass) {
|
||||
super(checkboxCell, SortingOrder.DESCENDING);
|
||||
this.cell = checkboxCell;
|
||||
this.checkboxColumnCellCSSClass = checkboxColumnCellCSSClass;
|
||||
this.selectionEventTranslator = createSelectionEventTranslator();
|
||||
this.selectionModel = selectionModel;
|
||||
}
|
||||
|
||||
private SelectionCheckboxColumn(BetterCheckboxCell checkboxCell, String checkboxColumnCellCSSClass, EntityIdentityComparator<T> entityIdentityComparator) {
|
||||
super(checkboxCell, SortingOrder.DESCENDING);
|
||||
|
||||
Reference in new issue
Block a user