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\">[ IMAGE / INFO ]</div><div class=\"product-desc\"><small class=\"text-muted\">" +
51
                "Add new</small><span class=\"product-name\"> Literature Repository</span>" +
52
                "<div class=\"small m-t-xs text-right\"><a href=\"http://www.opendoar.org\" target=\"_blank\">List provided " +
53
                "by <br>OpenDOAR<i class=\"fa fa-external-link\" style=\"margin-left:3px\"></i></a></div>" +
54
                "</div></div></div></div>");
55
        literatureType.addStyleName("linkBox");
56
        literatureType.setHref("#registerDatasource/literature");
57
        rowPanel.add(literatureType);
58

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

    
70
        Anchor journalType = new Anchor();
71
        journalType.setHTML("<div class=\"col-md-3\"><div class=\"ibox\"><div class=\"ibox-content product-box\">" +
72
                "<div class=\"product-imitation\">[ IMAGE / INFO ]</div><div class=\"product-desc\"><small class=\"text-muted\">" +
73
                "Add new</small><span class=\"product-name\"> Journal</span>" +
74
                "<div class=\"small m-t-xs\">Lorem ipsum dolor sit amet, consectetur adipiscing elit...</div>" +
75
                "</div></div></div></div>");
76
        journalType.addStyleName("linkBox");
77
        journalType.setHref("#registerDatasource/journal");
78
        rowPanel.add(journalType);
79

    
80
        Anchor aggregatorType = new Anchor();
81
        aggregatorType.setHTML("<div class=\"col-md-3\"><div class=\"ibox\"><div class=\"ibox-content product-box\">" +
82
                "<div class=\"product-imitation\">[ IMAGE / INFO ]</div><div class=\"product-desc\"><small class=\"text-muted\">" +
83
                "Add new</small><span class=\"product-name\"> Aggregator</span>" +
84
                "<div class=\"small m-t-xs\">Lorem ipsum dolor sit amet, consectetur adipiscing elit...</div>" +
85
                "</div></div></div></div>");
86
        aggregatorType.addStyleName("linkBox");
87
        aggregatorType.setHref("#registerDatasource/aggregator");
88
        rowPanel.add(aggregatorType);
89
    }
90

    
91
    public static final SelectRepositoryTypeWidget getInstance() {
92

    
93
        if(instance==null)
94
            instance = new SelectRepositoryTypeWidget();
95

    
96
        return instance;
97
    }
98

    
99
    @Override
100
    public void clear() {
101
        selectRepositoryTypePanel.remove(helpPanel);
102
    }
103

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

    
110
    @Override
111
    public void setToken(String parentToken, String rest) {
112
        this.parentToken = parentToken;
113
        this.restToken = rest;
114
    }
115

    
116
    @Override
117
    public void afterAdditionToRootPanel() {
118

    
119
    }
120

    
121
    @Override
122
    public Widget asWidget() {
123
        return selectRepositoryTypePanel;
124
    }
125
}
(6-6/6)