mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 22:37:15 +00:00
Added partials for mobile image gallery
This commit is contained in:
1 parent
e12c78adc7
commit
c440b26365
6 files changed
+158
No files matched your search
+25
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* An image gallery
|
||||
*/
|
||||
.imagegallery {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.imagegallery_column {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.imagegallery_columnfirst {
|
||||
padding-right: 0.333333333333333em;
|
||||
}
|
||||
.imagegallery_columnsecond {
|
||||
padding-left: 0.333333333333333em;
|
||||
}
|
||||
.imagegallery_column_item {
|
||||
cursor: pointer;
|
||||
margin-bottom: 0.666666666666667em;
|
||||
}
|
||||
.imagegallery_column_item img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
+60
@@ -0,0 +1,60 @@
|
||||
package com.sap.sailing.gwt.home.mobile.partials.imagegallery;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.gwt.core.shared.GWT;
|
||||
import com.google.gwt.dom.client.DivElement;
|
||||
import com.google.gwt.dom.client.Style.FontStyle;
|
||||
import com.google.gwt.dom.client.Style.FontWeight;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
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.Label;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.section.MobileSection;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.sectionHeader.SectionHeaderContent;
|
||||
import com.sap.sailing.gwt.ui.client.StringMessages;
|
||||
import com.sap.sse.gwt.client.media.ImageDTO;
|
||||
|
||||
public class ImageGallery extends Composite {
|
||||
|
||||
private static ImageGalleryUiBinder uiBinder = GWT.create(ImageGalleryUiBinder.class);
|
||||
|
||||
interface ImageGalleryUiBinder extends UiBinder<MobileSection, ImageGallery> {
|
||||
}
|
||||
|
||||
@UiField SectionHeaderContent sectionHeaderUi;
|
||||
@UiField DivElement firstColumnUi;
|
||||
@UiField DivElement secondColumnUi;
|
||||
private final MobileSection mobileSection;
|
||||
|
||||
public ImageGallery() {
|
||||
ImageGalleryResources.INSTANCE.css().ensureInjected();
|
||||
initWidget(mobileSection = uiBinder.createAndBindUi(this));
|
||||
sectionHeaderUi.setSectionTitle(StringMessages.INSTANCE.images());
|
||||
}
|
||||
|
||||
public void setImages(Collection<ImageDTO> images) {
|
||||
sectionHeaderUi.setInfoText(StringMessages.INSTANCE.imagesCount(images.size()));
|
||||
mobileSection.clearContent();
|
||||
if (images.isEmpty()) {
|
||||
mobileSection.addContent(getNoImagesInfoWidget());
|
||||
} else {
|
||||
int imageCount = 0;
|
||||
for (ImageDTO image : images) {
|
||||
DivElement container = ++imageCount % 2 != 0 ? firstColumnUi : secondColumnUi;
|
||||
container.appendChild(new ImageGalleryItem(image).getElement());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Widget getNoImagesInfoWidget() {
|
||||
Label label = new Label(StringMessages.INSTANCE.noImages());
|
||||
label.getElement().getStyle().setPadding(1, Unit.EM);
|
||||
label.getElement().getStyle().setFontWeight(FontWeight.BOLD);
|
||||
label.getElement().getStyle().setFontStyle(FontStyle.ITALIC);
|
||||
return label;
|
||||
}
|
||||
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
<!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:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials" 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.home.mobile.resources.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.imagegallery.ImageGalleryResources" />
|
||||
<mp:section.MobileSection addStyleNames="{local_res.css.imagegallery}">
|
||||
<mp:header>
|
||||
<mp:sectionHeader.SectionHeaderContent ui:field="sectionHeaderUi" />
|
||||
</mp:header>
|
||||
<mp:content>
|
||||
<g:HTMLPanel>
|
||||
<div class="{res.mediaCss.small6} {res.mediaCss.columns} {local_res.css.imagegallery_column} {local_res.css.imagegallery_columnfirst}" ui:field="firstColumnUi"></div>
|
||||
<div class="{res.mediaCss.small6} {res.mediaCss.columns} {local_res.css.imagegallery_column} {local_res.css.imagegallery_columnsecond}" ui:field="secondColumnUi"></div>
|
||||
</g:HTMLPanel>
|
||||
</mp:content>
|
||||
</mp:section.MobileSection>
|
||||
</ui:UiBinder>
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
package com.sap.sailing.gwt.home.mobile.partials.imagegallery;
|
||||
|
||||
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.uibinder.client.UiBinder;
|
||||
import com.google.gwt.uibinder.client.UiField;
|
||||
import com.google.gwt.user.client.ui.UIObject;
|
||||
import com.sap.sse.gwt.client.media.ImageDTO;
|
||||
|
||||
public class ImageGalleryItem extends UIObject {
|
||||
|
||||
private static ImageGalleryItemUiBinder uiBinder = GWT.create(ImageGalleryItemUiBinder.class);
|
||||
|
||||
interface ImageGalleryItemUiBinder extends UiBinder<Element, ImageGalleryItem> {
|
||||
}
|
||||
|
||||
@UiField ImageElement imageUi;
|
||||
|
||||
public ImageGalleryItem(ImageDTO image) {
|
||||
setElement(uiBinder.createAndBindUi(this));
|
||||
imageUi.setSrc(image.getSourceRef());
|
||||
}
|
||||
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
<!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:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials" 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.home.mobile.resources.SharedResources" />
|
||||
<ui:with field="local_res" type="com.sap.sailing.gwt.home.mobile.partials.imagegallery.ImageGalleryResources" />
|
||||
<div class="{local_res.css.imagegallery_column_item}">
|
||||
<img ui:field="imageUi"/>
|
||||
</div>
|
||||
</ui:UiBinder>
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.sap.sailing.gwt.home.mobile.partials.imagegallery;
|
||||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.resources.client.ClientBundle;
|
||||
import com.google.gwt.resources.client.CssResource;
|
||||
|
||||
public interface ImageGalleryResources extends ClientBundle {
|
||||
public static final ImageGalleryResources INSTANCE = GWT.create(ImageGalleryResources.class);
|
||||
|
||||
@Source("ImageGallery.gss")
|
||||
LocalCss css();
|
||||
|
||||
public interface LocalCss extends CssResource {
|
||||
String imagegallery();
|
||||
String imagegallery_column();
|
||||
String imagegallery_columnfirst();
|
||||
String imagegallery_columnsecond();
|
||||
String imagegallery_column_item();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user