mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
Implemented optional event message for event overview tab
This commit is contained in:
1 parent
04f825e498
commit
3fbe6bf6ad
9 files changed
+135
-14
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 788 B |
+3
-5
@@ -3,14 +3,12 @@
|
||||
xmlns:r="urn:import:com.sap.sailing.gwt.home.client.place.event.partials.raceListLive"
|
||||
xmlns:o="urn:import:com.sap.sailing.gwt.home.client.place.event.overview">
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<g:HTMLPanel>
|
||||
<g:HTMLPanel>
|
||||
<o:EventOverviewStage ui:field="stage" />
|
||||
<div class="{res.mediaCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<o:EventOverviewStage ui:field="stage" />
|
||||
</div>
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<r:RacesListLive ui:field="racesListLive" />
|
||||
</div>
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
+18
-6
@@ -1,11 +1,15 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.overview;
|
||||
|
||||
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.SimplePanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.client.place.event.EventView;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.countdown.Countdown;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.livestream.Livestream;
|
||||
import com.sap.sailing.gwt.home.client.place.event.partials.message.Message;
|
||||
import com.sap.sailing.gwt.home.client.place.event.regatta.tabs.reload.RefreshableWidget;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewStageContentDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewStageDTO;
|
||||
@@ -14,7 +18,13 @@ import com.sap.sailing.gwt.ui.shared.dispatch.event.EventOverviewVideoStageDTO;
|
||||
|
||||
public class EventOverviewStage extends Composite implements RefreshableWidget<EventOverviewStageDTO> {
|
||||
|
||||
private final SimplePanel content = new SimplePanel();
|
||||
private static StageUiBinder uiBinder = GWT.create(StageUiBinder.class);
|
||||
|
||||
interface StageUiBinder extends UiBinder<Widget, EventOverviewStage> {
|
||||
}
|
||||
|
||||
@UiField SimplePanel stage;
|
||||
@UiField Message message;
|
||||
|
||||
private Widget lastContent;
|
||||
|
||||
@@ -22,26 +32,28 @@ public class EventOverviewStage extends Composite implements RefreshableWidget<E
|
||||
|
||||
public EventOverviewStage(EventView.Presenter presenter) {
|
||||
this.presenter = presenter;
|
||||
initWidget(content);
|
||||
initWidget(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setData(EventOverviewStageDTO stageData, long nextUpdate, int updateNo) {
|
||||
message.setMessage(stageData.getEventMessage());
|
||||
|
||||
EventOverviewStageContentDTO data = stageData.getStageContent();
|
||||
if(data instanceof EventOverviewVideoStageDTO) {
|
||||
if(!(lastContent instanceof Livestream)) {
|
||||
lastContent = new Livestream();
|
||||
}
|
||||
((Livestream)lastContent).setData((EventOverviewVideoStageDTO) data);
|
||||
}
|
||||
if (data instanceof EventOverviewTickerStageDTO) {
|
||||
} else if (data instanceof EventOverviewTickerStageDTO) {
|
||||
if (!(lastContent instanceof Countdown)) {
|
||||
lastContent = new Countdown(presenter);
|
||||
}
|
||||
((Countdown) lastContent).setData((EventOverviewTickerStageDTO) data);
|
||||
} else {
|
||||
lastContent = null;
|
||||
}
|
||||
// TODO placeholder?
|
||||
content.setWidget(lastContent);
|
||||
stage.setWidget(lastContent);
|
||||
}
|
||||
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
<!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:m="urn:import:com.sap.sailing.gwt.home.client.place.event.partials.message">
|
||||
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
|
||||
<ui:with field="i18n_ubi" type="com.sap.sailing.gwt.common.client.i18n.TextMessages"/>
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<g:HTMLPanel>
|
||||
<m:Message ui:field="message" />
|
||||
<div class="{res.mediaCss.grid}">
|
||||
<g:SimplePanel ui:field="stage" addStyleNames="{res.mediaCss.small12} {res.mediaCss.columns}" />
|
||||
</div>
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
.message {
|
||||
font-size: 1rem;
|
||||
margin-top: 2em;
|
||||
line-height: 1.733333333333333em;
|
||||
background: #f2f2f2;
|
||||
border: 1px solid #dedede;
|
||||
border-radius: 0.333333333333333em;
|
||||
padding: 1.066666666666667em 2.533333333333333em 1.066666666666667em 2.733333333333333em;
|
||||
}
|
||||
.message img {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
.message_icon {
|
||||
width: 1.733333333333333em;
|
||||
height: 1.733333333333333em;
|
||||
margin-left: -1.733333333333333em;
|
||||
}
|
||||
.message_text {
|
||||
font-size: 1.2em;
|
||||
display: inline-block;
|
||||
margin-left: 0.833333333333333em;
|
||||
font-weight: 700;
|
||||
}
|
||||
.message_close {
|
||||
cursor: pointer;
|
||||
float: right;
|
||||
width: 1.733333333333333em;
|
||||
height: 1.733333333333333em;
|
||||
margin-right: -1.733333333333333em;
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.partials.message;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
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.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
|
||||
public class Message extends Widget {
|
||||
|
||||
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
|
||||
|
||||
interface MyUiBinder extends UiBinder<Element, Message> {
|
||||
}
|
||||
|
||||
@UiField SpanElement text;
|
||||
|
||||
public Message() {
|
||||
MessageResources.INSTANCE.css().ensureInjected();
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
if(message == null || message.isEmpty()) {
|
||||
getElement().getStyle().setDisplay(Display.NONE);
|
||||
} else {
|
||||
text.setInnerText(message);
|
||||
getElement().getStyle().clearDisplay();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
<!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">
|
||||
<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.message.MessageResources" />
|
||||
<div style="display: none;" class="{res.mediaCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<div class="{local_res.css.message}">
|
||||
<img src="images/home/notification.png" class="{local_res.css.message_icon}"></img>
|
||||
<span ui:field="text" class="{local_res.css.message_text}">
|
||||
<!-- event.notification -->
|
||||
</span>
|
||||
<!-- <img src="images/home/icon-close-cross.png" class="{local_res.css.message_close}"></img> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ui:UiBinder>
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.sap.sailing.gwt.home.client.place.event.partials.message;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
|
||||
public interface MessageResources extends ClientBundle {
|
||||
public static final MessageResources INSTANCE = GWT.create(MessageResources.class);
|
||||
|
||||
@Source("Message.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
String message();
|
||||
String message_icon();
|
||||
String message_text();
|
||||
String message_close();
|
||||
}
|
||||
}
|
||||
+1
-3
@@ -4,10 +4,8 @@
|
||||
xmlns:o="urn:import:com.sap.sailing.gwt.home.client.place.event.overview">
|
||||
<ui:with field="res" type="com.sap.sailing.gwt.common.client.SharedResources" />
|
||||
<g:HTMLPanel>
|
||||
<o:EventOverviewStage ui:field="stage" />
|
||||
<div class="{res.mediaCss.grid}">
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<o:EventOverviewStage ui:field="stage" />
|
||||
</div>
|
||||
<div class="{res.mediaCss.small12} {res.mediaCss.columns}">
|
||||
<r:RacesListLive ui:field="racesListLive" />
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user