Project

General

Profile

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

    
3
import com.google.gwt.event.dom.client.ClickEvent;
4
import com.google.gwt.event.dom.client.ClickHandler;
5
import com.google.gwt.user.client.ui.*;
6
import com.google.gwt.user.client.ui.Anchor;
7
import eu.dnetlib.domain.data.Repository;
8
import eu.dnetlib.repo.manager.client.datasources.utils.RepositoryInformationFormWidget;
9
import eu.dnetlib.repo.manager.client.datasources.utils.RepositoryInterfacesFormWidget;
10
import eu.dnetlib.repo.manager.shared.DatasourceVocabularies;
11
import org.gwtbootstrap3.client.ui.*;
12
import org.gwtbootstrap3.client.ui.TabPanel;
13
import org.gwtbootstrap3.client.ui.html.OrderedList;
14
import org.gwtbootstrap3.client.ui.html.UnorderedList;
15

    
16
/**
17
 * Created by stefania on 1/15/16.
18
 */
19
public class UpdateRepositoryForm implements IsWidget {
20

    
21
    private FlowPanel updateRepositoryFormPanel = new FlowPanel();
22

    
23
    ListItem listItem1 = new ListItem();
24
    ListItem listItem2 = new ListItem();
25

    
26
    ListItem updateInformationContent = new ListItem();
27
    ListItem updateInterfacesContent = new ListItem();
28

    
29
    private RepositoryInformationFormWidget repositoryInformationFormWidget;
30
    private RepositoryInterfacesFormWidget repositoryInterfacesFormWidget;
31

    
32
    public UpdateRepositoryForm(String mode, DatasourceVocabularies datasourceVocabularies, Repository repository) {
33

    
34
        UnorderedList tabTitles = new UnorderedList();
35
        tabTitles.addStyleName("uk-margin el-nav uk-tab");
36

    
37
        listItem1.addStyleName("uk-active");
38
        Anchor anchor1 = new Anchor("Update Information");
39
        anchor1.addClickHandler(new ClickHandler() {
40
            @Override
41
            public void onClick(ClickEvent event) {
42
                listItem1.addStyleName("uk-active");
43
                listItem2.removeStyleName("uk-active");
44
                updateInformationContent.addStyleName("uk-active");
45
                updateInterfacesContent.removeStyleName("uk-active");
46
            }
47
        });
48
        listItem1.add(anchor1);
49
        tabTitles.add(listItem1);
50

    
51
        Anchor anchor2 = new Anchor("Update Interfaces");
52
        anchor2.addClickHandler(new ClickHandler() {
53
            @Override
54
            public void onClick(ClickEvent event) {
55
                listItem2.addStyleName("uk-active");
56
                listItem1.removeStyleName("uk-active");
57
                updateInterfacesContent.addStyleName("uk-active");
58
                updateInformationContent.removeStyleName("uk-active");
59
            }
60
        });
61
        listItem2.add(anchor2);
62
        tabTitles.add(listItem2);
63

    
64
        updateRepositoryFormPanel.add(tabTitles);
65

    
66

    
67
        UnorderedList tabContent = new UnorderedList();
68
        tabContent.addStyleName("uk-switcher");
69

    
70
        updateInformationContent.addStyleName("el-item uk-active");
71
        tabContent.add(updateInformationContent);
72

    
73
        updateInterfacesContent.addStyleName("el-item");
74
        tabContent.add(updateInterfacesContent);
75

    
76
        updateRepositoryFormPanel.add(tabContent);
77

    
78
        repositoryInformationFormWidget = new RepositoryInformationFormWidget(mode, datasourceVocabularies, true);
79
        repositoryInformationFormWidget.loadRepository(repository);
80
        updateInformationContent.add(repositoryInformationFormWidget.asWidget());
81

    
82
        repositoryInterfacesFormWidget = new RepositoryInterfacesFormWidget(mode, true, datasourceVocabularies.getCompatibilityLevels(), true);
83
        repositoryInterfacesFormWidget.setRepositoryId(repository.getId());
84
        repositoryInterfacesFormWidget.loadRepositoryInterfaces(repository.getInterfaces(), repository.getId());
85
        updateInterfacesContent.add(repositoryInterfacesFormWidget.asWidget());
86
    }
87

    
88
    @Override
89
    public Widget asWidget() {
90
        return updateRepositoryFormPanel;
91
    }
92
}
(3-3/4)