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("adminMenuHeader").getStyle().setDisplay(Style.Display.BLOCK);
32
            Document.get().getElementById("adminMenuHelpTexts").getStyle().setDisplay(Style.Display.BLOCK);
33
            Document.get().getElementById("adminMenuMetrics").getStyle().setDisplay(Style.Display.BLOCK);
34

    
35
            Document.get().getElementById("admin1").getStyle().setDisplay(Style.Display.BLOCK);
36
        } else {
37
            Document.get().getElementById("adminMenuHeader").getStyle().setDisplay(Style.Display.NONE);
38
            Document.get().getElementById("adminMenuHelpTexts").getStyle().setDisplay(Style.Display.NONE);
39
            Document.get().getElementById("adminMenuMetrics").getStyle().setDisplay(Style.Display.NONE);
40

    
41
            Document.get().getElementById("admin1").getStyle().setDisplay(Style.Display.NONE);
42
        }
43

    
44
        RepositoryManager.previousToken = RepositoryManager.currentToken;
45
        RepositoryManager.currentToken = token;
46

    
47
        if (token.equals("landing")) {
48

    
49
            LandingPage.getInstance().showLandingPage();
50

    
51
        } else if (token.equals("login")) {
52

    
53
            LoginPage.getInstance().showLoginPage();
54
            LoginPage.LoginListener loginListener = new LoginPage.LoginListener() {
55
                @Override
56
                public void loginSucceeded(UserProfile userProfile) {
57

    
58
                    if (RepositoryManager.currentUser != null) {
59

    
60
                        String content = "<span class=\"uk-margin-small-right uk-icon\"><svg height=\"20\" ratio=\"1\" " +
61
                                "viewBox=\"0 0 20 20\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"9.9\" " +
62
                                "cy=\"6.4\" fill=\"none\" r=\"4.4\" stroke=\"#000\" stroke-width=\"1.1\"></circle>" +
63
                                "<path d=\"M1.5,19 C2.3,14.5 5.8,11.2 10,11.2 C14.2,11.2 17.7,14.6 18.5,19.2\" fill=\"none\" " +
64
                                "stroke=\"#000\" stroke-width=\"1.1\"></path></svg></span>" +
65
                                RepositoryManager.currentUser.getFirstname() + " " + RepositoryManager.currentUser.getLastname();
66
                        Document.get().getElementById("currentUser").setInnerHTML(content);
67
                    }
68
                    History.newItem("dashboard");
69
                }
70
            };
71
            LoginPage.getInstance().setLoginListener(loginListener);
72

    
73
        } else if (token.equals("register")) {
74

    
75
            RegisterPage.getInstance().showRegisterPage();
76

    
77
        } else {
78

    
79
            RepositoryManagerPage.getInstance().showRepositoryManagerPage();
80

    
81
            //TODO add catch page not found exception
82
            RepositoryManagerController.getInstance().showWidget(token);
83
        }
84
    }
85
}
(6-6/12)