You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2009/01/23 14:48:41 UTC
svn commit: r737024 - in /myfaces/tobago/branches/tobago-1.0.x:
sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/
theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/
Author: weber
Date: Fri Jan 23 05:48:40 2009
New Revision: 737024
URL: http://svn.apache.org/viewvc?rev=737024&view=rev
Log:
(TOBAGO-740) Alternative SheetRenderer
Modified:
myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SimpleSheetRenderer.java
myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago-sheet.js
Modified: myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SimpleSheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SimpleSheetRenderer.java?rev=737024&r1=737023&r2=737024&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SimpleSheetRenderer.java (original)
+++ myfaces/tobago/branches/tobago-1.0.x/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SimpleSheetRenderer.java Fri Jan 23 05:48:40 2009
@@ -124,7 +124,7 @@
+ ", " + HtmlRendererUtil.getRenderedPartiallyJavascriptArray(facesContext, clickAction)
+ ", " + (dblClickAction!=null?HtmlRendererUtil.getJavascriptString(dblClickAction.getId()):null)
+ ", " + HtmlRendererUtil.getRenderedPartiallyJavascriptArray(facesContext, dblClickAction)
- + ");"
+ + ", true);"
};
UIPage page = ComponentUtil.findPage(facesContext, data);
Modified: myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago-sheet.js
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago-sheet.js?rev=737024&r1=737023&r2=737024&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago-sheet.js (original)
+++ myfaces/tobago/branches/tobago-1.0.x/theme/standard/src/main/resources/org/apache/myfaces/tobago/renderkit/html/standard/standard/script/tobago-sheet.js Fri Jan 23 05:48:40 2009
@@ -41,7 +41,7 @@
};
Tobago.Sheet = function(sheetId, enableAjax, checkedImage, uncheckedImage, selectable, columnSelectorIndex, autoReload,
- clickActionId, clickReloadComponentId, dblClickActionId, dblClickReloadComponentId) {
+ clickActionId, clickReloadComponentId, dblClickActionId, dblClickReloadComponentId, simpleSheet) {
this.startTime = new Date();
this.id = sheetId;
Tobago.Sheets.put(this);
@@ -83,20 +83,8 @@
};
}
- this.ppPrefix
- = Tobago.SUB_COMPONENT_SEP + "pagingPages" + Tobago.SUB_COMPONENT_SEP;
-
- this.firstRegExp = new RegExp(this.ppPrefix + "First$");
-
- this.prevRegExp = new RegExp(this.ppPrefix + "Prev$");
-
- this.nextRegExp = new RegExp(this.ppPrefix + "Next$");
- this.lastRegExp = new RegExp(this.ppPrefix + "Last$");
-
- this.firstRowRegExp = new RegExp("^" + this.id + "_data_tr_\\d+$");
-
- this.simpleSheet = Tobago.element(this.outerDivId).className.indexOf("tobago-simpleSheet-content") > -1;
+ this.simpleSheet = simpleSheet;//Tobago.element(this.outerDivId).className.indexOf("tobago-simpleSheet-content") > -1;
this.setup();
@@ -227,6 +215,19 @@
Tobago.Sheet.prototype.doPaging = function(event) {
var element = Event.element(event);
var action = "unset";
+
+ this.ppPrefix
+ = Tobago.SUB_COMPONENT_SEP + "pagingPages" + Tobago.SUB_COMPONENT_SEP;
+
+ this.firstRegExp = new RegExp(this.ppPrefix + "First$");
+
+ this.prevRegExp = new RegExp(this.ppPrefix + "Prev$");
+
+ this.nextRegExp = new RegExp(this.ppPrefix + "Next$");
+
+ this.lastRegExp = new RegExp(this.ppPrefix + "Last$");
+
+
if (element.id.match(this.firstRegExp)){
action = this.id + Tobago.COMPONENT_SEP +"First";
} else if (element.id.match(this.prevRegExp)){
@@ -355,11 +356,11 @@
this.setupStart = new Date();
//LOG.debug("Tobago.Sheet.setup(" + this.id +")");
- var divElement = Tobago.element(this.outerDivId);
+ var divElement = document.getElementById(this.outerDivId);
if (divElement.skipUpdate) {
LOG.debug("skip setup");
divElement.skipUpdate = false;
- Tobago.deleteOverlay(Tobago.element(this.outerDivId));
+ Tobago.deleteOverlay(Tobago.element(divElement));
} else {
// ToDo: find a better way to fix this problem
@@ -371,18 +372,20 @@
this.setupElements();
- this.setupResizer();
- this.adjustHeaderDiv();
- this.adjustResizer();
+ if (!this.simpleSheet) {
+ this.setupResizer();
+ this.adjustHeaderDiv();
+ this.adjustResizer();
+ this.setupHeader();
+ this.adjustScrollBars();
+ }
- this.setupHeader();
if (this.firstRowId) {
this.tobagoLastClickedRowId = this.firstRowId;
}
- this.adjustScrollBars();
- this.setScrollPosition();
+ this.setScrollPosition(divElement);
if (this.selectable && (this.selectable == "single" || this.selectable == "multi")) {
this.addSelectionListener();
@@ -400,8 +403,30 @@
this.setupEnd = new Date();
};
-Tobago.Sheet.prototype.setScrollPosition = function() {
- var hidden = Tobago.element(this.scrollPositionId);
+Tobago.Sheet.prototype.setScrollPosition = function(divElement) {
+
+ var hidden;
+
+// var s1 = new Date().getTime();
+
+// for (var i = 0; i < 1000; i++) {
+ hidden = divElement.firstChild;
+ while (hidden && hidden.id != this.scrollPositionId) {
+ hidden = hidden.nextSibling;
+ }
+// }
+
+// var s2 = new Date().getTime();
+
+// for (var i = 0; i < 1000; i++) {
+// hidden = Tobago.element(this.scrollPositionId);
+// }
+
+// var s3 = new Date().getTime();
+
+// LOG.info(" zeit 1 = " + (s2 - s1));
+// LOG.info(" zeit 2 = " + (s3 - s2));
+
if (hidden) {
var sep = hidden.value.indexOf(";");
if (sep != -1) {
@@ -568,7 +593,6 @@
if (this.simpleSheet) {
var cell = row.firstChild;
while (cell && cell.firstChild) {
- LOG.info("element.firstChild.className = " + cell.firstChild.className);
if (cell.firstChild.id.search(/_data_row_selector_/) > -1) {
return cell.firstChild;
}
@@ -666,18 +690,20 @@
};
Tobago.Sheet.prototype.getFirstRowId = function() {
+ var element;
if (this.simpleSheet) {
- return Tobago.element(this.contentDivId).firstChild.id;
+ element = Tobago.element(this.contentDivId).firstChild;
} else {
- var element = Tobago.element(this.id + "_data_row_0_column0");// data div
+ element = Tobago.element(this.id + "_data_row_0_column0");// data div
+ this.firstRowRegExp = new RegExp("^" + this.id + "_data_tr_\\d+$");
while (element && element.id.search(this.firstRowRegExp) == -1) {
-// LOG.debug("element id = " + element.id);
+ // LOG.debug("element id = " + element.id);
element = element.parentNode;
}
-// LOG.debug("firstRowId = " + element.id);
- return element ? element.id : undefined;
+ // LOG.debug("firstRowId = " + element.id);
}
- };
+ return element ? element.id : undefined;
+};
Tobago.Sheet.prototype.setupHeader = function() {
var headerBox = Tobago.element(this.id + "_header_box_0");