Initial addition of the quickfinder for series

This commit is contained in:
Steffen Schaefer committed 2015-07-07 08:49:58 +02:00
1 parent 8e9bdb2c87
commit fa6cc7f9f4
4 files changed
+38 -1

No files matched your search

@@ -11,6 +11,7 @@ import com.sap.sailing.gwt.home.client.place.fakeseries.AbstractSeriesPlace;
import com.sap.sailing.gwt.home.client.place.fakeseries.SeriesContext;
import com.sap.sailing.gwt.home.client.place.fakeseries.tabs.EventSeriesOverallLeaderboardPlace;
import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory;
import com.sap.sailing.gwt.home.mobile.places.minileaderboard.MiniLeaderboardPlace;
import com.sap.sailing.gwt.home.mobile.places.series.minileaderboard.SeriesMiniOverallLeaderboardPlace;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.dispatch.DispatchSystem;
@@ -53,6 +54,8 @@ public class SeriesActivity extends AbstractActivity implements SeriesView.Prese
private void initUi(final AcceptsOneWidget panel, EventBus eventBus) {
final SeriesView view = new SeriesViewImpl(this);
EventSeriesViewDTO series = getCtx().getSeriesDTO();
view.setQuickFinderValues(series.getDisplayName(), series.getEvents());
panel.setWidget(view.asWidget());
}
@@ -65,6 +68,15 @@ public class SeriesActivity extends AbstractActivity implements SeriesView.Prese
return clientFactory.getDispatch();
}
@Override
public void navigate(String eventId) {
if(eventId == null || eventId.isEmpty()) {
getMiniOverallLeaderboardNavigation().goToPlace();
return;
}
clientFactory.getNavigator().getEventNavigation(new MiniLeaderboardPlace(eventId, null), null, false).goToPlace();
}
@Override
public PlaceNavigation<?> getOverallLeaderboardNavigation() {
return clientFactory.getNavigator().getSeriesNavigation(new EventSeriesOverallLeaderboardPlace(getCtx()), null, false);
@@ -1,15 +1,21 @@
package com.sap.sailing.gwt.home.mobile.places.series;
import java.util.Collection;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.place.fakeseries.SeriesContext;
import com.sap.sailing.gwt.home.mobile.partials.quickfinder.QuickfinderNavigationHandler;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.home.shared.dispatch.DispatchSystem;
import com.sap.sailing.gwt.ui.shared.general.EventMetadataDTO;
public interface SeriesView {
Widget asWidget();
void setQuickFinderValues(String seriesName, Collection<EventMetadataDTO> eventsOfSeries);
public interface Presenter extends OverallLeaderboardNavigationProvider {
public interface Presenter extends OverallLeaderboardNavigationProvider, QuickfinderNavigationHandler {
SeriesContext getCtx();
DispatchSystem getDispatch();
PlaceNavigation<?> getEventNavigation(String eventId);
@@ -1,5 +1,7 @@
package com.sap.sailing.gwt.home.mobile.places.series;
import java.util.Collection;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
@@ -8,6 +10,7 @@ import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Widget;
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshManager;
import com.sap.sailing.gwt.home.mobile.partials.minileaderboard.MinileaderboardBox;
import com.sap.sailing.gwt.home.mobile.partials.quickfinder.Quickfinder;
import com.sap.sailing.gwt.home.mobile.partials.recents.EventsOverviewRecentYearEvent;
import com.sap.sailing.gwt.home.mobile.partials.seriesheader.SeriesHeader;
import com.sap.sailing.gwt.ui.client.StringMessages;
@@ -24,6 +27,7 @@ public class SeriesViewImpl extends Composite implements SeriesView {
}
@UiField(provided = true) SeriesHeader eventHeaderUi;
@UiField(provided = true) Quickfinder quickFinderUi;
@UiField MinileaderboardBox leaderboardUi;
@UiField FlowPanel eventsUi;
// @UiField(provided = true) StatisticsBox statisticsBoxUi;
@@ -36,6 +40,7 @@ public class SeriesViewImpl extends Composite implements SeriesView {
this.refreshManager = new RefreshManager(this, currentPresenter.getDispatch());
EventSeriesViewDTO series = currentPresenter.getCtx().getSeriesDTO();
eventHeaderUi = new SeriesHeader(series);
quickFinderUi = new Quickfinder(currentPresenter);
// this.setupStatisticsBox(event);
initWidget(uiBinder.createAndBindUi(this));
this.setupListContent(series);
@@ -54,6 +59,19 @@ public class SeriesViewImpl extends Composite implements SeriesView {
first = false;
}
}
@Override
public void setQuickFinderValues(String seriesName, Collection<EventMetadataDTO> eventsOfSeries) {
if (eventsOfSeries == null) {
quickFinderUi.removeFromParent();
return;
}
quickFinderUi.addPlaceholderItem(MSG.resultsQuickfinder(), null);
quickFinderUi.addItemToGroup(seriesName, MSG.overallLeaderboardSelection(), "");
for (EventMetadataDTO eventOfSeries : eventsOfSeries) {
quickFinderUi.addItemToGroup(seriesName, eventOfSeries.getLocationOrDisplayName(), eventOfSeries.getId().toString());
}
}
private void setupListContent(EventSeriesViewDTO event) {
leaderboardUi.setAction(MSG.showAll(), currentPresenter.getMiniOverallLeaderboardNavigation());
@@ -18,6 +18,7 @@
<g:HTMLPanel>
<div class="{style.headerWrapper}">
<mp:seriesheader.SeriesHeader ui:field="eventHeaderUi" />
<mp:quickfinder.Quickfinder ui:field="quickFinderUi" />
</div>
<g:FlowPanel ui:field="eventsUi" />
<mp:minileaderboard.MinileaderboardBox ui:field="leaderboardUi"/>