Refine search
@Override protected String getSubmitParam(FacesContext context, UISelectOne selectOne) { return selectOne.getClientId(context); } }
protected Object getSubmittedValues(UIComponent component) { UISelectOne select = (UISelectOne) component; Object val = select.getSubmittedValue(); if (val != null) { return new Object[]{val}; } return null; }
protected Object getValues(UISelectOne selectOne) { Object value = selectOne.getValue(); if (value != null) { return new Object[]{value}; } return null; }
if (!isValid() || (value == null)) { return; boolean found = SelectUtils.matchValue(getFacesContext(), this, value, new SelectItemsIterator(context, this), getConverter()); boolean isNoSelection = SelectUtils.valueIsNoSelectionOption(getFacesContext(), this, value, new SelectItemsIterator(context, this), getConverter()); (isRequired() && isNoSelection)) { FacesMessage message = MessageFactory.getMessage(context, INVALID_MESSAGE_ID, MessageFactory.getLabel(context, this)); context.addMessage(getClientId(context), message); setValid(false);
clientId = radio.getClientId(context); Map<String, String> requestParameterMap = context.getExternalContext().getRequestParameterMap(); String newValue = requestParameterMap.get(group.getClientName()); String prefix = clientId + UINamingContainer.getSeparatorChar(context); logger.fine("submitted value for UISelectOne group component " radio.getId() + " after decoding " + submittedValue); radio.resetValue(); radio.setSubmittedValue(RIConstants.NO_VALUE);
protected boolean isChecked(FacesContext context, UISelectOne radio, Object itemValue) { Object currentValue = radio.getSubmittedValue(); currentValue = radio.getValue(); newValue = context.getApplication().getExpressionFactory().coerceToType(itemValue, type);
@Override public void decode(final FacesContext facesContext, final UIComponent component) { if (ComponentUtils.isOutputOnly(component)) { return; } final UISelectOne select = (UISelectOne) component; final String clientId = select.getClientId(facesContext); final Object newValue = facesContext.getExternalContext().getRequestParameterMap().get(clientId); if (LOG.isDebugEnabled()) { LOG.debug("decode: key='" + clientId + "' value='" + newValue + "'"); } select.setSubmittedValue(newValue); RenderUtils.decodeClientBehaviors(facesContext, select); } }
@SuppressWarnings("unchecked") private SelectItem getSelectItem() { if (selectItem == null) { FacesContext context = getFacesContext(); UISelectOne radio = (UISelectOne) getParent(); List<String> groupClientIds = (List<String>) radio.getAttributes().get(GroupSelectItem.class.getName()); UIComponent firstRadioOfGroup = context.getViewRoot().findComponent(groupClientIds.get(0)); SelectItemsIterator<SelectItem> iterator = RenderKitUtils.getSelectItems(context, firstRadioOfGroup); int index = groupClientIds.indexOf(radio.getClientId(context)); while (index-- > 0 && iterator.hasNext()) { iterator.next(); } if (!iterator.hasNext()) { throw new IllegalStateException(MessageFormat.format( "UISelectOne component id=\"{0}\" group=\"{1}\" has no UISelectItem", new Object[] { radio.getId(), radio.getGroup() })); } selectItem = iterator.next(); } return selectItem; }
((SelectItemGroup) item).getSelectItems(); if ((subitems != null) && (subitems.length > 0)) { if (matchValue(value, new ArrayIterator(subitems))) { return (true); Object newValue; try { newValue = getFacesContext().getApplication(). getExpressionFactory().coerceToType(item.getValue(), type); } catch (ELException ele) {
/** * The difference with default encoding is: * <li>Every radio button of same 'group' will have same 'name' attribute rendered, relative to UIForm parent. * <li>The 'value' attribute of every radio button is prefixed with client ID of radio button component itself. * <li>No additional (table) markup is being rendered. * <li>Label, if any, is rendered directly after radio button element, without additional markup. */ protected void encodeEndGroup(FacesContext context, UISelectOne radio, Group group) throws IOException { rendererParamsNotNull(context, radio); if (!shouldEncode(radio)) { return; } SelectItem currentItem = RenderKitUtils.getSelectItems(context, radio).next(); String clientId = radio.getClientId(context); Object itemValue = currentItem.getValue(); Converter<?> converter = radio.getConverter(); boolean checked = isChecked(context, radio, itemValue); boolean disabled = Util.componentIsDisabled(radio); ResponseWriter writer = context.getResponseWriter(); assert (writer != null); renderInput(context, writer, radio, clientId, itemValue, converter, checked, disabled, group); if (currentItem.getLabel() != null) { renderLabel(writer, radio, clientId, currentItem, new OptionComponentInfo(radio)); } }
if (!isValid() || (value == null)) { return; boolean found = matchValue(value, new SelectItemsIterator(this)); MessageFactory.getMessage(context, INVALID_MESSAGE_ID, MessageFactory.getLabel(context, this)); context.addMessage(getClientId(context), message); setValid(false);
Converter converter, boolean pageDirectionLayout) throws IOException{ ResponseWriter writer = facesContext.getResponseWriter(); labelClass = (String) selectOne.getAttributes().get(JSFAttr.DISABLED_CLASS_ATTR); } else { labelClass = (String) selectOne.getAttributes().get(JSFAttr.ENABLED_CLASS_ATTR);
log.error("Wrong layout attribute for component " + selectOne.getClientId(facesContext) + ": " + layout); ResponseWriter writer = facesContext.getResponseWriter();
public void processValidators(FacesContext context) { final String group = getGroup(); if (group != null && isEmpty(getSubmittedValue())) { final String clientId = getClientId(context); final UIComponent groupContainer = getGroupContainer(context, this); final boolean[] alreadySubmittedOrValidatedAsGroup = new boolean[1];
public static Set getSubmittedOrSelectedValuesAsSet(boolean selectMany, UIComponent uiComponent, FacesContext facesContext, Converter converter) { Set lookupSet; if (selectMany) { UISelectMany uiSelectMany = (UISelectMany) uiComponent; lookupSet = RendererUtils.getSubmittedValuesAsSet(facesContext, uiComponent, converter, uiSelectMany); if (lookupSet == null) { lookupSet = RendererUtils.getSelectedValuesAsSet(facesContext, uiComponent, converter, uiSelectMany); } } else { UISelectOne uiSelectOne = (UISelectOne) uiComponent; Object lookup = uiSelectOne.getSubmittedValue(); if (lookup == null) { lookup = uiSelectOne.getValue(); String lookupString = RendererUtils.getConvertedStringValue(facesContext, uiComponent, converter, lookup); lookupSet = Collections.singleton(lookupString); } else if (STR_EMPTY.equals(lookup)) { lookupSet = Collections.EMPTY_SET; } else { lookupSet = Collections.singleton(lookup); } } return lookupSet; }
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 boolean isOtherMemberOfSameGroup(FacesContext context, String group, String clientId, UISelectOne radio) { return group.equals(radio.getGroup()) && !clientId.equals(radio.getClientId(context)); }
if (!isValid() || value == null) Converter converter = getConverter(); if (! this.isRequired()) setValid(false);
/** * <p>Create a new {@link UISelectOne} instance with default property * values.</p> */ public UISelectOne() { super(); setRendererType("javax.faces.Menu"); }
if (uiSelectOne.getAttributes().get("disabled") != null && uiSelectOne.getAttributes().get("disabled") .equals(Boolean.TRUE)) { disabled = true; disabled = true; labelClass = (String) uiSelectOne.getAttributes().get("styleClass"); if (labelClass != null && disabled) { labelClass += "-dis"; input.setAttribute("name", uiSelectOne.getClientId(facesContext)); String inputID = ClientIdPool.get(uiComponent.getClientId(facesContext) + UINamingContainer.getSeparatorChar(facesContext) + "_" + counter); input.setAttribute("id", inputID); input.setAttribute("onkeypress", combinedPassThru((String) uiSelectOne.getAttributes().get("onkeypress"), "Ice.util.radioCheckboxEnter(form,this,event);")); Element label = domContext.createElement("label");