mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-27 22:37:15 +00:00
Implemented mobile media page
This commit is contained in:
1 parent
ff77b547b9
commit
4bfcaf3bf7
4 files changed
+115
No files matched your search
+28
@@ -0,0 +1,28 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.event.media;
|
||||
|
||||
import com.sap.sailing.gwt.home.client.place.event.AbstractEventPlace;
|
||||
import com.sap.sailing.gwt.home.mobile.app.MobileApplicationClientFactory;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.AbstractEventActivity;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventViewBase;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.media.MediaView.Presenter;
|
||||
import com.sap.sailing.gwt.ui.shared.media.MediaDTO;
|
||||
|
||||
public class MediaActivity extends AbstractEventActivity<AbstractEventPlace> implements Presenter {
|
||||
|
||||
public MediaActivity(AbstractEventPlace place, MobileApplicationClientFactory clientFactory) {
|
||||
super(place, clientFactory);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected EventViewBase initView() {
|
||||
final MediaView view = new MediaViewImpl(this);
|
||||
initQuickfinder(view, false);
|
||||
initMedia(new AsyncMediaCallback() {
|
||||
@Override
|
||||
public void onSuccess(MediaDTO result) {
|
||||
view.setMedia(result.getVideos(), result.getPhotos());
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.event.media;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.EventViewBase;
|
||||
import com.sap.sailing.gwt.ui.shared.media.SailingImageDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.media.SailingVideoDTO;
|
||||
|
||||
public interface MediaView extends EventViewBase {
|
||||
|
||||
void setMedia(Collection<SailingVideoDTO> videos, Collection<SailingImageDTO> images);
|
||||
|
||||
public interface Presenter extends EventViewBase.Presenter {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package com.sap.sailing.gwt.home.mobile.places.event.media;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
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.Label;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.imagegallery.ImageGallery;
|
||||
import com.sap.sailing.gwt.home.mobile.partials.videogallery.VideoGallery;
|
||||
import com.sap.sailing.gwt.home.mobile.places.event.AbstractEventView;
|
||||
import com.sap.sailing.gwt.ui.shared.media.SailingImageDTO;
|
||||
import com.sap.sailing.gwt.ui.shared.media.SailingVideoDTO;
|
||||
|
||||
public class MediaViewImpl extends AbstractEventView<MediaView.Presenter> implements MediaView {
|
||||
|
||||
private static MediaViewImplUiBinder uiBinder = GWT.create(MediaViewImplUiBinder.class);
|
||||
|
||||
interface MediaViewImplUiBinder extends UiBinder<Widget, MediaViewImpl> {
|
||||
}
|
||||
|
||||
@UiField Label noContentInfoUi;
|
||||
@UiField VideoGallery videoGalleryUi;
|
||||
@UiField ImageGallery imageGalleryUi;
|
||||
|
||||
public MediaViewImpl(MediaView.Presenter presenter) {
|
||||
super(presenter, false, true);
|
||||
setViewContent(uiBinder.createAndBindUi(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMedia(Collection<SailingVideoDTO> videos, Collection<SailingImageDTO> images) {
|
||||
noContentInfoUi.setVisible(videos.isEmpty() && images.isEmpty());
|
||||
videoGalleryUi.setVideos(videos);
|
||||
videoGalleryUi.setVisible(!videos.isEmpty());
|
||||
imageGalleryUi.setImages(images);
|
||||
imageGalleryUi.setVisible(!images.isEmpty());
|
||||
}
|
||||
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
<!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:mp="urn:import:com.sap.sailing.gwt.home.mobile.partials"
|
||||
xmlns:p="urn:import:com.sap.sailing.gwt.home.client.place.event.partials">
|
||||
<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:style>
|
||||
.pageTitle {
|
||||
font-size: 1.066666666666667em;
|
||||
font-weight: 700;
|
||||
margin: 0.666666666666667em 0;
|
||||
}
|
||||
.infoLabel {
|
||||
padding: 1em;
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
</ui:style>
|
||||
<g:HTMLPanel>
|
||||
<div class="{res.mediaCss.columns}">
|
||||
<div class="{res.mediaCss.small12} {style.pageTitle}"><ui:text from="{i18n.impressions}" /></div>
|
||||
</div>
|
||||
<g:Label addStyleNames="{style.infoLabel}" ui:field="noContentInfoUi">
|
||||
<ui:text from="{i18n.mediaNoContent}" />
|
||||
</g:Label>
|
||||
<mp:videogallery.VideoGallery visible="false" ui:field="videoGalleryUi" />
|
||||
<mp:imagegallery.ImageGallery visible="false" ui:field="imageGalleryUi" />
|
||||
</g:HTMLPanel>
|
||||
</ui:UiBinder>
|
||||
Reference in new issue
Block a user