mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-05 20:03:52 +00:00
Merge branch 'design2015-mobile' of ssh://sapsailing.com/home/trac/git into design2015-mobile
# By Steffen Schaefer (4) and Benjamin Barth (2) # Via Benjamin Barth * 'design2015-mobile' of ssh://sapsailing.com/home/trac/git: Event overview mobile - Improved expandable/collapsable regattas Event overview mobile - Added additional StringMessages Added missing space for german translation Adjusted linking of the event teaser image in the mobile event list Removed unused UiBinder file Fixed build.properties to include the new html pages for desktop and mobile
This commit is contained in:
commit
0ce2fedb13
13 files changed
+80
-55
No files matched your search
@@ -52,5 +52,7 @@ bin.includes = META-INF/,\
|
||||
AutoPlay.html,\
|
||||
Home.css,\
|
||||
Home.html,\
|
||||
HomeDesktop.html,\
|
||||
HomeMobile.html,\
|
||||
SettingsDialog.css
|
||||
output.. = WEB-INF/classes/
|
||||
+4
-4
@@ -3,12 +3,12 @@ package com.sap.sailing.gwt.home.mobile.partials.recents;
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.AnchorElement;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Element;
|
||||
import com.google.gwt.dom.client.ImageElement;
|
||||
import com.google.gwt.dom.client.SpanElement;
|
||||
import com.google.gwt.dom.client.Style.Display;
|
||||
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.shared.EventDatesFormatterUtil;
|
||||
import com.sap.sailing.gwt.home.client.shared.LabelTypeUtil;
|
||||
@@ -16,11 +16,11 @@ import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.ui.shared.general.EventMetadataDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.general.LabelType;
|
||||
|
||||
public class EventsOverviewRecentYearEvent extends Composite {
|
||||
public class EventsOverviewRecentYearEvent extends Widget {
|
||||
|
||||
private static RecentEventTeaserUiBinder uiBinder = GWT.create(RecentEventTeaserUiBinder.class);
|
||||
|
||||
interface RecentEventTeaserUiBinder extends UiBinder<Widget, EventsOverviewRecentYearEvent> {
|
||||
interface RecentEventTeaserUiBinder extends UiBinder<Element, EventsOverviewRecentYearEvent> {
|
||||
}
|
||||
|
||||
@UiField
|
||||
@@ -38,7 +38,7 @@ public class EventsOverviewRecentYearEvent extends Composite {
|
||||
|
||||
public EventsOverviewRecentYearEvent(final PlaceNavigation<?> placeNavigation, final EventMetadataDTO event,
|
||||
LabelType labelType, boolean isTeaserEvent) {
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
eventNameUi.setInnerText(event.getDisplayName());
|
||||
if (isTeaserEvent) {
|
||||
eventImageUi.getStyle().setDisplay(Display.BLOCK);
|
||||
|
||||
+14
-16
@@ -8,25 +8,23 @@
|
||||
<ui:with field="local_res"
|
||||
type="com.sap.sailing.gwt.home.mobile.partials.recents.EventsOverviewRecentResources" />
|
||||
|
||||
<g:HTMLPanel>
|
||||
<a ui:field="eventLinkUi">
|
||||
<img ui:field="eventImageUi" class="{local_res.css.eventsoverviewrecent_event_image}"></img>
|
||||
<div class="{local_res.css.eventsoverviewrecent_event}">
|
||||
<a ui:field="eventLinkUi">
|
||||
<div class="{local_res.css.eventteaser_title}">
|
||||
<div class="{local_res.css.eventteaser_title_name}">
|
||||
<span ui:field="eventNameUi" />
|
||||
<div ui:field="eventStateUi"
|
||||
class="{local_res.css.eventteaser_title_name_state} {res.mainCss.label}" />
|
||||
</div>
|
||||
<div class="{local_res.css.eventteaser_title_location}">
|
||||
<span ui:field="venueUi" />, <span ui:field="eventDateUi" />
|
||||
</div>
|
||||
<div class="{local_res.css.eventteaser_title}">
|
||||
<div class="{local_res.css.eventteaser_title_name}">
|
||||
<span ui:field="eventNameUi" />
|
||||
<div ui:field="eventStateUi"
|
||||
class="{local_res.css.eventteaser_title_name_state} {res.mainCss.label}" />
|
||||
</div>
|
||||
<div class="{local_res.css.eventsoverviewrecent_event_arrow}">
|
||||
<img src="images/home/arrow-down-grey.png" alt="{i18n.goToEventOverview}"
|
||||
class="{local_res.css.eventsoverviewrecent_event_arrow_image}"></img>
|
||||
<div class="{local_res.css.eventteaser_title_location}">
|
||||
<span ui:field="venueUi" />, <span ui:field="eventDateUi" />
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="{local_res.css.eventsoverviewrecent_event_arrow}">
|
||||
<img src="images/home/arrow-down-grey.png" alt="{i18n.goToEventOverview}"
|
||||
class="{local_res.css.eventsoverviewrecent_event_arrow_image}"></img>
|
||||
</div>
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</a>
|
||||
</ui:UiBinder>
|
||||
-9
@@ -1,9 +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: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" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.client.place.events.recent.EventsOverviewRecentResources" />
|
||||
<s:EventTeaser ui:field='eventTeaser' addStyleNames="{res.mediaCss.small12} {res.mediaCss.medium6} {res.mediaCss.large4} {res.mediaCss.columns} {local_res.css.eventsoverviewrecent_year_content_floattoinlineblock_child}" />
|
||||
</ui:UiBinder>
|
||||
+23
-18
@@ -6,13 +6,13 @@ import java.util.Set;
|
||||
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.Command;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
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.RefreshableWidget;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.section.MobileSection;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.toggleButton.ToggleButton;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.toggleButton.ToggleButton.ToggleButtonCommand;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventView.Presenter;
|
||||
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.LiveRaceDTO;
|
||||
@@ -21,6 +21,7 @@ import com.sap.sailing.gwt.ui.shared.eventview.RegattaMetadataDTO;
|
||||
|
||||
public class RegattaStatus extends Composite implements RefreshableWidget<RegattasAndLiveRacesDTO> {
|
||||
|
||||
private static final String TOGGLECONTAINERHIDDEN_STYLE = RegattaStatusResources.INSTANCE.css().togglecontainerhidden();
|
||||
private static RegattaStatusUiBinder uiBinder = GWT.create(RegattaStatusUiBinder.class);
|
||||
|
||||
interface RegattaStatusUiBinder extends UiBinder<Widget, RegattaStatus> {
|
||||
@@ -35,7 +36,12 @@ public class RegattaStatus extends Composite implements RefreshableWidget<Regatt
|
||||
public RegattaStatus(Presenter presenter) {
|
||||
this.presenter = presenter;
|
||||
RegattaStatusResources.INSTANCE.css().ensureInjected();
|
||||
toggleButtonUi = new ToggleButton(new ToggleButtonCommand());
|
||||
toggleButtonUi = new ToggleButton(new ToggleButtonCommand() {
|
||||
@Override
|
||||
protected void execute(boolean expanded) {
|
||||
collapsableContainerUi.setStyleName(TOGGLECONTAINERHIDDEN_STYLE, !expanded);
|
||||
}
|
||||
});
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
@@ -43,14 +49,22 @@ public class RegattaStatus extends Composite implements RefreshableWidget<Regatt
|
||||
public void setData(RegattasAndLiveRacesDTO data, long nextUpdate, int updateNo) {
|
||||
regattaContainerUi.clear();
|
||||
collapsableContainerUi.clear();
|
||||
for (Entry<RegattaMetadataDTO, Set<LiveRaceDTO>> pair : data.getRegattasWithRaces().entrySet()) {
|
||||
RegattaStatusRegatta regattaWidget = addRegatta(regattaContainerUi, pair.getKey());
|
||||
for (LiveRaceDTO race : pair.getValue()) {
|
||||
regattaWidget.addRace(race);
|
||||
if (data.hasRegattasWithRaces()) {
|
||||
for (Entry<RegattaMetadataDTO, Set<LiveRaceDTO>> pair : data.getRegattasWithRaces().entrySet()) {
|
||||
RegattaStatusRegatta regattaWidget = addRegatta(regattaContainerUi, pair.getKey());
|
||||
for (LiveRaceDTO race : pair.getValue()) {
|
||||
regattaWidget.addRace(race);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (RegattaMetadataDTO regatta : data.getRegattasWithoutRaces()) {
|
||||
addRegatta(collapsableContainerUi, regatta);
|
||||
for (RegattaMetadataDTO regatta : data.getRegattasWithoutRaces()) {
|
||||
addRegatta(collapsableContainerUi, regatta);
|
||||
}
|
||||
} else {
|
||||
for (RegattaMetadataDTO regatta : data.getRegattasWithoutRaces()) {
|
||||
addRegatta(regattaContainerUi, regatta);
|
||||
}
|
||||
collapsableContainerUi.removeFromParent();
|
||||
toggleButtonUi.removeFromParent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,13 +75,4 @@ public class RegattaStatus extends Composite implements RefreshableWidget<Regatt
|
||||
return regattaWidget;
|
||||
}
|
||||
|
||||
private class ToggleButtonCommand implements Command {
|
||||
private boolean collapsed = true;
|
||||
@Override
|
||||
public void execute() {
|
||||
this.collapsed = !collapsed;
|
||||
collapsableContainerUi.setStyleName(RegattaStatusResources.INSTANCE.css().togglecontainerhidden(), collapsed);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -18,6 +18,6 @@
|
||||
ui:field="collapsableContainerUi" />
|
||||
</mp:content>
|
||||
</mp:section.MobileSection>
|
||||
<mp:toggleButton.ToggleButton ui:field="toggleButtonUi" buttonText="Show all Regattas"/>
|
||||
<mp:toggleButton.ToggleButton ui:field="toggleButtonUi" label="{i18n.regattas}"/>
|
||||
</g:FlowPanel>
|
||||
</ui:UiBinder>
|
||||
+19
-4
@@ -8,35 +8,50 @@ import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.Command;
|
||||
import com.google.gwt.user.client.Event;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
|
||||
public class ToggleButton extends Widget {
|
||||
|
||||
private static final StringMessages I18N = StringMessages.INSTANCE;
|
||||
private static ToggleButtonUiBinder uiBinder = GWT.create(ToggleButtonUiBinder.class);
|
||||
|
||||
interface ToggleButtonUiBinder extends UiBinder<Element, ToggleButton> {
|
||||
}
|
||||
|
||||
@UiField DivElement toggleButtonUi;
|
||||
private final Command toggleCommand;
|
||||
private final ToggleButtonCommand toggleCommand;
|
||||
private String label;
|
||||
|
||||
public ToggleButton(Command toggleCommand) {
|
||||
public ToggleButton(ToggleButtonCommand toggleCommand) {
|
||||
this.toggleCommand = toggleCommand;
|
||||
ToggleButtonResources.INSTANCE.css().ensureInjected();
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
sinkEvents(Event.ONCLICK);
|
||||
}
|
||||
|
||||
public void setButtonText(String text) {
|
||||
toggleButtonUi.setInnerText(text);
|
||||
public void setLabel(String label) {
|
||||
toggleButtonUi.setInnerText(toggleCommand.expanded ? I18N.collapseX(label) : I18N.showAllX(label));
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBrowserEvent(Event event) {
|
||||
if (event.getTypeInt() == Event.ONCLICK) {
|
||||
toggleCommand.execute();
|
||||
toggleButtonUi.setInnerText(toggleCommand.expanded ? I18N.collapseX(label) : I18N.showAllX(label));
|
||||
return;
|
||||
}
|
||||
super.onBrowserEvent(event);
|
||||
}
|
||||
|
||||
public static abstract class ToggleButtonCommand implements Command {
|
||||
private boolean expanded = false;
|
||||
@Override
|
||||
public final void execute() {
|
||||
this.expanded = !expanded;
|
||||
this.execute(expanded);
|
||||
}
|
||||
protected abstract void execute(boolean expanded);
|
||||
}
|
||||
|
||||
}
|
||||
+2
@@ -1319,4 +1319,6 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
|
||||
String goBack();
|
||||
String resultsUpdate();
|
||||
String competitorWonRace(String competitorName);
|
||||
String showAllX(String text);
|
||||
String collapseX(String text);
|
||||
}
|
||||
+2
@@ -1287,3 +1287,5 @@ impressions=Impressions
|
||||
notAvailableOnMobileMessage=This content is not available on mobile.\nSwitch to the desktop version?
|
||||
gotoDesktop=Go to desktop version
|
||||
goBack=Go back
|
||||
showAllX=Show all {0}
|
||||
collapseX=Collapse {0}
|
||||
+3
-1
@@ -1274,6 +1274,8 @@ sailorInfoLongText=Offizielle Ergebnisse, Proteste,\nNotice Board, Segler-Wetter
|
||||
resultsQuickfinder=Ergebnis Schnellauswahl
|
||||
statistics=Statistiken
|
||||
impressions=Eindrücke
|
||||
notAvailableOnMobileMessage=Diese Ansicht ist noch nicht für die Mobile bzw.Smartphone Ansicht umgesetzt.\nWollen Sie die Desktop Ansicht besuchen?
|
||||
notAvailableOnMobileMessage=Diese Ansicht ist noch nicht für die Mobile bzw. Smartphone Ansicht umgesetzt.\nWollen Sie die Desktop Ansicht besuchen?
|
||||
gotoDesktop=Zur Desktopversion wechseln
|
||||
goBack=Zurück
|
||||
showAllX=Alle {0} anzeigen
|
||||
collapseX={0} einklappen
|
||||
+3
-1
@@ -1224,4 +1224,6 @@ statistics=Statistics
|
||||
impressions=Impressions
|
||||
notAvailableOnMobileMessage=This content is not available on mobile.\nSwitch to the desktop version?
|
||||
gotoDesktop=Go to desktop version
|
||||
goBack=Go back
|
||||
goBack=Go back
|
||||
showAllX=Show all {0}
|
||||
collapseX=Collapse {0}
|
||||
+3
-1
@@ -1276,4 +1276,6 @@ statistics=Statistics
|
||||
impressions=Impressions
|
||||
notAvailableOnMobileMessage=This content is not available on mobile.\nSwitch to the desktop version?
|
||||
gotoDesktop=Go to desktop version
|
||||
goBack=Go back
|
||||
goBack=Go back
|
||||
showAllX=Show all {0}
|
||||
collapseX=Collapse {0}
|
||||
+4
@@ -31,4 +31,8 @@ public class RegattasAndLiveRacesDTO implements DTO {
|
||||
public Set<RegattaMetadataDTO> getRegattasWithoutRaces() {
|
||||
return regattasWithoutRaces;
|
||||
}
|
||||
|
||||
public boolean hasRegattasWithRaces() {
|
||||
return !regattasWithRaces.isEmpty();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user