Project

General

Profile

1
package eu.dnetlib.client;
2

    
3
import com.github.gwtbootstrap.client.ui.Breadcrumbs;
4
import com.github.gwtbootstrap.client.ui.NavLink;
5
import com.google.gwt.core.client.GWT;
6
import com.google.gwt.event.dom.client.ClickEvent;
7
import com.google.gwt.event.dom.client.ClickHandler;
8
import com.google.gwt.user.client.History;
9
import com.google.gwt.user.client.Window;
10
import com.google.gwt.user.client.ui.IsWidget;
11
import com.google.gwt.user.client.ui.Widget;
12

    
13
import java.util.HashMap;
14
import java.util.Map;
15

    
16
/**
17
 * Created by stefania on 3/6/15.
18
 */
19
public class BreadcrumbsMenu implements IsWidget {
20

    
21
    private Breadcrumbs breadcrumbsMenu = new Breadcrumbs();
22

    
23
    private NavLink home = new NavLink();
24
    private NavLink newFundingRequest = new NavLink();
25
    private NavLink existingFundingRequests = new NavLink();
26
    private NavLink newBudgetRequest = new NavLink();
27
    private NavLink monitor = new NavLink();
28
    private NavLink help = new NavLink();
29

    
30
    private NavLink login = new NavLink();
31
    private NavLink register = new NavLink();
32
    private NavLink myAccount = new NavLink();
33
    private NavLink editAccountInfo = new NavLink();
34

    
35
    private Map<String, NavLink> breadcrumbLinksMap = new HashMap<>();
36

    
37
    public BreadcrumbsMenu() {
38

    
39
        breadcrumbsMenu.setDivider("|");
40

    
41
        home.setText("HOME");
42
        home.setHref("#home");
43
        home.addClickHandler(new ClickHandler() {
44
            @Override
45
            public void onClick(ClickEvent clickEvent) {
46
                History.newItem("home");
47
            }
48
        });
49

    
50
        newFundingRequest.setHref("#newFundingRequest");
51
        newFundingRequest.setText("NEW FUNDING REQUEST");
52
        newFundingRequest.addClickHandler(new ClickHandler() {
53
            @Override
54
            public void onClick(ClickEvent clickEvent) {
55
                History.newItem("newFundingRequest");
56
            }
57
        });
58

    
59
        newBudgetRequest.setHref("#newBudgetRequest");
60
        newBudgetRequest.setText("NEW BUDGET REQUEST");
61
        newBudgetRequest.addClickHandler(new ClickHandler() {
62
            @Override
63
            public void onClick(ClickEvent clickEvent) {
64
                History.newItem("newBudgetRequest");
65
            }
66
        });
67

    
68
        existingFundingRequests.setHref("#existingFundingRequests");
69
        existingFundingRequests.setText("EXISTING FUNDING REQUESTS");
70
        existingFundingRequests.addClickHandler(new ClickHandler() {
71
            @Override
72
            public void onClick(ClickEvent clickEvent) {
73
                History.newItem("existingFundingRequests");
74
            }
75
        });
76

    
77
        monitor.setHref("#monitor");
78
        monitor.setText("MONITOR");
79
        monitor.addClickHandler(new ClickHandler() {
80
            @Override
81
            public void onClick(ClickEvent clickEvent) {
82
                History.newItem("monitor");
83
            }
84
        });
85

    
86
        help.setHref("#help");
87
        help.setText("HELP");
88
        help.addClickHandler(new ClickHandler() {
89
            @Override
90
            public void onClick(ClickEvent clickEvent) {
91
                History.newItem("help");
92
            }
93
        });
94

    
95
        login.setHref("#login");
96
        login.setText("LOGIN");
97
        login.addClickHandler(new ClickHandler() {
98
            @Override
99
            public void onClick(ClickEvent clickEvent) {
100
                History.newItem("login");
101
            }
102
        });
103

    
104
        register.setHref("#register");
105
        register.setText("REGISTER");
106
        register.addClickHandler(new ClickHandler() {
107
            @Override
108
            public void onClick(ClickEvent clickEvent) {
109
                History.newItem("register");
110
            }
111
        });
112

    
113
        myAccount.setHref("#myAccount");
114
        myAccount.setText("MY ACCOUNT");
115
        myAccount.addClickHandler(new ClickHandler() {
116
            @Override
117
            public void onClick(ClickEvent clickEvent) {
118
                History.newItem("myAccount");
119
            }
120
        });
121

    
122
        editAccountInfo.setHref("#editAccountInfo");
123
        editAccountInfo.setText("EDIT INFO");
124
        editAccountInfo.addClickHandler(new ClickHandler() {
125
            @Override
126
            public void onClick(ClickEvent clickEvent) {
127
                History.newItem("editAccountInfo");
128
            }
129
        });
130

    
131
        createBreadcrumbsMap();
132
    }
133

    
134
    @Override
135
    public Widget asWidget() {
136
        return breadcrumbsMenu;
137
    }
138

    
139
    public void updateBreadcrumbsMenu(String token) {
140

    
141
        String[] tokenParts = token.split("\\.");
142
        String menuToken = tokenParts[0];
143

    
144
        breadcrumbsMenu.clear();
145
        if(!menuToken.equals("home")) {
146
            if(breadcrumbLinksMap.get(menuToken)!=null) {
147
                breadcrumbsMenu.add(home);
148
                if(menuToken.equals("editAccountInfo"))
149
                    breadcrumbsMenu.add(myAccount);
150
                breadcrumbsMenu.add(breadcrumbLinksMap.get(menuToken));
151
            }
152
        }
153
    }
154

    
155
    private void createBreadcrumbsMap() {
156

    
157
        breadcrumbLinksMap.put("newFundingRequest", newFundingRequest);
158
        breadcrumbLinksMap.put("newBudgetRequest", newBudgetRequest);
159
        breadcrumbLinksMap.put("existingFundingRequests", existingFundingRequests);
160
        breadcrumbLinksMap.put("monitor", monitor);
161
        breadcrumbLinksMap.put("help", help);
162
        breadcrumbLinksMap.put("login", login);
163
        breadcrumbLinksMap.put("register", register);
164
        breadcrumbLinksMap.put("myAccount", myAccount);
165
        breadcrumbLinksMap.put("editAccountInfo", editAccountInfo);
166
    }
167
}
(1-1/19)