Author: konstantin.mishin
Date: 2008-07-23 12:52:24 -0400 (Wed, 23 Jul 2008)
New Revision: 9757
Modified:
trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js
trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx
Log:
RF-3425
Modified:
trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java
===================================================================
---
trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java 2008-07-23
16:37:37 UTC (rev 9756)
+++
trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/ScrollableDataTableBaseRenderer.java 2008-07-23
16:52:24 UTC (rev 9757)
@@ -182,7 +182,7 @@
widthPx = getFormattedWidth(widthPx);
int width = Integer.parseInt(widthPx);
- writer.writeText(".dr-sdt-c-" + cell_index + " {",
"width");
+ writer.writeText("#" + getNormalizedId(context, state.getGrid())+ "
.dr-sdt-c-" + cell_index + " {", "width");
writer.writeText("width: " + width + "px;", "width");
writer.writeText("}", "width");
return 0;
@@ -488,10 +488,15 @@
return "window." + name;
}
+ public static String getNormalizedId(FacesContext context, UIScrollableDataTable grid)
{
+ return grid.getBaseClientId(context).replaceAll("[^A-Za-z0-9_]",
"_");
+ }
+
public String createClientScrollableGrid(FacesContext context, UIScrollableDataTable
grid) {
ScrollableDataTableOptions options = new ScrollableDataTableOptions(grid);
+ options.addOption("normalizedId", getNormalizedId(context, grid));
composite.mergeScriptOptions(options, context, grid);
@@ -562,6 +567,10 @@
public void renderStyle(FacesContext context, UIScrollableDataTable grid) throws
IOException {
ScrollableDataTableRendererState state =
ScrollableDataTableRendererState.getRendererState(context);
ColumnWalker.iterateOverColumns(context, grid, styleRenderer,
context.getResponseWriter(), state);
+ ResponseWriter writer = context.getResponseWriter();
+ writer.writeText("#" + getNormalizedId(context, state.getGrid()) + "
.dr-sdt-c-f {", "width");
+ writer.writeText("width: 0px;", "width");
+ writer.writeText("}", "width");
}
public void renderFooters(FacesContext context, UIScrollableDataTable grid, boolean
isFrozen) throws IOException{
Modified: trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js
===================================================================
---
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js 2008-07-23
16:37:37 UTC (rev 9756)
+++
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/common/utils/Utils.js 2008-07-23
16:52:24 UTC (rev 9757)
@@ -319,7 +319,7 @@
for (var j = 0; !rule && j < sheets.length; j++) {
var rules = sheets[j].cssRules ? sheets[j].cssRules: sheets[j].rules;
for (var i = 0; !rule && i < rules.length; i++) {
- if (rules[i].selectorText.toLowerCase() == ("." + className.toLowerCase()))
{
+ if (rules[i].selectorText.toLowerCase() == (className.toLowerCase())) {
rule = rules[i];
}
}
Modified:
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js
===================================================================
---
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js 2008-07-23
16:37:37 UTC (rev 9756)
+++
trunk/ui/scrollableDataTable/src/main/javascript/ClientUI/controls/grid/GridHeader.js 2008-07-23
16:52:24 UTC (rev 9757)
@@ -17,6 +17,7 @@
initialize: function($super, template, grid) {
this.grid = grid;
this.gridId = this.grid.getElement().id;
+ this.normalizedId = this.grid.options.normalizedId;
$super(template);
// register event handlers
@@ -127,7 +128,7 @@
fixedWidth: Validators.getBoolean(cell.getAttribute("fixedWidth"), false),
sortable: Validators.getBoolean(cell.getAttribute("sortable"), false),
sorted: Validators.getBoolean(cell.getAttribute("sorted"),
"desc"),
- style : Utils.getRule("dr-sdt-c-" + j).style
+ style : Utils.getRule("#"+ this.normalizedId + " .dr-sdt-c-" +
j).style
};
if(columns[j].sortable)
Event.observe(cell, 'click', eventCellMouseDown);
@@ -167,7 +168,7 @@
fixedWidth: Validators.getBoolean(cell.getAttribute("fixedWidth"), false),
sortable: Validators.getBoolean(cell.getAttribute("sortable"), false),
sorted: null,
- style : Utils.getRule("dr-sdt-c-" + (( i < count - 1 ) ? j :
"f")).style
+ style : Utils.getRule("#"+ this.normalizedId + " .dr-sdt-c-" + ((
i < count - 1 ) ? j : "f")).style
};
if(columns[j].sortable)
Modified:
trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx
===================================================================
---
trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx 2008-07-23
16:37:37 UTC (rev 9756)
+++
trunk/ui/scrollableDataTable/src/main/templates/org/richfaces/scrollable-data-table.jspx 2008-07-23
16:52:24 UTC (rev 9757)
@@ -62,6 +62,7 @@
variables.setVariable("fStyle", fStyle);
variables.setVariable("hStyle", hStyle);
+ variables.setVariable("normalizedId", getNormalizedId(context, component));
]]>
</jsp:scriptlet>
@@ -84,7 +85,7 @@
]]>
</jsp:scriptlet>
<tr>
- <td style="height: 100%;">
+ <td id="#{normalizedId}" style="height: 100%;">
<div id="#{clientId}:c" style="height: 100%; position:
relative;">
<div id="#{clientId}:cs" class="dr-sdt-hsplit"
style="display: none;"/>
<div id="#{clientId}_GridHeaderTemplate"
class="dr-sdt-inlinebox" style="#{hStyle}; width:
#{component.attributes['width']};">
@@ -92,9 +93,6 @@
<div style="display: block; left: 0px; top: 0px; width:
#{sumWidth}px;">
<style>
<f:call name="renderStyle" />
- .dr-sdt-c-f {
- width: 0px;
- }
</style>
<span class="dr-sdt-tmplbox dr-sdt-fb"
id="#{clientId}:header:FrozenBox">
<table cellpadding="0" cellspacing="0"
style="border-collapse:collapse;">