ItEr31S12ValidacionEProbasFuncionaisItEr30S17: Updating the load graphic when saving
bug #66
This commit is contained in:
parent
689bd53d1d
commit
73d52a2ba2
3 changed files with 45 additions and 3 deletions
|
|
@ -29,6 +29,14 @@ import org.zkoss.ganttz.extensions.ICommand;
|
|||
*/
|
||||
public interface ISaveCommand extends ICommand<TaskElement> {
|
||||
|
||||
public interface IAfterSaveListener {
|
||||
void onAfterSave();
|
||||
}
|
||||
|
||||
public void setState(PlanningState planningState);
|
||||
|
||||
public void addListener(IAfterSaveListener listener);
|
||||
|
||||
public void removeListener(IAfterSaveListener listener);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ import org.navalplanner.business.planner.entities.TaskMilestone;
|
|||
import org.navalplanner.business.resources.daos.IResourceDAO;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.web.common.ViewSwitcher;
|
||||
import org.navalplanner.web.planner.ISaveCommand.IAfterSaveListener;
|
||||
import org.navalplanner.web.planner.allocation.ResourceAllocationController;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
|
|
@ -128,7 +129,8 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
|||
"The order {0} must be scheduled", orderReloaded));
|
||||
PlannerConfiguration<TaskElement> configuration = createConfiguration(orderReloaded);
|
||||
addAdditional(additional, configuration);
|
||||
configuration.addGlobalCommand(buildSaveCommand());
|
||||
ISaveCommand saveCommand = buildSaveCommand();
|
||||
configuration.addGlobalCommand(saveCommand);
|
||||
|
||||
configuration.addCommandOnTask(buildResourceAllocationCommand(resourceAllocationController));
|
||||
configuration.addCommandOnTask(buildSplitCommand(splittingController));
|
||||
|
|
@ -146,7 +148,7 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
|||
|
||||
planner.setConfiguration(configuration);
|
||||
|
||||
setupChart(orderReloaded, chartComponent, planner.getTimeTracker());
|
||||
setupChart(orderReloaded, chartComponent, planner.getTimeTracker(), saveCommand);
|
||||
}
|
||||
|
||||
private void addAdditional(List<ICommand<TaskElement>> additional,
|
||||
|
|
@ -206,11 +208,12 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
|||
}
|
||||
|
||||
private void setupChart(Order orderReloaded, Timeplot chartComponent,
|
||||
TimeTracker timeTracker) {
|
||||
TimeTracker timeTracker, ISaveCommand saveCommand) {
|
||||
loadChartFiller = new OrderLoadChartFiller(orderReloaded);
|
||||
loadChartFiller.fillChart(chartComponent, timeTracker
|
||||
.getRealInterval(), timeTracker.getHorizontalSize());
|
||||
fillChartOnZoomChange(chartComponent, timeTracker);
|
||||
fillChartOnSave(chartComponent, timeTracker, saveCommand);
|
||||
}
|
||||
|
||||
private void fillChartOnZoomChange(final Timeplot chartComponent,
|
||||
|
|
@ -229,6 +232,18 @@ public abstract class OrderPlanningModel implements IOrderPlanningModel {
|
|||
timeTracker.addZoomListener(zoomListener);
|
||||
}
|
||||
|
||||
private void fillChartOnSave(final Timeplot chartComponent,
|
||||
final TimeTracker timeTracker, ISaveCommand saveCommand) {
|
||||
saveCommand.addListener(new IAfterSaveListener() {
|
||||
|
||||
@Override
|
||||
public void onAfterSave() {
|
||||
loadChartFiller.fillChart(chartComponent, timeTracker
|
||||
.getRealInterval(), timeTracker.getHorizontalSize());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private PlannerConfiguration<TaskElement> createConfiguration(
|
||||
Order orderReloaded) {
|
||||
ITaskElementAdapter taskElementAdapter = getTaskElementAdapter();
|
||||
|
|
|
|||
|
|
@ -65,6 +65,8 @@ public class SaveCommand implements ISaveCommand {
|
|||
@Autowired
|
||||
private IAdHocTransactionService transactionService;
|
||||
|
||||
private List<IAfterSaveListener> listeners = new ArrayList<IAfterSaveListener>();
|
||||
|
||||
@Override
|
||||
public void setState(PlanningState state) {
|
||||
this.state = state;
|
||||
|
|
@ -79,9 +81,16 @@ public class SaveCommand implements ISaveCommand {
|
|||
return null;
|
||||
}
|
||||
});
|
||||
fireAfterSave();
|
||||
notifyUserThatSavingIsDone();
|
||||
}
|
||||
|
||||
private void fireAfterSave() {
|
||||
for (IAfterSaveListener listener : listeners) {
|
||||
listener.onAfterSave();
|
||||
}
|
||||
}
|
||||
|
||||
private void notifyUserThatSavingIsDone() {
|
||||
try {
|
||||
Messagebox.show(_("Scheduling saved"), _("Information"), Messagebox.OK,
|
||||
|
|
@ -192,4 +201,14 @@ public class SaveCommand implements ISaveCommand {
|
|||
return _("Save");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addListener(IAfterSaveListener listener) {
|
||||
listeners.add(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeListener(IAfterSaveListener listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue