Event overview mobile - Implemented StatisticsBox partial

This commit is contained in:
Benjamin Barth committed 2015-06-15 18:06:13 +02:00
1 parent b77415e9d1
commit b14033b5f3
4 files changed
+80 -19

No files matched your search

@@ -0,0 +1,36 @@
package com.sap.sailing.gwt.home.mobile.partials.statisticsBox;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.DivElement;
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.mobile.partials.sectionHeader.SectionHeaderResources;
public class StatisticsBox extends Composite {
public static final String ICON_REGATTAS_FOUGHT = "images/mobile/icon_regattasFought.svg";
public static final String ICON_COMPATITORS_COUNT = "images/mobile/icon_averageSpeed.svg";
public static final String ICON_RACES_COUNT = "images/mobile/icon_racesCount.svg";
public static final String ICON_TRACKED_COUNT = "images/mobile/icon_trackedCount.svg";
private static StatisticsBoxUiBinder uiBinder = GWT.create(StatisticsBoxUiBinder.class);
interface StatisticsBoxUiBinder extends UiBinder<Widget, StatisticsBox> {
}
@UiField DivElement itemContainerUi;
public StatisticsBox() {
StatisticsBoxResources.INSTANCE.css().ensureInjected();
SectionHeaderResources.INSTANCE.css().ensureInjected();
initWidget(uiBinder.createAndBindUi(this));
}
public void addItem(String iconUrl, String name, Integer count) {
StatisticsBoxItem item = new StatisticsBoxItem(iconUrl, name, count);
itemContainerUi.appendChild(item.getElement());
}
}
@@ -4,16 +4,18 @@
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.statisticsBox.StatisticsBoxResources" />
<ui:with field="sh_res" type="com.sap.sailing.gwt.home.mobile.partials.sectionHeader.SectionHeaderResources" />
<g:HTMLPanel>
<div class="{res.mediaCss.grid}">
<div
class="{local_res.css.statisticsbox} {res.mediaCss.small12} {res.mediaCss.columns}">
<mp:sectionHeader.SectionHeader ui:field='image'´ui:field='title' ui:field='label'
ui:field='subtitle' ui:field='infoText' ui:field='link' ui:field='isStandAlone' />
<div class="{local_res.css.statisticsbox_content}">
<!-- EACH item in statistics -->
<mp:statisticsBox.StatisticsBoxItem ui:field='item'/>
<!-- EACH END -->
<div class="{sh_res.css.sectionheader} {res.mediaCss.small12} {res.mediaCss.columns}">
<div class="{sh_res.css.sectionheader_item}">
<h2 class="{sh_res.css.sectionheader_item_title}">
Statistics
</h2>
</div>
</div>
<div class="{local_res.css.statisticsbox} {res.mediaCss.small12} {res.mediaCss.columns}">
<div class="{local_res.css.statisticsbox_content}" ui:field="itemContainerUi">
</div>
</div>
</div>
@@ -0,0 +1,29 @@
package com.sap.sailing.gwt.home.mobile.partials.statisticsBox;
import com.google.gwt.core.client.GWT;
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.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Widget;
class StatisticsBoxItem extends Widget {
private static StatisticsBoxItemUiBinder uiBinder = GWT.create(StatisticsBoxItemUiBinder.class);
interface StatisticsBoxItemUiBinder extends UiBinder<Element, StatisticsBoxItem> {
}
@UiField ImageElement iconUi;
@UiField SpanElement nameUi;
@UiField SpanElement valueUi;
public StatisticsBoxItem(String iconUrl, String name, Integer value) {
setElement(uiBinder.createAndBindUi(this));
iconUi.setSrc(iconUrl);
nameUi.setInnerText(name);
valueUi.setInnerText(value == null ? "n/a" : String.valueOf(value));
}
}
@@ -4,15 +4,9 @@
<ui:with field="i18n" type="com.sap.sailing.gwt.ui.client.StringMessages" />
<ui:with field="res" type="com.sap.sailing.gwt.home.mobile.resources.SharedResources" />
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.statisticsBox.StatisticsBoxResources" />
<g:HTMLPanel>
<div class="{local_res.css.statisticsbox_content_item}">
<img src="<!-- item.icon -->" class="{local_res.css.statisticsbox_content_item_icon}" />
<span class="{local_res.css.statisticsbox_content_item_name}">
<!-- item.name -->
</span>
<span class="{local_res.css.statisticsbox_content_item_value}">
<!-- item.value -->
</span>
</div>
</g:HTMLPanel>
<div class="{local_res.css.statisticsbox_content_item}">
<img class="{local_res.css.statisticsbox_content_item_icon}" ui:field="iconUi"/>
<span class="{local_res.css.statisticsbox_content_item_name}" ui:field="nameUi"><!-- item.name --></span>
<span class="{local_res.css.statisticsbox_content_item_value}" ui:field="valueUi"><!-- item.value --></span>
</div>
</ui:UiBinder>