ItEr43S09ImplantacionAplicacionItEr42S13: Adding reloadComponent method.
This method invalidates the associated zk component for a task. Invalidating the parent, otherwise the task dissapears.
This commit is contained in:
parent
7211b5a723
commit
8c7077ac46
2 changed files with 39 additions and 0 deletions
|
|
@ -34,6 +34,7 @@ import org.zkoss.ganttz.adapters.IDisabilityConfiguration;
|
|||
import org.zkoss.ganttz.data.Milestone;
|
||||
import org.zkoss.ganttz.data.Task;
|
||||
import org.zkoss.ganttz.data.TaskContainer;
|
||||
import org.zkoss.ganttz.data.Task.IReloadComponentRequested;
|
||||
import org.zkoss.ganttz.data.constraint.Constraint;
|
||||
import org.zkoss.ganttz.data.constraint.Constraint.IConstraintViolationListener;
|
||||
import org.zkoss.lang.Objects;
|
||||
|
|
@ -175,6 +176,8 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
return asTaskComponent(task, taskList, true);
|
||||
}
|
||||
|
||||
private IReloadComponentRequested reloadComponentRequested;
|
||||
|
||||
public TaskComponent(Task task,
|
||||
IDisabilityConfiguration disabilityConfiguration) {
|
||||
setHeight(HEIGHT_PER_TASK + "px");
|
||||
|
|
@ -192,6 +195,16 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
}
|
||||
};
|
||||
this.task.addConstraintViolationListener(taskViolationListener);
|
||||
reloadComponentRequested = new IReloadComponentRequested() {
|
||||
|
||||
@Override
|
||||
public void reloadComponentRequested() {
|
||||
// TODO can't call to invalidate because the task was
|
||||
// disappearing. Fix the problem and just invalidate this task
|
||||
getParent().invalidate();
|
||||
}
|
||||
};
|
||||
this.task.addReloadListener(reloadComponentRequested);
|
||||
}
|
||||
|
||||
protected String calculateClass() {
|
||||
|
|
@ -441,6 +454,7 @@ public class TaskComponent extends Div implements AfterCompose {
|
|||
|
||||
protected void remove() {
|
||||
this.detach();
|
||||
task.removeReloadListener(reloadComponentRequested);
|
||||
}
|
||||
|
||||
public boolean isTopLevel() {
|
||||
|
|
|
|||
|
|
@ -23,9 +23,11 @@ package org.zkoss.ganttz.data;
|
|||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.zkoss.ganttz.data.constraint.Constraint;
|
||||
import org.zkoss.ganttz.data.constraint.DateConstraint;
|
||||
import org.zkoss.ganttz.data.constraint.Constraint.IConstraintViolationListener;
|
||||
|
|
@ -38,6 +40,12 @@ import org.zkoss.ganttz.util.ConstraintViolationNotificator;
|
|||
*/
|
||||
public abstract class Task implements ITaskFundamentalProperties {
|
||||
|
||||
public interface IReloadComponentRequested {
|
||||
public void reloadComponentRequested();
|
||||
}
|
||||
|
||||
private List<IReloadComponentRequested> reloadRequestedListeners = new ArrayList<IReloadComponentRequested>();
|
||||
|
||||
private PropertyChangeSupport fundamentalPropertiesListeners = new PropertyChangeSupport(
|
||||
this);
|
||||
|
||||
|
|
@ -271,4 +279,21 @@ public abstract class Task implements ITaskFundamentalProperties {
|
|||
violationNotificator.addConstraintViolationListener(listener);
|
||||
}
|
||||
|
||||
public void addReloadListener(
|
||||
IReloadComponentRequested reloadComponentRequested) {
|
||||
Validate.notNull(reloadComponentRequested);
|
||||
this.reloadRequestedListeners.add(reloadComponentRequested);
|
||||
}
|
||||
|
||||
public void removeReloadListener(
|
||||
IReloadComponentRequested reloadComponentRequested) {
|
||||
this.reloadRequestedListeners.remove(reloadComponentRequested);
|
||||
}
|
||||
|
||||
public void reloadComponent() {
|
||||
for (IReloadComponentRequested each : reloadRequestedListeners) {
|
||||
each.reloadComponentRequested();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue