diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java b/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java index 2bc35c261..d174ea1bf 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/GanttPanel.java @@ -85,6 +85,11 @@ public class GanttPanel extends XulElement implements AfterCompose { .asDependencyComponents(diagramGraph.getVisibleDependencies())); timeTrackerComponent.afterCompose(); dependencyList.afterCompose(); + + if (planner.isFlattenTree()) { + planner.getPredicate().setFilterContainers(true); + planner.setTaskListPredicate(planner.getPredicate()); + } } public TimeTrackerComponent getTimeTrackerComponent() { diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java index f6746ad11..131f27108 100644 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -139,6 +139,8 @@ public class Planner extends HtmlMacroComponent { private boolean isShowingResources = false; + private boolean isFlattenTree = false; + private ZoomLevel initialZoomLevel = null; private Listbox listZoomLevels = null; @@ -621,15 +623,16 @@ public class Planner extends HtmlMacroComponent { public void flattenTree() { Button flattenTreeButton = (Button) getFellow("flattenTree"); if (disabilityConfiguration.isFlattenTreeEnabled()) { - if (flattenTreeButton.getSclass().equals("planner-command")) { - predicate.setFilterContainers(true); - flattenTreeButton.setSclass("planner-command clicked"); - } else { + if (isFlattenTree) { predicate.setFilterContainers(false); flattenTreeButton.setSclass("planner-command"); + } else { + predicate.setFilterContainers(true); + flattenTreeButton.setSclass("planner-command clicked"); } setTaskListPredicate(predicate); } + isFlattenTree = !isFlattenTree; } public FilterAndParentExpandedPredicates getPredicate() { @@ -677,4 +680,8 @@ public class Planner extends HtmlMacroComponent { return isShowingResources; } + public boolean isFlattenTree() { + return isFlattenTree; + } + }