Project

General

Profile

1
package eu.dnetlib.client;
2

    
3
import com.github.gwtbootstrap.client.ui.Modal;
4
import com.github.gwtbootstrap.client.ui.constants.BackdropType;
5
import com.google.gwt.query.client.Function;
6
import com.google.gwt.user.client.Event;
7
import com.google.gwt.user.client.Window;
8
import com.google.gwt.user.client.ui.RootPanel;
9
import eu.dnetlib.client.accountingmonitor.AccountingMonitorBudgetsWidget;
10
import eu.dnetlib.client.accountingmonitor.AccountingMonitorFundingRequestsWidget;
11
import eu.dnetlib.client.accountingmonitor.AccountingMonitorWidget;
12
import eu.dnetlib.client.fundingrequest.existingrequests.ExistingFundingRequestsWidget;
13
import eu.dnetlib.client.fundingrequest.newrequest.*;
14
import eu.dnetlib.client.fundingrequest.newrequest.accountingstep.AccountingStepWidget;
15
import eu.dnetlib.client.fundingrequest.newrequest.projectstep.ProjectStepWidget;
16
import eu.dnetlib.client.fundingrequest.newrequest.publicationstep.PublicationStepWidget;
17
import eu.dnetlib.client.fundingrequest.newrequest.researcherstep.ResearcherStepWidget;
18
import eu.dnetlib.client.fundingrequest.newrequest.summarystep.SummaryStepWidget;
19
import eu.dnetlib.client.monitor.*;
20
import eu.dnetlib.client.support.EligibleProjectsWidget;
21
import eu.dnetlib.client.support.SupportWidget;
22
import eu.dnetlib.client.user.ForgotPasswordForm;
23
import eu.dnetlib.client.user.MyAccountWidget;
24
import eu.dnetlib.client.user.UserLoginForm;
25
import eu.dnetlib.client.user.UserRegistrationForm;
26

    
27
import java.util.ArrayList;
28
import java.util.HashMap;
29
import java.util.List;
30
import java.util.Map;
31

    
32
import static com.google.gwt.query.client.GQuery.$;
33

    
34
/**
35
 * Created by stefania on 3/6/15.
36
 */
