ItEr29S08CUCreacionProxectoPlanificacionItEr28S09: Graph component scroll synchronized with planner and resourceload containers

This commit is contained in:
Lorenzo Tilve 2009-10-05 19:56:40 +02:00 committed by Javier Moran Rua
parent 841921042d
commit a5d91c77a8
5 changed files with 75 additions and 23 deletions

View file

@ -73,7 +73,7 @@ planner = self;
</vbox>
</west>
<center autoscroll="true">
<center autoscroll="true" sclass="plannergraph">
<vbox>
<zscript>

View file

@ -89,7 +89,7 @@
</vbox>
</west>
<center autoscroll="true">
<center autoscroll="true" sclass="resourcesloadgraph">
<vbox>
<zscript>

View file

@ -45,6 +45,24 @@ function addResourcesLoadListMethods(object) {
return YAHOO.util.Selector.query('.taskspanelgap')[0];
}
function resourcesloadgraph() {
return YAHOO.util.Selector.query('.resourcesloadgraph div')[0];
}
function scrolledpannel() {
return YAHOO.util.Selector.query('.rightpanellayout div')[0];
}
function timetrackergap() {
return YAHOO.util.Selector.query('.timetrackergap')[0];
}
function leftpanel() {
return YAHOO.util.Selector.query('.leftpanelgap .z-tree-body')[0];
}
object.init = function(cmp) {
this.adjustTimeTrackerSize(cmp);
YAHOO.util.Event.addListener(window, 'resize',
@ -59,16 +77,22 @@ function addResourcesLoadListMethods(object) {
};
function listenToScroll() {
var onScroll = function() {
var scrolledpannel = YAHOO.util.Selector
.query('.rightpanellayout div')[0];
elem = YAHOO.util.Selector.query('.timetrackergap')[0];
elem.style["position"] = "relative";
elem.style["left"] = "-" + scrolledpannel.scrollLeft + "px";
var leftpanel = YAHOO.util.Selector.query('.leftpanelgap .z-tree-body')[0];
leftpanel.style["position"] = "relative";
leftpanel.style["top"] = "-" + scrolledpannel.scrollTop + "px";
var timetrackergap_ = timetrackergap();
var scrolledpannel_ = scrolledpannel();
var resourcesloadgraph_ = resourcesloadgraph();
var leftpanel_ = leftpanel();
var onScroll = function() {
timetrackergap_.style["position"] = "relative";
timetrackergap_.style["left"] = "-" + scrolledpannel_.scrollLeft + "px";
leftpanel_.style["position"] = "relative";
leftpanel_.style["top"] = "-" + scrolledpannel_.scrollTop + "px";
resourcesloadgraph_.style["position"] = "relative";
resourcesloadgraph_.scrollLeft = scrolledpannel_.scrollLeft;
};
YAHOO.util.Selector.query('.rightpanellayout div')[0].onscroll = onScroll;

View file

@ -43,9 +43,29 @@ FOOTER_HEIGHT = 40; // Design-relative footer height
SCROLLBAR_WIDTH = 15; // Scrollbars default width
function scrolledpannel() {
return YAHOO.util.Selector.query('.rightpanellayout div')[0];
}
function leftpanel() {
return YAHOO.util.Selector.query('.leftpanelgap')[0];
}
function plannergraph() {
return YAHOO.util.Selector.query('.plannergraph div')[0];
}
function timetrackergap() {
return YAHOO.util.Selector.query('.timetrackergap')[0];
}
function rightpanellayout() {
return YAHOO.util.Selector.query('.rightpanellayout div')[0];
}
zkTasklist.init = function(cmp) {
zkTasklist.adjust_height();
// relocateScrolls();
listenToScroll();
}
@ -58,19 +78,24 @@ zkTasklist.adjust_height = function(cmp) {
/* Scrolls taskdetails compoent when scrolling ganttpanel component */
function listenToScroll() {
var onScroll = function() {
var scrolledpannel = YAHOO.util.Selector
.query('.rightpanellayout div')[0];
elem = YAHOO.util.Selector.query('.timetrackergap')[0];
elem.style["position"] = "relative";
elem.style["left"] = "-" + scrolledpannel.scrollLeft + "px";
var leftpanel = YAHOO.util.Selector.query('.leftpanelgap')[0];
leftpanel.style["position"] = "relative";
leftpanel.style["top"] = "-" + scrolledpannel.scrollTop + "px";
timetrackergap_ = timetrackergap();
scrolledpannel_ = scrolledpannel();
leftpanel_ = leftpanel();
rightpanellayout_ = rightpanellayout();
plannergraph_ = plannergraph();
var onScroll = function() {
timetrackergap_.style["left"] = "-" + scrolledpannel_.scrollLeft + "px";
leftpanel_.style["position"] = "relative";
leftpanel_.style["top"] = "-" + scrolledpannel_.scrollTop + "px";
plannergraph_.style["position"] = "relative";
plannergraph_.scrollLeft = scrolledpannel_.scrollLeft;
};
YAHOO.util.Selector.query('.rightpanellayout div')[0].onscroll = onScroll;
rightpanellayout_.onscroll = onScroll;
}

View file

@ -505,6 +505,10 @@ tr.z-vbox-sep {
display:none;
}
.timetrackergap {
position: relative;
}
.taskdetails_name {
min-width: 150px;
}
@ -523,4 +527,3 @@ div.z-tree {
.plannerlayout, .resourcesloadlayout {
height:500px;
}