import com.itmill.toolkit.demo.sampler.features.notifications.NotificationHumanized;
import com.itmill.toolkit.demo.sampler.features.notifications.NotificationTray;
import com.itmill.toolkit.demo.sampler.features.notifications.NotificationWarning;
+import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxContains;
+import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems;
import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxPlain;
+import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxStartsWith;
import com.itmill.toolkit.demo.sampler.features.selects.ListSelectMultiple;
import com.itmill.toolkit.demo.sampler.features.selects.ListSelectSingle;
import com.itmill.toolkit.demo.sampler.features.selects.NativeSelection;
new TwinColumnSelect(), //
new NativeSelection(), //
new ComboBoxPlain(), //
+ new ComboBoxStartsWith(), //
+ new ComboBoxContains(), //
+ new ComboBoxNewItems(), //
});
}
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.selects;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.ComboBox;\r
+\r
+public class ComboBoxContains extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A drop-down selection component with single item selection."\r
+ + " A 'contains' filter has been used with this combo box,"\r
+ + " so you can key in some text and only the options"\r
+ + " containing your input will be shown.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(ComboBox.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { ComboBoxPlain.class, ComboBoxStartsWith.class,\r
+ ComboBoxNewItems.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.selects;\r
+\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.ui.ComboBox;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.AbstractSelect.Filtering;\r
+\r
+public class ComboBoxContainsExample extends VerticalLayout implements\r
+ Property.ValueChangeListener {\r
+\r
+ private static final String[] cities = new String[] { "Berlin", "Brussels",\r
+ "Helsinki", "Madrid", "Oslo", "Paris", "Stockholm" };\r
+\r
+ public ComboBoxContainsExample() {\r
+ setSpacing(true);\r
+\r
+ ComboBox l = new ComboBox("Please select a city");\r
+ for (int i = 0; i < cities.length; i++) {\r
+ l.addItem(cities[i]);\r
+ }\r
+\r
+ l.setFilteringMode(Filtering.FILTERINGMODE_CONTAINS);\r
+ l.setImmediate(true);\r
+ l.addListener(this);\r
+\r
+ addComponent(l);\r
+ }\r
+\r
+ /*\r
+ * Shows a notification when a selection is made.\r
+ */\r
+ public void valueChange(ValueChangeEvent event) {\r
+ getWindow().showNotification("Selected city: " + event.getProperty());\r
+\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.selects;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.ComboBox;\r
+\r
+public class ComboBoxNewItems extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A drop-down selection component with single item selection."\r
+ + " This selection box also allows you to input your own"\r
+ + " choice. Your input will also be added to the selection"\r
+ + " of available choices.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(ComboBox.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { ComboBoxPlain.class, ComboBoxStartsWith.class,\r
+ ComboBoxContains.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.selects;\r
+\r
+import com.itmill.toolkit.data.Property;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.ui.ComboBox;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.AbstractSelect.Filtering;\r
+\r
+public class ComboBoxNewItemsExample extends VerticalLayout implements\r
+ Property.ValueChangeListener {\r
+\r
+ private static final String[] cities = new String[] { "Berlin", "Brussels",\r
+ "Helsinki", "Madrid", "Oslo", "Paris", "Stockholm" };\r
+ private ComboBox l;\r
+\r
+ public ComboBoxNewItemsExample() {\r
+ setSpacing(true);\r
+\r
+ l = new ComboBox("Please select a city");\r
+ for (int i = 0; i < cities.length; i++) {\r
+ l.addItem(cities[i]);\r
+ }\r
+\r
+ l.setFilteringMode(Filtering.FILTERINGMODE_OFF);\r
+ l.setNewItemsAllowed(true);\r
+ l.setImmediate(true);\r
+ l.addListener(this);\r
+\r
+ addComponent(l);\r
+ }\r
+\r
+ /*\r
+ * Shows a notification when a selection is made.\r
+ */\r
+ public void valueChange(ValueChangeEvent event) {\r
+ Boolean newItem = true;\r
+ String s = event.getProperty().toString();\r
+\r
+ for (int i = 0; i < cities.length; i++) {\r
+ if (s == null || s.equals(cities[i])) {\r
+ newItem = false;\r
+ }\r
+ }\r
+ if (newItem) {\r
+ getWindow().showNotification("Selected an added item: " + s);\r
+ } else {\r
+ getWindow().showNotification("Selected city: " + s);\r
+ }\r
+ }\r
+}\r
\r
@Override\r
public Class[] getRelatedFeatures() {\r
- return new Class[] { ListSelectSingle.class, NativeSelection.class,\r
- ListSelectMultiple.class, TwinColumnSelect.class };\r
+ return new Class[] { ComboBoxStartsWith.class, ComboBoxContains.class,\r
+ ComboBoxNewItems.class };\r
}\r
\r
@Override\r
\r
@Override\r
public Class[] getRelatedFeatures() {\r
- return new Class[] { ComboBoxPlain.class, ListSelectSingle.class,\r
- NativeSelection.class, ListSelectMultiple.class,\r
- TwinColumnSelect.class };\r
+ return new Class[] { ComboBoxPlain.class, ComboBoxContains.class,\r
+ ComboBoxNewItems.class };\r
}\r
\r
@Override\r
\r
@Override\r
public Class[] getRelatedFeatures() {\r
- return new Class[] { ComboBoxPlain.class, NativeSelection.class,\r
- ListSelectSingle.class, TwinColumnSelect.class };\r
+ return new Class[] { NativeSelection.class, ListSelectSingle.class,\r
+ TwinColumnSelect.class };\r
}\r
\r
@Override\r
\r
@Override\r
public Class[] getRelatedFeatures() {\r
- return new Class[] { ComboBoxPlain.class, NativeSelection.class,\r
- ListSelectMultiple.class, TwinColumnSelect.class };\r
+ return new Class[] { NativeSelection.class, ListSelectMultiple.class,\r
+ TwinColumnSelect.class };\r
}\r
\r
@Override\r
\r
@Override\r
public Class[] getRelatedFeatures() {\r
- return new Class[] { ComboBoxPlain.class, ListSelectSingle.class,\r
- ListSelectMultiple.class, TwinColumnSelect.class };\r
+ return new Class[] { ListSelectSingle.class, ListSelectMultiple.class,\r
+ TwinColumnSelect.class };\r
}\r
\r
@Override\r
\r
@Override\r
public Class[] getRelatedFeatures() {\r
- return new Class[] { ComboBoxPlain.class, NativeSelection.class,\r
- ListSelectMultiple.class, ListSelectSingle.class };\r
+ return new Class[] { NativeSelection.class, ListSelectMultiple.class,\r
+ ListSelectSingle.class };\r
}\r
\r
@Override\r