mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-02 09:09:37 +00:00
Implemented the multi deletion for events.
This commit is contained in:
1 parent
14fcd63fdc
commit
bc5d679bf3
5 files changed
+51
-5
No files matched your search
+1
-1
@@ -79,7 +79,7 @@ public class RegattaStructureManagementPanel extends SimplePanel implements Rega
|
||||
removeRegattaButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (Window.confirm("Do you really want to remove the regattas?")) {
|
||||
if (Window.confirm("Do you really want to remove the regattas? This will also remove all leaderboards for the regattas!")) {
|
||||
//Creating a new Collection, because getSelectedRegattas returns an
|
||||
//unmodifiable collection, which can't be sent to the server.
|
||||
Collection<RegattaIdentifier> regattas = new HashSet<RegattaIdentifier>();
|
||||
|
||||
+39
-4
@@ -1,7 +1,9 @@
|
||||
package com.sap.sailing.gwt.ui.adminconsole;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.cell.client.AbstractCell;
|
||||
@@ -23,8 +25,8 @@ import com.google.gwt.user.client.ui.HorizontalPanel;
|
||||
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;
|
||||
import com.google.gwt.view.client.SelectionChangeEvent;
|
||||
import com.google.gwt.view.client.SingleSelectionModel;
|
||||
import com.sap.sailing.gwt.ui.client.DataEntryDialog.DialogCallback;
|
||||
import com.sap.sailing.gwt.ui.client.ErrorReporter;
|
||||
import com.sap.sailing.gwt.ui.client.EventRefresher;
|
||||
@@ -46,8 +48,9 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
|
||||
private final StringMessages stringMessages;
|
||||
|
||||
private CellTable<EventDTO> eventTable;
|
||||
private SingleSelectionModel<EventDTO> eventSelectionModel;
|
||||
private MultiSelectionModel<EventDTO> eventSelectionModel;
|
||||
private ListDataProvider<EventDTO> eventProvider;
|
||||
private Button removeEventsButton;
|
||||
|
||||
public static class AnchorCell extends AbstractCell<SafeHtml> {
|
||||
@Override
|
||||
@@ -88,6 +91,18 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
|
||||
}
|
||||
});
|
||||
eventsPanel.add(createEventBtn);
|
||||
|
||||
removeEventsButton = new Button(stringMessages.remove());
|
||||
removeEventsButton.setEnabled(false);
|
||||
removeEventsButton.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (Window.confirm("Do you really want to remove the events?")) {
|
||||
removeEvents(eventSelectionModel.getSelectedSet());
|
||||
}
|
||||
}
|
||||
});
|
||||
eventsPanel.add(removeEventsButton);
|
||||
|
||||
// sailing events table
|
||||
AnchorCell anchorCell = new AnchorCell();
|
||||
@@ -146,7 +161,7 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
|
||||
@Override
|
||||
public void update(int index, EventDTO event, String value) {
|
||||
if (EventConfigImagesBarCell.ACTION_REMOVE.equals(value)) {
|
||||
if (Window.confirm(stringMessages.doYouReallyWantToRemoveRegatta(event.getName()))) {
|
||||
if (Window.confirm("Do you really want to remove the event: '" + event.getName() + "' ?")) {
|
||||
removeEvent(event);
|
||||
}
|
||||
} else if (EventConfigImagesBarCell.ACTION_EDIT.equals(value)) {
|
||||
@@ -163,10 +178,11 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
|
||||
eventTable.addColumn(courseAreasColumn, stringMessages.courseAreas());
|
||||
eventTable.addColumn(eventActionColumn, stringMessages.actions());
|
||||
|
||||
eventSelectionModel = new SingleSelectionModel<EventDTO>();
|
||||
eventSelectionModel = new MultiSelectionModel<EventDTO>();
|
||||
eventSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
|
||||
@Override
|
||||
public void onSelectionChange(SelectionChangeEvent event) {
|
||||
removeEventsButton.setEnabled(!eventSelectionModel.getSelectedSet().isEmpty());
|
||||
}
|
||||
});
|
||||
eventTable.setSelectionModel(eventSelectionModel);
|
||||
@@ -178,6 +194,25 @@ public class SailingEventManagementPanel extends SimplePanel implements EventRef
|
||||
fillEvents();
|
||||
}
|
||||
|
||||
protected void removeEvents(Collection<EventDTO> events) {
|
||||
if (!events.isEmpty()) {
|
||||
Collection<String> eventIds = new HashSet<String>();
|
||||
for (EventDTO event : events) {
|
||||
eventIds.add(event.id);
|
||||
}
|
||||
sailingService.removeEvents(eventIds, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
errorReporter.reportError("Error trying to remove the events:" + caught.getMessage());
|
||||
}
|
||||
@Override
|
||||
public void onSuccess(Void result) {
|
||||
fillEvents();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void removeEvent(final EventDTO event) {
|
||||
sailingService.removeEvent(event.id, new AsyncCallback<Void>() {
|
||||
@Override
|
||||
|
||||
+2
@@ -252,6 +252,8 @@ public interface SailingService extends RemoteService {
|
||||
|
||||
void removeEvent(String eventIdAsString);
|
||||
|
||||
void removeEvents(Collection<String> eventIdsAsStrings);
|
||||
|
||||
void renameEvent(String eventIdAsString, String newName);
|
||||
|
||||
EventDTO getEventByName(String eventName);
|
||||
|
||||
+2
@@ -334,6 +334,8 @@ public interface SailingServiceAsync {
|
||||
*/
|
||||
void removeEvent(String eventIdAsString, AsyncCallback<Void> callback);
|
||||
|
||||
void removeEvents(Collection<String> eventIdsAsStrings, AsyncCallback<Void> asyncCallback);
|
||||
|
||||
void createEvent(String eventName, String description, String publicationUrl, boolean isPublic, List<String> courseAreaNames, AsyncCallback<EventDTO> callback);
|
||||
|
||||
void updateEvent(String eventName, String eventIdAsString, VenueDTO venue, String publicationUrl, boolean isPublic,
|
||||
|
||||
+7
@@ -2558,6 +2558,13 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
return convertToCourseAreaDTO(courseArea);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeEvents(Collection<String> eventIdsAsStrings) {
|
||||
for (String eventId : eventIdsAsStrings) {
|
||||
removeEvent(eventId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeEvent(String eventIdAsString) {
|
||||
UUID eventUuid = convertIdentifierStringToUuid(eventIdAsString);
|
||||
|
||||
Reference in new issue
Block a user