bug5315: Fixed wrapping cell content for small screens. Updated button styles.

This commit is contained in:
Udo Wessels committed 2020-07-31 15:51:46 +02:00
1 parent f73fd801f7
commit 7aa56fe23e
2 files changed
+88 -45

No files matched your search

+41 -5
View File
@@ -190,11 +190,15 @@ table.editableLeaderboardTable tr td:first-child { display: none; }
/* edit button of editable leaderboard table */
.editableLeaderboardTable .editButton {
border: none; /* Remove borders */
color: white; /* White text */
padding: 0;
margin-left: 3px;
cursor: pointer; /* Mouse pointer on hover */
background: url(images/edit.png) left center no-repeat;
width: 20px;
height: 20px;
display: flex;
}
.editableLeaderboardTable .editButton span {
background: url(images/edit.png) center center no-repeat;
width: 16px;
height: 16px;
}
@@ -202,6 +206,38 @@ table.editableLeaderboardTable tr td:first-child { display: none; }
.editableLeaderboardTable .suppressButton, .suppressedCompetitorsTable .suppressButton {
padding: 0 2px;
cursor: pointer; /* Mouse pointer on hover */
height: 18px;
height: 20px;
font-size: 10px;
}
}
.editableLeaderboardTable .raceCell div {
white-space: nowrap;
}
.editableLeaderboardTable .raceCell span {
display: inline-block;
vertical-align: middle;
}
.editableLeaderboardTable .accumulatedCell div {
white-space: nowrap;
}
.editableLeaderboardTable .accumulatedCell span {
display: inline-block;
vertical-align: middle;
}
.editableLeaderboardTable .competitorNameCell div {
white-space: nowrap;
display: flex;
}
.editableLeaderboardTable .competitorNameCell div span {
display: inline-block;
vertical-align: middle;
}
.editableLeaderboardTable .competitorNameCell div span:first-child {
width: 100%;
}
@@ -112,12 +112,14 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
private class EditableCarryColumn extends CarryColumn {
public EditableCarryColumn() {
super(new CompositeCell<LeaderboardRowDTO>(getCellListForEditableCarryColumn()));
this.setCellStyleNames("accumulatedCell");
}
}
private class EditableCompetitorColumn extends CompetitorColumn {
public EditableCompetitorColumn(List<HasCell<LeaderboardRowDTO, ?>> cells, CompetitorColumnBase<LeaderboardRowDTO> base) {
super(new CompositeCell<LeaderboardRowDTO>(cells), base);
this.setCellStyleNames("competitorNameCell");
}
@Override
@@ -135,6 +137,7 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
private class SuppressedShortInfoColumn extends LeaderboardSortableColumnWithMinMax<CompetitorDTO, String> {
protected SuppressedShortInfoColumn() {
super(new TextCell(), SortingOrder.ASCENDING, EditableLeaderboardPanel.this);
this.setCellStyleNames("competitorInfoCell");
}
/**
@@ -190,6 +193,7 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
protected SuppressedCompetitorColumn(CompetitorColumnBase<CompetitorDTO> base) {
super(base.getCell(getLeaderboard()), SortingOrder.ASCENDING, EditableLeaderboardPanel.this);
this.setCellStyleNames("suppressedCompetitorCell");
this.base = base;
}
@@ -279,6 +283,7 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
/* expandable */ false, // we don't want leg expansion when editing scores
new CompositeCellRememberingRenderingContextAndObject(cellList), SortingOrder.NONE,
RACE_COLUMN_HEADER_STYLE, RACE_COLUMN_STYLE);
this.setCellStyleNames("raceCell");
for (RowUpdateWhiteboardProducer<LeaderboardRowDTO> rowUpdateWhiteboardProducer : cellList) {
rowUpdateWhiteboardProducer.setWhiteboardOwner(this);
}
@@ -850,8 +855,10 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
renderer.setCurrentRow((LeaderboardRowDTO) context.getKey());
super.render(context, value, sb);
super.render(context, value, sb);
}
};
result.add(new HasCell<LeaderboardRowDTO, String>() {
@Override
@@ -869,6 +876,43 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
return getLeaderboard().getDisplayName(row.competitor);
}
});
result.add(new HasCell<LeaderboardRowDTO, String>() {
private final ButtonCell cell = new SuppressButtonCell();
@Override
public Cell<String> getCell() {
return cell;
}
@Override
public FieldUpdater<LeaderboardRowDTO, String> getFieldUpdater() {
return new FieldUpdater<LeaderboardRowDTO, String>() {
@Override
public void update(int index, final LeaderboardRowDTO row, String value) {
getSailingService().suppressCompetitorInLeaderboard(getLeaderboardName(), row.competitor.getIdAsString(),
/* suppressed */ true,
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
getErrorReporter().reportError("Error trying to suppress competitor "+row.competitor.getName()+
" in leaderboard "+getLeaderboardName());
}
@Override
public void onSuccess(Void result) {
// force a reload of the entire editable leaderboard to hide the now suppressed competitor
loadCompleteLeaderboard(/* showProgress */ true);
}
});
}
};
}
@Override
public String getValue(LeaderboardRowDTO object) {
return stringMessages.suppress();
}
});
result.add(new HasCell<LeaderboardRowDTO, String>() {
private final ButtonCell cell = new EditButtonCell(stringMessages.edit());
@Override
@@ -919,43 +963,6 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
return "";//stringMessages.edit();
}
});
result.add(new HasCell<LeaderboardRowDTO, String>() {
private final ButtonCell cell = new SuppressButtonCell();
@Override
public Cell<String> getCell() {
return cell;
}
@Override
public FieldUpdater<LeaderboardRowDTO, String> getFieldUpdater() {
return new FieldUpdater<LeaderboardRowDTO, String>() {
@Override
public void update(int index, final LeaderboardRowDTO row, String value) {
getSailingService().suppressCompetitorInLeaderboard(getLeaderboardName(), row.competitor.getIdAsString(),
/* suppressed */ true,
new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
getErrorReporter().reportError("Error trying to suppress competitor "+row.competitor.getName()+
" in leaderboard "+getLeaderboardName());
}
@Override
public void onSuccess(Void result) {
// force a reload of the entire editable leaderboard to hide the now suppressed competitor
loadCompleteLeaderboard(/* showProgress */ true);
}
});
}
};
}
@Override
public String getValue(LeaderboardRowDTO object) {
return stringMessages.suppress();
}
});
return result;
}
@@ -1108,11 +1115,11 @@ public class EditableLeaderboardPanel extends MultiRaceLeaderboardPanel {
public void render(Context context, SafeHtml data, SafeHtmlBuilder sb) {
sb.appendHtmlConstant("<button class=\"editButton\" type=\"button\" tabindex=\"-1\" title=\"");
sb.appendEscaped(title);
sb.appendHtmlConstant("\">");
sb.appendHtmlConstant("\"><span>");
if (data != null) {
sb.append(data);
}
sb.appendHtmlConstant("</button>");
sb.appendHtmlConstant("</span></button>");
}
}