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

    
66

    
67
        if(GoldOAPortal.currentUser!=null) {
68
            List<FundingWizardStepWidget> wizardStepWidgets = new ArrayList<>();
69

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    
127
            MyAccountWidget myAccountWidget = new MyAccountWidget();
128
            widgetMap.put("myAccount", myAccountWidget);
129
            Window.alert("5");
130
            EditAccountInfoWidget editAccountInfoWidget = new EditAccountInfoWidget();
131
            widgetMap.put("editAccountInfo", editAccountInfoWidget);
132
            Window.alert("6");
133
        }
134
    }
135

    
136
    public void updateContent(String token) {
137

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

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

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

    
151
        if(widgetMap.get(menuToken)!=null) {
152

    
153
            if(menuToken.equals("newFundingRequest")) {
154

    
155
                List<FundingWizardStepWidget> wizardStepWidgets = new ArrayList<>();
156

    
157
                ResearcherStepWidget researcherStepWidget = new ResearcherStepWidget("Researcher");
158
                wizardStepWidgets.add(researcherStepWidget);
159

    
160
                ProjectStepWidget projectStepWidget = new ProjectStepWidget("Project");
161
                wizardStepWidgets.add(projectStepWidget);
162

    
163
                PublicationStepWidget publicationStepWidget = new PublicationStepWidget("Publication");
164
                wizardStepWidgets.add(publicationStepWidget);
165

    
166
                AccountingStepWidget accountingStepWidget = new AccountingStepWidget("Accounting");
167
                wizardStepWidgets.add(accountingStepWidget);
168

    
169
                SummaryStepWidget summaryStepWidget = new SummaryStepWidget("Summary");
170
                wizardStepWidgets.add(summaryStepWidget);
171

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

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

    
181
            $(".contactUs").click(new Function() {
182

    
183
                public boolean f(Event e) {
184

    
185
                    final Modal contactUsModal = new Modal();
186

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

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

    
202
                    contactUsModal.add(contactForm.asWidget());
203

    
204
                    contactUsModal.show();
205

    
206
                    return true;
207
                }
208
            });
209

    
210

    
211
        } else {
212
            //TODO invalid token
213
        }
214
    }
215
}
(4-4/22)