diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyComponent.java index 0f143db3f..bd80ed882 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyComponent.java @@ -27,7 +27,6 @@ import java.util.Date; import org.apache.commons.lang.Validate; import org.zkoss.ganttz.data.Dependency; import org.zkoss.ganttz.data.DependencyType; -import org.zkoss.ganttz.data.Task; import org.zkoss.ganttz.data.constraint.Constraint; import org.zkoss.ganttz.data.constraint.Constraint.IConstraintViolationListener; import org.zkoss.zk.au.out.AuInvoke; @@ -121,7 +120,7 @@ public class LimitingDependencyComponent extends XulElement implements response("zoomChanged", new AuInvoke(this, "draw")); } - public boolean contains(Task task) { + public boolean contains(QueueTask task) { return false; // Task sourceTask = getSource().getTask(); // Task destinationTask = getDestination().getTask(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java index 3789c0a27..043bc5c3f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingDependencyList.java @@ -132,10 +132,9 @@ public class LimitingDependencyList extends XulElement implements AfterCompose { // boolean dependencyMustBeVisible = visibilityToggler.dependencyMustBeVisible(); // visibilityToggler.toggleDependencyExistence(dependencyMustBeVisible); // if (dependencyMustBeVisible) { -// dependencyComponent.redrawDependency(); -// } - // Always dependencyComponent.redrawDependency(); +// } + // dependencyComponent.redrawDependency(); } public void setDependencyComponents( @@ -161,6 +160,7 @@ public class LimitingDependencyList extends XulElement implements AfterCompose { }; // getTimeTracker().addZoomListener(listener); } + redrawDependencies(); } // private TimeTracker getTimeTracker() { @@ -206,7 +206,7 @@ public class LimitingDependencyList extends XulElement implements AfterCompose { } } - public void taskRemoved(Task task) { + public void taskRemoved(QueueTask task) { for (LimitingDependencyComponent dependencyComponent : LimitingDependencyList.this .getLimitingDependencyComponents()) { if (dependencyComponent.contains(task)) { diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesList.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesList.java index 9d22f79d9..3b0665b46 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesList.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesList.java @@ -45,13 +45,13 @@ public class LimitingResourcesList extends HtmlMacroComponent implements private final IZoomLevelChangedListener zoomListener; - private Map fromTimeLineToComponent = new HashMap(); + private Map fromTimeLineToComponent = new HashMap(); private MutableTreeModel model; private TimeTracker timeTracker; - private List limitingResourcesComponents = new ArrayList(); + private List limitingResourcesComponents = new ArrayList(); public LimitingResourcesList(TimeTracker timeTracker, MutableTreeModel timelinesTree) { @@ -98,8 +98,26 @@ public class LimitingResourcesList extends HtmlMacroComponent implements }; } - public void collapse(LimitingResourceQueue line) { + private void insertAsComponents(TimeTracker timetracker, + List children) { + for (LimitingResourceQueue LimitingResourceQueue : children) { + QueueComponent component = QueueComponent + .create(timetracker, LimitingResourceQueue); + limitingResourcesComponents.add(component); + appendChild(component); + fromTimeLineToComponent.put(LimitingResourceQueue, component); + } + } + + public void collapse(LimitingResourceQueue line) { + } + + + private QueueComponent getComponentFor(LimitingResourceQueue l) { + QueueComponent resourceLoadComponent = fromTimeLineToComponent + .get(l); + return resourceLoadComponent; } public void expand(LimitingResourceQueue line, @@ -109,7 +127,7 @@ public class LimitingResourcesList extends HtmlMacroComponent implements @Override public void afterCompose() { super.afterCompose(); - for (LimitingResourcesComponent each : limitingResourcesComponents) { + for (QueueComponent each : limitingResourcesComponents) { each.afterCompose(); } } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java index f39f4cffa..583adde4f 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesPanel.java @@ -85,6 +85,8 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { private static final String filterCriterions = _("Filter by criterions"); private boolean filterbyResources = true; + private LimitingDependencyList dependencyList; + public LimitingResourcesPanel(List groups, TimeTracker timeTracker) { init(groups, timeTracker); @@ -184,7 +186,8 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { } private void registerNeededScripts() { - // getScriptsRegister().register(ScriptsRequiredByResourceLoadPanel.class); + // getScriptsRegister().register( + // ScriptsRequiredByLimitingResourcesPanel.class); } private IScriptsRegister getScriptsRegister() { @@ -224,25 +227,27 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { leftPane.afterCompose(); // Insert timetracker watermarks and limitingResourcesQueues - getFellow("insertionPointRightPanel").appendChild(timeTrackerComponent); - getFellow("insertionPointRightPanel") - .appendChild(limitingResourcesList); - limitingResourcesList.afterCompose(); - - QueueTask source = new QueueTask(new LocalDate(), new LocalDate(), 100, - 50); - QueueTask destination = new QueueTask(new LocalDate(), new LocalDate(), - 100, 50); + QueueTask source = new QueueTask(new LocalDate(), new LocalDate() + .plusMonths(1), 100, 50); + QueueTask destination = new QueueTask(new LocalDate(), new LocalDate() + .plusMonths(2), 100, 50); LimitingDependencyComponent limitingDependencyComponent = new LimitingDependencyComponent( source, destination); - LimitingDependencyList dependencyList = new LimitingDependencyList(null); - dependencyList.addDependencyComponent(limitingDependencyComponent); + dependencyList = new LimitingDependencyList(null); + dependencyList.addDependencyComponent(limitingDependencyComponent); + limitingDependencyComponent.afterCompose(); + limitingDependencyComponent.setParent(dependencyList); + + getFellow("insertionPointRightPanel").appendChild(timeTrackerComponent); + getFellow("insertionPointRightPanel") + .appendChild(limitingResourcesList); getFellow("insertionPointRightPanel").appendChild(dependencyList); dependencyList.afterCompose(); + limitingResourcesList.afterCompose(); limitingResourcesList.invalidate(); @@ -256,6 +261,7 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { listZoomLevels.setSelectedIndex(timeTracker.getDetailLevel().ordinal()); } + public void clearComponents() { getFellow("insertionPointLeftPanel").getChildren().clear(); getFellow("insertionPointRightPanel").getChildren().clear(); @@ -271,4 +277,5 @@ public class LimitingResourcesPanel extends HtmlMacroComponent { }; } + } \ No newline at end of file diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesComponent.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java similarity index 95% rename from navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesComponent.java rename to navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java index 567e5d050..442ef67d8 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/LimitingResourcesComponent.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/limitingresources/QueueComponent.java @@ -46,12 +46,12 @@ import org.zkoss.zul.impl.XulElement; * This class wraps ResourceLoad data inside an specific HTML Div component. * @author Lorenzo Tilve Álvaro */ -public class LimitingResourcesComponent extends XulElement implements +public class QueueComponent extends XulElement implements AfterCompose { - public static LimitingResourcesComponent create(TimeTracker timeTracker, + public static QueueComponent create(TimeTracker timeTracker, LimitingResourceQueue limitingResourceQueue) { - return new LimitingResourcesComponent(timeTracker, + return new QueueComponent(timeTracker, limitingResourceQueue); } @@ -60,7 +60,7 @@ public class LimitingResourcesComponent extends XulElement implements private transient IZoomLevelChangedListener zoomChangedListener; private List
queueElementDivs = new ArrayList
(); - private LimitingResourcesComponent(final TimeTracker timeTracker, + private QueueComponent(final TimeTracker timeTracker, final LimitingResourceQueue limitingResourceQueue) { this.limitingResourceQueue = limitingResourceQueue; this.timeTracker = timeTracker; diff --git a/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml b/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml index 64462c444..8ac3ab67e 100755 --- a/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml +++ b/navalplanner-webapp/src/main/resources/metainfo/zk/lang-addon.xml @@ -104,11 +104,11 @@ - limitingresources - org.navalplanner.web.limitingresources.LimitingResourcesComponent + queuecomponent + org.navalplanner.web.limitingresources.QueueComponent default - /limitingresources/limitingresources.dsp + /limitingresources/queuecomponent.dsp @@ -122,5 +122,15 @@ + + limitingdependency + org.navalplanner.web.limitingresources.LimitingDependencyComponent + + default + /limitingresources/limitingdependency.dsp + + + + diff --git a/navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingdependency.js b/navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingdependency.js new file mode 100644 index 000000000..5709175a7 --- /dev/null +++ b/navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingdependency.js @@ -0,0 +1,310 @@ +/* + * This file is part of NavalPlan + * + * Copyright (C) 2009 Fundación para o Fomento da Calidade Industrial e + * Desenvolvemento Tecnolóxico de Galicia + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + + +/** + * Javascript behaviuor for TaskList elements + * @author Lorenzo Tilve Álvaro + */ + +webapp_context_path = window.location.pathname.split( '/' )[1]; + +zkLimitingDependencies = {}; +zkLimitingDependencies.constants = { + END_START: "END_START", + START_START: "START_START", + END_END: "END_END" +}; + +zkLimitingDependencies.getImagesDir = function() { + return "/" + webapp_context_path + "/zkau/web/ganttz/img/"; +} + +zkLimitingDependencies.init = function(planner){ + +} + +zkLimitingDependencies.findImageElement = function(arrow, name) { + var children = arrow.getElementsByTagName("img"); + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (child.getAttribute("class").indexOf(name) != -1) { + return child; + } + } + return null; +} + +function get_origin() { + return YAHOO.util.Dom.getXY('listdependencies'); +} + +zkLimitingDependencies.findPos = function(obj) { + var pos1 = get_origin(); + var pos2 = YAHOO.util.Dom.getXY(obj.id); + return [ pos2[0] - pos1[0], pos2[1] - pos1[1] ]; +} +zkLimitingDependencies.findPosForMouseCoordinates = function(x, y){ + /* var pos1 = get_origin() */ + var pos1 = YAHOO.util.Dom.getXY('listtasks'); + return [x - pos1[0], y - pos1[1]]; +} + +function getContextPath(element){ + return element.getAttribute('contextpath'); +} + +zkLimitingDependencies.setupArrow = function(arrowDiv){ + + var image_data = [ [ "start", "pixel.gif" ], [ "mid", "pixel.gif" ], + [ "end", "pixel.gif" ], [ "arrow", "arrow.png" ] ]; + for ( var i = 0; i < image_data.length; i++) { + var img = document.createElement('img'); + img.setAttribute("class", image_data[i][0]+" extra_padding"); + img.src = this.getImagesDir() + image_data[i][1]; + arrowDiv.appendChild(img); + } +} + +zkLimitingDependencies.drawArrow = function(dependency, orig, dest) { + switch(dependency.getAttribute('type')) + { + case zkLimitingDependencies.constants.START_START: + zkLimitingDependencies.drawArrowStartStart(dependency, orig, dest); + break; + case zkLimitingDependencies.constants.END_END: + zkLimitingDependencies.drawArrowEndEnd(dependency, orig, dest); + break; + case zkLimitingDependencies.constants.END_START: + default: + zkLimitingDependencies.drawArrowEndStart(dependency, orig, dest); + } +} + +zkLimitingDependencies.drawArrowStartStart = function(arrow, orig, dest){ + var xorig = orig[0] - zkTask.HALF_DEPENDENCY_PADDING; + var yorig = orig[1] - zkTask.CORNER_WIDTH/2 + zkTask.HALF_DEPENDENCY_PADDING; + var xend = dest[0] + zkTask.HALF_DEPENDENCY_PADDING; + var yend = dest[1] - zkTask.HALF_DEPENDENCY_PADDING; + if (yend < yorig) { + yorig = orig[1] + zkTask.DEPENDENCY_PADDING; + } + + width1 = zkTask.CORNER_WIDTH; + width2 = Math.abs(xend - xorig) + zkTask.CORNER_WIDTH; + height = Math.abs(yend - yorig); + + if (xorig > xend) { + width1 = width2; + width2 = zkTask.CORNER_WIDTH; + } + + // First segment + var depstart = this.findImageElement(arrow, 'start'); + depstart.style.left = (xorig - width1) + "px"; + depstart.style.top = yorig + "px"; + depstart.style.width = width1 + "px"; + depstart.style.display = "inline"; + + // Second segment + var depmid = this.findImageElement(arrow, 'mid'); + depmid.style.left = depstart.style.left; + if (yend > yorig) { + depmid.style.top = yorig + "px"; + } else { + depmid.style.top = yend + "px"; + } + depmid.style.height = height + "px"; + + // Third segment + var depend = this.findImageElement(arrow, 'end'); + depend.style.left = depstart.style.left; + depend.style.top = yend + "px"; + depend.style.width = width2 - zkTask.HALF_HEIGHT + "px"; + + var deparrow = this.findImageElement(arrow, 'arrow'); + deparrow.src = this.getImagesDir()+"arrow.png"; + deparrow.style.top = yend - zkTask.HALF_HEIGHT + "px"; + deparrow.style.left = xend - 15 + "px"; + } + + +zkLimitingDependencies.drawArrowEndEnd = function(arrow, orig, dest){ + var xorig = orig[0] - zkTask.DEPENDENCY_PADDING; + var yorig = orig[1] - zkTask.CORNER_WIDTH/2 + zkTask.HALF_DEPENDENCY_PADDING; + var xend = dest[0] + zkTask.HALF_DEPENDENCY_PADDING; + var yend = dest[1] - zkTask.DEPENDENCY_PADDING; + + width1 = Math.abs(xend - xorig) + zkTask.CORNER_WIDTH; + width2 = zkTask.CORNER_WIDTH; + height = Math.abs(yend - yorig); + + if (xorig > xend) { + width2 = width1; + width1 = zkTask.CORNER_WIDTH; + } + + // First segment + var depstart = this.findImageElement(arrow, 'start'); + depstart.style.left = xorig + "px"; + if (yend > yorig) { + depstart.style.top = yorig + "px"; + } else { + depstart.style.top = yorig + zkTask.HEIGHT + "px"; + } + depstart.style.width = width1 + "px"; + depstart.style.display = "inline"; + + // Second segment + var depmid = this.findImageElement(arrow, 'mid'); + depmid.style.left = (xorig + width1) + "px"; + if (yend > yorig) { + depmid.style.top = yorig + "px"; + } else { + depmid.style.top = yend + "px"; + height = height + 10; + } + depmid.style.height = height + "px"; + + // Third segment + var depend = this.findImageElement(arrow, 'end'); + depend.style.left = (xorig + width1 - width2) + "px"; + depend.style.top = yend + "px"; + depend.style.width = width2 + "px"; + + var deparrow = this.findImageElement(arrow, 'arrow'); + deparrow.src = this.getImagesDir()+"arrow3.png"; + deparrow.style.top = yend - 5 + "px"; + deparrow.style.left = xend - 8 + "px"; + } + + +zkLimitingDependencies.drawArrowEndStart = function(arrow, orig, dest){ + var xorig = orig[0] - zkTask.DEPENDENCY_PADDING; + var yorig = orig[1] - zkTask.HALF_DEPENDENCY_PADDING; + var xend = dest[0] - zkTask.DEPENDENCY_PADDING; + var yend = dest[1] - zkTask.HALF_DEPENDENCY_PADDING; + + var width = (xend - xorig); + var xmid = xorig + width; + + // First segment not used + var depstart = this.findImageElement(arrow, 'start'); + depstart.style.display = "none"; + + // Second segment not used + var depmid = this.findImageElement(arrow, 'mid'); + if (yend > yorig) { + depmid.style.top = yorig + "px"; + depmid.style.height = yend - yorig + "px"; + } else { + depmid.style.top = yend + "px"; + depmid.style.height = yorig - yend + "px"; + } + depmid.style.left = xorig + "px"; + + var depend = this.findImageElement(arrow, 'end'); + depend.style.top = yend + "px"; + depend.style.left = xorig + "px"; + depend.style.width = width + "px"; + + if (width < 0) { + depend.style.left = xend + "px"; + depend.style.width = Math.abs(width) + "px"; + } + var deparrow = this.findImageElement(arrow, 'arrow'); + if ( width == 0 ) { + deparrow.src = this.getImagesDir()+"arrow2.png"; + deparrow.style.top = yend - 10 + "px"; + deparrow.style.left = xend - 5 + "px"; + if ( yorig > yend ) { + deparrow.src = this.getImagesDir()+"arrow4.png"; + deparrow.style.top = yend + "px"; + } + } else { + deparrow.style.top = yend - 5 + "px"; + deparrow.style.left = xend - 10 + "px"; + deparrow.src = this.getImagesDir()+"arrow.png"; + + if (width < 0) { + deparrow.src = this.getImagesDir() + "arrow3.png"; + deparrow.style.left = xend + "px"; + deparrow.style.top = yend - 5 + "px"; + } + } +} + + +zkLimitingDependency = {}; + +zkLimitingDependency.origin = function(dependency) { + var id = dependency.getAttribute("idTaskOrig"); + return document.getElementById(id); +} + +zkLimitingDependency.destination = function(dependency) { + var id = dependency.getAttribute("idTaskEnd"); + return document.getElementById(id); +} + +zkLimitingDependency.draw = function(dependency) { + var orig = zkLimitingDependencies.findPos(this.origin(dependency)); + var dest = zkLimitingDependencies.findPos(this.destination(dependency)); + + // This corner case may depend on dependence type + offsetX = this.origin(dependency).offsetWidth - zkTask.CORNER_WIDTH; + separation = orig[0] + this.origin(dependency).offsetWidth - dest[0]; + + if (separation > 0) { + offsetX = offsetX - separation; + } + if (dependency.getAttribute('type') == zkLimitingDependencies.constants.END_START + || dependency.getAttribute('type') == null) { + orig[0] = orig[0] + Math.max(0, offsetX); + } else if (dependency.getAttribute('type') == zkLimitingDependencies.constants.END_END) { + orig[0] = orig[0] + this.origin(dependency).offsetWidth; + dest[0] = dest[0] + this.destination(dependency).offsetWidth; + } + + orig[1] = orig[1] + zkTask.HEIGHT; + dest[1] = dest[1] + zkTask.HALF_HEIGHT; + + if ((orig[1] > dest[1])) { + orig[1] = orig[1] - zkTask.HEIGHT; + } + + zkLimitingDependencies.drawArrow(dependency, orig, dest); + +} + +zkLimitingDependency.init = function(dependency) { + zkLimitingDependencies.setupArrow(dependency); + var parent = dependency.parentNode; + if (parent.id !== "listlimitingdependencies") { + document.getElementById("listlimitingdependencies").appendChild(dependency); + } + YAHOO.util.Event.onDOMReady(function() { + var origin = zkLimitingDependency.origin(dependency); + var destination = zkLimitingDependency.destination(dependency); + zkLimitingDependency.draw(dependency); + zkTask.addRelatedDependency(origin, dependency); + zkTask.addRelatedDependency(destination, dependency); + }); +} diff --git a/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.js b/navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingdependencylist.js similarity index 91% rename from navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.js rename to navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingdependencylist.js index 0dd28a648..7bd025148 100644 --- a/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.js +++ b/navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingdependencylist.js @@ -18,7 +18,7 @@ * along with this program. If not, see . */ -zkDependencylist = {}; +zkLimitingDependencylist = {}; -zkDependencylist.init = function (cmp) { +zkLimitingDependencylist.init = function (cmp) { } diff --git a/ganttzk/src/main/resources/web/js/ganttz/limitingresources/limitingresourceslist.js b/navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingresourceslist.js similarity index 100% rename from ganttzk/src/main/resources/web/js/ganttz/limitingresources/limitingresourceslist.js rename to navalplanner-webapp/src/main/resources/web/js/limitingresources/limitingresourceslist.js diff --git a/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependency.dsp b/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependency.dsp new file mode 100644 index 000000000..4d29837b6 --- /dev/null +++ b/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependency.dsp @@ -0,0 +1,9 @@ +<%@ taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c" %> +<%@ taglib uri="http://www.zkoss.org/dsp/zk/core" prefix="z" %> + + + +
+
diff --git a/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.dsp b/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.dsp index 4da3e1bb4..4877c680e 100644 --- a/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.dsp +++ b/navalplanner-webapp/src/main/webapp/limitingresources/limitingdependencylist.dsp @@ -3,9 +3,9 @@ -
+
-
+
${z:redraw(child, null)} diff --git a/navalplanner-webapp/src/main/webapp/limitingresources/limitingresourceslist.dsp b/navalplanner-webapp/src/main/webapp/limitingresources/limitingresourceslist.dsp index 915dbe395..9ee77c45c 100644 --- a/navalplanner-webapp/src/main/webapp/limitingresources/limitingresourceslist.dsp +++ b/navalplanner-webapp/src/main/webapp/limitingresources/limitingresourceslist.dsp @@ -4,7 +4,7 @@
+ z.type="limitingresources.limitingresourceslist.LimitingResourcesList"> ${z:redraw(child, null)} diff --git a/navalplanner-webapp/src/main/webapp/limitingresources/limitingresources.dsp b/navalplanner-webapp/src/main/webapp/limitingresources/queuecomponent.dsp similarity index 100% rename from navalplanner-webapp/src/main/webapp/limitingresources/limitingresources.dsp rename to navalplanner-webapp/src/main/webapp/limitingresources/queuecomponent.dsp