1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.hack23.cia.web.impl.ui.application.views.common.menufactory.impl;
20
21 import org.springframework.beans.factory.annotation.Autowired;
22 import org.springframework.stereotype.Service;
23
24 import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.ApplicationMenuItemFactory;
25 import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.PartyMenuItemFactory;
26 import com.hack23.cia.web.impl.ui.application.views.common.menufactory.api.PartyRankingMenuItemFactory;
27 import com.hack23.cia.web.impl.ui.application.views.common.pagelinks.api.PageModeMenuCommand;
28 import com.hack23.cia.web.impl.ui.application.views.common.viewnames.PageMode;
29 import com.hack23.cia.web.impl.ui.application.views.common.viewnames.PartyPageMode;
30 import com.hack23.cia.web.impl.ui.application.views.common.viewnames.UserViews;
31 import com.vaadin.server.FontAwesome;
32 import com.vaadin.ui.GridLayout;
33 import com.vaadin.ui.MenuBar;
34 import com.vaadin.ui.MenuBar.MenuItem;
35 import com.vaadin.ui.VerticalLayout;
36
37
38
39
40 @Service
41 public final class PartyMenuItemFactoryImpl extends AbstractMenuItemFactoryImpl implements PartyMenuItemFactory {
42
43
44 private static final String ROLE_CHART_PARTY_LEADERS = "Role chart, party leaders";
45
46
47 private static final String PARTY_RANKING = "Party Ranking";
48
49
50 private static final String PARTY_WON_DAILY_SUMMARY_CHART = "Party Won Daily Summary Chart";
51
52
53 private static final String COMMITTEE_ROLES = "Committee Roles";
54
55
56 private static final String GOVERMENT_ROLES = "Goverment Roles";
57
58
59 private static final String LEADER_HISTORY = "Leader History";
60
61
62 private static final String CURRENT_LEADERS = "Current Leaders";
63
64
65 private static final String DOCUMENT_HISTORY_TEXT = "Document history";
66
67
68 private static final String INDICATORS_TEXT = "Indicators";
69
70
71 private static final String CHARTS_TEXT = "Charts";
72
73
74 private static final String MEMBER_HISTORY_TEXT = "Member History";
75
76
77 private static final String CURRENT_MEMBERS_TEXT = "Current Members";
78
79
80 private static final String VOTE_HISTORY = "Vote history";
81
82
83
84 private static final String ROLES_TEXT = "Roles";
85
86
87 private static final String DOCUMENTS_TEXT = "Documents";
88
89
90 private static final String BALLOT_DECISION_SUMMARY_TEXT = "Ballot Decision Summary";
91
92
93 private static final String BALLOTS_TEXT = "Ballots";
94
95
96 private static final String DOCUMENT_ACTIVITY_TEXT = "Document Activity";
97
98
99 private static final String OVERVIEW_TEXT = "Overview";
100
101
102 private static final String PAGE_VISIT_HISTORY_TEXT = "Page Visit History";
103
104
105 @Autowired
106 private ApplicationMenuItemFactory applicationMenuItemFactory;
107
108
109 @Autowired
110 private PartyRankingMenuItemFactory partyRankingMenuItemFactory;
111
112
113
114
115 public PartyMenuItemFactoryImpl() {
116 super();
117 }
118
119 @Override
120 public void createPartyMenuBar(final MenuBar menuBar, final String pageId) {
121 initApplicationMenuBar(menuBar);
122
123 applicationMenuItemFactory.addRankingMenu(menuBar);
124
125 partyRankingMenuItemFactory.createPartyRankingTopics(menuBar.addItem(PARTY_RANKING, FontAwesome.GROUP,null));
126
127 final MenuItem partyItem = menuBar.addItem("Party "+ pageId, FontAwesome.GROUP,null);
128
129 partyItem.addItem(OVERVIEW_TEXT, FontAwesome.GROUP,
130 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.OVERVIEW, pageId));
131 partyItem.addItem(CHARTS_TEXT, null, new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.CHARTS, pageId));
132
133 partyItem.addItem(INDICATORS_TEXT, FontAwesome.GROUP,
134 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.INDICATORS, pageId));
135
136 final MenuItem rolesItem = partyItem.addItem(ROLES_TEXT, FontAwesome.GROUP, null);
137
138 rolesItem.addItem(CURRENT_LEADERS, FontAwesome.GROUP,
139 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.CURRENTLEADERS.toString(), pageId));
140
141 rolesItem.addItem(LEADER_HISTORY, FontAwesome.GROUP,
142 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.LEADERHISTORY.toString(), pageId));
143
144 rolesItem.addItem(CURRENT_MEMBERS_TEXT, FontAwesome.GROUP,
145 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.CURRENTMEMBERS.toString(), pageId));
146
147 rolesItem.addItem(MEMBER_HISTORY_TEXT, FontAwesome.GROUP,
148 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.MEMBERHISTORY.toString(), pageId));
149
150 rolesItem.addItem(GOVERMENT_ROLES, FontAwesome.GROUP,
151 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.GOVERNMENTROLES.toString(), pageId));
152
153 rolesItem.addItem(COMMITTEE_ROLES, FontAwesome.GROUP,
154 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.COMMITTEEROLES.toString(), pageId));
155
156 rolesItem.addItem(ROLE_CHART_PARTY_LEADERS, FontAwesome.GROUP,
157 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.ROLEGHANT.toString(), pageId));
158
159
160 final MenuItem documentItem = partyItem.addItem(DOCUMENTS_TEXT, FontAwesome.GROUP, null);
161
162 documentItem.addItem(DOCUMENT_ACTIVITY_TEXT, FontAwesome.GROUP,
163 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.DOCUMENTACTIVITY.toString(), pageId));
164
165 documentItem.addItem(DOCUMENT_HISTORY_TEXT, FontAwesome.GROUP,
166 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.DOCUMENTHISTORY.toString(), pageId));
167
168 final MenuItem ballotItem = partyItem.addItem(BALLOTS_TEXT, FontAwesome.GROUP, null);
169
170 ballotItem.addItem(VOTE_HISTORY, FontAwesome.GROUP,
171 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.VOTEHISTORY.toString(), pageId));
172
173 ballotItem.addItem(BALLOT_DECISION_SUMMARY_TEXT, FontAwesome.GROUP, new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME,
174 PartyPageMode.COMMITTEEBALLOTDECISIONSUMMARY.toString(), pageId));
175
176 ballotItem.addItem(PARTY_WON_DAILY_SUMMARY_CHART, FontAwesome.GROUP, new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME,
177 PartyPageMode.PARTYWONDAILYSUMMARYCHART.toString(), pageId));
178
179 partyItem.addItem(PAGE_VISIT_HISTORY_TEXT, FontAwesome.GROUP,
180 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.PAGEVISITHISTORY, pageId));
181
182 }
183
184 @Override
185 public void createOverviewPage(final VerticalLayout panelContent, final String pageId) {
186 final GridLayout grid = createGridLayout(panelContent);
187
188 createButtonLink(grid,OVERVIEW_TEXT, FontAwesome.GROUP,
189 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.OVERVIEW, pageId), "Default description");
190 createButtonLink(grid,CHARTS_TEXT, null, new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.CHARTS, pageId), "Default description");
191
192 createButtonLink(grid,INDICATORS_TEXT, FontAwesome.GROUP,
193 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.INDICATORS, pageId), "Default description");
194
195
196 createButtonLink(grid,CURRENT_LEADERS, FontAwesome.GROUP,
197 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.CURRENTLEADERS.toString(), pageId), "Default description");
198
199 createButtonLink(grid,LEADER_HISTORY, FontAwesome.GROUP,
200 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.LEADERHISTORY.toString(), pageId), "Default description");
201
202 createButtonLink(grid,CURRENT_MEMBERS_TEXT, FontAwesome.GROUP,
203 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.CURRENTMEMBERS.toString(), pageId), "Default description");
204
205 createButtonLink(grid,MEMBER_HISTORY_TEXT, FontAwesome.GROUP,
206 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.MEMBERHISTORY.toString(), pageId), "Default description");
207
208 createButtonLink(grid,GOVERMENT_ROLES, FontAwesome.GROUP,
209 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.GOVERNMENTROLES.toString(), pageId), "Default description");
210
211 createButtonLink(grid,COMMITTEE_ROLES, FontAwesome.GROUP,
212 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.COMMITTEEROLES.toString(), pageId), "Default description");
213
214 createButtonLink(grid,ROLE_CHART_PARTY_LEADERS, FontAwesome.GROUP,
215 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.ROLEGHANT.toString(), pageId), "Default description");
216
217
218 createButtonLink(grid,DOCUMENT_ACTIVITY_TEXT, FontAwesome.GROUP,
219 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.DOCUMENTACTIVITY.toString(), pageId), "Default description");
220
221 createButtonLink(grid,DOCUMENT_HISTORY_TEXT, FontAwesome.GROUP,
222 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.DOCUMENTHISTORY.toString(), pageId), "Default description");
223
224
225 createButtonLink(grid,VOTE_HISTORY, FontAwesome.GROUP,
226 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PartyPageMode.VOTEHISTORY.toString(), pageId), "Default description");
227
228 createButtonLink(grid,BALLOT_DECISION_SUMMARY_TEXT, FontAwesome.GROUP, new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME,
229 PartyPageMode.COMMITTEEBALLOTDECISIONSUMMARY.toString(), pageId), "Default description");
230
231 createButtonLink(grid,PARTY_WON_DAILY_SUMMARY_CHART, FontAwesome.GROUP, new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME,
232 PartyPageMode.PARTYWONDAILYSUMMARYCHART.toString(), pageId), "Default description");
233
234 createButtonLink(grid,PAGE_VISIT_HISTORY_TEXT, FontAwesome.GROUP,
235 new PageModeMenuCommand(UserViews.PARTY_VIEW_NAME, PageMode.PAGEVISITHISTORY, pageId), "Default description");
236
237
238 }
239
240
241 }