View Javadoc

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&nbsp;" + 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&nbsp;" + 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 }