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.event.dom.client.ClickEvent;
6
import com.google.gwt.event.dom.client.ClickHandler;
7
import com.google.gwt.user.client.History;
8
import com.google.gwt.user.client.ui.IsWidget;
9
import com.google.gwt.user.client.ui.Widget;
10

    
11
import java.util.HashMap;
12
import java.util.Map;
13

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

    
19
    private Breadcrumbs breadcrumbsMenu = new Breadcrumbs();
20

    
21
    private NavLink home = new NavLink();
22

    
23
    private NavLink requests = new NavLink();
24
    private NavLink newFundingRequest = new NavLink();
25
    private NavLink existingFundingRequests = new NavLink();
26
    private NavLink newBudgetRequest = new NavLink();
27
    private NavLink existingBudgetRequests = new NavLink();
28

    
29
    private NavLink monitor = new NavLink();
30
    private NavLink monitorFundingRequests = new NavLink();
31
    private NavLink monitorBudgetRequests = new NavLink();
32
    private NavLink monitorUsers = new NavLink();
33
    private NavLink monitorUserRoles = new NavLink();
34

    
35
    private NavLink help = new NavLink();
36

    
37
    private NavLink login = new NavLink();
38
    private NavLink register = new NavLink();
39
    private NavLink myAccount = new NavLink();
40
    private NavLink editAccountInfo = new NavLink();
41

    
42
    private Map<String, NavLink> breadcrumbLinksMap = new HashMap<>();
43

    
44
    public BreadcrumbsMenu() {
45

    
46
        breadcrumbsMenu.setDivider("|");
47

    
48
        home.setHref("#home");
49
        home.setText("HOME");
50
        home.addClickHandler(new ClickHandler() {
51
            @Override
52
            public void onClick(ClickEvent clickEvent) {
53
                History.newItem("home");
54
            }
55
        });
56

    
57
        requests.setHref("#requests");
58
        requests.setText("REQUESTS");
59
        requests.addClickHandler(new ClickHandler() {
60
            @Override
61
            public void onClick(ClickEvent clickEvent) {
62
                History.newItem("requests");
63
            }
64
        });
65

    
66
        newFundingRequest.setHref("#newFundingRequest");
67
        newFundingRequest.setText("NEW FUNDING REQUEST");
68
        newFundingRequest.addClickHandler(new ClickHandler() {
69
            @Override
70
            public void onClick(ClickEvent clickEvent) {
71
                History.newItem("newFundingRequest");
72
            }
73
        });
74

    
75
        newBudgetRequest.setHref("#newBudgetRequest");
76
        newBudgetRequest.setText("NEW BUDGET REQUEST");
77
        newBudgetRequest.addClickHandler(new ClickHandler() {
78
            @Override
79
            public void onClick(ClickEvent clickEvent) {
80
                History.newItem("newBudgetRequest");
81
            }
82
        });
83

    
84
        existingFundingRequests.setHref("#existingFundingRequests");
85
        existingFundingRequests.setText("EXISTING FUNDING REQUESTS");
86
        existingFundingRequests.addClickHandler(new ClickHandler() {
87
            @Override
88
            public void onClick(ClickEvent clickEvent) {
89
                History.newItem("existingFundingRequests");
90
            }
91
        });
92

    
93
        existingBudgetRequests.setHref("#existingBudgetRequests");
94
        existingBudgetRequests.setText("EXISTING BUDGET REQUESTS");
95
        existingBudgetRequests.addClickHandler(new ClickHandler() {
96
            @Override
97
            public void onClick(ClickEvent clickEvent) {
98
                History.newItem("existingBudgetRequests");
99
            }
100
        });
101

    
102
        monitor.setHref("#monitor");
103
        monitor.setText("MONITOR");
104
        monitor.addClickHandler(new ClickHandler() {
105
            @Override
106
            public void onClick(ClickEvent clickEvent) {
107
                History.newItem("monitor");
108
            }
109
        });
110

    
111
        monitorFundingRequests.setHref("#monitorFundingRequests");
112
        monitorFundingRequests.setText("FUNDING REQUESTS");
113
        monitorFundingRequests.addClickHandler(new ClickHandler() {
114
            @Override
115
            public void onClick(ClickEvent clickEvent) {
116
                History.newItem("monitorFundingRequests");
117
            }
118
        });
119

    
120
        monitorBudgetRequests.setHref("#monitorBudgets");
121
        monitorBudgetRequests.setText("BUDGETS");
122
        monitorBudgetRequests.addClickHandler(new ClickHandler() {
123
            @Override
124
            public void onClick(ClickEvent clickEvent) {
125
                History.newItem("monitorBudgets");
126
            }
127
        });
128

    
129
        monitorUsers.setHref("#monitorUsers");
130
        monitorUsers.setText("USERS");
131
        monitorUsers.addClickHandler(new ClickHandler() {
132
            @Override
133
            public void onClick(ClickEvent clickEvent) {
134
                History.newItem("monitorUsers");
135
            }
136
        });
137

    
138
        monitorUserRoles.setHref("#monitorUserRoles");
139
        monitorUserRoles.setText("USER ROLES");
140
        monitorUserRoles.addClickHandler(new ClickHandler() {
141
            @Override
142
            public void onClick(ClickEvent clickEvent) {
143
                History.newItem("monitorUserRoles");
144
            }
145
        });
146

    
147
        help.setHref("#help");
148
        help.setText("HELP");
149
        help.addClickHandler(new ClickHandler() {
150
            @Override
151
            public void onClick(ClickEvent clickEvent) {
152
                History.newItem("help");
153
            }
154
        });
155

    
156
        login.setHref("#login");
157
        login.setText("LOGIN");
158
        login.addClickHandler(new ClickHandler() {
159
            @Override
160
            public void onClick(ClickEvent clickEvent) {
161
                History.newItem("login");
162
            }
163
        });
164

    
165
        register.setHref("#register");
166
        register.setText("REGISTER");
167
        register.addClickHandler(new ClickHandler() {
168
            @Override
169
            public void onClick(ClickEvent clickEvent) {
170
                History.newItem("register");
171
            }
172
        });
173

    
174
        myAccount.setHref("#myAccount");
175
        myAccount.setText("MY ACCOUNT");
176
        myAccount.addClickHandler(new ClickHandler() {
177
            @Override
178
            public void onClick(ClickEvent clickEvent) {
179
                History.newItem("myAccount");
180
            }
181
        });
182

    
183
        editAccountInfo.setHref("#editAccountInfo");
184
        editAccountInfo.setText("EDIT INFO");
185
        editAccountInfo.addClickHandler(new ClickHandler() {
186
            @Override
187
            public void onClick(ClickEvent clickEvent) {
188
                History.newItem("editAccountInfo");
189
            }
190
        });
191

    
192
        createBreadcrumbsMap();
193
    }
