ItEr27S09CUCreacionProxectoPlanificacionItEr26S10: Added expected scrolling behaviour and improved alignment in resourcesload layout

* Pending to finetune scroll synchronization with Javascript and manual scrollbars handling
This commit is contained in:
Lorenzo Tilve 2009-09-24 20:03:45 +02:00 committed by Javier Moran Rua
parent d432f2ed7a
commit ba345b4c7a
7 changed files with 409 additions and 246 deletions

View file

@ -214,6 +214,11 @@ zkTasklist.GANTT_PANEL_LEFT = 300
}
/* -------------- Timetracker -------------- */
#timetracker {
z-index:-1;
}
.timetracker_fake_row {
height: 80px;
}

View file

@ -62,8 +62,15 @@ public class ResourcesLoadPanel extends HtmlMacroComponent {
super.afterCompose();
getFellow("insertionPointLeftPanel").appendChild(leftPane);
leftPane.afterCompose();
getFellow("insertionPointRightPanel").appendChild(timeTrackerComponent);
getFellow("insertionPointRightPanel").appendChild(resourceLoadList);
TimeTrackerComponent timetrackerheader = (TimeTrackerComponent) timeTrackerComponent
.clone();
getFellow("insertionPointTimetracker").appendChild(timetrackerheader);
timetrackerheader.afterCompose();
timeTrackerComponent.afterCompose();
}

View file

@ -3,9 +3,6 @@
top = self;
]]>
</zscript>
<tree id="loadsTree" sclass="resourceloadleftpane">
<treecols sizable="false">
<treecol label="Name"/>
</treecols>
<tree id="loadsTree" sclass="resourceloadleftpane" fixedLayout="true">
</tree>
</zk>

View file

@ -1,54 +1,98 @@
<zk xmlns:n="http://www.zkoss.org/2005/zk/native">
<borderlayout height="600px" width="auto">
<north height="50%" collapsible="true" splittable="true">
<north height="70%" collapsible="true" splittable="true">
<borderlayout sclass="resourcesload">
<west size="200px" flex="true" collapsible="true"
splittable="true" autoscroll="true">
<div id="insertionPointLeftPanel"></div>
<borderlayout>
<north border="0" height="58px" flex="true" collapsible="true">
<vbox pack="center" align="center"><label value="Icons" width="150px" height="29px"/>
<tree fixedLayout="true">
<treecols>
<treecol label="Name" height="29px"/>
</treecols>
</tree>
</vbox>
</north>
<center border="0">
<div sclass="leftpanelgap" id="insertionPointLeftPanel"></div>
</center>
</borderlayout>
</west>
<center autoscroll="true">
<div id="insertionPointRightPanel"></div>
<center sclass="taskspanel">
<borderlayout>
<north border="0"><div sclass="timetrackergap" height="53px" id="insertionPointTimetracker"></div></north>
<center autoscroll="true" border="0" sclass="rightpanellayout">
<div id="insertionPointRightPanel" sclass="taskspanelgap"></div>
</center>
</borderlayout>
</center>
</borderlayout>
</north>
<center>
<borderlayout>
<west size="200px" flex="true" collapsible="true"
splittable="true" autoscroll="true">
splittable="true">
<vbox pack="center" align="center">
<label value="ResourcesLoadGraph details"
width="150px" tooltip="any" />
width="150px"/>
</vbox>
</west>
<center autoscroll="true">
<vbox>
<zscript>
PieModel piemodel = new SimplePieModel();
piemodel.setValue("Resources assigned over 100%", new Double(12.5));
piemodel.setValue("Resources assigned under 50%", new Double(50.2));
piemodel.setValue("Resources assigned at 100%", new Double(20.5));
piemodel.setValue("Resources assigned between 50% and 100%", new Double(15.5));
</zscript>
<chart id="piechart" title="Pie Chart"
width="500" height="250" type="pie" threeD="false"
fgAlpha="128" onClick="drilldown()" />
<zscript>
piechart.setModel(piemodel);
</zscript>
</vbox>
<vbox>
<zscript>
CategoryModel catmodel = new SimpleCategoryModel();
catmodel.setValue("2008", "Q1 2008", new Integer(20));
catmodel.setValue("2008", "Q2 2008", new Integer(35));
catmodel.setValue("2008", "Q3 2008", new Integer(40));
catmodel.setValue("2008", "Q4 2008", new Integer(55));
catmodel.setValue("2009", "Q1 2008", new Integer(40));
catmodel.setValue("2009", "Q2 2008", new Integer(60));
catmodel.setValue("2009", "Q3 2008", new Integer(70));
catmodel.setValue("2009", "Q4 2008", new Integer(90));
catmodel.setValue("2010", "Q1 2008", new Integer(20));
catmodel.setValue("2010", "Q2 2008", new Integer(35));
catmodel.setValue("2010", "Q3 2008", new Integer(40));
catmodel.setValue("2010", "Q4 2008", new Integer(55));
catmodel.setValue("2011", "Q1 2008", new Integer(40));
catmodel.setValue("2011", "Q2 2008", new Integer(60));
catmodel.setValue("2011", "Q3 2008", new Integer(70));
catmodel.setValue("2011", "Q4 2008", new Integer(90));
catmodel.setValue("2008", "Q1 2009", new Integer(20));
catmodel.setValue("2008", "Q2 2009", new Integer(35));
catmodel.setValue("2008", "Q3 2009", new Integer(40));
catmodel.setValue("2008", "Q4 2009", new Integer(55));
catmodel.setValue("2009", "Q1 2009", new Integer(40));
catmodel.setValue("2009", "Q2 2009", new Integer(60));
catmodel.setValue("2009", "Q3 2009", new Integer(70));
catmodel.setValue("2009", "Q4 2009", new Integer(90));
catmodel.setValue("2010", "Q1 2009", new Integer(20));
catmodel.setValue("2010", "Q2 2009", new Integer(35));
catmodel.setValue("2010", "Q3 2009", new Integer(40));
catmodel.setValue("2010", "Q4 2009", new Integer(55));
catmodel.setValue("2011", "Q1 2009", new Integer(40));
catmodel.setValue("2011", "Q2 2009", new Integer(60));
catmodel.setValue("2011", "Q3 2009", new Integer(70));
catmodel.setValue("2011", "Q4 2009", new Integer(90));
</zscript>
<chart id="barchart" title="Resources load Sample" width="1600" height="250"
type="stacked_area" fgAlpha="128" />
<zscript>
barchart.setModel(catmodel);
</zscript>
</vbox>
</center>
</borderlayout>
</center>
</borderlayout>
<popup id="any" width="300px">
<vbox>
This is the resources load assignment page. To set this
element ...
</vbox>
</popup>
</zk>

