fixed search result navigation

This commit is contained in:
fmittag committed 2014-10-24 15:16:49 +02:00
1 parent 4454aabea1
commit 182afb0fdc
4 files changed
+24 -24

No files matched your search

@@ -26,9 +26,4 @@ public interface PlaceNavigator {
PlaceNavigation<EventPlace> getRegattaNavigation(String eventUuidAsString, String leaderboardIdAsNameString, String baseUrl, boolean isOnRemoteServer);
PlaceNavigation<LeaderboardPlace> getLeaderboardNavigation(String eventUuidAsString, String leaderboardIdAsNameString, String baseUrl, boolean isOnRemoteServer);
PlaceNavigation<SearchResultPlace> getSearchResultNavigation(String searchQuery);
// void goToEvent(String eventUuidAsString, String baseUrl, boolean isOnRemoteServer);
// void goToRegattaOfEvent(String eventUuidAsString, String leaderboardIdAsNameString, String baseUrl, boolean isOnRemoteServer);
// void goToLeaderboard(String eventUuidAsString, String leaderboardIdAsNameString, String baseUrl, boolean isOnRemoteServer);
// void goToSearchResult(String searchQuery);
}
@@ -32,17 +32,21 @@ public class CompactEventHeader extends Composite {
private final EventDTO event;
private final PlaceNavigator placeNavigator;
private final String leaderboardName;
private final PlaceNavigation<EventPlace> regattaNavigation;
public CompactEventHeader(EventDTO event, String leaderboardName, PlaceNavigator placeNavigator) {
this.event = event;
this.leaderboardName = leaderboardName;
this.placeNavigator = placeNavigator;
EventHeaderResources.INSTANCE.css().ensureInjected();
StyleInjector.injectAtEnd("@media (min-width: 50em) { "+EventHeaderResources.INSTANCE.largeCss().getText()+"}");
initWidget(uiBinder.createAndBindUi(this));
regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(), leaderboardName, event.getBaseURL(), event.isOnRemoteServer());
regattaLink.setHref(regattaNavigation.getTargetUrl());
regattaLink2.setHref(regattaNavigation.getTargetUrl());
updateUI();
}
@@ -80,17 +84,14 @@ public class CompactEventHeader extends Composite {
@UiHandler("regattaLink")
void gotoRegattaClicked(ClickEvent event) {
showRegattaOfEvent();
placeNavigator.goToPlace(regattaNavigation);
event.preventDefault();
}
@UiHandler("regattaLink2")
void gotoRegatta2Clicked(ClickEvent event) {
showRegattaOfEvent();
placeNavigator.goToPlace(regattaNavigation);
event.preventDefault();
}
private void showRegattaOfEvent() {
PlaceNavigation<EventPlace> regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(), leaderboardName, event.getBaseURL(), event.isOnRemoteServer());
placeNavigator.goToPlace(regattaNavigation);
}
}
@@ -29,22 +29,28 @@ public class SearchResultItem extends Composite {
@UiField Anchor eventOverviewLink;
private final PlaceNavigator placeNavigator;
private LeaderboardSearchResultDTO searchResult;
private final PlaceNavigation<EventPlace> regattaNavigation;
private final PlaceNavigation<EventPlace> eventNavigation;
public SearchResultItem(PlaceNavigator navigator, LeaderboardSearchResultDTO searchResult) {
this.placeNavigator = navigator;
this.searchResult = searchResult;
SearchResultResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
EventBaseDTO event = searchResult.getEvent();
regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(), searchResult.getLeaderboardName(), searchResult.getBaseURL(), searchResult.isOnRemoteServer());
eventNavigation = placeNavigator.getEventNavigation(event.id.toString(), searchResult.getBaseURL(), searchResult.isOnRemoteServer());
String headlineLink = searchResult.getLeaderboardDisplayName();
if(headlineLink == null) {
headlineLink = searchResult.getRegattaName() != null ? searchResult.getRegattaName() : searchResult.getLeaderboardName();
}
regattaLink.setHref(regattaNavigation.getTargetUrl());
regattaLink.setText(headlineLink);
// resultRegattaDetails.setInnerText("I have no idea yet what to show here...");
eventOverviewLink.setHref(eventNavigation.getTargetUrl());
eventOverviewLink.setText(searchResult.getEvent().getName());
resultEventVenue.setInnerText(searchResult.getEvent().venue.getName());
if(searchResult.getEvent().startDate != null) {
@@ -56,15 +62,13 @@ public class SearchResultItem extends Composite {
@UiHandler("regattaLink")
public void goToRegatta(ClickEvent e) {
EventBaseDTO event = searchResult.getEvent();
PlaceNavigation<EventPlace> regattaNavigation = placeNavigator.getRegattaNavigation(event.id.toString(),
searchResult.getLeaderboardName(), searchResult.getBaseURL(), searchResult.isOnRemoteServer());
placeNavigator.goToPlace(regattaNavigation);
e.preventDefault();
}
@UiHandler("eventOverviewLink")
public void goToEventPlace(ClickEvent e) {
EventBaseDTO event = searchResult.getEvent();
placeNavigator.getEventNavigation(event.id.toString(), searchResult.getBaseURL(), searchResult.isOnRemoteServer());
placeNavigator.goToPlace(eventNavigation);
e.preventDefault();
}
}
@@ -7,12 +7,12 @@
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.shared.searchresult.SearchResultResources" />
<g:HTMLPanel>
<div class="{local_res.css.searchresult_content_item}">
<g:Anchor ui:field="regattaLink" styleName="{local_res.css.searchresult_content_item_headline}" href="javascript:;" />
<g:Anchor ui:field="regattaLink" styleName="{local_res.css.searchresult_content_item_headline}" />
<div class="{local_res.css.searchresult_content_item_description}"><span ui:field="resultRegattaDetails" />
<!-- <a href="http://" class="{local_res.css.searchresult_content_item_description_morelink}">More</a>-->
</div>
<div class="{local_res.css.searchresult_content_item_footer}">
<g:Anchor ui:field="eventOverviewLink" styleName="{local_res.css.searchresult_content_item_footer_link}" href="javascript:;" />
<g:Anchor ui:field="eventOverviewLink" styleName="{local_res.css.searchresult_content_item_footer_link}" />
<span class="{local_res.css.searchresult_content_item_footer_separator}">|</span><span ui:field="resultEventVenue" />
<span class="{local_res.css.searchresult_content_item_footer_separator}">|</span><span ui:field="resultEventDate" />
</div>