]> source.dussan.org Git - vaadin-framework.git/commitdiff
Added selectdemo back to trunk: major issues fixed.
authorJani Laakso <jani.laakso@itmill.com>
Tue, 24 Apr 2007 12:38:34 +0000 (12:38 +0000)
committerJani Laakso <jani.laakso@itmill.com>
Tue, 24 Apr 2007 12:38:34 +0000 (12:38 +0000)
svn changeset:1315/svn branch:trunk

WebContent/WEB-INF/web.xml
WebContent/index.html
src/com/itmill/toolkit/demo/SelectDemo.java [new file with mode: 0644]

index a7d76dadd1281f010e0dec41ec9885d644e7c5be..2d860167fc5c34bb8425a2f4862f466d3ee47d12 100644 (file)
@@ -2,6 +2,19 @@
 <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>IT Mill Toolkit</display-name>
 
+       <servlet>
+        <servlet-name>SelectDemo</servlet-name>
+        <servlet-class>com.itmill.toolkit.terminal.web.ApplicationServlet</servlet-class>
+        <init-param>
+            <param-name>application</param-name>
+            <param-value>com.itmill.toolkit.demo.SelectDemo</param-value>
+        </init-param>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>SelectDemo</servlet-name>
+        <url-pattern>/SelectDemo/*</url-pattern>
+    </servlet-mapping>
+    
        <servlet>
         <servlet-name>BufferedComponents</servlet-name>
         <servlet-class>com.itmill.toolkit.terminal.web.ApplicationServlet</servlet-class>
index 3e3c038125ce8a3766882cdd77bfe33924421ff8..4c4a5abc5d848d952f0a4425fc4729dff99286be 100644 (file)
@@ -11,6 +11,7 @@
 \r
 <div id="toolkit"></div>\r
 \r
+\r
   <div class="feature-browser">\r
        <h4>Feature Browser</h4>\r
        <div class="option">\r
        <span class="link"><a href="src/com/itmill/toolkit/demo/TreeFilesystem.java.html">TreeFilesystem.java</a></span>\r
   </div>\r
   \r
+  <div class="feature-browser">\r
+       <h3><a href="SelectDemo?renderingMode=ajax">Select demo</a></h3>\r
+       <div class="option">\r
+       <p>\r
+        This example shows select component with default and lazy loading functionality enabled (a.k.a Google Suggest).\r
+        Click to first select component and type few letters using your keyboard to see it in action.\r
+        Second select component has default functionality.\r
+       </p>\r
+       </div>\r
+       Source code:\r
+       <span class="link"><a href="src/com/itmill/toolkit/demo/SelectDemo.java.html">SelectDemo.java</a></span>\r
+  </div>\r
+  \r
   <div class="feature-browser">\r
        <h3><a href="FilterSelect?renderingMode=ajax">FilterSelect demo</a></h3>\r
        <div class="option">\r
diff --git a/src/com/itmill/toolkit/demo/SelectDemo.java b/src/com/itmill/toolkit/demo/SelectDemo.java
new file mode 100644 (file)
index 0000000..e8a76d1
--- /dev/null
@@ -0,0 +1,74 @@
+package com.itmill.toolkit.demo;
+
+import java.sql.SQLException;
+import com.itmill.toolkit.data.util.QueryContainer;
+import com.itmill.toolkit.demo.util.SampleDatabase;
+import com.itmill.toolkit.ui.*;
+
+/**
+ * This example demonstrates what is lazy loading feature on Select component.
+ * Demo Uses similar concepts to QueryContainerDemo.
+ * 
+ * @author IT Mill Ltd.
+ * @since 4.0.0
+ * 
+ */
+public class SelectDemo extends com.itmill.toolkit.Application {
+
+       // Select component where SQL rows are attached (using QueryContainer)
+       private Select select = new Select();
+
+       private Select lazySelect = new Select();
+
+       // Database provided with sample data
+       private SampleDatabase sampleDatabase;
+
+       /**
+        * Initialize Application. Demo components are added to main window.
+        */
+       public void init() {
+               Window main = new Window("Select demo");
+               setMainWindow(main);
+
+               // set the application to use Corporate -theme
+               setTheme("corporate");
+
+               // Main window contains heading, table, select and tree
+               Panel panel = new Panel("Select demo (a.k.a Google Suggests)");
+               panel.addComponent(lazySelect);
+               panel.addComponent(new Label("<hr />", Label.CONTENT_XHTML));
+               panel.addComponent(select);
+               main.addComponent(panel);
+
+               // create demo database
+               sampleDatabase = new SampleDatabase();
+
+               initSelects();
+       }
+
+       private void initSelects() {
+               // init select
+               select.setCaption("All employees default functionality.");
+               select.setItemCaptionPropertyId("WORKER");
+               // populate Toolkit select component with test SQL table rows
+               try {
+                       QueryContainer qc = new QueryContainer(
+                                       "SELECT ID, UNIT||', '||LASTNAME||' '||FIRSTNAME"
+                                                       + " AS WORKER FROM employee ORDER BY WORKER",
+                                       sampleDatabase.getConnection());
+                       select.setContainerDataSource(qc);
+               } catch (SQLException e) {
+                       e.printStackTrace();
+               }
+
+               // init lazySelect
+               lazySelect.setCaption("All employees with lazy loading "
+                               + "(a.k.a Google Suggests) activated.");
+               lazySelect.setItemCaptionPropertyId("WORKER");
+               // use lazy loading (a.k.a Google Suggest)
+               lazySelect.setLazyLoading(true);
+               // use same datasource as select object uses
+               lazySelect.setContainerDataSource(select.getContainerDataSource());
+       }
+
+}