View file

@ -1,47 +1,85 @@
var TIMETRACKER_OFFSET_TOP = 120;
zkResourcesLoadList = addResourcesLoadListMethods({});
zkResourcesLoadList = addResourcesLoadListMethods( {});
function addResourcesLoadListMethods(object) {
var scrollSync;
var scrollSync;
function watermark() {
return document.getElementById('watermark');
}
function watermark() {
return document.getElementById('watermark');
}
function timetracker() {
return document.getElementById('timetracker');
}
function timetracker() {
return document.getElementById('timetracker');
}
function zoom_buttons() {
return document.getElementById('zoom_buttons');
}
function zoom_buttons() {
return document.getElementById('zoom_buttons');
}
object.init = function(cmp) {
this.adjustTimeTrackerSize(cmp);
YAHOO.util.Event.addListener(window, 'resize',
zkResourcesLoadList.adjustTimeTrackerSize, cmp);
scrollSync = new ScrollSync(cmp);
scrollSync.notifyXChangeTo(function(scroll) {
zoom_buttons().style["left"] = scroll+"px";
});
scrollSync.synchXChangeTo(timetracker);
};
function resourceloadlist() {
return YAHOO.util.Selector.query('.resourceloadlist')[0];
}
object.adjustTimeTrackerSize = function(cmp) {
watermark().style["height"] = cmp.clientHeight + "px";
timetracker().style["width"] = cmp.clientWidth + "px";
};
function taskspanelgap() {
return YAHOO.util.Selector.query('.taskspanelgap')[0];
}
object.adjustResourceLoadRows = function(cmp) {
YAHOO.util.Selector.query('.row_resourceload').each(function(node){
node.style["width"] = cmp.clientWidth + "px";
});
};
object.init = function(cmp) {
this.adjustTimeTrackerSize(cmp);
YAHOO.util.Event.addListener(window, 'resize',
zkResourcesLoadList.adjustTimeTrackerSize, cmp);
scrollSync = new ScrollSync(cmp);
scrollSync.notifyXChangeTo(function(scroll) {
zoom_buttons().style["left"] = scroll + "px";
});
scrollSync.synchXChangeTo(timetracker);
object.adjustScrollHorizontalPosition = function(cmp, offsetInPx) {
cmp.scrollLeft = offsetInPx;
}
listenToScroll();
};
return object;
function listenToScroll() {
var onHorizontalScroll = function() {
alert('horizontalscroll');
};
var onVerticalScroll = 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";
};
YAHOO.util.Selector.query('.rightpanellayout div')[0].onscroll = onVerticalScroll;
}
object.adjustTimeTrackerSize = function(cmp) {
watermark().style["height"] = cmp.clientHeight + "px";
timetracker().style["width"] = cmp.clientWidth + "px";
/* Set watermark width */
YAHOO.util.Selector.query('.resourceloadlist')[0].style["width"] = YAHOO.util.Selector
.query('.second_level_')[0].clientWidth
+ "px";
YAHOO.util.Selector.query('.rightpanellayout tr#watermark td')[0].style["height"] =
/* Calculate min : taskspanelgap().clientHeight + 120 + 'px'; ) */
YAHOO.util.Selector.query('.resourceloadlist')[0].clientHeight + 120
+ "px";
};
object.adjustResourceLoadRows = function(cmp) {
YAHOO.util.Selector.query('.row_resourceload').each(function(node) {
node.style["width"] = cmp.clientWidth + "px";
});
};
object.adjustScrollHorizontalPosition = function(cmp, offsetInPx) {
cmp.scrollLeft = offsetInPx;
}
return object;
}

