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.statistics.StatisticsWidget;
21
import eu.dnetlib.client.support.EligibleProjectsWidget;
22
import eu.dnetlib.client.support.SupportWidget;
23
import eu.dnetlib.client.user.ForgotPasswordForm;
24
import eu.dnetlib.client.user.MyAccountWidget;
25
import eu.dnetlib.client.user.UserLoginForm;
26
import eu.dnetlib.client.user.UserRegistrationForm;
27

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

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

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

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

    
42
    public ContentManager() {
43

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

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

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

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

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

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

    
62
        StatisticsWidget statisticsWidget = new StatisticsWidget();
63
        widgetMap.put("statistics", statisticsWidget);
64

    
65
        if(GoldOAPortal.currentUser!=null) {
66

    
67
            List<FundingWizardStepWidget> wizardStepWidgets = new ArrayList<>();
68

    
69
            ResearcherStepWidget researcherStepWidget = new ResearcherStepWidget("Researcher");
70
            wizardStepWidgets.add(researcherStepWidget);
71

    
72
            ProjectStepWidget projectStepWidget = new ProjectStepWidget("Project");
73
            wizardStepWidgets.add(projectStepWidget);
74

    
75
            PublicationStepWidget publicationStepWidget = new PublicationStepWidget("Publication");
76
            wizardStepWidgets.add(publicationStepWidget);
77

    
78
            AccountingStepWidget accountingStepWidget = new AccountingStepWidget("Accounting");
79
            wizardStepWidgets.add(accountingStepWidget);
80

    
81
            SummaryStepWidget summaryStepWidget = new SummaryStepWidget("Summary");
82
            wizardStepWidgets.add(summaryStepWidget);
83

    
84
            FundingWizardWidget fundingWizardWidget = new FundingWizardWidget(wizardStepWidgets);
85
            widgetMap.put("newFundingRequest", fundingWizardWidget);
86

    
87
            ExistingFundingRequestsWidget existingFundingRequestsWidget = new ExistingFundingRequestsWidget();
88
            widgetMap.put("existingFundingRequests", existingFundingRequestsWidget);
89

    
90
            NewBudgetRequestWidget newBudgetRequestWidget = new NewBudgetRequestWidget();
91
            widgetMap.put("newBudgetRequest", newBudgetRequestWidget);
92

    
93
            ExistingBudgetRequestsWidget existingBudgetRequestsWidget = new ExistingBudgetRequestsWidget();
94
            widgetMap.put("existingBudgetRequests", existingBudgetRequestsWidget);
95

    
96
            RequestsWidget requestsWidget = new RequestsWidget();
97
            widgetMap.put("requests", requestsWidget);
98

    
99
            MonitorWidget monitorWidget = new MonitorWidget();
100
            widgetMap.put("monitor", monitorWidget);
101

    
102
            MonitorFundingRequestsWidget monitorFundingRequestsWidget = new MonitorFundingRequestsWidget();
103
            widgetMap.put("monitorFundingRequests", monitorFundingRequestsWidget);
104

    
105
            MonitorBudgetsWidget monitorBudgetsWidget = new MonitorBudgetsWidget();
106
            widgetMap.put("monitorBudgets", monitorBudgetsWidget);
107

    
108
            MonitorUsersWidget monitorUsersWidget = new MonitorUsersWidget();
109
            widgetMap.put("monitorUsers", monitorUsersWidget);
110

    
111
            MonitorUserRolesWidget monitorUserRolesWidget = new MonitorUserRolesWidget();
112
            widgetMap.put("monitorUserRoles", monitorUserRolesWidget);
113

    
114
            MonitorHelpTextsWidget monitorHelpTextsWidget = new MonitorHelpTextsWidget();
115
            widgetMap.put("monitorHelpTexts", monitorHelpTextsWidget);
116

    
117
            AccountingMonitorWidget accountingMonitorWidget = new AccountingMonitorWidget();
118
            widgetMap.put("accountingMonitor", accountingMonitorWidget);
119

    
120
            AccountingMonitorFundingRequestsWidget accountingMonitorFundingRequestsWidget = new AccountingMonitorFundingRequestsWidget();
121
            widgetMap.put("accountingMonitorFundingRequests", accountingMonitorFundingRequestsWidget);
122

    
123
            AccountingMonitorBudgetsWidget accountingMonitorBudgetsWidget = new AccountingMonitorBudgetsWidget();
124
            widgetMap.put("accountingMonitorBudgets", accountingMonitorBudgetsWidget);
125

    
126
            MyAccountWidget myAccountWidget = new MyAccountWidget();
127
            widgetMap.put("myAccount", myAccountWidget);
128

    
129
            EditAccountInfoWidget editAccountInfoWidget = new EditAccountInfoWidget();
130
            widgetMap.put("editAccountInfo", editAccountInfoWidget);
131
        }
132
    }