194

    
195
    @Override
196
    public Widget asWidget() {
197
        return breadcrumbsMenu;
198
    }
199

    
200
    public void updateBreadcrumbsMenu(String token) {
201

    
202
        String[] tokenParts = token.split("\\.");
203
        String menuToken = tokenParts[0];
204

    
205
        breadcrumbsMenu.clear();
206
        if(!menuToken.equals("home")) {
207
            if(breadcrumbLinksMap.get(menuToken)!=null) {
208
                breadcrumbsMenu.add(home);
209
                if(menuToken.equals("editAccountInfo"))
210
                    breadcrumbsMenu.add(myAccount);
211
                if(menuToken.equals("monitorFundingRequests") || menuToken.equals("monitorBudgets")
212
                        || menuToken.equals("monitorUsers") || menuToken.equals("monitorUserRoles"))
213
                    breadcrumbsMenu.add(monitor);
214
                if(menuToken.equals("newFundingRequest") || menuToken.equals("existingFundingRequests")
215
                        || menuToken.equals("newBudgetRequest") || menuToken.equals("existingBudgetRequests"))
216
                    breadcrumbsMenu.add(requests);
217
                breadcrumbsMenu.add(breadcrumbLinksMap.get(menuToken));
218
            }
219
        }
220
    }
221

    
222
    private void createBreadcrumbsMap() {
223

    
224
        breadcrumbLinksMap.put("requests", requests);
225
        breadcrumbLinksMap.put("newFundingRequest", newFundingRequest);
226
        breadcrumbLinksMap.put("newBudgetRequest", newBudgetRequest);
227
        breadcrumbLinksMap.put("existingFundingRequests", existingFundingRequests);
228
        breadcrumbLinksMap.put("existingBudgetRequests", existingBudgetRequests);
229
        breadcrumbLinksMap.put("monitor", monitor);
230
        breadcrumbLinksMap.put("monitorFundingRequests", monitorFundingRequests);
231
        breadcrumbLinksMap.put("monitorBudgets", monitorBudgetRequests);
232
        breadcrumbLinksMap.put("monitorUsers", monitorUsers);
233
        breadcrumbLinksMap.put("monitorUserRoles", monitorUserRoles);
234
        breadcrumbLinksMap.put("help", help);
235
        breadcrumbLinksMap.put("login", login);
236
        breadcrumbLinksMap.put("register", register);
237
        breadcrumbLinksMap.put("myAccount", myAccount);
238
        breadcrumbLinksMap.put("editAccountInfo", editAccountInfo);
239
    }
240
}
(1-1/21)