From 4bfcaf3bf7fcd5755fbcff40acd6aeddd4b0fef9 Mon Sep 17 00:00:00 2001 From: Benjamin Barth Date: Thu, 27 Aug 2015 15:04:53 +0200 Subject: [PATCH] Implemented mobile media page --- .../places/event/media/MediaActivity.java | 28 +++++++++++++ .../mobile/places/event/media/MediaView.java | 17 ++++++++ .../places/event/media/MediaViewImpl.java | 41 +++++++++++++++++++ .../places/event/media/MediaViewImpl.ui.xml | 29 +++++++++++++ 4 files changed, 115 insertions(+) create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaActivity.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaView.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.java create mode 100644 java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.ui.xml diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaActivity.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaActivity.java new file mode 100644 index 00000000000..55d21b3aa9e --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaActivity.java @@ -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 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; + } +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaView.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaView.java new file mode 100644 index 00000000000..b078d544857 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaView.java @@ -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 videos, Collection images); + + public interface Presenter extends EventViewBase.Presenter { + + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.java new file mode 100644 index 00000000000..4f2ade890dd --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.java @@ -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 implements MediaView { + + private static MediaViewImplUiBinder uiBinder = GWT.create(MediaViewImplUiBinder.class); + + interface MediaViewImplUiBinder extends UiBinder { + } + + @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 videos, Collection images) { + noContentInfoUi.setVisible(videos.isEmpty() && images.isEmpty()); + videoGalleryUi.setVideos(videos); + videoGalleryUi.setVisible(!videos.isEmpty()); + imageGalleryUi.setImages(images); + imageGalleryUi.setVisible(!images.isEmpty()); + } + +} diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.ui.xml b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.ui.xml new file mode 100644 index 00000000000..00519e1ca81 --- /dev/null +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/home/mobile/places/event/media/MediaViewImpl.ui.xml @@ -0,0 +1,29 @@ + + + + + + .pageTitle { + font-size: 1.066666666666667em; + font-weight: 700; + margin: 0.666666666666667em 0; + } + .infoLabel { + padding: 1em; + font-weight: bold; + font-style: italic; + } + + +
+
+
+ + + + + +
+
\ No newline at end of file