ItEr30S15RFVisualizacionMultiplesProxectosItEr29S18: Adding command for going to schedule from global planning view
This commit is contained in:
parent
7635125012
commit
b92d124ead
4 changed files with 56 additions and 6 deletions
|
|
@ -20,11 +20,17 @@
|
|||
|
||||
package org.navalplanner.web.planner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.zkoss.ganttz.Planner;
|
||||
import org.zkoss.ganttz.extensions.ICommandOnTask;
|
||||
import org.zkoss.ganttz.resourceload.ScriptsRequiredByResourceLoadPanel;
|
||||
import org.zkoss.ganttz.util.OnZKDesktopRegistry;
|
||||
import org.zkoss.ganttz.util.script.IScriptsRegister;
|
||||
|
|
@ -40,10 +46,10 @@ import org.zkoss.zk.ui.util.GenericForwardComposer;
|
|||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
public class CompanyPlanningController extends GenericForwardComposer {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ICompanyPlanningModel model;
|
||||
|
||||
private List<ICommandOnTask<TaskElement>> additional = new ArrayList<ICommandOnTask<TaskElement>>();
|
||||
|
||||
public CompanyPlanningController() {
|
||||
getScriptsRegister().register(ScriptsRequiredByResourceLoadPanel.class);
|
||||
|
|
@ -58,7 +64,13 @@ public class CompanyPlanningController extends GenericForwardComposer {
|
|||
public void doAfterCompose(org.zkoss.zk.ui.Component comp) throws Exception {
|
||||
super.doAfterCompose(comp);
|
||||
Planner planner = (Planner) comp;
|
||||
model.setConfigurationToPlanner(planner);
|
||||
model.setConfigurationToPlanner(planner, additional);
|
||||
}
|
||||
|
||||
public void setAdditional(List<ICommandOnTask<TaskElement>> additional) {
|
||||
Validate.notNull(additional);
|
||||
Validate.noNullElements(additional);
|
||||
this.additional = additional;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import org.zkoss.ganttz.Planner;
|
||||
import org.zkoss.ganttz.adapters.IStructureNavigator;
|
||||
import org.zkoss.ganttz.adapters.PlannerConfiguration;
|
||||
import org.zkoss.ganttz.extensions.ICommandOnTask;
|
||||
import org.zkoss.ganttz.timetracker.TimeTracker;
|
||||
import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
|
||||
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
|
||||
|
|
@ -105,17 +106,25 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
|
|||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void setConfigurationToPlanner(Planner planner) {
|
||||
public void setConfigurationToPlanner(Planner planner,
|
||||
Collection<ICommandOnTask<TaskElement>> additional) {
|
||||
PlannerConfiguration<TaskElement> configuration = createConfiguration();
|
||||
|
||||
Chart chartComponent = new Chart();
|
||||
configuration.setChartComponent(chartComponent);
|
||||
|
||||
addAdditionalCommands(additional, configuration);
|
||||
planner.setConfiguration(configuration);
|
||||
|
||||
setupChart(chartComponent, planner.getTimeTracker());
|
||||
}
|
||||
|
||||
private void addAdditionalCommands(
|
||||
Collection<ICommandOnTask<TaskElement>> additional,
|
||||
PlannerConfiguration<TaskElement> configuration) {
|
||||
for (ICommandOnTask<TaskElement> t : additional) {
|
||||
configuration.addCommandOnTask(t);
|
||||
}
|
||||
}
|
||||
|
||||
private void setupChart(Chart chartComponent, TimeTracker timeTracker) {
|
||||
fillChart(chartComponent, timeTracker.getRealInterval(), timeTracker
|
||||
.getHorizontalSize());
|
||||
|
|
|
|||
|
|
@ -20,7 +20,11 @@
|
|||
|
||||
package org.navalplanner.web.planner;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.zkoss.ganttz.Planner;
|
||||
import org.zkoss.ganttz.extensions.ICommandOnTask;
|
||||
|
||||
/**
|
||||
* Contract for {@link CompanyPlanningModel}
|
||||
|
|
@ -29,6 +33,7 @@ import org.zkoss.ganttz.Planner;
|
|||
*/
|
||||
public interface ICompanyPlanningModel {
|
||||
|
||||
void setConfigurationToPlanner(Planner planner);
|
||||
void setConfigurationToPlanner(Planner planner,
|
||||
Collection<ICommandOnTask<TaskElement>> additional);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.web.common.Util;
|
||||
import org.navalplanner.web.orders.OrderCRUDController;
|
||||
|
|
@ -43,7 +44,9 @@ import org.zkoss.ganttz.TabSwitcher;
|
|||
import org.zkoss.ganttz.TabsRegistry;
|
||||
import org.zkoss.ganttz.adapters.TabsConfiguration;
|
||||
import org.zkoss.ganttz.extensions.ICommand;
|
||||
import org.zkoss.ganttz.extensions.ICommandOnTask;
|
||||
import org.zkoss.ganttz.extensions.IContext;
|
||||
import org.zkoss.ganttz.extensions.IContextWithPlannerTask;
|
||||
import org.zkoss.ganttz.extensions.ITab;
|
||||
import org.zkoss.ganttz.resourceload.ResourcesLoadPanel.IToolbarCommand;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
|
|
@ -162,9 +165,30 @@ public class MultipleTabsPlannerController implements Composer {
|
|||
private ITab createGlobalPlanningTab() {
|
||||
return new CreatedOnDemandTab(ENTERPRISE_VIEW, new IComponentCreator() {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public org.zkoss.zk.ui.Component create(
|
||||
org.zkoss.zk.ui.Component parent) {
|
||||
List<ICommandOnTask<TaskElement>> commands = new ArrayList<ICommandOnTask<TaskElement>>();
|
||||
commands.add(new ICommandOnTask<TaskElement>() {
|
||||
|
||||
@Override
|
||||
public void doAction(
|
||||
IContextWithPlannerTask<TaskElement> context,
|
||||
TaskElement task) {
|
||||
OrderElement orderElement = task.getOrderElement();
|
||||
if (orderElement instanceof Order) {
|
||||
Order order = (Order) orderElement;
|
||||
mode.goToOrderMode(order);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return _("Schedule");
|
||||
}
|
||||
});
|
||||
companyPlanningController.setAdditional(commands);
|
||||
HashMap<String, Object> args = new HashMap<String, Object>();
|
||||
args.put("companyPlanningController",
|
||||
companyPlanningController);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue