ItEr59S07RFAspectosGraficosRecursoLimitantesItEr58S08: Deadlines are only shown pointing over queue elements
This commit is contained in:
parent
505d7c7686
commit
8413202b7d
4 changed files with 46 additions and 23 deletions
|
|
@ -55,6 +55,7 @@ import org.zkoss.zk.ui.ext.AfterCompose;
|
|||
import org.zkoss.zul.Div;
|
||||
import org.zkoss.zul.impl.XulElement;
|
||||
|
||||
|
||||
/**
|
||||
* This class wraps ResourceLoad data inside an specific HTML Div component.
|
||||
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
|
||||
|
|
@ -62,6 +63,8 @@ import org.zkoss.zul.impl.XulElement;
|
|||
public class QueueComponent extends XulElement implements
|
||||
AfterCompose {
|
||||
|
||||
private static final int DEADLINE_MARK_HALF_WIDTH = 5;
|
||||
|
||||
public static QueueComponent create(
|
||||
QueueListComponent queueListComponent,
|
||||
TimeTracker timeTracker,
|
||||
|
|
@ -259,24 +262,23 @@ public class QueueComponent extends XulElement implements
|
|||
result.appendChild(generateNonWorkableShade(datesMapper,
|
||||
queueElement));
|
||||
}
|
||||
|
||||
result.setWidth(forCSS(taskWidth));
|
||||
|
||||
result.setClass(cssClass);
|
||||
|
||||
Task task = queueElement.getResourceAllocation().getTask();
|
||||
if (task.getDeadline() != null) {
|
||||
Div deadline = new Div();
|
||||
deadline.setId("deadline" + result.getUuid());
|
||||
deadline.setSclass("deadline");
|
||||
deadline
|
||||
.setStyle("left:"
|
||||
+ getDeadlinePixels(datesMapper, task.getDeadline())
|
||||
+ "px");
|
||||
|
||||
result.appendChild(deadline);
|
||||
result.appendChild(generateNonWorkableShade(datesMapper,
|
||||
queueElement));
|
||||
int deadlinePosition = getDeadlinePixels(datesMapper, task
|
||||
.getDeadline());
|
||||
if (deadlinePosition < datesMapper.getHorizontalSize()) {
|
||||
Div deadline = new Div();
|
||||
deadline.setSclass("deadline");
|
||||
deadline
|
||||
.setLeft((deadlinePosition - startPixels - DEADLINE_MARK_HALF_WIDTH)
|
||||
+ "px");
|
||||
result.appendChild(deadline);
|
||||
result.appendChild(generateNonWorkableShade(datesMapper,
|
||||
queueElement));
|
||||
}
|
||||
}
|
||||
|
||||
result.appendChild(generateCompletionShade(datesMapper, queueElement));
|
||||
|
|
@ -352,8 +354,9 @@ public class QueueComponent extends XulElement implements
|
|||
|
||||
private static int getDeadlinePixels(IDatesMapper datesMapper,
|
||||
LocalDate deadlineDate) {
|
||||
return datesMapper.toPixelsAbsolute((deadlineDate.toDateMidnight()
|
||||
.getMillis()));
|
||||
// Deadline date is considered inclusively
|
||||
return datesMapper.toPixelsAbsolute(deadlineDate.plusDays(1)
|
||||
.toDateMidnight().getMillis());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -50,11 +50,10 @@ public class QueueTask extends Div {
|
|||
this.start = element.getStartDate();
|
||||
this.end = element.getEndDate();
|
||||
this.element = element;
|
||||
setAction("onmouseover: zkLimitingDependencies.showDependenciesForQueueElement('"
|
||||
setAction("onmouseover: zkLimitingResourcesList.showRelatedElementsForQueueElement('"
|
||||
+ getUuid()
|
||||
+ "');onmouseout: zkLimitingDependencies.hideDependenciesForQueueElement('"
|
||||
+ "');onmouseout: zkLimitingResourcesList.hideRelatedElementsForQueueElement('"
|
||||
+ getUuid() + "')");
|
||||
|
||||
final String taskUid = this.getUuid();
|
||||
this.addEventListener(Events.ON_CLICK, new EventListener() {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -20,6 +20,26 @@
|
|||
|
||||
zkLimitingResourcesList = addLimitingResourcesListMethods( {});
|
||||
|
||||
zkLimitingResourcesList.showRelatedElementsForQueueElement = function (task) {
|
||||
zkLimitingDependencies.showDependenciesForQueueElement(task);
|
||||
zkLimitingResourcesList.SetVisibleDeadlineForQueueElement(task, "inline");
|
||||
}
|
||||
|
||||
zkLimitingResourcesList.hideRelatedElementsForQueueElement = function (task) {
|
||||
zkLimitingDependencies.hideDependenciesForQueueElement(task);
|
||||
zkLimitingResourcesList.SetVisibleDeadlineForQueueElement(task, "none");
|
||||
}
|
||||
|
||||
zkLimitingResourcesList.SetVisibleDeadlineForQueueElement = function(task, visible) {
|
||||
var deadlines = YAHOO.util.Selector.query('.deadline');
|
||||
for ( var i = 0; i < deadlines.length; i++) {
|
||||
if ((deadlines[i].parentNode.id == task)) {
|
||||
deadlines[i].style.display = visible;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function addLimitingResourcesListMethods(object) {
|
||||
var scrollSync;
|
||||
|
||||
|
|
|
|||
|
|
@ -1054,13 +1054,14 @@ div.z-tree {
|
|||
|
||||
|
||||
.queue-element .deadline {
|
||||
position: auto;
|
||||
position: relative;
|
||||
margin-top: -5px;
|
||||
float:left;
|
||||
left:-100px; /* Hide when it has't been set */
|
||||
width:10px;
|
||||
height:22px;
|
||||
float: left;
|
||||
left: -100px; /* Hide when it has't been set */
|
||||
width: 10px;
|
||||
height: 22px;
|
||||
background-image: url("../../zkau/web/ganttz/img/deadline.png");
|
||||
display: none;
|
||||
}
|
||||
|
||||
body .perspectives-column {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue