1 |
36747
|
stefania.m
|
package eu.dnetlib.client.fundingrequest.stepinfo;
|
2 |
|
|
|
3 |
|
|
import com.google.gwt.event.dom.client.MouseOverEvent;
|
4 |
|
|
import com.google.gwt.event.dom.client.MouseOverHandler;
|
5 |
|
|
import com.google.gwt.i18n.client.DateTimeFormat;
|
6 |
|
|
import com.google.gwt.user.client.ui.HTML;
|
7 |
|
|
import com.google.gwt.user.client.ui.IsWidget;
|
8 |
|
|
import com.google.gwt.user.client.ui.Widget;
|
9 |
46067
|
panagiotis
|
import eu.dnetlib.goldoa.domain.*;
|
10 |
36747
|
stefania.m
|
|
11 |
|
|
/**
|
12 |
|
|
* Created by stefania on 4/27/15.
|
13 |
|
|
*/
|
14 |
|
|
public class PublicationChronologyInfo implements IsWidget {
|
15 |
|
|
|
16 |
|
|
private HTML publicationInfo = new HTML();
|
17 |
|
|
private String publicationInfoContents = "";
|
18 |
|
|
|
19 |
|
|
private DateTimeFormat dtf = DateTimeFormat.getFormat("yyyy/MM/dd");
|
20 |
|
|
|
21 |
|
|
public PublicationChronologyInfo(Publication publication) {
|
22 |
|
|
|
23 |
|
|
publicationInfoContents = "<div>";
|
24 |
|
|
|
25 |
|
|
publicationInfoContents += "<dl><dt class=\"chronologySubTitle\">PUBLICATION</dt></dl>";
|
26 |
|
|
|
27 |
|
|
if(publication.getTitle()!=null && !publication.getTitle().trim().equals("")) {
|
28 |
|
|
if (publication.getTitle().length() > 50)
|
29 |
|
|
publicationInfoContents += "<dd>" + publication.getTitle().substring(0, 50) + " ... </dd>";
|
30 |
|
|
else
|
31 |
|
|
publicationInfoContents += "<dd>" + publication.getTitle() + "</dd>";
|
32 |
|
|
}
|
33 |
|
|
|
34 |
|
|
publicationInfoContents += "</div>";
|
35 |
|
|
publicationInfo.setHTML(publicationInfoContents);
|
36 |
|
|
|
37 |
|
|
addMouseOverInfo(publication);
|
38 |
|
|
}
|
39 |
|
|
|
40 |
|
|
@Override
|
41 |
|
|
public Widget asWidget() {
|
42 |
|
|
return publicationInfo;
|
43 |
|
|
}
|
44 |
|
|
|
45 |
|
|
public void addStyleName(String styleName) {
|
46 |
|
|
publicationInfo.addStyleName(styleName);
|
47 |
|
|
}
|
48 |
|
|
|
49 |
|
|
private void addMouseOverInfo(final Publication publication) {
|
50 |
|
|
|
51 |
|
|
publicationInfo.addMouseOverHandler(new MouseOverHandler() {
|
52 |
|
|
@Override
|
53 |
|
|
public void onMouseOver(MouseOverEvent mouseOverEvent) {
|
54 |
|
|
|
55 |
|
|
String tooltipText = "";
|
56 |
|
|
|
57 |
|
|
if(publication.getTitle()!=null && !publication.getTitle().trim().equals(""))
|
58 |
|
|
tooltipText += publication.getTitle() + "\n";
|
59 |
|
|
|
60 |
45991
|
panagiotis
|
if(publication.getType().equals(PublicationType.CONFERENCE_PROCS)
|
61 |
|
|
&& publication.getEventdetails()!=null && !publication.getEventdetails().trim().isEmpty())
|
62 |
|
|
tooltipText += publication.getEventdetails() + "\n";
|
63 |
42559
|
stefania.m
|
|
64 |
36747
|
stefania.m
|
if(publication.getDoi()!=null && !publication.getDoi().trim().equals(""))
|
65 |
|
|
tooltipText += publication.getDoi() + "\n";
|
66 |
|
|
|
67 |
|
|
if(!publication.getAuthors().isEmpty()) {
|
68 |
|
|
|
69 |
46067
|
panagiotis
|
for(Author author : publication.getAuthors()) {
|
70 |
|
|
tooltipText += author.getFirstname();
|
71 |
|
|
if(author.getInitials()!=null && !author.getInitials().trim().equals(""))
|
72 |
|
|
tooltipText += " " + author.getInitials().trim();
|
73 |
|
|
tooltipText += " " + author.getLastname() + ", ";
|
74 |
36747
|
stefania.m
|
}
|
75 |
|
|
|
76 |
|
|
tooltipText = tooltipText.substring(0, tooltipText.length()-2);
|
77 |
|
|
tooltipText += "\n";
|
78 |
|
|
}
|
79 |
|
|
|
80 |
45991
|
panagiotis
|
if(publication.getDate()!=null)
|
81 |
|
|
tooltipText += dtf.format(publication.getDate()) + "\n";
|
82 |
36747
|
stefania.m
|
|
83 |
45991
|
panagiotis
|
if(publication.getAcceptancedate()!=null)
|
84 |
|
|
tooltipText += dtf.format(publication.getAcceptancedate()) + "\n";
|
85 |
36747
|
stefania.m
|
|
86 |
45991
|
panagiotis
|
if(publication.getType().equals(PublicationType.ARTICLE))
|
87 |
36747
|
stefania.m
|
tooltipText += "Article\n";
|
88 |
45991
|
panagiotis
|
else if(publication.getType().equals(PublicationType.MONOGRAPH))
|
89 |
40567
|
stefania.m
|
tooltipText += "Book\n";
|
90 |
45991
|
panagiotis
|
else if(publication.getType().equals(PublicationType.CONFERENCE_PROCS))
|
91 |
42559
|
stefania.m
|
tooltipText += "Conference Procs\n";
|
92 |
36747
|
stefania.m
|
else
|
93 |
40567
|
stefania.m
|
tooltipText += "Book chapter\n";
|
94 |
36747
|
stefania.m
|
|
95 |
|
|
if(publication.getLanguages()!=null && !publication.getLanguages().trim().equals(""))
|
96 |
|
|
tooltipText += publication.getLanguages() + "\n";
|
97 |
|
|
|
98 |
|
|
if(publication.getSubjects()!=null && !publication.getSubjects().trim().equals(""))
|
99 |
|
|
tooltipText += publication.getSubjects() + "\n";
|
100 |
|
|
|
101 |
45991
|
panagiotis
|
if(!publication.getPublicationIdentifiers().isEmpty()) {
|
102 |
36747
|
stefania.m
|
|
103 |
45991
|
panagiotis
|
for(Identifier publicationIdentifier : publication.getPublicationIdentifiers()) {
|
104 |
36747
|
stefania.m
|
tooltipText += publicationIdentifier.getType() + " - " + publicationIdentifier.getValue() + "\n";
|
105 |
|
|
}
|
106 |
|
|
}
|
107 |
|
|
|
108 |
|
|
tooltipText += "Deposited to: ";
|
109 |
|
|
if(publication.getRepository()!=null && !publication.getRepository().equals(""))
|
110 |
|
|
tooltipText += publication.getRepository();
|
111 |
|
|
else
|
112 |
|
|
tooltipText += "unknown";
|
113 |
|
|
tooltipText += "\n";
|
114 |
|
|
|
115 |
|
|
publicationInfo.setTitle(tooltipText);
|
116 |
|
|
}
|
117 |
|
|
});
|
118 |
|
|
}
|
119 |
|
|
}
|