37
public class ContentManager {
38

    
39
    private Map<String, MyWidget> widgetMap = new HashMap<>();
40

    
41
    public ContentManager() {
42

    
43
        UserLoginForm.getInstance().clear();
44
        widgetMap.put("login", UserLoginForm.getInstance());
45

    
46
        ForgotPasswordForm.getInstance().clear();
47
        widgetMap.put("forgotYourPassword", ForgotPasswordForm.getInstance());
48

    
49
        UserRegistrationForm userRegistrationForm = new UserRegistrationForm(false);
50
        widgetMap.put("register", userRegistrationForm);
51

    
52
        HomeWidget homeWidget = new HomeWidget();
53
        widgetMap.put("home", homeWidget);
54

    
55
        SupportWidget supportWidget = new SupportWidget();
56
        widgetMap.put("support", supportWidget);
57

    
58
        EligibleProjectsWidget eligibleProjectsWidget = new EligibleProjectsWidget();
59
        widgetMap.put("eligibleProjects", eligibleProjectsWidget);
60

    
61
        if(GoldOAPortal.currentUser!=null) {
62

    
63
            List<FundingWizardStepWidget> wizardStepWidgets = new ArrayList<>();
64

    
65
            ResearcherStepWidget researcherStepWidget = new ResearcherStepWidget("Researcher");
66
            wizardStepWidgets.add(researcherStepWidget);
67

    
68
            ProjectStepWidget projectStepWidget = new ProjectStepWidget("Project");
69
            wizardStepWidgets.add(projectStepWidget);
70

    
71
            PublicationStepWidget publicationStepWidget = new PublicationStepWidget("Publication");
72
            wizardStepWidgets.add(publicationStepWidget);
73

    
74
            AccountingStepWidget accountingStepWidget = new AccountingStepWidget("Accounting");
75
            wizardStepWidgets.add(accountingStepWidget);
76

    
77
            SummaryStepWidget summaryStepWidget = new SummaryStepWidget("Summary");
78
            wizardStepWidgets.add(summaryStepWidget);
79

    
80
            FundingWizardWidget fundingWizardWidget = new FundingWizardWidget(wizardStepWidgets);
81
            widgetMap.put("newFundingRequest", fundingWizardWidget);
82

    
83
            ExistingFundingRequestsWidget existingFundingRequestsWidget = new ExistingFundingRequestsWidget();
84
            widgetMap.put("existingFundingRequests", existingFundingRequestsWidget);
85

    
86
            NewBudgetRequestWidget newBudgetRequestWidget = new NewBudgetRequestWidget();
87
            widgetMap.put("newBudgetRequest", newBudgetRequestWidget);
88

    
89
            ExistingBudgetRequestsWidget existingBudgetRequestsWidget = new ExistingBudgetRequestsWidget();
90
            widgetMap.put("existingBudgetRequests", existingBudgetRequestsWidget);
91

    
92
            RequestsWidget requestsWidget = new RequestsWidget();
93
            widgetMap.put("requests", requestsWidget);
94

    
95
            MonitorWidget monitorWidget = new MonitorWidget();
96
            widgetMap.put("monitor", monitorWidget);
97

    
98
            MonitorFundingRequestsWidget monitorFundingRequestsWidget = new MonitorFundingRequestsWidget();
99
            widgetMap.put("monitorFundingRequests", monitorFundingRequestsWidget);
100

    
101
            MonitorBudgetsWidget monitorBudgetsWidget = new MonitorBudgetsWidget();
102
            widgetMap.put("monitorBudgets", monitorBudgetsWidget);
103

    
104
            MonitorUsersWidget monitorUsersWidget = new MonitorUsersWidget();
105
            widgetMap.put("monitorUsers", monitorUsersWidget);
106

    
107
            MonitorUserRolesWidget monitorUserRolesWidget = new MonitorUserRolesWidget();
108
            widgetMap.put("monitorUserRoles", monitorUserRolesWidget);
109

    
110
            MonitorHelpTextsWidget monitorHelpTextsWidget = new MonitorHelpTextsWidget();
111
            widgetMap.put("monitorHelpTexts", monitorHelpTextsWidget);
112

    
113
            AccountingMonitorWidget accountingMonitorWidget = new AccountingMonitorWidget();
114
            widgetMap.put("accountingMonitor", accountingMonitorWidget);
115

    
116
            AccountingMonitorFundingRequestsWidget accountingMonitorFundingRequestsWidget = new AccountingMonitorFundingRequestsWidget();
117
            widgetMap.put("accountingMonitorFundingRequests", accountingMonitorFundingRequestsWidget);
118

    
119
            AccountingMonitorBudgetsWidget accountingMonitorBudgetsWidget = new AccountingMonitorBudgetsWidget();
120
            widgetMap.put("accountingMonitorBudgets", accountingMonitorBudgetsWidget);
121

    
122
            MyAccountWidget myAccountWidget = new MyAccountWidget();
123
            widgetMap.put("myAccount", myAccountWidget);
124

    
125
            EditAccountInfoWidget editAccountInfoWidget = new EditAccountInfoWidget();
126
            widgetMap.put("editAccountInfo", editAccountInfoWidget);
127
        }
128
    }
129

    
130
    public void updateContent(String token) {
131

    
132
        String[] tokenParts = token.split("\\.");
133
        final String menuToken = tokenParts[0];
134

    
135
        if(widgetMap.get(menuToken)!=null) {
136
            if(widgetMap.get(GoldOAPortal.previousToken)!=null)
137
                widgetMap.get(GoldOAPortal.previousToken).clear();
138
            widgetMap.get(menuToken).clear();
139
        }
140

    
141
        RootPanel.get("content").clear();
142
        RootPanel.get("sidebar").clear();
143
        Window.scrollTo(0, 0);
144

    
145
        if(widgetMap.get(menuToken)!=null) {
146

    
147
            if(menuToken.equals("newFundingRequest")) {
148

    
149
                List<FundingWizardStepWidget> wizardStepWidgets = new ArrayList<>();
150

    
151
                ResearcherStepWidget researcherStepWidget = new ResearcherStepWidget("Researcher");
152
                wizardStepWidgets.add(researcherStepWidget);
153

    
154
                ProjectStepWidget projectStepWidget = new ProjectStepWidget("Project");
155
                wizardStepWidgets.add(projectStepWidget);
156

    
157
                PublicationStepWidget publicationStepWidget = new PublicationStepWidget("Publication");
158
                wizardStepWidgets.add(publicationStepWidget);
159

    
160
                AccountingStepWidget accountingStepWidget = new AccountingStepWidget("Accounting");
161
                wizardStepWidgets.add(accountingStepWidget);
162

    
163
                SummaryStepWidget summaryStepWidget = new SummaryStepWidget("Summary");
164
                wizardStepWidgets.add(summaryStepWidget);
165

    
166
                FundingWizardWidget fundingWizardWidget = new FundingWizardWidget(wizardStepWidgets);
167
                widgetMap.put("newFundingRequest", fundingWizardWidget);
168
            }
169

    
170
            widgetMap.get(menuToken).setToken(token);
171
            widgetMap.get(menuToken).reload();
172
            RootPanel.get("content").add(widgetMap.get(menuToken));
173
            widgetMap.get(menuToken).afterAdditionToRootPanel();
174

    
175
            $(".contactUs").click(new Function() {
176

    
177
                public boolean f(Event e) {
178

    
179
                    final Modal contactUsModal = new Modal();
180

    
181
                    contactUsModal.addStyleName("contactModal");
182
                    contactUsModal.setTitle("Contact Us");
183
                    contactUsModal.setAnimation(true);
184
                    contactUsModal.setBackdrop(BackdropType.STATIC);
185

    
186
                    ContactForm contactForm = new ContactForm();
187
                    ContactForm.ContactSubmittedListener contactSubmittedListener = new ContactForm.ContactSubmittedListener() {
188
                        @Override
189
                        public void contactSubmitted() {
190
                            contactUsModal.hide();
191
                        }
192
                    };
193
                    contactForm.setContactSubmittedListener(contactSubmittedListener);
194

    
195
                    contactUsModal.add(contactForm.asWidget());
196

    
197
                    contactUsModal.show();
198

    
199
                    return true;
200
                }
201
            });
202

    
203

    
204
        } else {
205
            //TODO invalid token
206
        }
207
    }
208
}
(4-4/21)