Project

General

Profile

1
package eu.dnetlib.repo.manager.client.datasources.register;
2

    
3
import com.google.gwt.core.client.GWT;
4
import com.google.gwt.dom.client.Document;
5
import com.google.gwt.user.client.Window;
6
import com.google.gwt.user.client.ui.FlowPanel;
7
import com.google.gwt.user.client.ui.HTML;
8
import com.google.gwt.user.client.ui.Widget;
9
import eu.dnetlib.gwt.client.help.HelpHelper;
10
import eu.dnetlib.gwt.client.help.HelpService;
11
import eu.dnetlib.gwt.client.help.HelpServiceAsync;
12
import eu.dnetlib.repo.manager.client.HelpCallback;
13
import eu.dnetlib.repo.manager.client.RepositoryManagerWidget;
14
import org.gwtbootstrap3.client.ui.Anchor;
15

    
16
/**
17
 * Created by stefania on 12/7/15.
18
 */
19
public class SelectRepositoryTypeWidget implements RepositoryManagerWidget {
20

    
21
    private static SelectRepositoryTypeWidget instance = null;
22

    
23
    private String parentToken = "";
24
    private String restToken = "";
25

    
26
    private FlowPanel selectRepositoryTypePanel = new FlowPanel();
27

    
28
    private FlowPanel colPanel = new FlowPanel();
29
    private FlowPanel helpPanel = new FlowPanel();
30

    
31
    private static HelpServiceAsync helpService = GWT.create(HelpService.class);
32

    
33
    private SelectRepositoryTypeWidget() {
34

    
35
        selectRepositoryTypePanel.addStyleName("row");
36

    
37
        colPanel.addStyleName("col-lg-12");
38
        selectRepositoryTypePanel.add(colPanel);
39

    
40
        FlowPanel wrapperPanel = new FlowPanel();
41
        wrapperPanel.addStyleName("wrapper wrapper-content animated fadeInUp");
42
        colPanel.add(wrapperPanel);
43

    
44
        FlowPanel rowPanel = new FlowPanel();
45
        rowPanel.addStyleName("row");
46
        wrapperPanel.add(rowPanel);
47

    
48
        Anchor literatureType = new Anchor();
49
        literatureType.setHTML("<div class=\"col-md-3\"><div class=\"ibox\"><div class=\"ibox-content product-box\">" +
50
                "<div class=\"product-imitation\"><img width=\"100%\" height=\"100%\" src=\"img/Literature_repos_square.png\">" +
51
                "</div><div class=\"product-desc\"><small class=\"text-muted\">" +
52
                "Add new</small><span class=\"product-name\"> Literature Repository</span>" +
53
                "<div class=\"small m-t-xs text-right\"><a href=\"http://www.opendoar.org\" target=\"_blank\">List provided " +
54
                "by <br>OpenDOAR<i class=\"fa fa-external-link\" style=\"margin-left:3px\"></i></a></div>" +
55
                "</div></div></div></div>");
56
        literatureType.addStyleName("linkBox");
57
        literatureType.setHref("#registerDatasource/literature");
58
        rowPanel.add(literatureType);
59

    
60
        Anchor dataType = new Anchor();
61
        dataType.setHTML("<div class=\"col-md-3\"><div class=\"ibox\"><div class=\"ibox-content product-box\">" +
62
                "<div class=\"product-imitation\"><img width=\"100%\" height=\"100%\" src=\"img/Data_repos_sqare.png\">" +
63
                "</div><div class=\"product-desc\"><small class=\"text-muted\">" +
64
                "Add new</small><span class=\"product-name\"> Data Repository</span>" +
65
                "<div class=\"small m-t-xs text-right\"><a href=\"http://http://www.re3data.org\" target=\"_blank\">List provided " +
66
                "by <br>Re3data<i class=\"fa fa-external-link\" style=\"margin-left:3px\"></i></a></div>" +
67
                "</div></div></div></div>");
68
        dataType.addStyleName("linkBox");
69
        dataType.setHref("#registerDatasource/data");
70
        rowPanel.add(dataType);
71

    
72
        Anchor journalType = new Anchor();
73
        journalType.setHTML("<div class=\"col-md-3\"><div class=\"ibox\"><div class=\"ibox-content product-box\">" +
74
                "<div class=\"product-imitation\"><img width=\"100%\" height=\"100%\" src=\"img/OAJournals_square.png\">" +
75
                "</div><div class=\"product-desc\"><small class=\"text-muted\">" +
76
                "Add new</small><span class=\"product-name\"> Journal</span>" +
77
                "<div class=\"small m-t-xs\">Lorem ipsum dolor sit amet, consectetur adipiscing elit...</div>" +
78
                "</div></div></div></div>");
79
        journalType.addStyleName("linkBox");
80
        journalType.setHref("#registerDatasource/journal");
81
        rowPanel.add(journalType);
82

    
83
        Anchor aggregatorType = new Anchor();
84
        aggregatorType.setHTML("<div class=\"col-md-3\"><div class=\"ibox\"><div class=\"ibox-content product-box\">" +
85
                "<div class=\"product-imitation\"><img width=\"100%\" height=\"100%\" src=\"img/Icons_Aggregators_square.png\">" +
86
                "</div><div class=\"product-desc\"><small class=\"text-muted\">" +
87
                "Add new</small><span class=\"product-name\"> Aggregator</span>" +
88
                "<div class=\"small m-t-xs\">Lorem ipsum dolor sit amet, consectetur adipiscing elit...</div>" +
89
                "</div></div></div></div>");
90
        aggregatorType.addStyleName("linkBox");
91
        aggregatorType.setHref("#registerDatasource/aggregator");
92
        rowPanel.add(aggregatorType);
93
    }
94

    
95
    public static final SelectRepositoryTypeWidget getInstance() {
96

    
97
        if(instance==null)
98
            instance = new SelectRepositoryTypeWidget();
99

    
100
        return instance;
101
    }
102

    
103
    @Override
104
    public void clear() {
105
        selectRepositoryTypePanel.remove(helpPanel);
106
    }
107

    
108
    @Override
109
    public void reload() {
110
        Document.get().getElementById("page-wrapper").removeClassName("sidebar-content");
111
        helpService.getHelpById(parentToken, new HelpCallback(colPanel, helpPanel, selectRepositoryTypePanel));
112
    }
113

    
114
    @Override
115
    public void setToken(String parentToken, String rest) {
116
        this.parentToken = parentToken;
117
        this.restToken = rest;
118
    }
119

    
120
    @Override
121
    public void afterAdditionToRootPanel() {
122

    
123
    }
124

    
125
    @Override
126
    public Widget asWidget() {
127
        return selectRepositoryTypePanel;
128
    }
129
}
(6-6/6)