You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
geoportal-data-viewer-app/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.java

108 lines
3.8 KiB
Java

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<Widget, RelazioneScavoView> {
}
@UiField
HTMLPanel relazioneScavoPanel;
@UiField
Paragraph abstractParagraphIta;
@UiField
Paragraph abstractParagraphEng;
@UiField
Button linkAbstractLanguage;
private CustomFlexTable customTable = new CustomFlexTable();
public RelazioneScavoView(AbstractRelazioneScavoDV abstractDV, RelazioneScavoDV relazioneScavoDV, boolean autheticatedUser) {
initWidget(uiBinder.createAndBindUi(this));
if(abstractDV.getAbstractSectionIta()!=null) {
abstractParagraphIta.setText(abstractDV.getAbstractSectionIta());
if(abstractDV.getAbstractSectionEng()!=null) {
linkAbstractLanguage.setVisible(true);
abstractParagraphEng.setText(abstractDV.getAbstractSectionEng());
linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR);
}
}
//customTable.addNextKeyValue("Created", relazioneScavoDV.getCreationTime());
//customTable.addNextKeyValue("ID Licenza", relazioneScavoDV.getLicenseID());
customTable.addNextKeyValues("Responsabili", relazioneScavoDV.getResponsabili(), GeoportalDataViewerConstants.NEW_LINE_BR);
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);
}
}
});
//Showing the Download PFD relazione accoding to policy
if(relazioneScavoDV.getPolicy()==null || relazioneScavoDV.getPolicy().equalsIgnoreCase("OPEN")) {
relazioneScavoPanel.setVisible(true);
showLintToDownloadLastContent(relazioneScavoDV.getListWsContent());
//DOWNLOAD RS
}else {
//I need to be authenticated to show the fields according to POLICY
if(autheticatedUser) {
showLintToDownloadLastContent(relazioneScavoDV.getListWsContent());
}
}
relazioneScavoPanel.add(customTable);
}
private void showLintToDownloadLastContent(List<WorkspaceContentDV> listContent) {
if(listContent!=null) {
int size = listContent.size();
WorkspaceContentDV lastDoc = listContent.get(size-1);
customTable.addNextKeyWidget("PDF Relazione", new HTML("<a href=\""+lastDoc.getLink()+"\">download</a>"));
}
}
}