package org.gcube.portlets.user.geoportaldataviewer.client.ui.gallery; import java.util.List; import org.gcube.portlets.user.geoportaldataviewer.shared.products.content.WorkspaceContentDV; import org.gcube.portlets.user.geoportaldataviewer.shared.products.model.UploadedImageDV; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONObject; import com.google.gwt.json.client.JSONString; import com.google.gwt.user.client.ui.HTMLPanel; public class ImagesGallery { HTMLPanel galleryPanel = new HTMLPanel("
"); private List listImages; private native void showGallery(JavaScriptObject json_array_images) /*-{ console.log("showing: " + json_array_images) var waitForJQuery = setInterval( function() { if (typeof $wnd.$ != 'undefined') { $wnd .$("#nanogallery") .nanogallery2( { thumbnailHeight : '200', thumbnailWidth : 'auto', thumbnailAlignment : 'fillWidth', thumbnailDisplayTransition : 'slideDown', thumbnailDisplayTransitionDuration : 500, thumbnailDisplayInterval : 30, // THUMBNAIL'S HOVER ANIMATION thumbnailHoverEffect2 : 'imageScaleIn80', touchAnimation : true, touchAutoOpenDelay : 800, viewerToolbar : { display : true, standard : 'minimizeButton, label', minimized : 'minimizeButton, label, fullscreenButton, downloadButton' }, viewerTools : { topLeft : 'pageCounter', topRight : 'playPauseButton, zoomButton, fullscreenButton, downloadButton, closeButton' }, // DEEP LINKING locationHash : false, items : json_array_images }) clearInterval(waitForJQuery); } }, 200); }-*/; public ImagesGallery(List immagini) { this.listImages = immagini; } public HTMLPanel getGalleryPanel() { return galleryPanel; } public void fillGallery() { JSONArray jsonArray = new JSONArray(); int index = 0; for (UploadedImageDV image : listImages) { for (WorkspaceContentDV imageContent : image.getListWsContent()) { JSONObject json = new JSONObject(); json.put("src", new JSONString(imageContent.getLink())); json.put("srct", new JSONString(imageContent.getLink())); json.put("title", new JSONString(image.getDidascalia())); //json.put("description", new JSONString(image.getDidascalia())); json.put("downloadURL", new JSONString(imageContent.getLink())); jsonArray.set(index, json); index++; } } showGallery(jsonArray.getJavaScriptObject()); } }