[ 
https://jira.jboss.org/jira/browse/RF-5512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12461565#action_12461565
 ] 

Christopher Shubert commented on RF-5512:
-----------------------------------------

This happens for any CSS @ rule.  The problem manifests on FireFox 3, but not 
on IE 6.

The problem is in the Utils.js file associated with ScrollableDataTable.  The 
function Utils.getrule() is the cause of the problem.  I have included a 
reference version of the function (from the 3.3.0 release) below.

On line 7, a reference is made to rules[i].selectorText.  This member does not 
apply to type 2 rules (@ rules), so any @ rule in any associated CSS will cause 
this method to fail.  That will result in the placement of headers and frozen 
columns failing for ScrollableDataTable.

A proposed fix is to modify line 7 of the getRule function to read:

 7                      if (rules[i].type == 1 && 
rules[i].selectorText.toLowerCase() == (className.toLowerCase())) {

Thus avoiding references to selectorText for @ rules.

 1 Utils.getRule = function (className) {
 2      var rule = null;
 3      var sheets = document.styleSheets;
 4      for (var j = 0; !rule && j < sheets.length; j++) {
 5              var rules = sheets[j].cssRules ? sheets[j].cssRules: 
sheets[j].rules;
 6              for (var i = 0; !rule && i < rules.length; i++) {
 7                      if (rules[i].selectorText.toLowerCase() == 
(className.toLowerCase())) {
 8                              rule = rules[i];
 9                      }
10              }
11      }
        return rule;                    
};

> Scrollable DataTable cannot be used when adding @charset statement to css 
> files.
> --------------------------------------------------------------------------------
>
>                 Key: RF-5512
>                 URL: https://jira.jboss.org/jira/browse/RF-5512
>             Project: RichFaces
>          Issue Type: Bug
>          Components: ScrollableDataTable
>    Affects Versions: 3.2.2
>         Environment: windows xp + glassfish v2u2 + jdk 1.6
>            Reporter: Rong Tao
>            Assignee: Konstantin Mishin
>             Fix For: Future
>
>
> This is a very strange bug, when I add a statement '@charset "utf-8"' to a 
> css file or the css section of the xhtml file, the Scrollable DataTable 
> becomes very strange and cannot be used, the problems are:
> 1. the table header is not displayed.
> 2. scroll bar is not displayed.
> 3. cannot select any rows.
> 4. the 1st and 2nd columns are overlap.
> Very easy to reproduce: download and deploy the demo 
> scrollableDataTable.xhtml and DataTableScrollerBean.java; then add  '@charset 
> "utf-8"' to scrollableDataTable.xhtml, the <style> section of the page should 
> be like this:
> <style>
>                     @charset "utf-8";
>                       .scrolls{
>                               width:300px;
>                               height:200px;
>                               overflow:auto;
>                       }
> </style>
> Refresh the page and you will see the problems. 
> Not only "utf-8", other charset such as "iso-8859-1" can also cause the issue.

-- 
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

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to