ItEr58S10CUAsignacionRecursosLimitantesItEr57S11: Dependencies are displayed with mouseover and click events

This commit is contained in:
Lorenzo Tilve 2010-05-10 23:49:19 +02:00 committed by Javier Moran Rua
parent 0e46b090c4
commit dee20e65cd
3 changed files with 68 additions and 0 deletions

View file

@ -26,6 +26,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.joda.time.LocalDate;
import org.navalplanner.business.planner.entities.LimitingResourceQueueElement;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Div;
public class QueueTask extends Div {
@ -55,6 +59,21 @@ public class QueueTask extends Div {
this.end = end;
this.totalResourceWorkHours = totalResourceWorkHours;
this.assignedHours = assignedHours;
setAction("onmouseover: zkLimitingDependencies.showDependenciesForQueueElement('"
+ getUuid()
+ "');onmouseout: zkLimitingDependencies.hideDependenciesForQueueElement('"
+ getUuid() + "')");
final String taskUid = this.getUuid();
this.addEventListener(Events.ON_CLICK, new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
Clients
.evalJavaScript("zkLimitingDependencies.toggleDependenciesForQueueElement('"
+ taskUid + "')");
}
});
}
public LocalDate getStart() {

View file

@ -37,6 +37,39 @@ zkLimitingDependencies.HEIGHT = 12;
zkLimitingDependencies.ARROW_PADDING = 10;
zkLimitingDependencies.HALF_ARROW_PADDING = 5;
/* TODO: Optimize function */
zkLimitingDependencies.showDependenciesForQueueElement = function (task) {
var dependencies = YAHOO.util.Selector.query('.dependency');
for (var i = 0; i < dependencies.length; i++) {
if ( (dependencies[i].getAttribute("idTaskOrig") == task) || (dependencies[i].getAttribute("idTaskEnd") == task) ) {
dependencies[i].style.display ="inline";
dependencies[i].style.opacity ="1";
}
}
}
/* TODO: Optimize function */
zkLimitingDependencies.hideDependenciesForQueueElement = function (task) {
var dependencies = YAHOO.util.Selector.query('.dependency');
for (var i = 0; i < dependencies.length; i++) {
if ( (dependencies[i].getAttribute("idTaskOrig") == task) || (dependencies[i].getAttribute("idTaskEnd") == task) ) {
dependencies[i].style.display ="none";
dependencies[i].style.removeProperty("opacity");
}
}
}
/* TODO: Optimize function */
zkLimitingDependencies.toggleDependenciesForQueueElement = function (task) {
var dependencies = YAHOO.util.Selector.query('.dependency');
for (var i = 0; i < dependencies.length; i++) {
if ( (dependencies[i].getAttribute("idTaskOrig") == task) || (dependencies[i].getAttribute("idTaskEnd") == task) ) {
dependencies[i].setAttribute("class", "dependency toggled");
}
}
}
zkLimitingDependencies.addRelatedDependency = function(cmp, dependency) {
if (!cmp['relatedDependencies']) {
cmp.relatedDependencies = [];

View file

@ -192,6 +192,17 @@
width: 1px;
}
/* Hidden by default */
#listlimitingdependencies .dependency {
display: none;
}
#listlimitingdependencies .end,#listlimitingdependencies .start,
#listlimitingdependencies .mid, #listlimitingdependencies .arrow {
cursor: default;
}
#listlimitingdependencies .end,
#listlimitingdependencies .start {
width: 1px;
@ -200,6 +211,11 @@
height: 1px;
}
.toggled {
display: inline !important;
opacity: 0.2;
}
.completion {
width: 0%;
margin-top: 0px;