Refactoring - Moved desktop EventHeader partial to right package

This commit is contained in:
Benjamin Barth committed 2015-09-08 09:39:52 +02:00
1 parent 864685683e
commit d707d83e58
12 files changed
+144 -181

No files matched your search

@@ -20,29 +20,26 @@ import com.sap.sailing.gwt.common.client.controls.tabbar.TabPanel;
import com.sap.sailing.gwt.common.client.controls.tabbar.TabPanelPlaceSelectionEvent;
import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.place.event.partials.header.EventHeader;
import com.sap.sailing.gwt.home.desktop.partials.eventheader.EventHeader;
import com.sap.sailing.gwt.home.shared.app.ApplicationHistoryMapper;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.ui.client.StringMessages;
public class TabletAndDesktopEventView extends Composite implements EventMultiregattaView {
private static final ApplicationHistoryMapper historyMapper = GWT
.<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
private static MyBinder uiBinder = GWT.create(MyBinder.class);
private Presenter currentPresenter;
private static final ApplicationHistoryMapper historyMapper = GWT.<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
interface MyBinder extends UiBinder<Widget, TabletAndDesktopEventView> {
}
private static MyBinder uiBinder = GWT.create(MyBinder.class);
@UiField StringMessages i18n;
@UiField(provided = true)
TabPanel<EventMultiregattaView.Presenter> tabPanelUi;
@UiField(provided = true) TabPanel<EventMultiregattaView.Presenter> tabPanelUi;
@UiField(provided = true) EventHeader eventHeader;
@UiField(provided = true)
EventHeader eventHeader;
private Presenter currentPresenter;
public TabletAndDesktopEventView() {
}
@@ -51,11 +48,8 @@ public class TabletAndDesktopEventView extends Composite implements EventMultire
public void registerPresenter(final Presenter currentPresenter) {
this.currentPresenter = currentPresenter;
tabPanelUi = new TabPanel<>(currentPresenter, historyMapper);
eventHeader = new EventHeader(currentPresenter);
initWidget(uiBinder.createAndBindUi(this));
initBreadCrumbs();
String sailorsInfoURL = currentPresenter.getCtx().getEventDTO().getSailorsInfoWebsiteURL();
@@ -1,62 +1,55 @@
<!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:c="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
xmlns:tabs="urn:import:com.sap.sailing.gwt.home.client.place.event.multiregatta.tabs"
xmlns:h="urn:import:com.sap.sailing.gwt.home.client.place.event.partials.header">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:c="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
xmlns:p="urn:import:com.sap.sailing.gwt.home.desktop.partials"
xmlns:t="urn:import:com.sap.sailing.gwt.home.client.place.event.multiregatta.tabs">
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
<ui:style>
.header {
position: relative;
width: 100%;
margin: 0;
padding: 0;
position: relative;
width: 100%;
margin: 0;
padding: 0;
}
.mainHeader {
width: 66.6666666666667%;
width: 66.6666666666667%;
}
.sharingHeader {
width: 33.3333333333333%;
float: right;
padding: 0 1rem;
position:
relative;
padding: 1.333333333333333em 0;
text-align: right;
background-color: maroon;
height: 2rem;
width: 33.3333333333333%;
float: right;
padding: 0 1rem;
position:
relative;
padding: 1.333333333333333em 0;
text-align: right;
background-color: maroon;
height: 2rem;
}
.breadcrumb, .intro {
box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.breadcrumb {
font-size: 0.866666666666667em;
font-weight: 600;
font-size: 0.866666666666667em;
font-weight: 600;
}
.intro {
height: 5em;
height: 5em;
}
</ui:style>
<g:HTMLPanel>
<c:TabPanel ui:field="tabPanelUi">
<c:header>
<h:EventHeader ui:field="eventHeader" />
<p:eventheader.EventHeader ui:field="eventHeader" />
</c:header>
<c:tabcontent title="{i18n.overview}">
<tabs:MultiregattaOverviewTabView />
<t:MultiregattaOverviewTabView />
</c:tabcontent>
<c:tabcontent title="{i18n.regattas}">
<tabs:MultiregattaRegattasTabView />
<t:MultiregattaRegattasTabView />
</c:tabcontent>
<c:tabcontent title="{i18n.media}">
<tabs:MultiregattaMediaTabView />
<t:MultiregattaMediaTabView />
</c:tabcontent>
</c:TabPanel>
</g:HTMLPanel>
@@ -1,65 +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" xmlns:t="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
xmlns:sharing="urn:import:com.sap.sailing.gwt.home.client.shared.sharing">
<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.event.partials.header.EventHeaderResources" />
<g:HTMLPanel addStyleNames="{res.mediaCss.grid}">
<div class="{res.mediaCss.small12} {res.mediaCss.large9} {res.mediaCss.columns}">
<div class="{local_res.css.eventheader_intro}">
<div class="{local_res.css.eventheader_intro_logo}">
<a ui:field="eventLogoAnchorUi"><div ui:field="eventLogo" class="{local_res.css.eventheader_intro_logo_image}" /></a>
</div>
<!-- IF header.dropdown === 'regattas' -->
<div ui:field="dropdownTitle" class="{local_res.css.dropdown} {local_res.css.dropdownregattas} {local_res.css.jsdropdown}">
<div class="{local_res.css.dropdown_head} {local_res.css.dropdownregattas_head} {local_res.css.jsdropdown_head}">
<a ui:field="dropdownTrigger" class="{local_res.css.dropdown_head_title} {local_res.css.dropdownregattas_head_title}">
<span ui:field="dropdownEventName"></span>
<!-- IF event.state === 'live' -->
<div ui:field="dropdownEventState" data-labeltype="live" class="{res.mainCss.label} {res.mainCss.labellarge}">
<!-- <ui:text from='{i18n.live}' /> -->
</div>
<!-- IFEND event.state === 'live' -->
<div class="{local_res.css.dropdown_head_title_button} {local_res.css.dropdownregattas_head_title_button}"></div>
</a>
</div>
<g:FlowPanel ui:field="dropdownContent" addStyleNames="{local_res.css.dropdown_content} {local_res.css.dropdownregattas_content} {local_res.css.jsdropdown_content}">
<!-- EACH regattaItem in event.regattas -->
<!-- TODO <s:eventHeader.RegattasDropdownItem ui:field='regattaItem'></s> -->
<!-- EACHEND -->
</g:FlowPanel>
</div>
<!-- IFEND header.dropdown === 'regattas' -->
<h2 ui:field="staticTitle" class="{local_res.css.eventheader_intro_name}">
<span ui:field="eventName"></span>
<!-- IF event.state === 'live' -->
<div ui:field="eventState" data-labeltype="live" class="{res.mainCss.label}">
</div>
<!-- IFEND event.state === 'live' -->
</h2>
<div class="{local_res.css.eventheader_intro_details}">
<!-- IF event.venue && event.eventType !== 'multi-regatta-event' -->
<div ui:field="eventDate" class="{local_res.css.eventheader_intro_details_item}">
</div>
<div ui:field="eventVenueContainer" class="{local_res.css.eventheader_intro_details_item}">
<img src="images/home/location-icon.png" class="{local_res.css.locationicon}"></img>
<span ui:field="eventVenue"></span>
</div>
<a ui:field="eventLink" class="{local_res.css.eventheader_intro_details_item}"></a>
<!-- IFEND event.venue && event.eventType !== 'multi-regatta-event' -->
<!-- IF event.eventType === 'multi-regatta-event' -->
<div ui:field="competitors" class="{local_res.css.eventheader_intro_details_item}" />
<div ui:field="races" class="{local_res.css.eventheader_intro_details_item}" />
<div ui:field="courseAreaUi" class="{local_res.css.eventheader_intro_details_item}" />
<div ui:field="eventCategory" class="{local_res.css.eventheader_intro_details_item}" />
<!-- IFEND event.eventType === 'multi-regatta-event' -->
</div>
</div>
</div>
<div class="{res.mediaCss.showonlarge} {res.mediaCss.large3} {res.mediaCss.columns}">
<sharing:SharingButtons ui:field="sharing" />
</div>
</g:HTMLPanel>
</ui:UiBinder>
@@ -20,32 +20,28 @@ import com.sap.sailing.gwt.common.client.controls.tabbar.TabPanel;
import com.sap.sailing.gwt.common.client.controls.tabbar.TabPanelPlaceSelectionEvent;
import com.sap.sailing.gwt.common.client.controls.tabbar.TabView;
import com.sap.sailing.gwt.common.client.i18n.TextMessages;
import com.sap.sailing.gwt.home.client.place.event.partials.header.EventHeader;
import com.sap.sailing.gwt.home.client.place.fakeseries.SeriesDefaultPlace;
import com.sap.sailing.gwt.home.desktop.partials.eventheader.EventHeader;
import com.sap.sailing.gwt.home.shared.app.ApplicationHistoryMapper;
import com.sap.sailing.gwt.home.shared.app.PlaceNavigation;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.shared.eventview.EventViewDTO.EventType;
public class TabletAndDesktopEventView extends Composite implements EventRegattaView {
private static final ApplicationHistoryMapper historyMapper = GWT
.<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
private static MyBinder uiBinder = GWT.create(MyBinder.class);
private Presenter currentPresenter;
private static final ApplicationHistoryMapper historyMapper = GWT.<ApplicationHistoryMapper> create(ApplicationHistoryMapper.class);
interface MyBinder extends UiBinder<Widget, TabletAndDesktopEventView> {
}
private static MyBinder uiBinder = GWT.create(MyBinder.class);
@UiField
StringMessages i18n;
@UiField StringMessages i18n;
@UiField(provided = true)
TabPanel<EventRegattaView.Presenter> tabPanelUi;
@UiField(provided = true)
EventHeader eventHeader;
@UiField(provided = true) TabPanel<EventRegattaView.Presenter> tabPanelUi;
@UiField(provided = true) EventHeader eventHeader;
private Presenter currentPresenter;
public TabletAndDesktopEventView() {
}
@@ -54,11 +50,8 @@ public class TabletAndDesktopEventView extends Composite implements EventRegatta
public void registerPresenter(final Presenter currentPresenter) {
this.currentPresenter = currentPresenter;
tabPanelUi = new TabPanel<>(currentPresenter, historyMapper);
eventHeader = new EventHeader(currentPresenter);
initWidget(uiBinder.createAndBindUi(this));
initBreadCrumbs();
if(currentPresenter.getCtx().getEventDTO().getType() == EventType.SERIES_EVENT) {
@@ -66,7 +59,6 @@ public class TabletAndDesktopEventView extends Composite implements EventRegatta
Anchor seriesAnchor = new Anchor(currentPresenter.getCtx().getEventDTO().getSeriesName());
seriesAnchor.setHref(currentEventSeriesNavigation.getTargetUrl());
seriesAnchor.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (LinkUtil.handleLinkClick(event.getNativeEvent().<Event>cast())) {
@@ -1,69 +1,61 @@
<!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:c="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
xmlns:tabs="urn:import:com.sap.sailing.gwt.home.client.place.event.regatta.tabs"
xmlns:h="urn:import:com.sap.sailing.gwt.home.client.place.event.partials.header">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui"
xmlns:c="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
xmlns:p="urn:import:com.sap.sailing.gwt.home.desktop.partials"
xmlns:t="urn:import:com.sap.sailing.gwt.home.client.place.event.regatta.tabs">
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
<ui:style>
.header {
position: relative;
width: 100%;
margin: 0;
padding: 0;
position: relative;
width: 100%;
margin: 0;
padding: 0;
}
.mainHeader {
width: 66.6666666666667%;
width: 66.6666666666667%;
}
.sharingHeader {
width: 33.3333333333333%;
float: right;
padding: 0 1rem;
position:
relative;
padding: 1.333333333333333em 0;
text-align: right;
background-color: maroon;
height: 2rem;
width: 33.3333333333333%;
float: right;
padding: 0 1rem;
position:
relative;
padding: 1.333333333333333em 0;
text-align: right;
background-color: maroon;
height: 2rem;
}
.breadcrumb, .intro {
box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.breadcrumb {
font-size: 0.866666666666667em;
font-weight: 600;
font-size: 0.866666666666667em;
font-weight: 600;
}
.intro {
height: 5em;
height: 5em;
}
</ui:style>
<g:HTMLPanel>
<c:TabPanel ui:field="tabPanelUi">
<c:header>
<h:EventHeader ui:field="eventHeader" />
<p:eventheader.EventHeader ui:field="eventHeader" />
</c:header>
<c:tabcontent title="{i18n.overview}">
<tabs:RegattaOverviewTabView />
<t:RegattaOverviewTabView />
</c:tabcontent>
<c:tabcontent title="{i18n.races}">
<tabs:RegattaRacesTabView />
<t:RegattaRacesTabView />
</c:tabcontent>
<c:tabcontent title="{i18n.leaderboard}">
<tabs:RegattaLeaderboardTabView />
<t:RegattaLeaderboardTabView />
</c:tabcontent>
<c:tabcontent title="{i18n.competitorsAnalytics}">
<tabs:RegattaCompetitorAnalyticsTabView />
<t:RegattaCompetitorAnalyticsTabView />
</c:tabcontent>
<c:tabcontent title="{i18n.media}">
<tabs:RegattaMediaTabView />
<t:RegattaMediaTabView />
</c:tabcontent>
</c:TabPanel>
</g:HTMLPanel>
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.home.client.place.event.partials.header;
package com.sap.sailing.gwt.home.desktop.partials.eventheader;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.AnchorElement;
@@ -2,7 +2,7 @@
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder">
<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.event.partials.header.EventHeaderResources" />
<ui:with field="local_res" type="com.sap.sailing.gwt.home.desktop.partials.eventheader.EventHeaderResources" />
<ui:style>
.important {
font-weight: bold;
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.home.client.place.event.partials.header;
package com.sap.sailing.gwt.home.desktop.partials.eventheader;
import java.util.Date;
@@ -41,8 +41,7 @@ public class EventHeader extends Composite {
@UiField StringMessages i18n;
@UiField DivElement eventLogo;
@UiField
AnchorElement eventLogoAnchorUi;
@UiField AnchorElement eventLogoAnchorUi;
@UiField HeadingElement staticTitle;
@UiField SpanElement eventName;
@UiField DivElement eventState;
@@ -58,22 +57,17 @@ public class EventHeader extends Composite {
@UiField DivElement races;
@UiField DivElement eventCategory;
@UiField DivElement courseAreaUi;
@UiField FlowPanel dropdownContent;
@UiField SharingButtons sharing;
private EventViewDTO event;
private Presenter presenter;
public EventHeader(EventView.Presenter presenter) {
this.event = presenter.getCtx().getEventDTO();
this.presenter = presenter;
EventHeaderResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
initFields();
initSharing();
}
@@ -168,7 +162,6 @@ public class EventHeader extends Composite {
dropdownEventName.setInnerText(nameToShow);
LabelTypeUtil.renderLabelType(dropdownEventState, presenter.showRegattaMetadata() ? presenter.getRegattaMetadata().getState().getStateMarker() : event.getState().getStateMarker());
hide(staticTitle);
initDropdown();
}
}
@@ -0,0 +1,64 @@
<!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" xmlns:t="urn:import:com.sap.sailing.gwt.common.client.controls.tabbar"
xmlns:sharing="urn:import:com.sap.sailing.gwt.home.client.shared.sharing">
<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.desktop.partials.eventheader.EventHeaderResources" />
<g:HTMLPanel addStyleNames="{res.mediaCss.grid}">
<div class="{res.mediaCss.small12} {res.mediaCss.large9} {res.mediaCss.columns}">
<div class="{local_res.css.eventheader_intro}">
<div class="{local_res.css.eventheader_intro_logo}">
<a ui:field="eventLogoAnchorUi"><div ui:field="eventLogo" class="{local_res.css.eventheader_intro_logo_image}" /></a>
</div>
<!-- IF header.dropdown === 'regattas' -->
<div ui:field="dropdownTitle" class="{local_res.css.dropdown} {local_res.css.dropdownregattas} {local_res.css.jsdropdown}">
<div class="{local_res.css.dropdown_head} {local_res.css.dropdownregattas_head} {local_res.css.jsdropdown_head}">
<a ui:field="dropdownTrigger" class="{local_res.css.dropdown_head_title} {local_res.css.dropdownregattas_head_title}">
<span ui:field="dropdownEventName"></span>
<!-- IF event.state === 'live' -->
<div ui:field="dropdownEventState" data-labeltype="live" class="{res.mainCss.label} {res.mainCss.labellarge}">
<!-- <ui:text from='{i18n.live}' /> -->
</div>
<!-- IFEND event.state === 'live' -->
<div class="{local_res.css.dropdown_head_title_button} {local_res.css.dropdownregattas_head_title_button}"></div>
</a>
</div>
<g:FlowPanel ui:field="dropdownContent" addStyleNames="{local_res.css.dropdown_content} {local_res.css.dropdownregattas_content} {local_res.css.jsdropdown_content}">
<!-- EACH regattaItem in event.regattas -->
<!-- TODO <s:eventHeader.RegattasDropdownItem ui:field='regattaItem'></s> -->
<!-- EACHEND -->
</g:FlowPanel>
</div>
<!-- IFEND header.dropdown === 'regattas' -->
<h2 ui:field="staticTitle" class="{local_res.css.eventheader_intro_name}">
<span ui:field="eventName"></span>
<!-- IF event.state === 'live' -->
<div ui:field="eventState" data-labeltype="live" class="{res.mainCss.label}">
</div>
<!-- IFEND event.state === 'live' -->
</h2>
<div class="{local_res.css.eventheader_intro_details}">
<!-- IF event.venue && event.eventType !== 'multi-regatta-event' -->
<div ui:field="eventDate" class="{local_res.css.eventheader_intro_details_item}">
</div>
<div ui:field="eventVenueContainer" class="{local_res.css.eventheader_intro_details_item}">
<img src="images/home/location-icon.png" class="{local_res.css.locationicon}"></img>
<span ui:field="eventVenue"></span>
</div>
<a ui:field="eventLink" class="{local_res.css.eventheader_intro_details_item}"></a>
<!-- IFEND event.venue && event.eventType !== 'multi-regatta-event' -->
<!-- IF event.eventType === 'multi-regatta-event' -->
<div ui:field="competitors" class="{local_res.css.eventheader_intro_details_item}" />
<div ui:field="races" class="{local_res.css.eventheader_intro_details_item}" />
<div ui:field="courseAreaUi" class="{local_res.css.eventheader_intro_details_item}" />
<div ui:field="eventCategory" class="{local_res.css.eventheader_intro_details_item}" />
<!-- IFEND event.eventType === 'multi-regatta-event' -->
</div>
</div>
</div>
<div class="{res.mediaCss.showonlarge} {res.mediaCss.large3} {res.mediaCss.columns}">
<sharing:SharingButtons ui:field="sharing" />
</div>
</g:HTMLPanel>
</ui:UiBinder>
@@ -1,4 +1,4 @@
package com.sap.sailing.gwt.home.client.place.event.partials.header;
package com.sap.sailing.gwt.home.desktop.partials.eventheader;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
@@ -2,7 +2,7 @@ package com.sap.sailing.gwt.home.shared.utils;
import com.google.gwt.dom.client.Element;
import com.google.gwt.safehtml.shared.SafeUri;
import com.sap.sailing.gwt.home.client.place.event.partials.header.EventHeaderResources;
import com.sap.sailing.gwt.home.desktop.partials.eventheader.EventHeaderResources;
import com.sap.sailing.gwt.ui.shared.eventview.EventViewDTO;
import com.sap.sailing.gwt.ui.shared.general.HasLogo;