use of com.github.bordertech.wcomponents.WMultiSelect in project wcomponents by BorderTech.
the class SubordinateControlOptionsExample method setupTrigger.
/**
* Setup the trigger for the subordinate control.
*/
private void setupTrigger() {
String label = drpTriggerType.getSelected() + " Trigger";
WFieldLayout layout = new WFieldLayout();
layout.setLabelWidth(LABEL_WIDTH);
buildControlPanel.add(layout);
switch((TriggerType) drpTriggerType.getSelected()) {
case RadioButtonGroup:
trigger = new RadioButtonGroup();
WFieldSet rbSet = new WFieldSet("Select an option");
RadioButtonGroup group = (RadioButtonGroup) trigger;
WRadioButton rb1 = group.addRadioButton("A");
WRadioButton rb2 = group.addRadioButton("B");
WRadioButton rb3 = group.addRadioButton("C");
rbSet.add(group);
rbSet.add(rb1);
rbSet.add(new WLabel("A", rb1));
rbSet.add(new WText("\u00a0"));
rbSet.add(rb2);
rbSet.add(new WLabel("B", rb2));
rbSet.add(new WText("\u00a0"));
rbSet.add(rb3);
rbSet.add(new WLabel("C", rb3));
layout.addField(label, rbSet);
return;
case CheckBox:
trigger = new WCheckBox();
break;
case CheckBoxSelect:
trigger = new WCheckBoxSelect(LOOKUP_TABLE_NAME);
break;
case DateField:
trigger = new WDateField();
break;
case Dropdown:
trigger = new WDropdown(new TableWithNullOption(LOOKUP_TABLE_NAME));
break;
case EmailField:
trigger = new WEmailField();
break;
case MultiSelect:
trigger = new WMultiSelect(LOOKUP_TABLE_NAME);
break;
case MultiSelectPair:
trigger = new WMultiSelectPair(LOOKUP_TABLE_NAME);
break;
case NumberField:
trigger = new WNumberField();
break;
case PartialDateField:
trigger = new WPartialDateField();
break;
case PasswordField:
trigger = new WPasswordField();
break;
case PhoneNumberField:
trigger = new WPhoneNumberField();
break;
case RadioButtonSelect:
trigger = new WRadioButtonSelect(LOOKUP_TABLE_NAME);
break;
case SingleSelect:
trigger = new WSingleSelect(LOOKUP_TABLE_NAME);
break;
case TextArea:
trigger = new WTextArea();
((WTextArea) trigger).setMaxLength(1000);
break;
case TextField:
trigger = new WTextField();
break;
default:
throw new SystemException("Trigger type not valid");
}
layout.addField(label, trigger);
}
use of com.github.bordertech.wcomponents.WMultiSelect in project wcomponents by BorderTech.
the class LoadAjaxControlsExample method createFields.
/**
* @param layout the layout to add the fields to
* @param table the lookupTable to use on the fields
*/
private void createFields(final WFieldLayout layout, final Object table) {
WDropdown down = new WDropdown(table);
down.setType(DropdownType.COMBO);
layout.addField("Combo Dropdown", down);
WMultiDropdown multi = new WMultiDropdown(table);
layout.addField("Multi Dropdown", multi);
WMultiSelect select = new WMultiSelect(table);
layout.addField("Multi Select", select);
}
use of com.github.bordertech.wcomponents.WMultiSelect in project wcomponents by BorderTech.
the class WMultiSelectRenderer_Test method testDoPaintOptions.
@Test
public void testDoPaintOptions() throws IOException, SAXException, XpathException {
String tooltip = "test tooltip";
String accessible = "test accessible text";
int rows = 2;
WMultiSelect multi = new WMultiSelect(new String[] { "a", "b", "c" });
multi.setDisabled(true);
setFlag(multi, ComponentModel.HIDE_FLAG, true);
multi.setMandatory(true);
multi.setSubmitOnChange(true);
multi.setToolTip(tooltip);
multi.setAccessibleText(accessible);
multi.setRows(rows);
multi.setMinSelect(1);
multi.setMaxSelect(2);
assertSchemaMatch(multi);
assertXpathEvaluatesTo(multi.getId(), "//ui:listbox/@id", multi);
assertXpathEvaluatesTo("true", "//ui:listbox/@disabled", multi);
assertXpathEvaluatesTo("true", "//ui:listbox/@hidden", multi);
assertXpathEvaluatesTo("true", "//ui:listbox/@required", multi);
assertXpathEvaluatesTo("true", "//ui:listbox/@submitOnChange", multi);
assertXpathEvaluatesTo(tooltip, "//ui:listbox/@toolTip", multi);
assertXpathEvaluatesTo(accessible, "//ui:listbox/@accessibleText", multi);
assertXpathEvaluatesTo(Integer.toString(rows), "//ui:listbox/@rows", multi);
assertXpathEvaluatesTo("", "//ui:listbox/@single", multi);
assertXpathEvaluatesTo("1", "//ui:listbox/@min", multi);
assertXpathEvaluatesTo("2", "//ui:listbox/@max", multi);
}
use of com.github.bordertech.wcomponents.WMultiSelect in project wcomponents by BorderTech.
the class WMultiSelectRenderer_Test method testReadOnly.
@Test
public void testReadOnly() throws IOException, SAXException, XpathException {
WMultiSelect multi = new WMultiSelect(new String[] { "a", "b", "c" });
setActiveContext(createUIContext());
multi.setSelected(Arrays.asList(new String[] { "b" }));
// Check Readonly - only render selected option
multi.setReadOnly(true);
assertSchemaMatch(multi);
assertXpathEvaluatesTo("true", "//ui:listbox/@readOnly", multi);
assertXpathEvaluatesTo("1", "count(//ui:listbox/ui:option)", multi);
assertXpathEvaluatesTo("b", "normalize-space(//ui:listbox/ui:option[@selected='true'])", multi);
}
use of com.github.bordertech.wcomponents.WMultiSelect in project wcomponents by BorderTech.
the class WMultiSelectRenderer_Test method testRendererCorrectlyConfigured.
@Test
public void testRendererCorrectlyConfigured() {
WMultiSelect multi = new WMultiSelect(new String[] { "a", "b", "c" });
Assert.assertTrue("Incorrect renderer supplied", getWebXmlRenderer(multi) instanceof WMultiSelectRenderer);
}
Aggregations