[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