mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 22:37:15 +00:00
Refactored LatestNewsView to use mobile event view abstraction
This commit is contained in:
1 parent
b8453e4dd7
commit
5287a8c73b
4 files changed
+32
-72
No files matched your search
+19
-8
@@ -11,10 +11,12 @@ import com.google.gwt.user.client.ui.AcceptsOneWidget;
|
||||
import com.sap.sailing.gwt.home.client.place.error.ErrorPlace;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventContext;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventDefaultPlace;
|
||||
import com.sap.sailing.gwt.home.client.place.fakeseries.SeriesContext;
|
||||
import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.updatesBox.NewsItemLinkProvider;
|
||||
import com.sap.sailing.gwt.home.mobile.places.latestnews.LatestNewsView.Presenter;
|
||||
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;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventViewAction;
|
||||
@@ -60,17 +62,10 @@ public class LatestNewsActivity extends AbstractActivity implements Presenter, N
|
||||
final LatestNewsView view = new LatestNewsViewImpl(this);
|
||||
panel.setWidget(view.asWidget());
|
||||
Window.setTitle(place.getTitle());
|
||||
view.hideQuickfinder();
|
||||
view.showNews(place.getNews());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void gotoEvents() {
|
||||
clientFactory //
|
||||
.getNavigator() //
|
||||
.getEventsNavigation()//
|
||||
.goToPlace();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getNewsEntryPlaceNavigation(NewsEntryDTO entry) {
|
||||
if (entry instanceof LeaderboardNewsEntryDTO) {
|
||||
@@ -104,4 +99,20 @@ public class LatestNewsActivity extends AbstractActivity implements Presenter, N
|
||||
public DispatchSystem getDispatch() {
|
||||
return clientFactory.getDispatch();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getRegattaMiniLeaderboardNavigation(String leaderboardName) {
|
||||
EventContext ctx = new EventContext(getCtx()).withRegattaId(leaderboardName).withRegattaAnalyticsManager(null);
|
||||
return clientFactory.getNavigator().getEventNavigation(new MiniLeaderboardPlace(ctx), null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getMiniOverallLeaderboardNavigation() {
|
||||
return clientFactory.getNavigator().getSeriesNavigation(new SeriesMiniOverallLeaderboardPlace(new SeriesContext().withId(getCtx().getEventId())), null, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlaceNavigation<?> getMiniLeaderboardNavigation(UUID eventId) {
|
||||
return clientFactory.getNavigator().getEventNavigation(new MiniLeaderboardPlace(eventId.toString(), null), null, false);
|
||||
}
|
||||
}
|
||||
+3
-14
@@ -2,26 +2,15 @@ package com.sap.sailing.gwt.home.mobile.places.latestnews;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventContext;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.updatesBox.NewsItemLinkProvider;
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.shared.dispatch.DispatchSystem;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventViewBase;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.news.NewsEntryDTO;
|
||||
|
||||
public interface LatestNewsView {
|
||||
public interface LatestNewsView extends EventViewBase {
|
||||
|
||||
public interface Presenter extends NewsItemLinkProvider {
|
||||
PlaceNavigation<?> getEventNavigation();
|
||||
public interface Presenter extends EventViewBase.Presenter, NewsItemLinkProvider {
|
||||
|
||||
void gotoEvents();
|
||||
|
||||
DispatchSystem getDispatch();
|
||||
|
||||
EventContext getCtx();
|
||||
}
|
||||
|
||||
Widget asWidget();
|
||||
|
||||
void showNews(List<NewsEntryDTO> news);
|
||||
}
|
||||
+10
-29
@@ -1,45 +1,26 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.latestnews;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
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.eventheader.EventHeader;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.updatesBox.UpdatesBox;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.AbstractEventView;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.GetEventOverviewNewsAction;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.news.NewsEntryDTO;
|
||||
|
||||
public class LatestNewsViewImpl extends Composite implements LatestNewsView {
|
||||
private static StartPageViewUiBinder uiBinder = GWT.create(StartPageViewUiBinder.class);
|
||||
public class LatestNewsViewImpl extends AbstractEventView<LatestNewsView.Presenter> implements LatestNewsView {
|
||||
|
||||
interface StartPageViewUiBinder extends UiBinder<Widget, LatestNewsViewImpl> {
|
||||
}
|
||||
|
||||
private Presenter currentPresenter;
|
||||
|
||||
@UiField(provided = true)
|
||||
protected UpdatesBox updatesBoxUi;
|
||||
@UiField(provided = true)
|
||||
protected EventHeader eventHeaderUi;
|
||||
|
||||
public LatestNewsViewImpl(Presenter presenter) {
|
||||
this.currentPresenter = presenter;
|
||||
RefreshManager refreshManager = new RefreshManager(this, currentPresenter.getDispatch());
|
||||
eventHeaderUi = new EventHeader(presenter.getCtx().getEventDTO(), presenter.getEventNavigation());
|
||||
updatesBoxUi = new UpdatesBox(presenter, refreshManager);
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
UUID uuid = UUID.fromString(presenter.getCtx().getEventId());
|
||||
refreshManager.add(updatesBoxUi, new GetEventOverviewNewsAction(uuid));
|
||||
private final UpdatesBox updatesBox;
|
||||
|
||||
public LatestNewsViewImpl(LatestNewsView.Presenter presenter) {
|
||||
super(presenter, false, true);
|
||||
setViewContent(updatesBox = new UpdatesBox(presenter, refreshManager));
|
||||
updatesBox.setDontHide(true);
|
||||
updatesBox.setDontDrillDown(true);
|
||||
refreshManager.add(updatesBox, new GetEventOverviewNewsAction(getEventId()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showNews(List<NewsEntryDTO> news) {
|
||||
updatesBoxUi.setData(news);
|
||||
updatesBox.setData(news);
|
||||
}
|
||||
}
|
||||
-21
@@ -1,21 +0,0 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder
|
||||
xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared"
|
||||
xmlns:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
>
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
|
||||
<ui:style>
|
||||
.headerWrapper {
|
||||
background-color: #f2f2f2;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel>
|
||||
<div class="{style.headerWrapper}">
|
||||
<mp:eventheader.EventHeader ui:field="eventHeaderUi" />
|
||||
</div>
|
||||
<mp:updatesBox.UpdatesBox dontHide="true" dontDrillDown="true" ui:field="updatesBoxUi"/>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
Reference in new issue
Block a user