mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-12 07:10:55 +00:00
Added Navigation button to jump directly to a series from the event page
This commit is contained in:
1 parent
92db9b9dcd
commit
eb4c173614
3 files changed
+41
No files matched your search
+5
@@ -39,6 +39,7 @@ public class TabPanel<PRESENTER> extends Composite {
|
||||
@UiField
|
||||
TabBar tabBar;
|
||||
@UiField BreadcrumbPane breadcrumbs;
|
||||
@UiField FlowPanel tabExtension;
|
||||
private TabView<Place, PRESENTER> currentTab;
|
||||
|
||||
|
||||
@@ -173,4 +174,8 @@ public class TabPanel<PRESENTER> extends Composite {
|
||||
return knownTabTitles.get(currentTab.getPlaceClassForActivation());
|
||||
}
|
||||
|
||||
@UiChild
|
||||
public void addTabExtension(IsWidget widget) {
|
||||
tabExtension.add(widget);
|
||||
}
|
||||
}
|
||||
+5
@@ -35,6 +35,10 @@
|
||||
border-top-left-radius:4px;
|
||||
border-top-right-radius:4px;
|
||||
}
|
||||
.tabExtension {
|
||||
float: right;
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
</ui:style>
|
||||
<g:FlowPanel>
|
||||
<g:HTMLPanel addStyleNames="{style.header}">
|
||||
@@ -47,6 +51,7 @@
|
||||
<g:SimplePanel ui:field="additionalHeader" />
|
||||
<div class="{res.mediaCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<g:FlowPanel ui:field="tabExtension" addStyleNames="{style.tabExtension}" />
|
||||
<c:TabBar ui:field="tabBar"
|
||||
addStyleNames="{style.navigation}" />
|
||||
</div>
|
||||
|
||||
+31
@@ -1,13 +1,21 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.regatta;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.dom.client.Style;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.uibinder.client.UiHandler;
|
||||
import com.google.gwt.user.client.Event;
|
||||
import com.google.gwt.user.client.Window;
|
||||
import com.google.gwt.user.client.ui.Anchor;
|
||||
import com.google.gwt.user.client.ui.Composite;
|
||||
import com.google.gwt.user.client.ui.IsWidget;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.common.client.LinkUtil;
|
||||
import com.sap.sailing.gwt.common.client.SharedResources;
|
||||
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;
|
||||
@@ -15,6 +23,7 @@ import com.sap.sailing.gwt.common.client.i18n.TextMessages;
|
||||
import com.sap.sailing.gwt.home.client.app.ApplicationHistoryMapper;
|
||||
import com.sap.sailing.gwt.home.client.app.PlaceNavigation;
|
||||
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.ui.client.StringMessages;
|
||||
import com.sap.sailing.gwt.ui.shared.eventview.EventViewDTO.EventType;
|
||||
|
||||
@@ -51,6 +60,28 @@ public class TabletAndDesktopEventView extends Composite implements EventRegatta
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
|
||||
initBreadCrumbs();
|
||||
|
||||
if(currentPresenter.getCtx().getEventDTO().getType() == EventType.SERIES_EVENT) {
|
||||
final PlaceNavigation<SeriesDefaultPlace> currentEventSeriesNavigation = currentPresenter.getCurrentEventSeriesNavigation();
|
||||
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())) {
|
||||
event.preventDefault();
|
||||
currentEventSeriesNavigation.goToPlace();
|
||||
}
|
||||
}
|
||||
});
|
||||
seriesAnchor.setStyleName(SharedResources.INSTANCE.mainCss().button());
|
||||
seriesAnchor.addStyleName(SharedResources.INSTANCE.mainCss().buttonprimary());
|
||||
Style style = seriesAnchor.getElement().getStyle();
|
||||
style.setFontSize(16, Unit.PX);
|
||||
style.setPadding(0.75, Unit.EM);
|
||||
tabPanelUi.addTabExtension(seriesAnchor);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user