some UI cleanup in the management panel of the remote server instances

This commit is contained in:
fmittag committed 2015-08-31 17:05:56 +02:00
1 parent 3e2ed6f047
commit aa8bc4b7b2
7 files changed
+97 -75

No files matched your search

@@ -211,7 +211,7 @@ public class AdminConsoleEntryPoint extends AbstractSailingEntryPoint implements
RemoteSailingServerInstancesManagementPanel sailingServerInstancesManagementPanel = new RemoteSailingServerInstancesManagementPanel(sailingService, this, getStringMessages());
panel.addToTabPanel(advancedTabPanel, new DefaultRefreshableAdminConsolePanel<RemoteSailingServerInstancesManagementPanel>(sailingServerInstancesManagementPanel),
getStringMessages().sailingServers(), Permission.MANAGE_SAILING_SERVER_INSTANCES);
getStringMessages().serverInstances(), Permission.MANAGE_SAILING_SERVER_INSTANCES);
final DeviceConfigurationUserPanel deviceConfigurationUserPanel = new DeviceConfigurationUserPanel(sailingService,
getStringMessages(), this);
@@ -18,10 +18,11 @@ import com.google.gwt.user.cellview.client.TextColumn;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.CaptionPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Panel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.view.client.ListDataProvider;
import com.google.gwt.view.client.MultiSelectionModel;
@@ -33,21 +34,94 @@ import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
import com.sap.sse.gwt.client.panels.LabeledAbstractFilterablePanel;
public class RemoteSailingServerInstancesManagementPanel extends FlowPanel {
public class RemoteSailingServerInstancesManagementPanel extends SimplePanel {
private final SailingServiceAsync sailingService;
private final ErrorReporter errorReporter;
private final StringMessages stringMessages;
private final AdminConsoleTableResources tableRes = GWT.create(AdminConsoleTableResources.class);
private final MultiSelectionModel<RemoteSailingServerReferenceDTO> serverSelectionModel;
private LabeledAbstractFilterablePanel<RemoteSailingServerReferenceDTO> filteredServerTable;
private MultiSelectionModel<RemoteSailingServerReferenceDTO> serverSelectionModel;
private LabeledAbstractFilterablePanel<RemoteSailingServerReferenceDTO> filteredServerTablePanel;
private final CaptionPanel remoteServersPanel;
public RemoteSailingServerInstancesManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter,
StringMessages stringMessages) {
this.sailingService = sailingService;
this.errorReporter = errorReporter;
this.stringMessages = stringMessages;
VerticalPanel mainPanel = new VerticalPanel();
setWidget(mainPanel);
mainPanel.setWidth("100%");
remoteServersPanel = new CaptionPanel(stringMessages.registeredSailingServerInstances());
mainPanel.add(remoteServersPanel);
VerticalPanel remoteServersContentPanel = new VerticalPanel();
remoteServersPanel.setContentWidget(remoteServersContentPanel);
CellTable<RemoteSailingServerReferenceDTO> remoteServersTable = createdRemoteServersTable();
ListDataProvider<RemoteSailingServerReferenceDTO> serverDataProvider = new ListDataProvider<RemoteSailingServerReferenceDTO>();
serverDataProvider.addDataDisplay(remoteServersTable);
filteredServerTablePanel = new LabeledAbstractFilterablePanel<RemoteSailingServerReferenceDTO>(
new Label(stringMessages.filterBy() + ":"), Collections.<RemoteSailingServerReferenceDTO>emptyList(), remoteServersTable, serverDataProvider) {
@Override
public List<String> getSearchableStrings(RemoteSailingServerReferenceDTO t) {
List<String> strings = new ArrayList<String>();
strings.add(t.getName());
strings.add(t.getUrl());
if (t.getEvents() != null) {
for (EventBaseDTO e : t.getEvents()) {
strings.add(e.getName());
}
}
return strings;
}
};
remoteServersContentPanel.add(filteredServerTablePanel);
remoteServersContentPanel.add(remoteServersTable);
remoteServersContentPanel.add(createdButtonToolbar());
refreshSailingServerList();
}
private Panel createdButtonToolbar() {
HorizontalPanel buttonPanel = new HorizontalPanel();
buttonPanel.setSpacing(5);
Button addButton = new Button(stringMessages.add());
buttonPanel.add(addButton);
addButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
addRemoteSailingServerReference();
}
});
Button removeButton = new Button(stringMessages.remove());
buttonPanel.add(removeButton);
removeButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
removeSelectedSailingServers();
}
});
Button refreshButton = new Button(stringMessages.refresh());
buttonPanel.add(refreshButton);
refreshButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
refreshSailingServerList();
}
});
return buttonPanel;
}
private CellTable<RemoteSailingServerReferenceDTO> createdRemoteServersTable() {
CellTable<RemoteSailingServerReferenceDTO> serverTable = new CellTable<RemoteSailingServerReferenceDTO>(10000, tableRes);
TextColumn<RemoteSailingServerReferenceDTO> serverNameColumn = new TextColumn<RemoteSailingServerReferenceDTO>() {
@Override
public String getValue(RemoteSailingServerReferenceDTO server) {
@@ -78,7 +152,6 @@ public class RemoteSailingServerInstancesManagementPanel extends FlowPanel {
return builder.toSafeHtml();
}
};
CellTable<RemoteSailingServerReferenceDTO> serverTable = new CellTable<RemoteSailingServerReferenceDTO>(10000, tableRes);
serverTable.addColumn(serverNameColumn, stringMessages.name());
serverTable.addColumn(serverUrlColumn, stringMessages.url());
serverTable.addColumn(eventsOrErrorColumn, stringMessages.events());
@@ -88,60 +161,7 @@ public class RemoteSailingServerInstancesManagementPanel extends FlowPanel {
serverSelectionModel = new MultiSelectionModel<RemoteSailingServerReferenceDTO>();
serverTable.setSelectionModel(serverSelectionModel);
ListDataProvider<RemoteSailingServerReferenceDTO> serverDataProvider = new ListDataProvider<RemoteSailingServerReferenceDTO>();
serverDataProvider.addDataDisplay(serverTable);
Button addButton = new Button(stringMessages.add());
Button removeButton = new Button(stringMessages.remove());
Button refreshButton = new Button(stringMessages.refresh());
addButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
addRemoteSailingServerReference();
}
});
removeButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
removeSelectedSailingServers();
}
});
refreshButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
refreshSailingServerList();
}
});
VerticalPanel vp = new VerticalPanel();
HorizontalPanel providerSelectionPanel = new HorizontalPanel();
providerSelectionPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
vp.add(providerSelectionPanel);
filteredServerTable = new LabeledAbstractFilterablePanel<RemoteSailingServerReferenceDTO>(
new Label(stringMessages.registeredSailingServerInstances()), Collections.<RemoteSailingServerReferenceDTO>emptyList(), serverTable, serverDataProvider) {
@Override
public List<String> getSearchableStrings(RemoteSailingServerReferenceDTO t) {
List<String> strings = new ArrayList<String>();
strings.add(t.getName());
strings.add(t.getUrl());
if (t.getEvents() != null) {
for (EventBaseDTO e : t.getEvents()) {
strings.add(e.getName());
}
}
return strings;
}
};
providerSelectionPanel.add(filteredServerTable);
vp.add(serverTable);
HorizontalPanel buttonPanel = new HorizontalPanel();
buttonPanel.add(addButton);
buttonPanel.add(removeButton);
buttonPanel.add(refreshButton);
vp.add(buttonPanel);
add(vp);
refreshSailingServerList();
return serverTable;
}
private void refreshSailingServerList() {
@@ -153,7 +173,7 @@ public class RemoteSailingServerInstancesManagementPanel extends FlowPanel {
@Override
public void onSuccess(List<RemoteSailingServerReferenceDTO> result) {
filteredServerTable.updateAll(result);
filteredServerTablePanel.updateAll(result);
}
});
}
@@ -179,7 +199,7 @@ public class RemoteSailingServerInstancesManagementPanel extends FlowPanel {
}
private void addRemoteSailingServerReference() {
SailingServerCreateOrEditDialog dialog = new SailingServerCreateOrEditDialog(filteredServerTable.getAll(), stringMessages, new DialogCallback<RemoteSailingServerReferenceDTO>() {
SailingServerCreateOrEditDialog dialog = new SailingServerCreateOrEditDialog(filteredServerTablePanel.getAll(), stringMessages, new DialogCallback<RemoteSailingServerReferenceDTO>() {
@Override
public void cancel() {
}
@@ -194,7 +214,7 @@ public class RemoteSailingServerInstancesManagementPanel extends FlowPanel {
@Override
public void onSuccess(RemoteSailingServerReferenceDTO result) {
filteredServerTable.add(result);
filteredServerTablePanel.add(result);
Window.setStatus(stringMessages.successfullyUpdatedSailingServers());
}
});
@@ -382,7 +382,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String pleaseEnterNonEmptyUrl();
String addResultImportUrl();
String errorAddingResultImportUrl(String message);
String sailingServers();
String serverInstances();
String errorRefreshingSailingServers(String message);
String successfullyUpdatedSailingServers();
String errorRemovingSailingServers(String message);
@@ -392,7 +392,7 @@ errorRemovingResultImportUrls=Error removing result import URLs: {0}
pleaseEnterNonEmptyUrl=Please enter a URL.
addResultImportUrl=Add result import URL
errorAddingResultImportUrl=Error adding result import URL: {0}
sailingServers=SailingServer instances
serverInstances=Server Instances
errorRefreshingSailingServers=Error refreshing SailingServer instances: {0}
successfullyUpdatedSailingServers=Successfully updated SailingServer instances
errorRemovingSailingServers=Error removing SailingServer instances: {0}
@@ -1034,8 +1034,8 @@ competitorPool=Competitor Pool
selectAtLeastOne=Select at least one
selectRaces=Select the Races
importFixes=Import Fixes
noSailingServerInstancesYet=No Sailing Server instances yet.
registeredSailingServerInstances=Registered Sailing Server Instances
noSailingServerInstancesYet=No remote server instances registered yet.
registeredSailingServerInstances=Registered remote server instances
filterEventsByName=Filter Events by name:
leaderboardsExceptFromSelectedGroup=Leaderboards (except those of selected group)
availableLeaderboardGroups=Available Leaderboard Groups
@@ -393,7 +393,7 @@ errorRemovingResultImportUrls=Fehler beim Löschen von Ergebnisimport URLs: {0}
pleaseEnterNonEmptyUrl=Bitte gebe eine URL ein.
addResultImportUrl=Ergebnisimport-URL hinzufügen
errorAddingResultImportUrl=Fehler beim Hinzufügen einer Ergebnisimport URL: {0}
sailingServers=SailingServer Instanzen
serverInstances=Server Instanzen
errorRefreshingSailingServers=Fehler beim Aktualisieren der SailingServer Instanzen: {0}
successfullyUpdatedSailingServers=SailingServer Instanzen erfolgreich aktualisiert
errorRemovingSailingServers=Fehler beim Löschen von SailingServer Instanzen: {0}
@@ -1027,9 +1027,9 @@ twoMarkControlPoint=2-Marken-Kontrollpunkt
registeredCompetitors=Registrierte Teams
competitorPool=Team Vorrat
importFixes=Fixes importieren
noSailingServerInstancesYet=Bisher noch keine Sailing Server-Instanzen.
registeredSailingServerInstances=Registrierte Sailing Server-Instanzen
filterEventsByName=Events nach Name filtern:
noSailingServerInstancesYet=Bisher sind noch keine Remote-Server Instanzen registriert.
registeredSailingServerInstances=Registrierte Remote-Server Instanzen
filterEventsByName=Veranstaltungen nach Name filtern
leaderboardsExceptFromSelectedGroup=Ranglisten (außer denen der ausgewählten Gruppe)
availableLeaderboardGroups=Verfügbare Ranglisten-Gruppen
leaderboardGroupsOfSelectedEvent=Der Veranstaltung zugewiesene Ranglisten-Gruppen
@@ -962,6 +962,7 @@ showDiagram=Show Diagram
rerunQueryAfterRefreshTooltip=Повторно запускает запрос после обновления таблиц.
queryDefinitionProvider=Поставщик определения запроса
statisticProvider=Поставщик статистических данных
serverInstances=Server Instances
calculateThe=Calculate the
groupingProvider=Поставщик группировки
releaseNotes=Новости и история выпусков
@@ -986,6 +987,8 @@ competitorPool=Competitor Pool
selectAtLeastOne=Select at least one
selectRaces=Select the Races
importFixes=Import Fixes
noSailingServerInstancesYet=No remote server instances registered yet.
registeredSailingServerInstances=Registered remote server instances
filterEventsByName=Filter Events by name:
leaderboardsExceptFromSelectedGroup=Leaderboards (except those of selected group)
availableLeaderboardGroups=Available Leaderboard Groups
@@ -111,7 +111,7 @@ leg=L
settingsForComponent=Settings for {0}
classFlag=Class flag
statisticProvider=Statistic Provider
sailingServers=SailingServer instances
serverInstances=Server Instances
startRaceLogTracking=Start RaceLog Tracking
lastScoreCorrectionsComment=Last score correction comment
masterDataImportPanel=Master Data Import
@@ -165,7 +165,7 @@ oneOrMoreParametersAreEmpty=Parameter fields cannot be empty.
raceTotalPointsTooltip=参赛队在单次比赛中的总分
warningBrowserUnsupported=This website is not optimized for your browser. Please switch to a newer one like Firefox or Chrome.
regattaLog=Regatta log
registeredSailingServerInstances=Registered Sailing Server Instances
registeredSailingServerInstances=Registered remote server instances
minDataValuesNeedToBeAtLeastZero=Minimum data size values cannot be negative.
createDefaultSettingsForAllRegattas=Create default settings for all regattas...
windPanelLabel=This is the Wind Panel which so far is completely empty.
@@ -1161,7 +1161,6 @@ medalRaceIsNull=Medalrace value not allowed
importSelectAtLeastOne=You have to select at least one leaderboard group to import
selectEventForInvitation=Select Event for Invitation
additionalGolfDownTimeHelpText=Activate additional golf down time
noSailingServerInstancesYet=No Sailing Server instances yet.
pleaseEnterAnEmail=Please enter an E-Mail.
setDelayToLive=Set delay to live
speedInKnots=速度 (节)