Author: eallen
Date: 2009-04-28 09:49:37 -0400 (Tue, 28 Apr 2009)
New Revision: 3339
Modified:
mgmt/trunk/cumin/resources/app.js
Log:
Save and restore the scroll position when a widget is fullpaged/restored.
Modified: mgmt/trunk/cumin/resources/app.js
===================================================================
--- mgmt/trunk/cumin/resources/app.js 2009-04-28 13:35:40 UTC (rev 3338)
+++ mgmt/trunk/cumin/resources/app.js 2009-04-28 13:49:37 UTC (rev 3339)
@@ -25,23 +25,23 @@
this.refreshTime = function(src) {
var sep = src.lastIndexOf(";");
var time = new Date().getTime();
-
+
if (isNaN(parseInt(src.substring(sep + 1)))) {
src = src + ";" + time;
} else {
src = src.substring(0, sep) + ";" + time;
}
-
+
return src;
}
-
+
this.updateChart = function(id) {
var chart = wooly.doc().elembyid(id);
-
+
var img = chart.elem("img")
var src = img.getattr("src");
src = cumin.refreshTime(src);
-
+
img.setattr("src", src);
}
@@ -119,7 +119,7 @@
outer.appendChild(titleBar);
outer.appendChild(icon);
outer.appendChild(container);
-
+
var parent = element.parentNode;
outer.originalParent = parent;
container.appendChild(element);
@@ -167,20 +167,21 @@
oBack.style.display = "none";
oFullPage.id = "";
oFullPage.className = "fullpageable";
-
+
document.body.style.height = "auto";
oFullPage.originalParent.appendChild(oFullPage);
oFullPage.getElement("p.fullpageIcon").setProperty("title", "Full
Page");
setFullpageParam(false, oFullPage);
var onrestore = oFullPage.onrestore;
if (onrestore) onrestore();
+ window.scrollTo(oFullPage.origScroll.x, oFullPage.origScroll.y);
} else {
// make it full page
oBack.style.display = "block";
oBack.style.height = Math.max($(document.body).getCoordinates().height,
window.getScrollSize().y) + "px";
oFullPage.id = "fullpage";
oFullPage.className = "fullpaged";
-
+
document.body.style.height = "100%";
document.body.appendChild(oFullPage);
oFullPage.getElement("p.fullpageIcon").setProperty("title",
"Restore");
@@ -189,6 +190,9 @@
var coords = $(oFullPage).getCoordinates();
var height = Math.min(Math.max(window.getSize().y - 100, 200), 600);
if (onfullpage) onfullpage(coords.width, height);
+ var curScroll = window.getScroll();
+ oFullPage.origScroll = curScroll;
+ window.scrollTo(0,0);
}
}
Show replies by date