Author: phuong_vu
Date: 2011-10-19 07:16:19 -0400 (Wed, 19 Oct 2011)
New Revision: 7787
Modified:
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVirtualList.js
Log:
GTNPORTAL-2177 JS bug of UIVirtualList: wrong height in initialization phase
Modified:
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVirtualList.js
===================================================================
---
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVirtualList.js 2011-10-19
10:16:49 UTC (rev 7786)
+++
portal/trunk/web/eXoResources/src/main/webapp/javascript/eXo/webui/UIVirtualList.js 2011-10-19
11:16:19 UTC (rev 7787)
@@ -23,13 +23,27 @@
var uiVirtualList = document.getElementById(componentId);
if (uiVirtualList == null) return;
uiVirtualList.style.height = "300px";
- var children = eXo.core.DOMUtil.getChildrenByTagName(uiVirtualList,"div");
+
+ //If parent of virtualList have style.display = none --> can't get
virtualList's height
+ var tmp = uiVirtualList;
+ if (uiVirtualList.offsetHeight == 0) {
+ tmp = uiVirtualList.cloneNode(true);
+ tmp.style.visibility = "hidden";
+ document.body.appendChild(tmp);
+ }
+ var virtualHeight = tmp.offsetHeight;
+
+ var children = eXo.core.DOMUtil.getChildrenByTagName(tmp,"div");
var childrenHeight = 0;
for (var i=0; i<children.length;i++) {
childrenHeight += children[i].offsetHeight;
}
- if (!uiVirtualList.isFinished && childrenHeight <=
uiVirtualList.offsetHeight && childrenHeight != 0) {
+ if (tmp !== uiVirtualList) {
+ document.body.removeChild(tmp);
+ }
+
+ if (!uiVirtualList.isFinished && childrenHeight <= virtualHeight &&
childrenHeight != 0) {
uiVirtualList.onscroll();
} else {
uiVirtualList.isInitiated = true;
Show replies by date