From 71e75a58f91bc2a3967206bd4e08c7da679999bf Mon Sep 17 00:00:00 2001 From: Susana Montes Pedreira Date: Wed, 24 Feb 2010 14:01:01 +0100 Subject: [PATCH] ItEr49S15CUFiltradoNaPlanificacionItEr48S15 : Adds the component to the view of the criterion requirements of the order elements. --- ...ssignedCriterionRequirementController.java | 35 +++++++++++++++++-- .../_listHoursGroupCriterionRequirement.zul | 9 +++-- ..._listOrderElementCriterionRequirements.zul | 3 +- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/criterionrequirements/AssignedCriterionRequirementController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/criterionrequirements/AssignedCriterionRequirementController.java index f023bef53..163bfbb58 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/criterionrequirements/AssignedCriterionRequirementController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/orders/criterionrequirements/AssignedCriterionRequirementController.java @@ -49,6 +49,8 @@ import org.navalplanner.web.orders.HoursGroupWrapper; import org.navalplanner.web.orders.OrderCRUDController; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.WrongValueException; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.InputEvent; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Bandbox; import org.zkoss.zul.Combobox; @@ -56,6 +58,7 @@ import org.zkoss.zul.Constraint; import org.zkoss.zul.Hbox; import org.zkoss.zul.Intbox; import org.zkoss.zul.Label; +import org.zkoss.zul.ListModel; import org.zkoss.zul.Listbox; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; @@ -64,6 +67,7 @@ import org.zkoss.zul.Messagebox; import org.zkoss.zul.Panel; import org.zkoss.zul.Row; import org.zkoss.zul.Rows; +import org.zkoss.zul.SimpleListModel; /** * Controller for showing OrderElement assigned labels @@ -179,11 +183,13 @@ public abstract class AssignedCriterionRequirementController extends public void selectCriterionAndType(Listitem item, Bandbox bandbox, CriterionRequirementWrapper requirementWrapper) { + bandbox.close(); + Listbox listbox = (Listbox) bandbox.getFirstChild().getFirstChild(); + listbox.setModel(new SimpleListModel(getCriterionWithItsTypes())); if (item != null) { CriterionWithItsType newCriterionAndType = (CriterionWithItsType) item .getValue(); try { - bandbox.close(); bandbox.setValue(newCriterionAndType.getNameAndType()); changeCriterionAndType(requirementWrapper, newCriterionAndType); } catch (IllegalStateException e) { @@ -196,6 +202,27 @@ public abstract class AssignedCriterionRequirementController extends } } + public void onChangingText(Event event) { + Bandbox bd = (Bandbox) event.getTarget(); + final String inputText = ((InputEvent) event).getValue(); + Listbox listbox = (Listbox) bd.getFirstChild().getFirstChild(); + listbox.setModel(getSubModel(inputText)); + listbox.invalidate(); + bd.open(); + } + + private ListModel getSubModel(String text) { + List list = new ArrayList(); + text = text.trim().toLowerCase(); + for (CriterionWithItsType criterion : this.getCriterionWithItsTypes()) { + if ((criterion.getNameHierarchy().toLowerCase().contains(text) || criterion + .getType().getName().toLowerCase().contains(text))) { + list.add(criterion); + } + } + return new SimpleListModel(list); + } + protected abstract void updateCriterionsWithDiferentResourceType( HoursGroupWrapper hoursGroupWrapper); @@ -419,14 +446,16 @@ public abstract class AssignedCriterionRequirementController extends public void selectCriterionToHoursGroup(Listitem item, Bandbox bandbox, CriterionRequirementWrapper requirementWrapper) { + bandbox.close(); + Listbox listbox = (Listbox) bandbox.getFirstChild().getFirstChild(); + listbox.setModel(new SimpleListModel(getCriterionWithItsTypes())); + if (item != null) { Row row = (Row) bandbox.getParent().getParent(); CriterionWithItsType criterionAndType = (CriterionWithItsType) item .getValue(); HoursGroupWrapper hoursGroupWrapper = getHoursGroupOfRequirementWrapper(row); - - bandbox.close(); bandbox.setValue(criterionAndType.getNameAndType()); try { diff --git a/navalplanner-webapp/src/main/webapp/orders/_listHoursGroupCriterionRequirement.zul b/navalplanner-webapp/src/main/webapp/orders/_listHoursGroupCriterionRequirement.zul index 33b93eadd..5df365a32 100644 --- a/navalplanner-webapp/src/main/webapp/orders/_listHoursGroupCriterionRequirement.zul +++ b/navalplanner-webapp/src/main/webapp/orders/_listHoursGroupCriterionRequirement.zul @@ -30,7 +30,8 @@ - @@ -49,7 +50,8 @@ - @@ -68,7 +70,8 @@ - diff --git a/navalplanner-webapp/src/main/webapp/orders/_listOrderElementCriterionRequirements.zul b/navalplanner-webapp/src/main/webapp/orders/_listOrderElementCriterionRequirements.zul index 32b753157..d84cba6b1 100644 --- a/navalplanner-webapp/src/main/webapp/orders/_listOrderElementCriterionRequirements.zul +++ b/navalplanner-webapp/src/main/webapp/orders/_listOrderElementCriterionRequirements.zul @@ -50,7 +50,8 @@ -