ItEr49S15CUFiltradoNaPlanificacionItEr48S15 : Add the bandbox search to the worker view.

This commit is contained in:
Susana Montes Pedreira 2010-02-24 11:37:25 +01:00 committed by Javier Moran Rua
parent 23bf34f283
commit f79e16bc95
2 changed files with 33 additions and 3 deletions

View file

@ -14,6 +14,7 @@ import java.util.List;
import org.hibernate.validator.InvalidValue;
import org.navalplanner.business.common.exceptions.ValidationException;
import org.navalplanner.business.resources.entities.Criterion;
import org.navalplanner.business.resources.entities.CriterionSatisfaction;
import org.navalplanner.business.resources.entities.CriterionWithItsType;
import org.navalplanner.business.resources.entities.Worker;
@ -25,6 +26,8 @@ import org.navalplanner.web.common.MessagesForUser;
import org.navalplanner.web.common.Util;
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.Column;
@ -34,10 +37,13 @@ import org.zkoss.zul.Constraint;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Grid;
import org.zkoss.zul.Hbox;
import org.zkoss.zul.ListModel;
import org.zkoss.zul.ListModelExt;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.Row;
import org.zkoss.zul.Rows;
import org.zkoss.zul.SimpleListModel;
/**
* Controller for {@link Criterion} worker <br />
@ -125,6 +131,9 @@ public class CriterionsController extends GenericForwardComposer {
public void selectCriterionAndType(Listitem item,Bandbox bandbox,
CriterionSatisfactionDTO criterionSatisfactionDTO){
bandbox.close();
Listbox listbox = (Listbox) bandbox.getFirstChild().getFirstChild();
listbox.setModel(new SimpleListModel(getCriterionWithItsTypes()));
if(item != null){
CriterionWithItsType criterionAndType = (CriterionWithItsType)item.getValue();
bandbox.setValue(criterionAndType.getNameAndType());
@ -132,7 +141,6 @@ public class CriterionsController extends GenericForwardComposer {
}else{
bandbox.setValue("");
}
bandbox.close();
}
public void setCriterionWithItsType(CriterionWithItsType criterionAndType,
@ -389,4 +397,26 @@ public class CriterionsController extends GenericForwardComposer {
public void validateConstraints() {
ConstraintChecker.isValid(self);
}
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<CriterionWithItsType> list = new ArrayList<CriterionWithItsType>();
text = text.trim().toLowerCase();
for (CriterionWithItsType criterion : this.getCriterionWithItsTypes()) {
if ((criterion.getCriterion().getName().toLowerCase()
.contains(text) || criterion.getType().getName()
.toLowerCase().contains(text))) {
list.add(criterion);
}
}
return new SimpleListModel(list);
}
}

View file

@ -25,8 +25,8 @@
<rows>
<row self="@{each='criterionSatisfactionDTO'}" value="@{criterionSatisfactionDTO}">
<hbox>
<bandbox
constraint="no empty"
<bandbox onChanging = "assignedCriterionsController.onChangingText(event);"
constraint="no empty" width="400px"
visible ="@{criterionSatisfactionDTO.newObject}"
value = "@{criterionSatisfactionDTO.criterionAndType}">
<bandpopup>