Project

General

Profile

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

    
3
import com.google.gwt.dom.client.Document;
4
import com.google.gwt.dom.client.Style;
5
import com.google.gwt.user.client.History;
6
import eu.dnetlib.domain.functionality.UserProfile;
7

    
8
/**
9
 * Created by stefania on 12/2/15.
10
 */
11
public class NavigationManager {
12

    
13
    private static NavigationManager instance = null;
14

    
15
    private NavigationManager() {
16

    
17
    }
18

    
19
    public static final NavigationManager getInstance() {
20

    
21
        if(instance==null)
22
            instance = new NavigationManager();
23

    
24
        return instance;
25
    }
26

    
27
    public void navigate(String token) {
28

    
29
        //TODO use role instead of email
30
        if(RepositoryManager.currentUserRole.equals("admin")) {
31
            Document.get().getElementById("admin1").getStyle().setDisplay(Style.Display.BLOCK);
32
            Document.get().getElementById("admin2").getStyle().setDisplay(Style.Display.BLOCK);
33
        } else {
34
            Document.get().getElementById("admin1").getStyle().setDisplay(Style.Display.NONE);
35
            Document.get().getElementById("admin2").getStyle().setDisplay(Style.Display.NONE);
36
        }
37

    
38
        RepositoryManager.previousToken = RepositoryManager.currentToken;
39
        RepositoryManager.currentToken = token;
40

    
41
        if (token.equals("landing")) {
42

    
43
            LandingPage.getInstance().showLandingPage();
44

    
45
        } else if (token.equals("login")) {
46

    
47
            LoginPage.getInstance().showLoginPage();
48
            LoginPage.LoginListener loginListener = new LoginPage.LoginListener() {
49
                @Override
50
                public void loginSucceeded(UserProfile userProfile) {
51

    
52
                    if (RepositoryManager.currentUser != null)
53
                        Document.get().getElementById("currentUser").setInnerText(RepositoryManager.currentUser.getFirstname()
54
                                + " " + RepositoryManager.currentUser.getLastname());
55
                    History.newItem("dashboard");
56
                }
57
            };
58
            LoginPage.getInstance().setLoginListener(loginListener);
59

    
60
        } else if (token.equals("register")) {
61

    
62
            RegisterPage.getInstance().showRegisterPage();
63

    
64
        } else {
65

    
66
            RepositoryManagerPage.getInstance().showRepositoryManagerPage();
67

    
68
            //TODO add catch page not found exception
69
            RepositoryManagerController.getInstance().showWidget(token);
70
        }
71
    }
72
}
(6-6/12)