Skip to content

Commit e9db8d1

Browse files
committed
bug6122: for MarkPropertiesPanel adjust checkbox cell header to all/nothing selection
1 parent 6d2e24b commit e9db8d1

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/TracTracEventManagementPanel.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,6 @@ public int hashCode(TracTracRaceRecordDTO t) {
341341
@Override
342342
public Boolean getValue() {
343343
return false;
344-
345344
}};
346345
selectAllHeader.setUpdater(value -> {
347346
for (final TracTracRaceRecordDTO race : raceList.getList()) {

java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/coursecreation/CourseTemplatePanel.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,10 @@ public AbstractCellTable<CourseTemplateDTO> getCellTable() {
103103
buttonAndFilterPanel.addRemoveAction(stringMessages.remove(), refreshableSelectionModel, true,
104104
() -> removeCourseTemplates(refreshableSelectionModel.getSelectedSet().stream()
105105
.map(courseTemplateDTO -> courseTemplateDTO.getUuid()).collect(Collectors.toList())));
106-
107106
buttonAndFilterPanel.addUnsecuredWidget(lblFilterRaces);
108107
buttonAndFilterPanel.addUnsecuredWidget(filterableCourseTemplatePanel);
109108
filterableCourseTemplatePanel
110109
.setUpdatePermissionFilterForCheckbox(event -> userService.hasPermission(event, DefaultActions.UPDATE));
111-
112110
}
113111

114112
private void removeCourseTemplates(Collection<UUID> courseTemplatesUuids) {
@@ -176,7 +174,6 @@ public void onSuccess(List<MarkTemplateDTO> markTemplateDTOs) {
176174
private void createCourseTemplateTable(final UserService userService) {
177175
courseTemplateTable = new FlushableCellTable<>(1000, tableResources);
178176
courseTemplateTable.setWidth("100%");
179-
180177
// Attach a column sort handler to the ListDataProvider to sort the list.
181178
ListHandler<CourseTemplateDTO> sortHandler = new ListHandler<>(courseTemplateListDataProvider.getList());
182179
courseTemplateTable.addColumnSortHandler(sortHandler);
@@ -205,7 +202,6 @@ public int hashCode(CourseTemplateDTO t) {
205202
return t.getUuid().hashCode();
206203
}
207204
}, filterableCourseTemplatePanel.getAllListDataProvider(), courseTemplateTable);
208-
209205
checkColumn.setSortable(false);
210206
CheckboxCell selectAllCell = new CheckboxCell();
211207
Header<Boolean> selectAllHeader = new Header<Boolean>(selectAllCell) {

java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/adminconsole/coursecreation/MarkPropertiesPanel.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ public int hashCode(MarkPropertiesDTO t) {
185185
return t.getUuid().hashCode();
186186
}
187187
}, filterableMarkProperties.getAllListDataProvider(), markPropertiesTable);
188-
CheckboxCell selectAllCell = new CheckboxCell();
188+
final CheckboxCell selectAllCell = new CheckboxCell();
189189
Header<Boolean> selectAllHeader = new Header<Boolean>(selectAllCell) {
190190
@Override
191191
public Boolean getValue() {
@@ -199,7 +199,6 @@ public Boolean getValue() {
199199
refreshableSelectionModel.setSelected(mp, value);
200200
}
201201
}
202-
value = !value;
203202
});
204203
markPropertiesTable.addColumn(checkColumn, selectAllHeader);
205204
markPropertiesTable.setColumnWidth(checkColumn, 40, Unit.PX);
@@ -335,6 +334,13 @@ public void onSuccess(Void result) {
335334
markPropertiesTable.addColumn(actionsColumn, stringMessages.actions());
336335
refreshableSelectionModel = checkColumn.getSelectionModel();
337336
markPropertiesTable.setSelectionModel(checkColumn.getSelectionModel(), checkColumn.getSelectionManager());
337+
refreshableSelectionModel.addSelectionChangeHandler(e -> {
338+
if (refreshableSelectionModel.getSelectedSet().isEmpty()) {
339+
selectAllCell.setViewData(/* key */ selectAllHeader.getValue(), false);
340+
} else if (refreshableSelectionModel.getSelectedSet().size() == markPropertiesListDataProvider.getList().size()) {
341+
selectAllCell.setViewData(/* key */ selectAllHeader.getValue(), true);
342+
}
343+
});
338344
}
339345

340346
public void refreshMarkProperties() {

0 commit comments

Comments
 (0)