diff options
-rw-r--r-- | WebContent/WEB-INF/web.xml | 13 | ||||
-rw-r--r-- | WebContent/index.html | 14 | ||||
-rw-r--r-- | src/com/itmill/toolkit/demo/SelectDemo.java | 74 |
3 files changed, 101 insertions, 0 deletions
diff --git a/WebContent/WEB-INF/web.xml b/WebContent/WEB-INF/web.xml index a7d76dadd1..2d860167fc 100644 --- a/WebContent/WEB-INF/web.xml +++ b/WebContent/WEB-INF/web.xml @@ -3,6 +3,19 @@ <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> <init-param> diff --git a/WebContent/index.html b/WebContent/index.html index 3e3c038125..4c4a5abc5d 100644 --- a/WebContent/index.html +++ b/WebContent/index.html @@ -11,6 +11,7 @@ <div id="toolkit"></div>
+
<div class="feature-browser">
<h4>Feature Browser</h4>
<div class="option">
@@ -180,6 +181,19 @@ </div>
<div class="feature-browser">
+ <h3><a href="SelectDemo?renderingMode=ajax">Select demo</a></h3>
+ <div class="option">
+ <p>
+ This example shows select component with default and lazy loading functionality enabled (a.k.a Google Suggest).
+ Click to first select component and type few letters using your keyboard to see it in action.
+ Second select component has default functionality.
+ </p>
+ </div>
+ Source code:
+ <span class="link"><a href="src/com/itmill/toolkit/demo/SelectDemo.java.html">SelectDemo.java</a></span>
+ </div>
+
+ <div class="feature-browser">
<h3><a href="FilterSelect?renderingMode=ajax">FilterSelect demo</a></h3>
<div class="option">
<p>
diff --git a/src/com/itmill/toolkit/demo/SelectDemo.java b/src/com/itmill/toolkit/demo/SelectDemo.java new file mode 100644 index 0000000000..e8a76d1686 --- /dev/null +++ b/src/com/itmill/toolkit/demo/SelectDemo.java @@ -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()); + } + +} |