diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java index 5880c49e0..d6c6bcf46 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/AdvancedAllocationController.java @@ -1195,25 +1195,33 @@ class Row { } } + private Hbox hboxAssigmentFunctionsCombobox = null; + Component getFunction() { if (isGroupingRow()) { return new Label(); } else if (isLimiting) { return new Label(_("Limiting assignment")); } else { - Hbox hbox = new Hbox(); - - Combobox assignmentFunctionsCombo = getAssignmentFunctionsCombo(); - appendListener(assignmentFunctionsCombo); - - hbox.appendChild(assignmentFunctionsCombo); - hbox - .appendChild(getAssignmentFunctionsConfigureButton(assignmentFunctionsCombo)); - - return hbox; + if (hboxAssigmentFunctionsCombobox == null) { + initializeAssigmentFunctionsCombobox(); + } + return hboxAssigmentFunctionsCombobox; } } + private void initializeAssigmentFunctionsCombobox() { + hboxAssigmentFunctionsCombobox = new Hbox(); + + Combobox assignmentFunctionsCombo = getAssignmentFunctionsCombo(); + appendListener(assignmentFunctionsCombo); + assignmentFunctionsCombo.setValue("None"); + + hboxAssigmentFunctionsCombobox.appendChild(assignmentFunctionsCombo); + hboxAssigmentFunctionsCombobox + .appendChild(getAssignmentFunctionsConfigureButton(assignmentFunctionsCombo)); + } + private void appendListener(final Combobox assignmentFunctionsCombo) { assignmentFunctionsCombo.addEventListener(Events.ON_CHANGE, new EventListener() {