View file

@ -119,9 +119,32 @@ public class DataForPlanner {
"resource1",
createFakePeriodsStartingAt(new LocalDate(2009, 10, 1),
Duration.standardDays(20), Duration.standardDays(90), 2));
LoadTimeLine resource3 = new LoadTimeLine("resource3",
createFakePeriodsStartingAt(new LocalDate(2009, 2, 3), Duration
.standardDays(20), Duration.standardDays(90), 3));
LoadTimeLine task4 = new LoadTimeLine("task4",
createFakePeriodsStartingAt(new LocalDate(2009, 5, 4), Duration
.standardDays(20), Duration.standardDays(70), 3));
LoadTimeLine task5 = new LoadTimeLine("task5",
createFakePeriodsStartingAt(new LocalDate(2009, 4, 1), Duration
.standardDays(20), Duration.standardDays(90), 3));
LoadTimeLine task6 = new LoadTimeLine("task6",
createFakePeriodsStartingAt(new LocalDate(2009, 6, 1), Duration
.standardDays(20), Duration.standardDays(40), 4));
LoadTimeLine resource4 = new LoadTimeLine(
"resource4",
createFakePeriodsStartingAt(new LocalDate(2009, 10, 1),
Duration.standardDays(20), Duration.standardDays(90), 2));
result.add(new LoadTimelinesGroup(resource1, Arrays
.asList(task1, task2)));
result.add(new LoadTimelinesGroup(resource2, Arrays.asList(task3)));
result.add(new LoadTimelinesGroup(resource3, Arrays
.asList(task4, task5)));
result.add(new LoadTimelinesGroup(resource4, Arrays.asList(task6)));
return result;
}

View file

