package org.gcube.portlets.user.geoportaldataviewer.client.ui.products.concessioni; import java.util.List; import org.gcube.application.geoportalcommon.shared.products.content.WorkspaceContentDV; import org.gcube.application.geoportalcommon.shared.products.model.AbstractRelazioneScavoDV; import org.gcube.application.geoportalcommon.shared.products.model.RelazioneScavoDV; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; import org.gcube.portlets.user.geoportaldataviewer.client.ui.util.CustomFlexTable; import com.github.gwtbootstrap.client.ui.Button; import com.github.gwtbootstrap.client.ui.Paragraph; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; 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.HTML; import com.google.gwt.user.client.ui.HTMLPanel; import com.google.gwt.user.client.ui.Widget; public class RelazioneScavoView extends Composite { private static final String SHOW_ITALIAN_DESCR = "Italian description"; private static final String SHOW_ENGLISH_DESCR = "English description"; private static RelazioneScavoViewUiBinder uiBinder = GWT.create(RelazioneScavoViewUiBinder.class); interface RelazioneScavoViewUiBinder extends UiBinder { } @UiField HTMLPanel relazioneScavoPanel; @UiField Paragraph abstractParagraphIta; @UiField Paragraph abstractParagraphEng; @UiField Button linkAbstractLanguage; private CustomFlexTable customTable = new CustomFlexTable(); public RelazioneScavoView(AbstractRelazioneScavoDV abstractRelazioneDV, RelazioneScavoDV relazioneScavoDV) { initWidget(uiBinder.createAndBindUi(this)); GWT.log("Showing abstract: "+abstractRelazioneDV); GWT.log("Showing relazioneScavoDV: "+relazioneScavoDV); if (abstractRelazioneDV != null) { relazioneScavoPanel.setVisible(true); if (abstractRelazioneDV.getAbstractSectionIta() != null) { abstractParagraphIta.setText(abstractRelazioneDV.getAbstractSectionIta()); if (abstractRelazioneDV.getAbstractSectionEng() != null) { linkAbstractLanguage.setVisible(true); abstractParagraphEng.setText(abstractRelazioneDV.getAbstractSectionEng()); linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR); } } showLinkToDownloadWsContent("Abstract Relazione", abstractRelazioneDV.getListWsContent()); } linkAbstractLanguage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { GWT.log("Clicked"); if (abstractParagraphIta.isVisible()) { linkAbstractLanguage.setText(SHOW_ITALIAN_DESCR); abstractParagraphIta.setVisible(false); abstractParagraphEng.setVisible(true); } else { linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR); abstractParagraphIta.setVisible(true); abstractParagraphEng.setVisible(false); } } }); if (relazioneScavoDV != null) { relazioneScavoPanel.setVisible(true); // customTable.addNextKeyValue("Created", relazioneScavoDV.getCreationTime()); // customTable.addNextKeyValue("ID Licenza", relazioneScavoDV.getLicenseID()); customTable.addNextKeyValues("Responsabili", relazioneScavoDV.getResponsabili(), GeoportalDataViewerConstants.NEW_LINE_BR); showLinkToDownloadWsContent("Relazione", relazioneScavoDV.getListWsContent()); } relazioneScavoPanel.add(customTable); } private void showLinkToDownloadWsContent(String title, List listContent) { if (listContent != null) { int i = 0; String fieldLabel = title; for (WorkspaceContentDV workspaceContentDV : listContent) { if (i > 0) { fieldLabel = ""; } String downloadLabel = "download"; if(workspaceContentDV.getName()!=null) { downloadLabel = workspaceContentDV.getName(); } customTable.addNextKeyWidget(fieldLabel, new HTML( "" + downloadLabel + "")); } } } }