1 /**
2 * Copyright 2010 The Kuali Foundation Licensed under the
3 * Educational Community License, Version 2.0 (the "License"); you may
4 * not use this file except in compliance with the License. You may
5 * obtain a copy of the License at
6 *
7 * http://www.osedu.org/licenses/ECL-2.0
8 *
9 * Unless required by applicable law or agreed to in writing,
10 * software distributed under the License is distributed on an "AS IS"
11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15
16 package org.kuali.student.common.ui.client;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import org.kuali.student.common.ui.client.demo.HeaderDemo;
22 import org.kuali.student.common.ui.client.widgets.ApplicationPanel;
23 import org.kuali.student.common.ui.client.widgets.KSButton;
24 import org.kuali.student.common.ui.client.widgets.headers.KSHeader;
25 import org.kuali.student.common.ui.client.widgets.table.SimpleWidgetTable;
26 import org.kuali.student.common.ui.client.widgets.table.scroll.TableDemoPanel;
27
28 import com.google.gwt.core.client.EntryPoint;
29 import com.google.gwt.event.dom.client.ClickEvent;
30 import com.google.gwt.event.dom.client.ClickHandler;
31 import com.google.gwt.user.client.ui.AbsolutePanel;
32 import com.google.gwt.user.client.ui.Composite;
33 import com.google.gwt.user.client.ui.HTML;
34 import com.google.gwt.user.client.ui.HorizontalPanel;
35 import com.google.gwt.user.client.ui.Label;
36 import com.google.gwt.user.client.ui.RootPanel;
37 import com.google.gwt.user.client.ui.VerticalPanel;
38 import com.google.gwt.user.client.ui.Widget;
39
40 public class CommonUITest implements EntryPoint {
41
42 @Override
43 public void onModuleLoad() {
44 final AbsolutePanel panel = ApplicationPanel.get();
45
46 //panel.add(new TableDemoPanel());
47 //panel.add(new KSLightBoxDemo());
48 // panel.add(new HeaderDemo());
49 KSHeader ksHeader = new KSHeader();
50 panel.add(ksHeader);
51 /*
52 panel.add(new Button("Test Notifications", new ClickHandler() {
53 @Override
54 public void onClick(final ClickEvent event) {
55 KSNotifier.add(new KSNotification("Thisisalongmessagethatwillneedtowordwrapbutnotallofitisverywordwrapfriendlyasyoucanplainlysee", false, 10000));
56 new Timer() {
57
58 @Override
59 public void run() {
60 KSNotifier.add(new KSNotification("Short message <a href='http://xkcd.com/' target='_blank'>with html</a>", true, 10000));
61 new Timer() {
62
63 @Override
64 public void run() {
65 KSNotifier.add(new KSNotification(new Image("images/common/KS_logo_white_transparent.png"), 10000));
66 }
67 }.schedule(5000);
68 }
69 }.schedule(5000);
70 }
71 }));
72
73 // flood out the body to test scrolling
74 for (int i=0; i<500; i++) {
75 panel.add(new Label("label " + i));
76 }
77 */
78 }
79
80 public static class TestLightboxContent extends Composite {
81 final VerticalPanel panel = new VerticalPanel();
82 final HorizontalPanel buttonPanel = new HorizontalPanel();
83 final HorizontalPanel horizontalContent = new HorizontalPanel();
84 final VerticalPanel verticalContent = new VerticalPanel();
85
86 public TestLightboxContent() {
87 super.initWidget(panel);
88 panel.add(buttonPanel);
89 panel.add(horizontalContent);
90 panel.add(verticalContent);
91
92 for (int i=0; i<50; i++) {
93 horizontalContent.add(new HTML("<div style='padding-left: 1em'>item " + i + "</div>"));
94 verticalContent.add(new Label("item " + i));
95 }
96
97 buttonPanel.add(new KSButton("horizontal", new ClickHandler() {
98 @Override
99 public void onClick(ClickEvent event) {
100 for (int i=0; i<10; i++) {
101 horizontalContent.add(new HTML("<div style='padding-left: 1em'>item " + i + "</div>"));
102 }
103 }
104 }));
105
106 buttonPanel.add(new KSButton("vertical", new ClickHandler() {
107 @Override
108 public void onClick(ClickEvent event) {
109 for (int i=0; i<10; i++) {
110 verticalContent.add(new Label("item " + i));
111 }
112 }
113 }));
114
115 }
116 }
117
118 public void onModuleLoad_Original() {
119 /*final ClickHandler handler = new ClickHandler(){
120
121 @Override
122 public void onClick(ClickEvent event) {
123 // TODO Auto-generated method stub
124
125 }};
126
127 KSWrapper wrapper = new KSWrapper();
128 StylishDropDown dropDown = new StylishDropDown("Navigation", Theme.INSTANCE.getCommonImages().getWarningIcon(), MenuImageLocation.RIGHT);
129 dropDown.addStyleName("KS-Navigation-DropDown");
130 dropDown.setShowSelectedItem(true);
131 List<KSMenuItemData> items = new ArrayList<KSMenuItemData>();
132 items.add(new KSMenuItemData("Curriculum Management"){{setClickHandler(handler); setShownIcon(Theme.INSTANCE.getCommonImages().getOkIcon());}});
133 items.add(new KSMenuItemData("Organizations"));
134 items.add(new KSMenuItemData("Rice"));
135 dropDown.setArrowImage(Theme.INSTANCE.getCommonImages().getDropDownIconWhite());
136 dropDown.setItems(items);
137
138 StylishDropDown dropDown2 = new StylishDropDown("Propose New Curriculum", Theme.INSTANCE.getCommonImages().getWarningIcon(), MenuImageLocation.LEFT);
139 dropDown2.addStyleName("KS-LPNavigation-DropDown");
140 dropDown2.setShowSelectedItem(false);
141 List<KSMenuItemData> proposeItems = new ArrayList<KSMenuItemData>();
142 proposeItems.add(new KSMenuItemData("Courses"){{
143 addSubItem(new KSMenuItemData("Academic Course", handler));
144 addSubItem(new KSMenuItemData("Non Academic Course", handler));
145 }});
146 proposeItems.add(new KSMenuItemData("Programs"){{
147 addSubItem(new KSMenuItemData("Undergraduate"){{
148 addSubItem(new KSMenuItemData("Associate Degree", handler));
149 addSubItem(new KSMenuItemData("Baccalaureate Degree Major", handler));
150 addSubItem(new KSMenuItemData("Baccalaureate Degree Minor", handler));
151 addSubItem(new KSMenuItemData("Undergraduate Certificate", handler));
152 }});
153 addSubItem(new KSMenuItemData("Graduate"){{
154 addSubItem(new KSMenuItemData("Graduate Certificate", handler));
155 addSubItem(new KSMenuItemData("Masters Degree", handler));
156 addSubItem(new KSMenuItemData("Doctoral Degree", handler));
157 }});
158 addSubItem(new KSMenuItemData("Professional"){{
159 addSubItem(new KSMenuItemData("Professional Degree", handler));
160 addSubItem(new KSMenuItemData("Professional Certificate", handler));
161 }});
162 }});
163
164 proposeItems.add(new KSMenuItemData("Experiential Learning"){{
165 addSubItem(new KSMenuItemData("Externship", handler));
166 addSubItem(new KSMenuItemData("Internship", handler));
167 addSubItem(new KSMenuItemData("Practicum", handler));
168 }});
169
170 dropDown2.setItems(proposeItems);
171
172 //KSLumLandingPage landing = new KSLumLandingPage();
173 //wrapper.setContent(landing);
174
175 RootPanel.get().add(new KSDatePicker());
176 RootPanel.get().add(dropDown);
177 RootPanel.get().add(dropDown2);*/
178 //final KSLabel label = new KSLabel("Name");
179
180 //RootPanel.get().add(label);
181 /* final KSTitleContainerImpl title = new KSTitleContainerImpl();
182 title.setTitle("NAME1");
183 KSButton button = new KSButton("Change", new ClickHandler(){
184
185 @Override
186 public void onClick(ClickEvent event) {
187 title.setTitle("NEW NAME");
188 //label.
189 }});
190 RootPanel.get().add(title);*/
191 List<String> columns = new ArrayList<String>();
192 columns.add("Name");
193 columns.add("Permissions");
194 columns.add("Workflow Permissions");
195 columns.add("Remove Person");
196 SimpleWidgetTable table = new SimpleWidgetTable(columns);
197 List<Widget> widgets = new ArrayList<Widget>();
198 widgets.add(new Label("Hello"));
199 widgets.add(new Label("Hello2"));
200 widgets.add(new Label(""));
201 widgets.add(new Label("Hello4"));
202 table.addRow(widgets);
203 RootPanel.get().add(table);
204
205 /* KSWrapper wrapper = new KSWrapper();
206
207 KSTitleContainerImpl container = new KSTitleContainerImpl("Introduction to Geology", "Unsubmitted Proposal", "Workflow Overview");
208 KSTabPanel tabPanel = new KSTabPanel();
209 container.setContent(tabPanel);
210
211 VerticalPanel vPanel = new VerticalPanel();
212 vPanel.add(new KSButton("Button"));
213 vPanel.add(new KSLabel("Label"));
214 vPanel.add(Theme.INSTANCE.getCommonImages().getAsterisk());
215 vPanel.add(new KSRichEditor());
216 KSBasicMenu menu = new KSBasicMenu();
217 List<KSMenuItemData> menuItems = new ArrayList<KSMenuItemData>();
218 menuItems.add(new KSMenuItemData("Item 1")
219 {{
220 addSubItem(new KSMenuItemData("Child 1"){{setClickHandler(new ClickHandler(){
221
222 @Override
223 public void onClick(ClickEvent event) {
224
225
226 }
227 });}});
228 addSubItem(new KSMenuItemData("Child 2"){{setClickHandler(new ClickHandler(){
229
230 @Override
231 public void onClick(ClickEvent event) {
232
233
234 }
235 });}});
236 }});
237 menuItems.add(new KSMenuItemData("Item 2")
238 {{
239 addSubItem(new KSMenuItemData("Child 1"){{setClickHandler(new ClickHandler(){
240
241 @Override
242 public void onClick(ClickEvent event) {
243
244
245 }
246 });}});
247 addSubItem(new KSMenuItemData("Child 2"){{setClickHandler(new ClickHandler(){
248
249 @Override
250 public void onClick(ClickEvent event) {
251
252
253 }
254 });}});
255
256 }});
257 menu.setTitle("Menu Title");
258 menu.setDescription("Choose an Item");
259 menu.setItems(menuItems);
260 vPanel.add(menu);
261 VerticalPanel vPanel2 = new VerticalPanel();
262 vPanel2.add(new KSLabel("Summary Content"));
263 VerticalPanel vPanel3 = new VerticalPanel();
264 vPanel3.add(new KSLabel("Comments!"));
265
266 tabPanel.addTab("1", "EDIT PROPOSAL", vPanel);
267 tabPanel.addTab("2", "PROPOSAL SUMMARY", vPanel2);
268 tabPanel.addTab("3", "Add & View Comments", vPanel3, TabPosition.RIGHT);
269 tabPanel.selectTab("1");
270
271 wrapper.setContent(container);
272 List<KSLabel> headerLinks = new ArrayList<KSLabel>();
273 headerLinks.add(new KSLabel("KUALI REFERENCE UNIVERSITY"));
274 headerLinks.add(new KSLabel("KRU PORTAL"));
275 headerLinks.add(new KSLabel("DIRECTORIES"));
276 headerLinks.add(new KSLabel("SEARCH KRU"));
277 wrapper.setHeaderCustomLinks(headerLinks);
278 List<KSLabel> footerLinks = new ArrayList<KSLabel>();
279 footerLinks.add(new KSLabel("KUALI REFERENCE UNIVERSITY"));
280 footerLinks.add(new KSLabel("KRU PORTAL"));
281 footerLinks.add(new KSLabel("DIRECTORIES"));
282 footerLinks.add(new KSLabel("SEARCH KRU"));
283 wrapper.setFooterLinks(footerLinks);
284 RootPanel.get().add(wrapper);*/
285 }
286 }