mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-02 17:19:37 +00:00
moved leaderboard settings button into CompetitorSearchTextBox control
This commit is contained in:
1 parent
9b9f976e0e
commit
96843ff109
4 files changed
+31
-19
No files matched your search
@@ -285,9 +285,6 @@ body ::-webkit-scrollbar-track {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.gwt-SettingsButton {
|
.gwt-SettingsButton {
|
||||||
position: absolute;
|
|
||||||
top: 0px;
|
|
||||||
right: 1px;
|
|
||||||
border: none;
|
border: none;
|
||||||
background: grey url(images/SAP_RV_Settings.png) center no-repeat;
|
background: grey url(images/SAP_RV_Settings.png) center no-repeat;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|||||||
+22
@@ -1,8 +1,12 @@
|
|||||||
package com.sap.sailing.gwt.ui.client.shared.components;
|
package com.sap.sailing.gwt.ui.client.shared.components;
|
||||||
|
|
||||||
|
import com.google.gwt.event.dom.client.ClickEvent;
|
||||||
|
import com.google.gwt.event.dom.client.ClickHandler;
|
||||||
|
import com.google.gwt.user.client.ui.Button;
|
||||||
import com.google.gwt.user.client.ui.FocusWidget;
|
import com.google.gwt.user.client.ui.FocusWidget;
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||||
|
import com.sap.sailing.gwt.ui.leaderboard.LeaderboardSettings;
|
||||||
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
|
||||||
|
|
||||||
public class SettingsDialog<SettingsType> extends DataEntryDialog<SettingsType> {
|
public class SettingsDialog<SettingsType> extends DataEntryDialog<SettingsType> {
|
||||||
@@ -12,6 +16,24 @@ public class SettingsDialog<SettingsType> extends DataEntryDialog<SettingsType>
|
|||||||
this(component, stringMessages, /* animationEnabled */ true);
|
this(component, stringMessages, /* animationEnabled */ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a settings button for <code>component</code> that, when clicked, opens a settings dialog for that
|
||||||
|
* component and when confirmed, updates that component's settings. The button style uses CSS class
|
||||||
|
* <code>gwt-SettingsButton</code>.
|
||||||
|
*/
|
||||||
|
public static Button createSettingsButton(final Component<LeaderboardSettings> component, final StringMessages stringMessages) {
|
||||||
|
Button settingsButton = new Button();
|
||||||
|
settingsButton.setStyleName("gwt-SettingsButton");
|
||||||
|
settingsButton.addClickHandler(new ClickHandler() {
|
||||||
|
@Override
|
||||||
|
public void onClick(ClickEvent event) {
|
||||||
|
new SettingsDialog<LeaderboardSettings>(component, stringMessages).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return settingsButton;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This auxiliary constructor is required to avoid duplicate calls to {@link Component#getSettingsDialogComponent()}
|
* This auxiliary constructor is required to avoid duplicate calls to {@link Component#getSettingsDialogComponent()}
|
||||||
* which may choose to create a new instance each call. Such duplicate instances would cause the validator to
|
* which may choose to create a new instance each call. Such duplicate instances would cause the validator to
|
||||||
|
|||||||
+8
-2
@@ -326,13 +326,18 @@ public class CompetitorSearchTextBox extends HorizontalPanel implements KeyUpHan
|
|||||||
totalRankFilter.setValue(50);
|
totalRankFilter.setValue(50);
|
||||||
topNTotalRankCompetitorsFilterSet.addFilter(totalRankFilter);
|
topNTotalRankCompetitorsFilterSet.addFilter(totalRankFilter);
|
||||||
filterSets.addFilterSet(topNTotalRankCompetitorsFilterSet);
|
filterSets.addFilterSet(topNTotalRankCompetitorsFilterSet);
|
||||||
|
|
||||||
// set default active filter
|
// set default active filter
|
||||||
filterSets.setActiveFilterSet(topNRaceRankCompetitorsFilterSet);
|
filterSets.setActiveFilterSet(topNRaceRankCompetitorsFilterSet);
|
||||||
|
|
||||||
return filterSets;
|
return filterSets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A settings button will be added to the left of the panel
|
||||||
|
*/
|
||||||
|
public void addSettingsButton(Button settingsButton) {
|
||||||
|
insert(settingsButton, 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void filterChanged(FilterSet<CompetitorDTO, ? extends Filter<CompetitorDTO>> oldFilterSet,
|
public void filterChanged(FilterSet<CompetitorDTO, ? extends Filter<CompetitorDTO>> oldFilterSet,
|
||||||
FilterSet<CompetitorDTO, ? extends Filter<CompetitorDTO>> newFilterSet) {
|
FilterSet<CompetitorDTO, ? extends Filter<CompetitorDTO>> newFilterSet) {
|
||||||
@@ -349,4 +354,5 @@ public class CompetitorSearchTextBox extends HorizontalPanel implements KeyUpHan
|
|||||||
@Override public void filteredCompetitorsListChanged(Iterable<CompetitorDTO> filteredCompetitors) {}
|
@Override public void filteredCompetitorsListChanged(Iterable<CompetitorDTO> filteredCompetitors) {}
|
||||||
@Override public void addedToSelection(CompetitorDTO competitor) {}
|
@Override public void addedToSelection(CompetitorDTO competitor) {}
|
||||||
@Override public void removedFromSelection(CompetitorDTO competitor) {}
|
@Override public void removedFromSelection(CompetitorDTO competitor) {}
|
||||||
|
|
||||||
}
|
}
|
||||||
+1
-14
@@ -41,7 +41,6 @@ import com.google.gwt.user.cellview.client.SafeHtmlHeader;
|
|||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.AbstractImagePrototype;
|
import com.google.gwt.user.client.ui.AbstractImagePrototype;
|
||||||
import com.google.gwt.user.client.ui.Anchor;
|
import com.google.gwt.user.client.ui.Anchor;
|
||||||
import com.google.gwt.user.client.ui.Button;
|
|
||||||
import com.google.gwt.user.client.ui.DockPanel;
|
import com.google.gwt.user.client.ui.DockPanel;
|
||||||
import com.google.gwt.user.client.ui.FlowPanel;
|
import com.google.gwt.user.client.ui.FlowPanel;
|
||||||
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
|
||||||
@@ -1764,8 +1763,8 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS
|
|||||||
if (competitorSearchTextBox != null) {
|
if (competitorSearchTextBox != null) {
|
||||||
contentPanel.add(competitorSearchTextBox);
|
contentPanel.add(competitorSearchTextBox);
|
||||||
contentPanel.add(busyIndicator);
|
contentPanel.add(busyIndicator);
|
||||||
|
competitorSearchTextBox.addSettingsButton(SettingsDialog.createSettingsButton(this, stringMessages));
|
||||||
}
|
}
|
||||||
contentPanel.add(createSettingsButton(this));
|
|
||||||
SortedCellTable<LeaderboardRowDTO> leaderboardTable = getLeaderboardTable();
|
SortedCellTable<LeaderboardRowDTO> leaderboardTable = getLeaderboardTable();
|
||||||
leaderboardTable.getElement().getStyle().setMarginTop(10, Unit.PX);
|
leaderboardTable.getElement().getStyle().setMarginTop(10, Unit.PX);
|
||||||
contentPanel.add(leaderboardTable);
|
contentPanel.add(leaderboardTable);
|
||||||
@@ -1773,18 +1772,6 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS
|
|||||||
raceNameForDefaultSorting = settings.getNameOfRaceToSort();
|
raceNameForDefaultSorting = settings.getNameOfRaceToSort();
|
||||||
}
|
}
|
||||||
|
|
||||||
private Button createSettingsButton(final Component<LeaderboardSettings> component) {
|
|
||||||
Button settingsButton = new Button();
|
|
||||||
settingsButton.setStyleName("gwt-SettingsButton");
|
|
||||||
settingsButton.addClickHandler(new ClickHandler() {
|
|
||||||
@Override
|
|
||||||
public void onClick(ClickEvent event) {
|
|
||||||
new SettingsDialog<LeaderboardSettings>(component, stringMessages).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return settingsButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static class TotalDistanceTraveledInMetersField implements LegDetailField<Double> {
|
private static class TotalDistanceTraveledInMetersField implements LegDetailField<Double> {
|
||||||
@Override
|
@Override
|
||||||
public Double get(LeaderboardRowDTO row) {
|
public Double get(LeaderboardRowDTO row) {
|
||||||
|
|||||||
Reference in new issue
Block a user