diff --git a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Task.java b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Task.java
index 1b8144783..234c67413 100755
--- a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Task.java
+++ b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/Task.java
@@ -143,6 +143,15 @@ public class Task extends Div implements AfterCompose {
setId(UUID.randomUUID().toString());
}
+ protected String calculateClass() {
+ return "box";
+ }
+
+ protected void updateClass() {
+ response(null, new AuInvoke(this, "setClass",
+ new Object[] { calculateClass() }));
+ }
+
public void afterCompose() {
updateProperties();
if (propertiesListener == null) {
@@ -158,6 +167,7 @@ public class Task extends Div implements AfterCompose {
}
this.taskBean
.addFundamentalPropertiesChangeListener(propertiesListener);
+ updateClass();
}
private String _color;
diff --git a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/TaskContainer.java b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/TaskContainer.java
index 681c0cfe2..60cbcb29f 100644
--- a/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/TaskContainer.java
+++ b/navalplanner-gantt-zk/src/main/java/org/zkoss/ganttz/TaskContainer.java
@@ -39,6 +39,7 @@ public class TaskContainer extends Task implements AfterCompose {
} else {
close();
}
+ updateClass();
}
};
taskContainerBean.addExpandListener(expandListener);
@@ -71,6 +72,14 @@ public class TaskContainer extends Task implements AfterCompose {
return (TaskContainerBean) getTaskBean();
}
+ @Override
+ protected String calculateClass() {
+ return super.calculateClass() +" "+ (getTaskContainerBean().isExpanded()?
+ "expanded":"closed");
+ }
+
+
+
private void close() {
for (Task subtask : subtasks) {
if (subtask instanceof TaskContainer) {
diff --git a/navalplanner-gantt-zk/src/main/resources/web/ganttz/task.dsp b/navalplanner-gantt-zk/src/main/resources/web/ganttz/task.dsp
index bb8f2b0bb..7d0e16038 100755
--- a/navalplanner-gantt-zk/src/main/resources/web/ganttz/task.dsp
+++ b/navalplanner-gantt-zk/src/main/resources/web/ganttz/task.dsp
@@ -7,7 +7,7 @@
+ z.autoz="true"${self.outerAttrs}">
diff --git a/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/task.js b/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/task.js
index f9b483ffa..31d99f27b 100755
--- a/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/task.js
+++ b/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/task.js
@@ -126,6 +126,11 @@ YAHOO.util.Event.on(document.body, 'mousemove', function(e) {
zkTask.yMouse = arrPos[1];
});
+zkTask.setClass = function(cmp, newclass) {
+ cmp.className = newclass;
+};
+
+
zkTask.setAttr = function(cmp, nm, val) {
switch (nm) {
diff --git a/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/taskcontainer.js b/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/taskcontainer.js
index a0d1e5454..8eadf1948 100644
--- a/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/taskcontainer.js
+++ b/navalplanner-gantt-zk/src/main/resources/web/js/ganttz/taskcontainer.js
@@ -68,6 +68,9 @@ zkTaskContainer.getElementsByAttribute = function(oElm, strTagName, strAttribute
zkTask.getElementsByAttribute(oElm, strTagName, strAttributeName, strAttributeValue);
}
+zkTaskContainer.setClass = function(cmp, newclass) {
+ cmp.className = newclass;
+};
/* We will not allow taskcontainer move or resize untill its behaviour its
* clearly specified
diff --git a/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css b/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css
index c1acb45f6..4b490b1fd 100644
--- a/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css
+++ b/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css
@@ -117,28 +117,6 @@ zkTasklist.GANTT_PANEL_LEFT = 300
width: 10000px; /* Defined to be larger than the maximum scroll_inner_x */
}
-/* -------------- TaskGroup -------------- */
-.taskgroup_start {
- background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/group_left.png");
- height: 10px;
- width: 10px;
- float:left;
-}
-
-.taskgroup_end {
- background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/group_right.png");
- height: 10px;
- width: 10px;
- float:right;
-}
-
-.taskgroup {
- border-top: solid black 2px;
- border-bottom: 0px;
- border-left: 0px;
- border-right: 0px;
- background-color: transparent !important;
-}
/* -------------- Dependencies -------------- */
#listdependencies {
@@ -185,6 +163,34 @@ zkTasklist.GANTT_PANEL_LEFT = 300
white-space:nowrap;
}
+/* -------------- TaskGroup -------------- */
+.taskgroup_start {
+ background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/group_left.png");
+ height: 10px;
+ width: 10px;
+ float:left;
+}
+
+.taskgroup_end {
+ background-image: url("/navalplanner-webapp/zkau/web/ganttz/img/group_right.png");
+ height: 10px;
+ width: 10px;
+ float:right;
+}
+
+.taskgroup, .row .expanded {
+ border-top: solid black 2px;
+ border-bottom: 0px;
+ border-left: 0px;
+ border-right: 0px;
+ background-color: transparent !important;
+}
+
+.row .closed {
+ border-top: solid black 2px;
+}
+
+
.zk #ganttpanel .z-button-cm {