@Override public VisitResult visit(VisitContext visitContext, UIComponent target) { if (target instanceof UISelectOne && ((UISelectOne) target).getGroup().equals(group)) { UISelectOne radio = (UISelectOne) target; // if target is an instance of UISelectOne then get all the UISelectItem children // and verify if the submitted value exists for (Iterator<UIComponent> iter = radio.getChildren().iterator(); iter.hasNext(); ) { UIComponent component = iter.next(); if (component instanceof UISelectItem) { UISelectItem item = (UISelectItem) component; if (item.getItemValue().equals(submittedValue)) { selectItemValueFound = true; return VisitResult.COMPLETE; } } } return VisitResult.REJECT; } return VisitResult.ACCEPT; } });
public void addRadio(FacesContext context, UISelectOne radio) { String clientId = radio.getClientId(context); if (!clientIds.contains(clientId)) { if (clientIds.isEmpty()) { value = radio.getValueExpression("value"); } else if (radio.getValueExpression("value") == null) { radio.setValueExpression("value", value); } if (!RenderKitUtils.getSelectItems(context, radio).hasNext()) { radio.getChildren().add(new GroupSelectItem()); } clientIds.add(clientId); radio.getAttributes().put(GroupSelectItem.class.getName(), Collections.unmodifiableList(clientIds)); } }
public void addRadio(FacesContext context, UISelectOne radio) { String clientId = radio.getClientId(context); if (!clientIds.contains(clientId)) { if (clientIds.isEmpty()) { value = radio.getValueExpression("value"); } else if (radio.getValueExpression("value") == null) { radio.setValueExpression("value", value); } if (!RenderKitUtils.getSelectItems(context, radio).hasNext()) { radio.getChildren().add(new GroupSelectItem()); } clientIds.add(clientId); radio.getAttributes().put(GroupSelectItem.class.getName(), Collections.unmodifiableList(clientIds)); } }
public void addRadio(FacesContext context, UISelectOne radio) { String clientId = radio.getClientId(context); if (!clientIds.contains(clientId)) { if (clientIds.isEmpty()) { value = radio.getValueExpression("value"); } else if (radio.getValueExpression("value") == null) { radio.setValueExpression("value", value); } if (!RenderKitUtils.getSelectItems(context, radio).hasNext()) { radio.getChildren().add(new GroupSelectItem()); } clientIds.add(clientId); radio.getAttributes().put(GroupSelectItem.class.getName(), Collections.unmodifiableList(clientIds)); } }
private static UIInput createInputForEnumProperty(PropertyDefinitionSimple propertyDefinitionSimple) { UISelectOne selectOne; if (propertyDefinitionSimple.getEnumeratedValues().size() >= LISTBOX_THRESHOLD_ENUM_SIZE) { // Use a drop down menu for larger enums... HtmlSelectOneMenu menu = FacesComponentUtility.createComponent(HtmlSelectOneMenu.class, null); // TODO: Use CSS to set the width of the menu. selectOne = menu; } else { // ...and a radio for smaller ones. HtmlSelectOneRadio radio = FacesComponentUtility.createComponent(HtmlSelectOneRadio.class, null); radio.setLayout("pageDirection"); // TODO: We may want to use CSS to get less space between the radio buttons // (see http://jira.jboss.com/jira/browse/JBMANCON-21). selectOne = radio; } List<PropertyDefinitionEnumeration> options = propertyDefinitionSimple.getEnumeratedValues(); for (PropertyDefinitionEnumeration option : options) { UISelectItem selectItem = FacesComponentUtility.createComponent(UISelectItem.class, null); selectItem.setItemLabel(option.getName()); selectItem.setItemValue(option.getValue()); selectOne.getChildren().add(selectItem); } return selectOne; }
selectItem.setItemLabel(option.getDisplay()); selectItem.setItemValue(option.getValue()); input.getChildren().add(selectItem);