Event/Series analytics and leaderboard tabs can now be hidden

This commit is contained in:
Steffen Schaefer committed 2015-03-16 14:11:09 +01:00
1 parent 3cf3e0b434
commit 2e7c2593ca
8 files changed
+42 -18

No files matched your search

@@ -39,7 +39,7 @@ public class RegattaCompetitorAnalyticsTabView extends Composite implements
@Override
public TabView.State getState() {
return TabView.State.VISIBLE;
return currentPresenter.getCtx().getEventDTO().isHasAnalytics() ? TabView.State.VISIBLE : TabView.State.INVISIBLE;
}
@Override
@@ -54,7 +54,7 @@ public class RegattaLeaderboardTabView extends Composite implements RegattaTabVi
@Override
public TabView.State getState() {
return TabView.State.VISIBLE;
return currentPresenter.getCtx().getEventDTO().isHasAnalytics() ? TabView.State.VISIBLE : TabView.State.INVISIBLE;
}
@Override
@@ -37,7 +37,7 @@ public class EventSeriesCompetitorAnalyticsTabView extends Composite implements
@Override
public TabView.State getState() {
return TabView.State.VISIBLE;
return currentPresenter.getCtx().getSeriesDTO().isHasAnalytics() ? TabView.State.VISIBLE : TabView.State.INVISIBLE;
}
@Override
@@ -53,7 +53,7 @@ public class EventSeriesLeaderboardTabView extends Composite implements SeriesTa
@Override
public TabView.State getState() {
return TabView.State.VISIBLE;
return currentPresenter.getCtx().getSeriesDTO().isHasAnalytics() ? TabView.State.VISIBLE : TabView.State.INVISIBLE;
}
@Override
@@ -50,7 +50,7 @@ public class EventSeriesRegattaLeaderboardTabView extends Composite implements S
@Override
public TabView.State getState() {
return TabView.State.VISIBLE;
return currentPresenter.getCtx().getSeriesDTO().isHasAnalytics() ? TabView.State.VISIBLE : TabView.State.INVISIBLE;
}
@Override
@@ -5443,6 +5443,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
dto.setHasMedia(!o.getPhotoGalleryImageURLs().isEmpty() || !o.getVideoURLs().isEmpty());
dto.getLeaderboardGroups().addAll(o.getLeaderboardGroups());
dto.setState(calculateEventState(o));
// TODO @Frank: is this correct
dto.setHasAnalytics(EventState.RUNNING.compareTo(dto.getState()) <= 0);
if (o.isFakeSeries()) {
dto.setType(EventType.SERIES_EVENT);
@@ -5561,6 +5565,9 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
// TODO implement correctly. We currently do not show media for series.
dto.setHasMedia(false);
boolean oneEventStarted = false;
boolean oneEventLive = false;
boolean allFinished = true;
if (o.getLeaderboardGroups().size() == 1 && o.getLeaderboardGroups().get(0).hasOverallLeaderboard()) {
LeaderboardGroupDTO overallLeaderboardGroupDTO = o.getLeaderboardGroups().get(0);
dto.setDisplayName(overallLeaderboardGroupDTO.getDisplayName() != null ? overallLeaderboardGroupDTO.getDisplayName() : overallLeaderboardGroupDTO.getName());
@@ -5584,9 +5591,6 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
return e1.getStartDate().compareTo(e2.getEndDate());
}
});
boolean oneEventStarted = false;
boolean oneEventLive = false;
boolean allFinished = true;
for(Event eventInSeries: fakeSeriesEvents) {
EventMetadataDTO eventOfSeries = convertToMetadataDTO(eventInSeries);
dto.addEvent(eventOfSeries);
@@ -5595,16 +5599,19 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
oneEventLive |= (eventOfSeries.isStarted() && !eventOfSeries.isFinished());
allFinished &= eventOfSeries.isFinished();
}
if(oneEventLive) {
dto.setState(EventSeriesState.RUNNING);
} else if(!oneEventStarted) {
dto.setState(EventSeriesState.UPCOMING);
} else if(allFinished) {
dto.setState(EventSeriesState.FINISHED);
} else {
dto.setState(EventSeriesState.IN_PROGRESS);
}
}
if(oneEventLive) {
dto.setState(EventSeriesState.RUNNING);
} else if(!oneEventStarted) {
dto.setState(EventSeriesState.UPCOMING);
} else if(allFinished) {
dto.setState(EventSeriesState.FINISHED);
} else {
dto.setState(EventSeriesState.IN_PROGRESS);
}
// TODO @Frank: is this correct
dto.setHasAnalytics(oneEventStarted);
return dto;
}
@@ -42,6 +42,7 @@ public class EventViewDTO extends EventDTO {
private EventType type;
private EventState state;
private boolean hasMedia;
private boolean hasAnalytics;
public EventViewDTO() {
this(new ArrayList<LeaderboardGroupDTO>());
@@ -139,4 +140,12 @@ public class EventViewDTO extends EventDTO {
public void setHasMedia(boolean hasMedia) {
this.hasMedia = hasMedia;
}
public boolean isHasAnalytics() {
return hasAnalytics;
}
public void setHasAnalytics(boolean hasAnalytics) {
this.hasAnalytics = hasAnalytics;
}
}
@@ -16,6 +16,7 @@ public class EventSeriesViewDTO implements IsSerializable {
private boolean onRemoteServer;
private String logoImageURL;
private boolean hasMedia;
private boolean hasAnalytics;
private String leaderboardId;
@@ -33,7 +34,6 @@ public class EventSeriesViewDTO implements IsSerializable {
}
}
// TODO: frank, please implement
public EventSeriesState state;
public EventSeriesViewDTO() {
@@ -110,4 +110,12 @@ public class EventSeriesViewDTO implements IsSerializable {
public void setState(EventSeriesState state) {
this.state = state;
}
public boolean isHasAnalytics() {
return hasAnalytics;
}
public void setHasAnalytics(boolean hasAnalytics) {
this.hasAnalytics = hasAnalytics;
}
}