133

    
134
    public void updateContent(String token) {
135

    
136
        String[] tokenParts = token.split("\\.");
137
        final String menuToken = tokenParts[0];
138

    
139
        if(widgetMap.get(menuToken)!=null) {
140
            if(widgetMap.get(GoldOAPortal.previousToken)!=null)
141
                widgetMap.get(GoldOAPortal.previousToken).clear();
142
            widgetMap.get(menuToken).clear();
143
        }
144

    
145
        RootPanel.get("content").clear();
146
        RootPanel.get("sidebar").clear();
147
        Window.scrollTo(0, 0);
148

    
149
        if(widgetMap.get(menuToken)!=null) {
150

    
151
            if(menuToken.equals("newFundingRequest")) {
152

    
153
                List<FundingWizardStepWidget> wizardStepWidgets = new ArrayList<>();
154

    
155
                ResearcherStepWidget researcherStepWidget = new ResearcherStepWidget("Researcher");
156
                wizardStepWidgets.add(researcherStepWidget);
157

    
158
                ProjectStepWidget projectStepWidget = new ProjectStepWidget("Project");
159
                wizardStepWidgets.add(projectStepWidget);
160

    
161
                PublicationStepWidget publicationStepWidget = new PublicationStepWidget("Publication");
162
                wizardStepWidgets.add(publicationStepWidget);
163

    
164
                AccountingStepWidget accountingStepWidget = new AccountingStepWidget("Accounting");
165
                wizardStepWidgets.add(accountingStepWidget);
166

    
167
                SummaryStepWidget summaryStepWidget = new SummaryStepWidget("Summary");
168
                wizardStepWidgets.add(summaryStepWidget);
169

    
170
                FundingWizardWidget fundingWizardWidget = new FundingWizardWidget(wizardStepWidgets);
171
                widgetMap.put("newFundingRequest", fundingWizardWidget);
172
            }
173

    
174
            widgetMap.get(menuToken).setToken(token);
175
            widgetMap.get(menuToken).reload();
176
            RootPanel.get("content").add(widgetMap.get(menuToken));
177
            widgetMap.get(menuToken).afterAdditionToRootPanel();
178

    
179
            $(".contactUs").click(new Function() {
180

    
181
                public boolean f(Event e) {
182

    
183
                    final Modal contactUsModal = new Modal();
184

    
185
                    contactUsModal.addStyleName("contactModal");
186
                    contactUsModal.setTitle("Contact Us");
187
                    contactUsModal.setAnimation(true);
188
                    contactUsModal.setBackdrop(BackdropType.STATIC);
189
                    contactUsModal.setDynamicSafe(true);
190

    
191
                    ContactForm contactForm = new ContactForm();
192
                    ContactForm.ContactSubmittedListener contactSubmittedListener = new ContactForm.ContactSubmittedListener() {
193
                        @Override
194
                        public void contactSubmitted() {
195
                            contactUsModal.hide();
196
                        }
197
                    };
198
                    contactForm.setContactSubmittedListener(contactSubmittedListener);
199

    
200
                    contactUsModal.add(contactForm.asWidget());
201

    
202
                    contactUsModal.show();
203

    
204
                    return true;
205
                }
206
            });
207

    
208

    
209
        } else {
210
            //TODO invalid token
211
        }
212
    }
213
}
(4-4/22)