[richfaces-issues] [JBoss JIRA] Updated: (RF-11126) Improvement on filtering entries for rich:comboBox

Brian Leathem (JIRA) jira-events at lists.jboss.org
Wed Jul 20 02:44:23 EDT 2011


     [ https://issues.jboss.org/browse/RF-11126?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Leathem updated RF-11126:
-------------------------------

    Fix Version/s: 3.Future


> Improvement on filtering entries for rich:comboBox
> --------------------------------------------------
>
>                 Key: RF-11126
>                 URL: https://issues.jboss.org/browse/RF-11126
>             Project: RichFaces
>          Issue Type: Patch
>      Security Level: Public(Everyone can see) 
>          Components: component-input
>    Affects Versions: 3.3.3.Final
>         Environment: Win7, Firefox 3.6.x, JBoss AS 4.2.3, Seam 2.1.2
>            Reporter: Martin Dames
>            Priority: Minor
>              Labels: filtering, patch, rich:comboBox
>             Fix For: 3.Future
>
>
> I have an improvement patch for the rich:comboBox. My use case was to filter entries with an input string no matter where it occurs in the entries text. Your component implementation can only search for the string at the beginning of the entries text.
> Example:
> Entries in comboBox: Seam in Action, Seam with Richfaces, Seam 3, Exadel Richfaces
> Old:
> Input filter text: Seam; Filter output: Seam in Action, Seam with Richfaces, Seam 3
> Input filter text: Exadel; Filter output: Exadel Richfaces
> Input filter text: Richfaces; Filter output: nothing found
> Input filter text: in; Filter output: nothing found
> New:
> Input filter text: Seam; Filter output: Seam in Action, Seam with Richfaces, Seam 3
> Input filter text: Exadel; Filter output: Exadel Richfaces
> Input filter text: Richfaces; Filter output: Seam with Richfaces, Exadel Richfaces
> Input filter text: in; Filter output: Seam in Action
> The patch occurs in combolist.js Javascript found in /org/richfaces/renderkit/html/scripts/combolist.js:
> getFilteredItems : function(text) {
>         var items = new Array();
>         for (var i = 0; i < this.itemsText.length; i++) {
>             var itText = this.itemsText[i].toLowerCase();
>             // New:
>             if (itText.search(text.toLowerCase()) != -1) {
>                 items.push(this.createItem(itText, this.classes.item.normal));
>             }
>             // Old:
>             //if (itText.substr(0, text.length).toLowerCase() == text.toLowerCase()) { //FIXME: to optimaize
>                 //items.push(this.createItem(itText, this.classes.item.normal));
>             //}
>         }
>         return items;
>     },
> Hope it could be helpful.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the richfaces-issues mailing list