[richfaces-issues] [JBoss JIRA] Resolved: (RF-5385) rich:comboBox ignore label of SelectItem(s)
Anton Belevich (JIRA)
jira-events at lists.jboss.org
Tue Dec 16 11:09:55 EST 2008
[ https://jira.jboss.org/jira/browse/RF-5385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton Belevich resolved RF-5385.
--------------------------------
Fix Version/s: 3.3.0
Resolution: Rejected
Assignee: Tsikhon Kuprevich
https://jira.jboss.org/jira/browse/RF-5046
> rich:comboBox ignore label of SelectItem(s)
> -------------------------------------------
>
> Key: RF-5385
> URL: https://jira.jboss.org/jira/browse/RF-5385
> Project: RichFaces
> Issue Type: Bug
> Affects Versions: 3.2.2
> Environment: java 1.5
> myfaces 1.2
> Reporter: Andreas Höhmann
> Assignee: Tsikhon Kuprevich
> Priority: Critical
> Fix For: 3.3.0
>
>
> <rich:comboBox id="scaleOfActions"
> defaultLabel="Enter some value"
> directInputSuggestions="false"
> enableManualInput="false"
> selectFirstOnUpdate="false"
> value="#{Bean.value}">
> <f:selectItems value="#{utils:selectItemsLocalizedEnumString('PER_HOUR,PER_DAY,PER_WEEK,PER_MONTH,PER_YEAR')}" />
> </rich:comboBox>
> I expected this (this is the correct output of h:selectOneMenu with a4j:support ...)
> <select id="form_subsystem_safety:scaleOfActions" class="smallField" name="form_subsystem_safety:scaleOfActions" size="1" onkeyup="if(event.keyCode!=13) return false; ;A4J.AJAX.Submit('_viewRoot','form_subsystem_safety',event,{'eventsQueue':'sid','parameters':{'form_subsystem_safety:scaleOfActions_livevalidation_enterpressed':'form_subsystem_safety:scaleOfActions_livevalidation_enterpressed'} ,'actionUrl':'../../sid-base-web-app/main/sid.jsf;jsessionid=1xss4deh2fa52','ignoreDupResponses':true,'requestDelay':250} )" style="" onchange=";A4J.AJAX.Submit('_viewRoot','form_subsystem_safety',event,{'eventsQueue':'sid','parameters':{'form_subsystem_safety:scaleOfActions_livevalidation_onchange':'form_subsystem_safety:scaleOfActions_livevalidation_onchange'} ,'actionUrl':'../../sid-base-web-app/main/sid.jsf;jsessionid=1xss4deh2fa52','ignoreDupResponses':true,'requestDelay':250} )">
> <option value="PER_HOUR" selected="selected" title="PER_HOUR">Pro Stunde</option>
> <option value="PER_DAY" title="PER_DAY">Pro Tag</option>
> <option value="PER_WEEK" title="PER_WEEK">Pro Woche</option>
> <option value="PER_MONTH" title="PER_MONTH">Pro Monat</option>
> <option value="PER_YEAR" title="PER_YEAR">Pro Jahr</option>
> </select>
> You see the items are correct localized ...
> but rich:combobox render this:
> <div id="form_subsystem_safety:scaleOfActions_r"><div class="rich-combobox-font rich-combobox smallField" id="form_subsystem_safety:scaleOfActions_rcombobox" style="width: 148px; position: static; z-index: 0;" onkeyup="if(event.keyCode!=13) return false; ;A4J.AJAX.Submit('_viewRoot','form_subsystem_safety',event,{'eventsQueue':'sid','parameters':{'form_subsystem_safety:scaleOfActions_r_livevalidation_enterpressed':'form_subsystem_safety:scaleOfActions_r_livevalidation_enterpressed'} ,'actionUrl':'../../sid-base-web-app/main/sid.jsf;jsessionid=1xss4deh2fa52','ignoreDupResponses':true,'requestDelay':250} )"><div class="rich-combobox-list-cord"/><div class="rich-combobox-font rich-combobox-shell" style="width: 150px;"><input type="text" autocomplete="off" class="rich-combobox-font-inactive rich-combobox-input-inactive" id="form_subsystem_safety:scaleOfActions_rcomboboxField" name="form_subsystem_safety:scaleOfActions_rcomboboxField" readonly="true" style="width: 135px;" value="PER_HOUR"/><input type="text" class="rich-combobox-font-inactive rich-combobox-button-background-inactive rich-combobox-button-inactive" id="form_subsystem_safety:scaleOfActions_rcomboBoxButtonBG" readonly="true"/><input type="text" class="rich-combobox-font-inactive rich-combobox-button-icon-inactive rich-combobox-button-inactive" id="form_subsystem_safety:scaleOfActions_rcomboboxButton" readonly="true" style=""/><div class="rich-combobox-strut rich-combobox-font" style="width: 140px;">Strut</div></div><input type="hidden" id="form_subsystem_safety:scaleOfActions_rcomboboxValue" name="form_subsystem_safety:scaleOfActions_r" value="PER_HOUR" class=""/><div class="rich-combobox-list-cord" id="form_subsystem_safety:scaleOfActions_rlistParent" style="position: absolute; z-index: 1000; visibility: visible; left: 458px; top: 173px; display: none;"><div class="rich-combobox-shadow"><table cellspacing="0" cellpadding="0" border="0" id="form_subsystem_safety:scaleOfActions_rshadow" style="width: 157px; height: 129px;"><tbody><tr><td class="rich-combobox-shadow-tl"><img height="1" width="10" border="0" src="../../sid-base-web-app/a4j/g/3_2_2.SR1images/spacer.gif.jsf"/><br/></td><td class="rich-combobox-shadow-tr"><img height="10" width="1" border="0" src="../../sid-base-web-app/a4j/g/3_2_2.SR1images/spacer.gif.jsf"/><br/></td></tr><tr><td class="rich-combobox-shadow-bl"><img height="10" width="1" border="0" src="../../sid-base-web-app/a4j/g/3_2_2.SR1images/spacer.gif.jsf"/><br/></td><td class="rich-combobox-shadow-br"><img height="10" width="10" border="0" src="../../sid-base-web-app/a4j/g/3_2_2.SR1images/spacer.gif.jsf"/><br/></td></tr></tbody></table></div><div class="rich-combobox-list-position" id="form_subsystem_safety:scaleOfActions_rlistPosition"><div class="rich-combobox-list-decoration" id="form_subsystem_safety:scaleOfActions_rlistDecoration"><div class="rich-combobox-list-scroll" id="form_subsystem_safety:scaleOfActions_rlist" style="height: 120px; width: 148px;"/></div></div></div></div><script type="text/javascript">//<![CDATA[
> var clientId = 'form_subsystem_safety:scaleOfActions_r';
> RichComboUtils.execOnLoad( function(){
> Richfaces.ComboBox.CLASSES = {
> BUTTON : {CLASSES :
> {NORMAL : "rich-combobox-font-inactive rich-combobox-button-icon-inactive rich-combobox-button-inactive ",
> ACTIVE : "rich-combobox-font rich-combobox-button-icon rich-combobox-button ",
> DISABLED : "rich-combobox-font-disabled rich-combobox-button-icon-disabled rich-combobox-button-disabled ",
> HOVERED : "rich-combobox-button-hovered"},
> STYLE :
> {NORMAL: "",
> ACTIVE: "",
> DISABLED: ""}
> },
> BUTTONBG : {CLASSES :
> {NORMAL:"rich-combobox-font-inactive rich-combobox-button-background-inactive rich-combobox-button-inactive",
> ACTIVE: "rich-combobox-font rich-combobox-button-background rich-combobox-button",
> DISABLED : "rich-combobox-font-disabled rich-combobox-button-background-disabled rich-combobox-button-disabled"}
> },
> BUTTONICON : {STYLE :
> {NORMAL: "",
> ACTIVE: "",
> DISABLED: ""}
> },
> FIELD : {CLASSES:
> {NORMAL : "rich-combobox-font-inactive rich-combobox-input-inactive ",
> ACTIVE : "rich-combobox-font rich-combobox-input ",
> DISABLED : "rich-combobox-font-disabled rich-combobox-input-disabled "},
> STYLE :
> {NORMAL : "",
> ACTIVE : "",
> DISABLED : ""}
> },
> COMBO_LIST : {
> LIST : {CLASSES :{ACTIVE : "rich-combobox-list-cord rich-combobox-list-scroll rich-combobox-list-decoration rich-combobox-list-position "},
> STYLE : {ACTIVE: ""}
> },
> ITEM : {NORMAL : "rich-combobox-item ",
> SELECTED : "rich-combobox-item rich-combobox-item-selected "
> }
> }
> }
>
> var combobox = new Richfaces.ComboBox( "form_subsystem_safety:scaleOfActions_r",
> "form_subsystem_safety:scaleOfActions_rlist",
> "form_subsystem_safety:scaleOfActions_rlistParent",
> "form_subsystem_safety:scaleOfActions_rcomboboxValue",
> "form_subsystem_safety:scaleOfActions_rcomboboxField",
> "form_subsystem_safety:scaleOfActions_rcomboboxButton",
> "form_subsystem_safety:scaleOfActions_rcomboBoxButtonBG",
> "form_subsystem_safety:scaleOfActions_rshadow",
> Richfaces.ComboBox.CLASSES,
> "150px", "200px",
> ['PER_HOUR','PER_DAY','PER_WEEK','PER_MONTH','PER_YEAR'] ,
> false,
> true,
> false,
> null,
> null,
> "Enter some value",
> false, 'PER_HOUR',
> 0, 0);
> }, RichComboUtils.Condition.ElementPresent("form_subsystem_safety:scaleOfActions_r"), 100);
> //
> //]]>
> </script></div>
> The result is a unlocalized ui.
> I guess the problem is in org.richfaces.renderkit.ComboBoxBaseRenderer:
> public List<Object> encodeItems(FacesContext context, UIComponent component) throws IOException, IllegalArgumentException {
> if (!isAcceptableComponent(component)) {
> return null;
> }
> UIComboBox comboBox = (UIComboBox) component;
> Object suggestionValues = comboBox.getSuggestionValues();
> ResponseWriter writer = context.getResponseWriter();
> List <Object>values = encodeSuggestionValues(context, component, writer, suggestionValues);
> List<SelectItem> selectItems = SelectUtils.getSelectItems(context, component);
> for (SelectItem selectItem : selectItems) {
> String value = getConvertedStringValue(context, comboBox, selectItem.getValue());
> // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> // selectItem.getLabel() will never called - why?
> values.add(value);
> encodeSuggestion(writer, comboBox, value, RICH_COMBOBOX_ITEM_CLASSES);
>
> }
> return values;
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the richfaces-issues
mailing list