Details
Description
Contribution from Dan Leahu:
*****
RowSelector doesn't correctly work with two portlets because the method generated at onclick event on the row through JScript doesn't consider the current table we're in. We've fixed that by changing into TableRenderer, this:
rowSelectionFunctionName = "ice_tableRowClicked" + rowSelectorNumber(facesContext);
into this:
public String textToJSMethodName(String text) {
return text.replaceAll(":","_");
}
rowSelectorId = textToJSMethodName(uiComponent.getClientId(facesContext));
rowSelectionFunctionName = "ice_tableRowClicked" + rowSelectorId;
The method rowSelectorNumber(...) which looks like this:
private int rowSelectorNumber(FacesContext context){
Map m = context.getExternalContext().getRequestMap();
String key = RowSelector.class.getName() + "-Selector";
Integer I = (Integer)m.get(key);
int i = 0;
if(I != null){
i = I.intValue();
i++;
}
I = new Integer(i);
m.put(key, I);
return i;
}
contains String key = RowSelector.class.getName() + "-Selector" which never gets an actual value as the key isn't set anywhere. We think that RowSelector should namespace its parameters by using ids which are sure to be unique hence the modifications we've done.
*****
RowSelector doesn't correctly work with two portlets because the method generated at onclick event on the row through JScript doesn't consider the current table we're in. We've fixed that by changing into TableRenderer, this:
rowSelectionFunctionName = "ice_tableRowClicked" + rowSelectorNumber(facesContext);
into this:
public String textToJSMethodName(String text) {
return text.replaceAll(":","_");
}
rowSelectorId = textToJSMethodName(uiComponent.getClientId(facesContext));
rowSelectionFunctionName = "ice_tableRowClicked" + rowSelectorId;
The method rowSelectorNumber(...) which looks like this:
private int rowSelectorNumber(FacesContext context){
Map m = context.getExternalContext().getRequestMap();
String key = RowSelector.class.getName() + "-Selector";
Integer I = (Integer)m.get(key);
int i = 0;
if(I != null){
i = I.intValue();
i++;
}
I = new Integer(i);
m.put(key, I);
return i;
}
contains String key = RowSelector.class.getName() + "-Selector" which never gets an actual value as the key isn't set anywhere. We think that RowSelector should namespace its parameters by using ids which are sure to be unique hence the modifications we've done.
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Philip Breau
created issue -
Philip Breau
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Ken Fyten [ ken.fyten ] |
Ken Fyten
made changes -
Assignee Priority | P2 | |
Assignee | Ken Fyten [ ken.fyten ] | Adnan Durrani [ adnan.durrani ] |
Ken Fyten
made changes -
Fix Version/s | 1.6DR#4 [ 10060 ] |
Ken Fyten
made changes -
Assignee Priority | P2 | |
Assignee | Adnan Durrani [ adnan.durrani ] | Deryk Sinotte [ deryk.sinotte ] |
Ken Fyten
made changes -
Fix Version/s | 1.6 [ 10031 ] | |
Fix Version/s | 1.6DR#4 [ 10060 ] |
Ken Fyten
made changes -
Fix Version/s | 1.7 [ 10080 ] | |
Fix Version/s | 1.6 [ 10031 ] |
Ken Fyten
made changes -
Assignee | User Deryk.sinotte [ deryk.sinotte ] | Jack van Ooststroom [ jack.van.ooststroom ] |
Ken Fyten
made changes -
Fix Version/s | 1.6.1 [ 10070 ] | |
Fix Version/s | 1.7 [ 10080 ] | |
Assignee Priority | P2 | |
Assignee | Jack van Ooststroom [ jack.van.ooststroom ] | Mark Collette [ mark.collette ] |
Ken Fyten
made changes -
Fix Version/s | 1.7 [ 10080 ] | |
Fix Version/s | 1.6.1 [ 10070 ] |
Mark Collette
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Fix Version/s | 1.6.1 [ 10070 ] | |
Fix Version/s | 1.7 [ 10080 ] | |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Assignee Priority | P2 | |
Assignee | Mark Collette [ mark.collette ] |