Project

General

Profile

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=\"80\" 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
}
(3-3/5)