geoportal-data-viewer-app/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/products/concessioni/RelazioneScavoView.java

108 lines
3.8 KiB
Java
Raw Normal View History

2020-11-19 15:19:27 +01:00
package org.gcube.portlets.user.geoportaldataviewer.client.ui.products.concessioni;
2021-01-15 15:12:03 +01:00
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;
2020-11-19 15:19:27 +01:00
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants;
import org.gcube.portlets.user.geoportaldataviewer.client.ui.util.CustomFlexTable;
2021-01-15 15:12:03 +01:00
import com.github.gwtbootstrap.client.ui.Button;
2020-11-19 15:19:27 +01:00
import com.github.gwtbootstrap.client.ui.Paragraph;
import com.google.gwt.core.client.GWT;
2021-01-15 15:12:03 +01:00
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
2020-11-19 15:19:27 +01:00
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
2021-01-15 15:12:03 +01:00
import com.google.gwt.user.client.ui.HTML;
2020-11-19 15:19:27 +01:00
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Widget;
public class RelazioneScavoView extends Composite {
2021-01-15 15:12:03 +01:00
private static final String SHOW_ITALIAN_DESCR = "Italian description";
private static final String SHOW_ENGLISH_DESCR = "English description";
2020-11-19 15:19:27 +01:00
private static RelazioneScavoViewUiBinder uiBinder = GWT.create(RelazioneScavoViewUiBinder.class);
interface RelazioneScavoViewUiBinder extends UiBinder<Widget, RelazioneScavoView> {
}
@UiField
HTMLPanel relazioneScavoPanel;
@UiField
2021-01-15 15:12:03 +01:00
Paragraph abstractParagraphIta;
@UiField
Paragraph abstractParagraphEng;
@UiField
2021-01-27 14:31:49 +01:00
Button linkAbstractLanguage;
2020-11-19 15:19:27 +01:00
private CustomFlexTable customTable = new CustomFlexTable();
2021-01-15 15:12:03 +01:00
public RelazioneScavoView(AbstractRelazioneScavoDV abstractDV, RelazioneScavoDV relazioneScavoDV, boolean autheticatedUser) {
2020-11-19 15:19:27 +01:00
initWidget(uiBinder.createAndBindUi(this));
2021-01-15 15:12:03 +01:00
if(abstractDV.getAbstractSectionIta()!=null) {
abstractParagraphIta.setText(abstractDV.getAbstractSectionIta());
if(abstractDV.getAbstractSectionEng()!=null) {
2021-01-27 14:31:49 +01:00
linkAbstractLanguage.setVisible(true);
2021-01-15 15:12:03 +01:00
abstractParagraphEng.setText(abstractDV.getAbstractSectionEng());
2021-01-27 14:31:49 +01:00
linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR);
2021-01-15 15:12:03 +01:00
}
}
2020-11-19 15:19:27 +01:00
//customTable.addNextKeyValue("Created", relazioneScavoDV.getCreationTime());
2020-12-09 14:28:32 +01:00
//customTable.addNextKeyValue("ID Licenza", relazioneScavoDV.getLicenseID());
2020-11-19 15:19:27 +01:00
customTable.addNextKeyValues("Responsabili", relazioneScavoDV.getResponsabili(), GeoportalDataViewerConstants.NEW_LINE_BR);
2021-01-15 15:12:03 +01:00
2021-01-27 14:31:49 +01:00
linkAbstractLanguage.addClickHandler(new ClickHandler() {
2021-01-15 15:12:03 +01:00
@Override
public void onClick(ClickEvent event) {
2021-01-27 14:31:49 +01:00
GWT.log("Clicked");
2021-01-15 15:12:03 +01:00
if(abstractParagraphIta.isVisible()) {
2021-01-27 14:31:49 +01:00
linkAbstractLanguage.setText(SHOW_ITALIAN_DESCR);
2021-01-15 15:12:03 +01:00
abstractParagraphIta.setVisible(false);
abstractParagraphEng.setVisible(true);
}else {
2021-01-27 14:31:49 +01:00
linkAbstractLanguage.setText(SHOW_ENGLISH_DESCR);
2021-01-15 15:12:03 +01:00
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());
}
}
2020-11-19 15:19:27 +01:00
relazioneScavoPanel.add(customTable);
}
2021-01-15 15:12:03 +01:00
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>"));
}
}
2020-11-19 15:19:27 +01:00
}