[
https://issues.jboss.org/browse/RF-11126?page=com.atlassian.jira.plugin.s...
]
Martin Dames updated RF-11126:
------------------------------
Description:
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.
was:
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,
Exadel Richfaces
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,
Exadel Richfaces
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.
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
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