@ -17,93 +17,90 @@ zkTasklist.SCROLL_CONTAINER_INITIAL_WIDTH = 600
zkTasklist.GANTT_PANEL_LEFT = 300
*/
/* -------------- Listdetails -------------- */
/* External listdetails box */
*/ /* -------------- Listdetails -------------- */
/* External listdetails box */
.listdetails {
width:280px; /* Ganntz.ListdetailsWidth */
float:left;
margin-top: 0px;
/* border-bottom: 1px solid #86A4BE; */
font-size:10px !important;
margin-top:0px;
width: 280px; /* Ganntz.ListdetailsWidth */
float: left;
margin-top: 0px;
/* border-bottom: 1px solid #86A4BE; */
font-size: 10px !important;
margin-top: 0px;
}
#listdetails_container {
float:left;
height:500px; /* zkTasklist.SCROLL_CONTAINER_INITIAL_HEIGHT */
position:relative;
top:27px;
float: left;
height: 500px; /* zkTasklist.SCROLL_CONTAINER_INITIAL_HEIGHT */
position: relative;
top: 27px;
overflow-y: hidden;
border-bottom: 1px solid #86A4BE;
border-right: 1px solid #86A4BE;
}
.listdetails img {
display:none;
display: none;
}
#listdetails_container td {
border-bottom:1px solid #86A4BE;
border-left:1px solid #86A4BE;
border:0px;
border-bottom: 1px solid #86A4BE;
border-left: 1px solid #86A4BE;
border: 0px;
}
#listdetails_container td {
padding:0px;
padding: 0px;
}
.listdetails input {
width: 65px;
font-size:10px !important;
border-bottom:0px;
border-right:0px;
height:17px;
font-size: 10px !important;
border-bottom: 0px;
border-right: 0px;
height: 17px;
}
#listdetails_container .z-datebox-inp,
#listdetails_container div.z-tree-col-cnt {
font-family:"Verdana,Tahoma,Arial,Helvetica,sans-serif";
font-size:10px !important;
border-bottom:0px;
border-right:0px;
#listdetails_container .z-datebox-inp,#listdetails_container div.z-tree-col-cnt
{
font-family: "Verdana,Tahoma,Arial,Helvetica,sans-serif";
font-size: 10px !important;
border-bottom: 0px;
border-right: 0px;
}
.depth_1 .task_title {
width: 121px !important;
}
.depth_2 .task_title {
width: 104px !important;
}
.depth_3 .task_title {
width: 85px;
}
.depth_4 .task_title {
width: 64px;
}
.taskdetail_grid table {
height:30px;
width:285px; /* Ganntz.ListdetailsWidth */
height: 30px;
width: 285px; /* Ganntz.ListdetailsWidth */
}
#listtasks {
position:relative;
width:600px;
top:0px;
position: relative;
width: 600px;
top: 0px;
}
/* Task box properties */
.box {
border: 1px solid;
text-align:center;
text-align: center;
vertical-align: middle;
z-index:10;
z-index: 10;
cursor: pointer;
cursor: hand;
}
@ -114,84 +111,85 @@ zkTasklist.GANTT_PANEL_LEFT = 300
border-bottom: dotted 1px #CCCCCC;
margin-bottom: 10px;
margin-top: 10px;
width: 10000px; /* Defined to be larger than the maximum scroll_inner_x */
width: 10000px;
/* Defined to be larger than the maximum scroll_inner_x */
}
/* -------------- Dependencies -------------- */
#listdependencies {
position:relative;
width:400px;
float:left;
top:0px;
position: relative;
width: 400px;
float: left;
top: 0px;
}
.dependence {
z-index:1;
z-index: 1;
position: absolute;
}
.end, .start, .mid, .arrow {
position:absolute;
padding:4px;
.end,.start,.mid,.arrow {
position: absolute;
padding: 4px;
cursor: crosshair;
}
.end, .start {
height:1px;
.end,.start {
height: 1px;
}
.mid {
width:1px;
width: 1px;
}
.completion {
width: 30%;
margin-top:0px;
margin-top: 0px;
height: 5px; /* zkTasklist.HEIGHT_PER_TASK / 2 */
background-color: #FFCC99;
z-index:5;
border:0px;
z-index: 5;
border: 0px;
}
.completion2 {
width: 50%;
height: 5px; /* zkTasklist.HEIGHT_PER_TASK / 2 */
background-color: #75d9b0;
z-index:5;
border:0px;
z-index: 5;
border: 0px;
}
.taskgroup_start, .taskgroup_end {
position:relative;
top:-10px; /* zkTasklist.HEIGHT_PER_TASK */
.taskgroup_start,.taskgroup_end {
position: relative;
top: -10px; /* zkTasklist.HEIGHT_PER_TASK */
}
.row span {
display:none;
position:relative;
z-index:5;
color:#BBBBBB;
white-space:nowrap;
display: none;
position: relative;
z-index: 5;
color: #BBBBBB;
white-space: nowrap;
}
/* -------------- TaskGroup -------------- */
.taskgroup_start {
background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/group_left.png");
background-image:
url("/navalplanner-webapp/zkau/web/ganttz/img/group_left.png");
height: 10px;
width: 10px;
float:left;
float: left;
}
.taskgroup_end {
background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/group_right.png");
background-image:
url("/navalplanner-webapp/zkau/web/ganttz/img/group_right.png");
height: 10px;
width: 10px;
float:right;
float: right;
}
.taskgroup, .row .expanded {
.taskgroup,.row .expanded {
border-top: solid black 2px;
border-bottom: 0px;
border-left: 0px;
@ -203,27 +201,24 @@ zkTasklist.GANTT_PANEL_LEFT = 300
border-top: solid black 2px;
}
.zk #ganttpanel .z-button-cm {
border: 0px;
}
#ganttpanel {
height:400px; /* 800 */
height: 400px; /* 800 */
width: 900px;
}
#ganttpanel table {
float:left;
padding:0;
margin:0;
overflow:hidden;
float: left;
padding: 0;
margin: 0;
overflow: hidden;
}
#ganttpanel table td {
padding:0;
padding: 0;
}
/* -------------- Timetracker -------------- */
@ -233,11 +228,11 @@ zkTasklist.GANTT_PANEL_LEFT = 300
/* Forces every zoom level the same table width */
#timetracker table {
border-collapse: collapse;
border-collapse: collapse;
}
#timetracker .second_level_ tr {
height:14px;
height: 14px;
}
/* Watermark alternate row color */
@ -247,153 +242,178 @@ zkTasklist.GANTT_PANEL_LEFT = 300
/* Background image for current day vertical line */
#watermark .timetracker_column_today {
background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/watermark_today.png");
background-image:
url("/navalplanner-webapp/zkau/web/ganttz/img/watermark_today.png")
;
background-repeat: repeat-y;
}
#watermark .bankHoliday {
background-color: #FFEEEE; !important;
background-color: #FFEEEE !important;
}
#watermark .weekend {
background-color: #FFEEEE; !important;
background-color: #FFEEEE !important;
}
/* Reduce spacing and font-size for watermark legend */
.z-columns, .z-column {
.z-columns,.z-column {
font-size: 8px !important;
text-align: center;
padding:0 0 0 0 !important;
padding: 0 0 0 0 !important;
}
table {
margin:0px;
padding:0px;
border:0px;
margin: 0px;
padding: 0px;
border: 0px;
}
#scroll_container {
margin-top:70px;
height:300px; /* Recalculated based on window */
width:500px; /* Recalculated based on window */
overflow:hidden;
float:left;
position:absolute;
left:285px; /* Ganntz.ListdetailsWidth + borders = 280 + 5 */
margin-top: 70px;
height: 300px; /* Recalculated based on window */
width: 500px; /* Recalculated based on window */
overflow: hidden;
float: left;
position: absolute;
left: 285px; /* Ganntz.ListdetailsWidth + borders = 280 + 5 */
/* border:solid green 1px; */
}
#timetracker {
/* border: solid 1px red; */
position:absolute;
left:285px; /* Ganntz.ListdetailsWidth + borders = 280 + 5 */
height:500px; /* zkTasklist.SCROLL_CONTAINER_INITIAL_HEIGHT (dynamic) */
width:600px; /* zkTasklist.SCROLL_CONTAINER_INITIAL_WIDTH (dynamic) */
overflow-x:hidden;
float:left;
#timetracker { /* border: solid 1px red; */
position: absolute;
left: 285px; /* Ganntz.ListdetailsWidth + borders = 280 + 5 */
height: 500px;
/* zkTasklist.SCROLL_CONTAINER_INITIAL_HEIGHT (dynamic) */
width: 600px;
/* zkTasklist.SCROLL_CONTAINER_INITIAL_WIDTH (dynamic) */
overflow-x: hidden;
float: left;
z-index: -1;
}
.resourcesload #timetracker {
position:absolute;
left:0px;
position: absolute;
left: 0px;
top: 0px;
height:500px;
width:600px;
overflow-x: visible;
height: auto; width : 600px;
overflow-x: visible;
width: 600px;
}
#zoom_buttons {
position:relative;
position: relative;
}
#zoom_buttons .z-button-cm {
border: 0px;
border: 0px;
}
#zoom_buttons .z-button-cm {
border: 0px;
border: 0px;
}
#zoom_buttons td.z-hbox-sep {
width: 0px;
width: 0px;
}
tr.z-vbox-sep {
height: 0px;
padding: 0px;
margin: 0px;
}
#ganttpanel_scroller_x, #ganttpanel_scroller_y {
position:absolute;
float:left;
overflow:auto;
#ganttpanel_scroller_x,#ganttpanel_scroller_y {
position: absolute;
float: left;
overflow: auto;
}
#ganttpanel_scroller_x {
top: 600px; /* (dynamic) */
top: 600px; /* (dynamic) */
left: 285px; /* Ganntz.ListdetailsWidth + borders = 280 + 5 */
width:635px;
height:15px;
width: 635px;
height: 15px;
}
#ganttpanel_inner_scroller_x {
/* must be resized on ganttpanel javascript adjust size */
width:9000px; /* Real canvas dimensions */
height:15px; /* Scroll constant */
width: 9000px; /* Real canvas dimensions */
height: 15px; /* Scroll constant */
}
#ganttpanel_scroller_y {
top: 145px; /* Fixed top position */
left: 920px;
width:15px;
height:330px;
width: 15px;
height: 330px;
}
#ganttpanel_inner_scroller_y {
width:15px; /* Scroll constant */
height:1350px; /* Modified when added or removed tasks, or zoom adjustments */
width: 15px; /* Scroll constant */
height: 1350px;
/* Modified when added or removed tasks, or zoom adjustments */
}
.footer {
/* Pending to calculate general position */
display:none;
.footer { /* Pending to calculate general position */
display: none;
}
/* Hidden at the beginning to avoid the first scalation effect */
#ganttpanel_scroller_x {
display:none;
display: none;
}
#ganttpanel_scroller_y {
display:none;
display: none;
}
/* -------------- ResourceLoad -------------- */
}
/* ----------- Advanced resources assignment ------------ */
.timetrackedTableWithLeftPane {
width: 1000px;
}
.leftPaneOfTimeTrackedTable {
margin-top: 45px;
width: 390px;
float: left;
}
#timetrackedtable {
float: right;
width: 600px;
overflow: auto;
}
.advancedassignment #timetrackedtable {
float: none;
width: auto;
overflow: visible;
}
/* ----------- ResourcesLoad ----------------- */
.taskassignmentinterval {
float:left;
height:10px;
position:absolute;
float: left;
height: 10px;
position: absolute;
}
.FULL_LOAD {
background-color:green;
background-color: green;
}
.SOME_LOAD {
background-color:orange;
background-color: orange;
}
.OVERLOAD {
background-color:red;
background-color: red;
}
.NO_LOAD {
background-color:#007bbe;
background-color: #007bbe;
}
.row_resourceload {
@ -405,46 +425,75 @@ tr.z-vbox-sep {
border-bottom: 1px dotted #CCCCCC;
}
.resourcesloadpanel {
}
.resourceload_name {
display:none;
display: none;
}
.resourceloadleftpane {
border: 1px;
margin-top: 43px;
width: 325px;
padding-right: 15px;
border: 1px;
margin-top: 0px;
min-width: 125px;
}
.resourceloadleftpane .secondlevel {
display:inline;
display: inline;
}
/* -- Upper taskpannel is hidden --*/
.taskspanelgap #timetracker {
border-top: 0px;
margin: 0px;
}
.taskspanelgap #timetracker table {
margin-top: -10px;
}
.taskspanelgap #timetracker th {
display: none;
border: 0px;
margin: 0px;
padding: 0px;
}
.taskspanelgap #zoom_buttons {
display: none;
margin: 0px;
}
.resourceloadleftpane div.z-tree-cell-cnt {
paddding-top: 2px;
border-bottom: 1px dotted #CCCCCC;
}
.resourceloadleftpane div.z-tree-body td.z-tree-cell {
padding: 0px;
}
.resourceloadleftpanetitle {
height: 40px;
}
.resourceloadleftpane .z-tree-body {
z-index: -10;
overflow: hidden;
}
.leftpanelgap .z-tree-body {
z-index: 2;
overflow: hidden;
}
.leftpanelgap .z-tree-header {
z-index: 16;
overflow: hidden;
}
.leftpanelgap .resourceloadleftpane {
background: none;
border: 0px;
}
.resourceloadlist {
margin-top: 70px;
width: 80%;
}
/* Advanced resources assignment */
.timetrackedTableWithLeftPane {
width: 1000px;
}
.leftPaneOfTimeTrackedTable {
margin-top: 45px;
width: 390px;
float: left;
}
#timetrackedtable {
float: right;
width: 600px;
overflow: auto;
}
.advancedassignment #timetrackedtable {
float: none;
width: auto;
overflow: visible;
}
margin-top: 15px;
}