mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-15 08:41:01 +00:00
Implementation of recent events redesign
This commit is contained in:
1 parent
cb53f55ffd
commit
64e3eba991
20 files changed
+150
-173
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 865 B |
+4
-65
@@ -1,77 +1,16 @@
|
||||
package com.sap.sailing.gwt.home.client.place.events;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.sap.sailing.gwt.common.client.DateUtil;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListViewDTO;
|
||||
|
||||
public abstract class AbstractEventsView extends Composite implements EventsView {
|
||||
private final Map<Integer, List<EventBaseDTO>> recentEventsByYearOrderedByEndDate;
|
||||
private final List<EventBaseDTO> upcomingEvents;
|
||||
|
||||
public AbstractEventsView() {
|
||||
recentEventsByYearOrderedByEndDate = new HashMap<Integer, List<EventBaseDTO>>();
|
||||
upcomingEvents = new ArrayList<EventBaseDTO>();
|
||||
}
|
||||
protected EventListViewDTO eventListView;
|
||||
|
||||
@Override
|
||||
public void setEvents(List<EventBaseDTO> events) {
|
||||
for (EventBaseDTO event : events) {
|
||||
if (event.startDate != null && event.endDate != null) {
|
||||
if (DateUtil.isDayInPast(event.startDate) || event.isRunning()) {
|
||||
// recent event or live event
|
||||
int year = DateUtil.getYear(event.startDate);
|
||||
List<EventBaseDTO> eventsOfYear = recentEventsByYearOrderedByEndDate.get(year);
|
||||
if (eventsOfYear == null) {
|
||||
eventsOfYear = new ArrayList<EventBaseDTO>();
|
||||
recentEventsByYearOrderedByEndDate.put(year, eventsOfYear);
|
||||
}
|
||||
eventsOfYear.add(event);
|
||||
} else {
|
||||
// upcoming event
|
||||
upcomingEvents.add(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (List<EventBaseDTO> eventsPerYear : recentEventsByYearOrderedByEndDate.values()) {
|
||||
Collections.sort(eventsPerYear, EVENTS_BY_DESCENDING_DATE_COMPARATOR);
|
||||
}
|
||||
Collections.sort(upcomingEvents, EVENTS_BY_ASCENDING_DATE_COMPARATOR);
|
||||
public void setEvents(EventListViewDTO eventListView) {
|
||||
this.eventListView = eventListView;
|
||||
updateEventsUI();
|
||||
}
|
||||
|
||||
protected abstract void updateEventsUI();
|
||||
|
||||
/**
|
||||
* Returns a map whose keys denote years and whose values are event lists ordered by descending
|
||||
* {@link EventBaseDTO#endDate end date}. Note that the iteration order for the map entries is undefined
|
||||
* and in particular is not enumerating the years in any well-defined order.
|
||||
*/
|
||||
public Map<Integer, List<EventBaseDTO>> getRecentEventsByYearOrderedByEndDate() {
|
||||
return recentEventsByYearOrderedByEndDate;
|
||||
}
|
||||
|
||||
public List<EventBaseDTO> getUpcomingEvents() {
|
||||
return upcomingEvents;
|
||||
}
|
||||
|
||||
public static Comparator<EventBaseDTO> EVENTS_BY_ASCENDING_DATE_COMPARATOR = new Comparator<EventBaseDTO>() {
|
||||
@Override
|
||||
public int compare(EventBaseDTO e1, EventBaseDTO e2) {
|
||||
return e1.endDate.compareTo(e2.endDate);
|
||||
}
|
||||
};
|
||||
|
||||
public static Comparator<EventBaseDTO> EVENTS_BY_DESCENDING_DATE_COMPARATOR = new Comparator<EventBaseDTO>() {
|
||||
@Override
|
||||
public int compare(EventBaseDTO e1, EventBaseDTO e2) {
|
||||
return e2.endDate.compareTo(e1.endDate);
|
||||
}
|
||||
};
|
||||
}
|
||||
+10
-10
@@ -1,14 +1,13 @@
|
||||
package com.sap.sailing.gwt.home.client.place.events;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.activity.shared.AbstractActivity;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.event.shared.EventBus;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||
import com.google.gwt.user.client.ui.AcceptsOneWidget;
|
||||
import com.sap.sailing.gwt.home.client.shared.placeholder.Placeholder;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListViewDTO;
|
||||
import com.sap.sse.gwt.client.mvp.ErrorView;
|
||||
|
||||
public class EventsActivity extends AbstractActivity {
|
||||
@@ -24,20 +23,21 @@ public class EventsActivity extends AbstractActivity {
|
||||
@Override
|
||||
public void start(final AcceptsOneWidget panel, EventBus eventBus) {
|
||||
panel.setWidget(new Placeholder());
|
||||
|
||||
clientFactory.getSailingService().getPublicEventsOfAllSailingServers(new AsyncCallback<List<EventBaseDTO>>() {
|
||||
|
||||
clientFactory.getSailingService().getEventListView(new AsyncCallback<EventListViewDTO>() {
|
||||
@Override
|
||||
public void onSuccess(List<EventBaseDTO> events) {
|
||||
public void onSuccess(EventListViewDTO eventListView) {
|
||||
final EventsView eventsView = clientFactory.createEventsView();
|
||||
panel.setWidget(eventsView.asWidget());
|
||||
Window.setTitle(place.getTitle());
|
||||
|
||||
eventsView.setEvents(events);
|
||||
|
||||
eventsView.setEvents(eventListView);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onFailure(Throwable caught) {
|
||||
final ErrorView view = clientFactory.createErrorView("Error while loading the sailing server instances with service getPublicEventsOfAllSailingServers()", caught);
|
||||
GWT.debugger();
|
||||
final ErrorView view = clientFactory.createErrorView("Error while loading the sailing server instances with service getEventListView()", caught);
|
||||
panel.setWidget(view.asWidget());
|
||||
}
|
||||
});
|
||||
|
||||
+4
-8
@@ -1,12 +1,8 @@
|
||||
package com.sap.sailing.gwt.home.client.place.events;
|
||||
|
||||
import java.util.List;
|
||||
import com.google.gwt.user.client.ui.IsWidget;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListViewDTO;
|
||||
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
|
||||
public interface EventsView {
|
||||
Widget asWidget();
|
||||
|
||||
void setEvents(List<EventBaseDTO> events);
|
||||
public interface EventsView extends IsWidget {
|
||||
void setEvents(EventListViewDTO eventListView);
|
||||
}
|
||||
+2
-2
@@ -55,7 +55,7 @@ public class TabletAndDesktopEventsView extends AbstractEventsView {
|
||||
|
||||
@Override
|
||||
protected void updateEventsUI() {
|
||||
recentEventsWidget.updateEvents(getRecentEventsByYearOrderedByEndDate());
|
||||
upcomingEventsWidget.updateEvents(getUpcomingEvents());
|
||||
recentEventsWidget.updateEvents(eventListView.getRecentEvents());
|
||||
upcomingEventsWidget.updateEvents(eventListView.getUpcommingEvents());
|
||||
}
|
||||
}
|
||||
+2
@@ -61,6 +61,8 @@
|
||||
padding: 0.466666666666667em 1.133333333333333em;
|
||||
}
|
||||
.eventsoverviewrecent_year_header_info_arrow_image {
|
||||
width: 1.333333333333333em;
|
||||
vertical-align: middle;
|
||||
-webkit-transform: rotate(180deg);
|
||||
-moz-transform: rotate(180deg);
|
||||
-ms-transform: rotate(180deg);
|
||||
|
||||
+10
-36
@@ -1,22 +1,15 @@
|
||||
package com.sap.sailing.gwt.home.client.place.events.recent;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
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.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.app.HomePlacesNavigator;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListYearDTO;
|
||||
|
||||
public class EventsOverviewRecent extends Composite {
|
||||
|
||||
@@ -27,31 +20,24 @@ public class EventsOverviewRecent extends Composite {
|
||||
|
||||
private final HomePlacesNavigator navigator;
|
||||
|
||||
@UiField HTMLPanel recentEventsPerYearPanel;
|
||||
|
||||
private final Map<Integer, EventsOverviewRecentYear> recentEventsComposites;
|
||||
@UiField FlowPanel year;
|
||||
|
||||
public EventsOverviewRecent(HomePlacesNavigator navigator) {
|
||||
this.navigator = navigator;
|
||||
recentEventsComposites = new HashMap<Integer, EventsOverviewRecentYear>();
|
||||
|
||||
EventsOverviewRecentResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
public void updateEvents(Map<Integer, List<EventBaseDTO>> recentEventsByYearOrderedByEndDate) {
|
||||
public void updateEvents(List<EventListYearDTO> years) {
|
||||
// remove old widgets
|
||||
recentEventsPerYearPanel.clear();
|
||||
recentEventsComposites.clear();
|
||||
// recent events of this year
|
||||
LinkedHashMap<Integer, List<EventBaseDTO>> recentEventsOrderedDescendingByYearOrderedDescendingByEndDate =
|
||||
sortEventsDescendingByYear(recentEventsByYearOrderedByEndDate);
|
||||
year.clear();
|
||||
|
||||
boolean oneYearIsExpanded = false;
|
||||
for (Entry<Integer, List<EventBaseDTO>> e : recentEventsOrderedDescendingByYearOrderedDescendingByEndDate.entrySet()) {
|
||||
int currentYear = e.getKey();
|
||||
EventsOverviewRecentYear recentEventsOfOneYear = new EventsOverviewRecentYear(currentYear, e.getValue(), navigator);
|
||||
recentEventsPerYearPanel.add(recentEventsOfOneYear);
|
||||
recentEventsComposites.put(currentYear, recentEventsOfOneYear);
|
||||
for (EventListYearDTO yearDTO : years) {
|
||||
EventsOverviewRecentYear recentEventsOfOneYear = new EventsOverviewRecentYear(yearDTO, navigator);
|
||||
year.add(recentEventsOfOneYear);
|
||||
|
||||
if (oneYearIsExpanded == true) {
|
||||
recentEventsOfOneYear.hideContent();
|
||||
} else {
|
||||
@@ -60,16 +46,4 @@ public class EventsOverviewRecent extends Composite {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private LinkedHashMap<Integer, List<EventBaseDTO>> sortEventsDescendingByYear(
|
||||
Map<Integer, List<EventBaseDTO>> recentEventsByYearOrderedByEndDate) {
|
||||
LinkedHashMap<Integer, List<EventBaseDTO>> result = new LinkedHashMap<>();
|
||||
List<Integer> yearKeysInDescendingOrder = new ArrayList<>(recentEventsByYearOrderedByEndDate.keySet());
|
||||
Collections.sort(yearKeysInDescendingOrder);
|
||||
for (ListIterator<Integer> i=yearKeysInDescendingOrder.listIterator(yearKeysInDescendingOrder.size()); i.hasPrevious(); ) {
|
||||
Integer year = i.previous();
|
||||
result.put(year, recentEventsByYearOrderedByEndDate.get(year));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
+4
-10
@@ -3,14 +3,8 @@
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared">
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.common.client.i18n.TextMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.events.recent.EventsOverviewRecentResources" />
|
||||
<g:HTMLPanel addStyleNames="{local_res.css.eventsoverviewrecent}" >
|
||||
<div class="{res.mediaCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<h3><ui:text from="{i18n.eventsOverviewRecentEvents}" /></h3>
|
||||
</div>
|
||||
</div>
|
||||
<g:HTMLPanel ui:field="recentEventsPerYearPanel" addStyleNames="{local_res.css.accordion}" />
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
<g:FlowPanel ui:field='year' addStyleNames="{local_res.css.eventsoverviewrecent} {local_res.css.accordion}">
|
||||
</g:FlowPanel>
|
||||
</ui:UiBinder>
|
||||
+33
-9
@@ -4,6 +4,7 @@ import java.util.List;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Element;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
@@ -15,8 +16,10 @@ import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.app.HomePlacesNavigator;
|
||||
import com.sap.sailing.gwt.home.client.shared.recentevent.RecentEvent;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
import com.sap.sailing.gwt.home.client.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.client.place.event2.EventDefaultPlace;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListEventDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListYearDTO;
|
||||
|
||||
public class EventsOverviewRecentYear extends Composite {
|
||||
|
||||
@@ -27,25 +30,46 @@ public class EventsOverviewRecentYear extends Composite {
|
||||
|
||||
@UiField SpanElement year;
|
||||
@UiField SpanElement eventsCount;
|
||||
// @UiField SpanElement countriesCount;
|
||||
// @UiField SpanElement sailorsCount;
|
||||
// @UiField SpanElement trackedRacesCount;
|
||||
@UiField SpanElement countriesCount;
|
||||
@UiField SpanElement sailorsCount;
|
||||
@UiField SpanElement trackedRacesCount;
|
||||
@UiField Element countriesContainer;
|
||||
@UiField Element sailorsContainer;
|
||||
@UiField Element trackedRacesContainer;
|
||||
@UiField FlowPanel recentEventsTeaserPanel;
|
||||
@UiField DivElement contentDiv;
|
||||
@UiField HTMLPanel headerDiv;
|
||||
|
||||
private boolean isContentVisible;
|
||||
|
||||
public EventsOverviewRecentYear(Integer year, List<EventBaseDTO> events, HomePlacesNavigator navigator) {
|
||||
public EventsOverviewRecentYear(EventListYearDTO yearDTO, HomePlacesNavigator navigator) {
|
||||
List<EventListEventDTO> events = yearDTO.getEvents();
|
||||
|
||||
EventsOverviewRecentResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
this.year.setInnerText(String.valueOf(year));
|
||||
this.year.setInnerText(String.valueOf(yearDTO.getYear()));
|
||||
this.eventsCount.setInnerText(String.valueOf(events.size()));
|
||||
if(yearDTO.getSailorCount() > 0) {
|
||||
sailorsCount.setInnerText("" + yearDTO.getSailorCount());
|
||||
} else {
|
||||
sailorsContainer.removeFromParent();
|
||||
}
|
||||
if(yearDTO.getCountryCount() > 0) {
|
||||
countriesCount.setInnerText("" + yearDTO.getCountryCount());
|
||||
} else {
|
||||
countriesContainer.removeFromParent();
|
||||
}
|
||||
if(yearDTO.getTrackedRacesCount() > 0) {
|
||||
trackedRacesCount.setInnerText("" + yearDTO.getTrackedRacesCount());
|
||||
} else {
|
||||
trackedRacesContainer.removeFromParent();
|
||||
}
|
||||
// this.countriesCount.setInnerText("tbd.");
|
||||
// this.sailorsCount.setInnerText("tbd.");
|
||||
// this.trackedRacesCount.setInnerText("tbd.");
|
||||
for (EventBaseDTO eventDTO : events) {
|
||||
RecentEvent recentEvent = new RecentEvent(navigator, eventDTO);
|
||||
for (EventListEventDTO eventDTO : events) {
|
||||
PlaceNavigation<EventDefaultPlace> eventNavigation = navigator.getEventNavigation(eventDTO.getId().toString(), eventDTO.getBaseURL(), eventDTO.isOnRemoteServer());
|
||||
RecentEventTeaser recentEvent = new RecentEventTeaser(eventNavigation, eventDTO);
|
||||
recentEventsTeaserPanel.add(recentEvent);
|
||||
}
|
||||
isContentVisible = true;
|
||||
|
||||
+9
-9
@@ -24,33 +24,33 @@
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<!-- <td>
|
||||
<td ui:field="countriesContainer">
|
||||
<div class="{local_res.css.eventsoverviewrecent_year_header_info_item}">
|
||||
<span class="{local_res.css.eventsoverviewrecent_year_header_info_item_value}">
|
||||
<span ui:field="countriesCount" />
|
||||
<ui:text from='{i18n.countries}' />
|
||||
<!-- <ui:text from='{i18n.countries}' /> -->
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<td ui:field="sailorsContainer">
|
||||
<div class="{local_res.css.eventsoverviewrecent_year_header_info_item}">
|
||||
<span class="{local_res.css.eventsoverviewrecent_year_header_info_item_value}">
|
||||
<span ui:field="sailorsCount" />
|
||||
<ui:text from='{i18n.sailors}' />
|
||||
<!-- <ui:text from='{i18n.sailors}' /> -->
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<td ui:field="trackedRacesContainer">
|
||||
<div class="{local_res.css.eventsoverviewrecent_year_header_info_item}">
|
||||
<span class="{local_res.css.eventsoverviewrecent_year_header_info_item_value}">
|
||||
<span ui:field="trackedRacesCount" />
|
||||
<ui:text from='{i18n.trackedRaces}' />
|
||||
</span>
|
||||
</div>
|
||||
</td> -->
|
||||
</td>
|
||||
<td>
|
||||
<div class="{local_res.css.eventsoverviewrecent_year_header_info_arrow}">
|
||||
<img src="images/home/arrow-down-yellow.png" class="{local_res.css.eventsoverviewrecent_year_header_info_arrow_image}"></img>
|
||||
<img src="images/home/arrow-down-grey.png" class="{local_res.css.eventsoverviewrecent_year_header_info_arrow_image}"></img>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -60,9 +60,9 @@
|
||||
</g:HTMLPanel>
|
||||
<div ui:field="contentDiv" class="{local_res.css.eventsoverviewrecent_year_content} {local_res.css.accordion_content}">
|
||||
<g:FlowPanel ui:field="recentEventsTeaserPanel" styleName="{res.mediaCss.grid}">
|
||||
<!-- EACH event in year.events -->
|
||||
<!-- EACH event in year.events -->
|
||||
<!-- <s:eventsOverviewRecent.RecentEventTeaser ui:field='event'></s> -->
|
||||
<!-- EACHEND -->
|
||||
<!-- EACHEND -->
|
||||
</g:FlowPanel>
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.sap.sailing.gwt.home.client.place.events.recent;
|
||||
|
||||
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.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.client.shared.event.EventTeaser;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventMetadataDTO;
|
||||
|
||||
public class RecentEventTeaser extends Composite {
|
||||
|
||||
private static RecentEventTeaserUiBinder uiBinder = GWT.create(RecentEventTeaserUiBinder.class);
|
||||
|
||||
interface RecentEventTeaserUiBinder extends UiBinder<Widget, RecentEventTeaser> {
|
||||
}
|
||||
|
||||
@UiField(provided = true) EventTeaser eventTeaser;
|
||||
|
||||
public RecentEventTeaser(final PlaceNavigation<?> placeNavigation, final EventMetadataDTO event) {
|
||||
eventTeaser = new EventTeaser(placeNavigation, event);
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
|
||||
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
|
||||
xmlns:g="urn:import:com.google.gwt.user.client.ui"
|
||||
xmlns:s="urn:import:com.sap.sailing.gwt.home.client.shared.event">
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<s:EventTeaser ui:field='eventTeaser' addStyleNames="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large4} {res.mediaCss.columns}" />
|
||||
</ui:UiBinder>
|
||||
+5
-5
@@ -14,7 +14,7 @@ import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.HTMLPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.app.HomePlacesNavigator;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListEventDTO;
|
||||
|
||||
public class EventsOverviewUpcoming extends Composite {
|
||||
|
||||
@@ -47,16 +47,16 @@ public class EventsOverviewUpcoming extends Composite {
|
||||
}, ClickEvent.getType());
|
||||
}
|
||||
|
||||
public void updateEvents(List<EventBaseDTO> events) {
|
||||
setVisible(events.size() > 0);
|
||||
public void updateEvents(ArrayList<EventListEventDTO> arrayList) {
|
||||
setVisible(arrayList.size() > 0);
|
||||
eventsPlaceholder.clear();
|
||||
upcomingEventComposites.clear();
|
||||
for (EventBaseDTO event : events) {
|
||||
for (EventListEventDTO event : arrayList) {
|
||||
UpcomingEvent upcomingEvent = new UpcomingEvent(event, navigator);
|
||||
upcomingEventComposites.add(upcomingEvent);
|
||||
eventsPlaceholder.getElement().appendChild(upcomingEvent.getElement());
|
||||
}
|
||||
eventsCount.setInnerText(""+events.size());
|
||||
eventsCount.setInnerText(""+arrayList.size());
|
||||
}
|
||||
|
||||
private void onHeaderCicked() {
|
||||
|
||||
+6
-6
@@ -14,7 +14,7 @@ import com.sap.sailing.gwt.home.client.app.HomePlacesNavigator;
|
||||
import com.sap.sailing.gwt.home.client.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.client.place.event2.EventDefaultPlace;
|
||||
import com.sap.sailing.gwt.home.client.shared.EventDatesFormatterUtil;
|
||||
import com.sap.sailing.gwt.ui.shared.EventBaseDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.eventlist.EventListEventDTO;
|
||||
|
||||
public class UpcomingEvent extends Composite {
|
||||
|
||||
@@ -31,18 +31,18 @@ public class UpcomingEvent extends Composite {
|
||||
|
||||
private static UpcomingEventUiBinder uiBinder = GWT.create(UpcomingEventUiBinder.class);
|
||||
|
||||
public UpcomingEvent(final EventBaseDTO event, final HomePlacesNavigator navigator) {
|
||||
public UpcomingEvent(final EventListEventDTO event, final HomePlacesNavigator navigator) {
|
||||
this.navigator = navigator;
|
||||
|
||||
EventsOverviewUpcomingResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
eventNavigation = navigator.getEventNavigation(event.id.toString(), event.getBaseURL(), event.isOnRemoteServer());
|
||||
eventNavigation = navigator.getEventNavigation(event.getId().toString(), event.getBaseURL(), event.isOnRemoteServer());
|
||||
eventOverviewLink.setHref(eventNavigation.getTargetUrl());
|
||||
|
||||
eventName.setInnerText(event.getName());
|
||||
venueName.setInnerText(event.venue.getName());
|
||||
eventStartDate.setInnerText(EventDatesFormatterUtil.formatDateRangeWithoutYear(event.startDate, event.endDate));
|
||||
eventName.setInnerText(event.getDisplayName());
|
||||
venueName.setInnerText(event.getVenue());
|
||||
eventStartDate.setInnerText(EventDatesFormatterUtil.formatDateRangeWithoutYear(event.getStartDate(), event.getEndDate()));
|
||||
}
|
||||
|
||||
@UiHandler("eventOverviewLink")
|
||||
|
||||
+2
-2
@@ -10,9 +10,9 @@ import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
|
||||
import com.sap.sailing.gwt.home.client.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.home.client.place.event2.EventDefaultPlace;
|
||||
import com.sap.sailing.gwt.home.client.place.events.recent.RecentEventTeaser;
|
||||
import com.sap.sailing.gwt.home.client.place.fakeseries.SeriesTabView;
|
||||
import com.sap.sailing.gwt.home.client.place.fakeseries.SeriesView;
|
||||
import com.sap.sailing.gwt.home.client.shared.event.EventTeaser;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventMetadataDTO;
|
||||
|
||||
/**
|
||||
@@ -47,7 +47,7 @@ public class SeriesEventsTabView extends Composite implements SeriesTabView<Seri
|
||||
|
||||
for (EventMetadataDTO eventOfSeries : currentPresenter.getCtx().getSeriesDTO().getEvents()) {
|
||||
final PlaceNavigation<EventDefaultPlace> eventNavigation = currentPresenter.getEventNavigation(eventOfSeries.getId());
|
||||
EventTeaser eventTeaser = new EventTeaser(eventNavigation, eventOfSeries);
|
||||
RecentEventTeaser eventTeaser = new RecentEventTeaser(eventNavigation, eventOfSeries);
|
||||
eventsContainer.add(eventTeaser);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.common.client.i18n.TextMessages" />
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.shared.event.EventTeaserResources" />
|
||||
<g:HTMLPanel addStyleNames="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large4} {res.mediaCss.columns}">
|
||||
<g:HTMLPanel>
|
||||
<div class="{local_res.css.eventteasercontainer}">
|
||||
<a ui:field="eventLink" class="{local_res.css.eventteaser}">
|
||||
<div ui:field="eventImage" class="{local_res.css.eventteaser_image}"></div>
|
||||
|
||||
+1
@@ -55,6 +55,7 @@ public class MainEvents extends Composite {
|
||||
}
|
||||
|
||||
private void createRecentEvent(EventBaseDTO eventBase) {
|
||||
// TODO use RecentEventTeaser for new Design and delete
|
||||
RecentEvent event = new RecentEvent(navigator, eventBase);
|
||||
recentEventsDiv.appendChild(event.getElement());
|
||||
}
|
||||
|
||||
+13
-5
@@ -22,6 +22,7 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
@@ -264,7 +265,6 @@ import com.sap.sailing.domain.tractracadapter.TracTracAdapter;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracAdapterFactory;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracConfiguration;
|
||||
import com.sap.sailing.domain.tractracadapter.TracTracConnectionConstants;
|
||||
import com.sap.sailing.gwt.common.client.DateUtil;
|
||||
import com.sap.sailing.gwt.ui.client.SailingService;
|
||||
import com.sap.sailing.gwt.ui.shared.BulkScoreCorrectionDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.CompactRaceMapDataDTO;
|
||||
@@ -5644,7 +5644,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
for (Event event : getService().getAllEvents()) {
|
||||
if(event.isPublic()) {
|
||||
EventListEventDTO eventDTO = convertToEventListDTO(event, requestedBaseURL, false);
|
||||
result.addEvent(eventDTO, DateUtil.getYear(eventDTO.getStartDate()));
|
||||
result.addEvent(eventDTO, getYear(eventDTO.getStartDate()));
|
||||
}
|
||||
}
|
||||
for (Entry<RemoteSailingServerReference, com.sap.sse.common.Util.Pair<Iterable<EventBase>, Exception>> serverRefAndEventsOrException :
|
||||
@@ -5655,14 +5655,22 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
URL baseURL = getBaseURL(serverRef.getURL());
|
||||
if (remoteEvents != null) {
|
||||
for (EventBase remoteEvent : remoteEvents) {
|
||||
EventListEventDTO eventDTO = convertToEventListDTO(remoteEvent, baseURL, true);
|
||||
result.addEvent(eventDTO, DateUtil.getYear(eventDTO.getStartDate()));
|
||||
if(remoteEvent.isPublic()) {
|
||||
EventListEventDTO eventDTO = convertToEventListDTO(remoteEvent, baseURL, true);
|
||||
result.addEvent(eventDTO, getYear(eventDTO.getStartDate()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private int getYear(Date date) {
|
||||
Calendar cal = GregorianCalendar.getInstance();
|
||||
cal.setTime(date);
|
||||
return cal.get(Calendar.YEAR);
|
||||
}
|
||||
|
||||
private EventListEventDTO convertToEventListDTO(EventBase event, URL baseURL, boolean onRemoteServer) {
|
||||
EventListEventDTO dto = new EventListEventDTO();
|
||||
mapToMetadataDTO(event, dto);
|
||||
@@ -5685,6 +5693,6 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
dto.setState(calculateEventState(event.isPublic(), dto.getStartDate(), dto.getEndDate()));
|
||||
dto.setVenue(event.getVenue().getName());
|
||||
// TODO wrong! we need the teaser img here
|
||||
dto.setLogoImageURL(event.getLogoImageURL().toString());
|
||||
// dto.setLogoImageURL(event.getLogoImageURL().toString());
|
||||
}
|
||||
}
|
||||
+4
-2
@@ -16,8 +16,10 @@ public class EventListViewDTO implements IsSerializable {
|
||||
|
||||
private void addUpcommingEvent(EventListEventDTO event) {
|
||||
for(int i = 0; i < upcommingEvents.size(); i++) {
|
||||
if(upcommingEvents.get(i).getStartDate().compareTo(event.getStartDate()) > 0);
|
||||
upcommingEvents.add(i, event);
|
||||
if(upcommingEvents.get(i).getStartDate().compareTo(event.getStartDate()) > 0) {
|
||||
upcommingEvents.add(i, event);
|
||||
return;
|
||||
}
|
||||
}
|
||||
upcommingEvents.add(event);
|
||||
}
|
||||
|
||||
+6
-3
@@ -1,6 +1,7 @@
|
||||
package com.sap.sailing.gwt.ui.shared.eventlist;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.google.gwt.user.client.rpc.IsSerializable;
|
||||
|
||||
@@ -23,14 +24,16 @@ public class EventListYearDTO implements IsSerializable {
|
||||
return year;
|
||||
}
|
||||
|
||||
public ArrayList<EventListEventDTO> getEvents() {
|
||||
public List<EventListEventDTO> getEvents() {
|
||||
return events;
|
||||
}
|
||||
|
||||
protected void addEvent(EventListEventDTO event) {
|
||||
for(int i = 0; i < events.size(); i++) {
|
||||
if(events.get(i).getStartDate().compareTo(event.getStartDate()) < 0);
|
||||
events.add(i, event);
|
||||
if(events.get(i).getStartDate().compareTo(event.getStartDate()) < 0) {
|
||||
events.add(i, event);
|
||||
return;
|
||||
}
|
||||
}
|
||||
events.add(event);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user