1
|
package eu.dnetlib.client.fundingrequest.newrequest.summarystep;
|
2
|
|
3
|
import com.github.gwtbootstrap.client.ui.base.IconAnchor;
|
4
|
import com.google.gwt.event.dom.client.ClickEvent;
|
5
|
import com.google.gwt.event.dom.client.ClickHandler;
|
6
|
import com.google.gwt.user.client.ui.*;
|
7
|
import eu.dnetlib.client.fundingrequest.stepinfo.JournalSummaryInfo;
|
8
|
import eu.dnetlib.client.fundingrequest.stepinfo.PublicationFullInfo;
|
9
|
import eu.dnetlib.client.fundingrequest.stepinfo.PublisherFullInfo;
|
10
|
import eu.dnetlib.goldoa.domain.*;
|
11
|
|
12
|
/**
|
13
|
* Created by stefania on 3/25/15.
|
14
|
*/
|
15
|
public class PublicationSummaryWidget implements IsWidget {
|
16
|
|
17
|
private FlowPanel publicationSummaryPanel = new FlowPanel();
|
18
|
|
19
|
private FlowPanel publicationInnerPanel = new FlowPanel();
|
20
|
private FlowPanel publicationInfoPanel = new FlowPanel();
|
21
|
|
22
|
private IconAnchor editAnchor = new IconAnchor();
|
23
|
|
24
|
private EditPublicationListener editPublicationListener;
|
25
|
|
26
|
public PublicationSummaryWidget(Publication publication) {
|
27
|
|
28
|
publicationInnerPanel.addStyleName("uk-panel");
|
29
|
publicationInnerPanel.addStyleName("uk-panel-box");
|
30
|
|
31
|
FlowPanel thumbnail = new FlowPanel();
|
32
|
thumbnail.addStyleName("uk-thumbnail");
|
33
|
thumbnail.addStyleName("uk-align-medium-left");
|
34
|
thumbnail.add(new HTML("<img width=\"100\" height=\"150\" alt=\"Publication\" title=\"Publication\" " +
|
35
|
"src=\"http://3stagemarketing.com/wp-content/uploads/2012/02/article-marketing-service.gif\">"));
|
36
|
publicationInnerPanel.add(thumbnail);
|
37
|
|
38
|
publicationInfoPanel.addStyleName("uk-nbfc");
|
39
|
|
40
|
PublicationFullInfo publicationFullInfo = new PublicationFullInfo(publication);
|
41
|
publicationInfoPanel.add(publicationFullInfo.asWidget());
|
42
|
|
43
|
if(publication.getJournal()!=null) {
|
44
|
JournalSummaryInfo journalSummaryInfo = new JournalSummaryInfo(publication.getJournal());
|
45
|
publicationInfoPanel.add(journalSummaryInfo.asWidget());
|
46
|
}
|
47
|
|
48
|
if(publication.getPublisher()!=null) {
|
49
|
PublisherFullInfo publisherFullInfo = new PublisherFullInfo(publication.getPublisher());
|
50
|
publicationInfoPanel.add(publisherFullInfo.asWidget());
|
51
|
}
|
52
|
|
53
|
editAnchor.setText("(Edit Info)");
|
54
|
editAnchor.addStyleName("editInfo");
|
55
|
editAnchor.addClickHandler(new ClickHandler() {
|
56
|
@Override
|
57
|
public void onClick(ClickEvent clickEvent) {
|
58
|
if(editPublicationListener !=null)
|
59
|
editPublicationListener.editClicked(2);
|
60
|
}
|
61
|
});
|
62
|
publicationInfoPanel.add(editAnchor);
|
63
|
|
64
|
publicationInnerPanel.add(publicationInfoPanel);
|
65
|
|
66
|
publicationSummaryPanel.add(publicationInnerPanel);
|
67
|
}
|
68
|
|
69
|
@Override
|
70
|
public Widget asWidget() {
|
71
|
return publicationSummaryPanel;
|
72
|
}
|
73
|
|
74
|
public interface EditPublicationListener {
|
75
|
public void editClicked(int stepNumber);
|
76
|
}
|
77
|
|
78
|
public void setEditPublicationListener(EditPublicationListener editPublicationListener) {
|
79
|
this.editPublicationListener = editPublicationListener;
|
80
|
}
|
81
|
|
82
|
public void addStyleName(String styleName) {
|
83
|
publicationSummaryPanel.addStyleName(styleName);
|
84
|
}
|
85
|
}
|