ItEr48S15CUFiltradoNaPlanificacionItEr47S17: Added BandboxSearch to work report line edition in heading.

This commit is contained in:
Manuel Rego Casasnovas 2010-02-18 14:47:42 +01:00 committed by Javier Moran Rua
parent 241bf96e49
commit a4bcf2ed68
2 changed files with 19 additions and 57 deletions

View file

@ -121,7 +121,7 @@ public class WorkReportCRUDController extends GenericForwardComposer implements
private Autocomplete autocompleteResource;
private Bandbox bandboxSelectOrderElementInHead;
private BandboxSearch bandboxSelectOrderElementInHead;
private final static String MOLD = "paging";
@ -555,8 +555,20 @@ public class WorkReportCRUDController extends GenericForwardComposer implements
.getFellow("headingFieldsAndLabels");
autocompleteResource = (Autocomplete) window
.getFellow("autocompleteResource");
bandboxSelectOrderElementInHead = (Bandbox) window
bandboxSelectOrderElementInHead = (BandboxSearch) window
.getFellow("bandboxSelectOrderElementInHead");
bandboxSelectOrderElementInHead.setListboxWidth("750px");
bandboxSelectOrderElementInHead.setListboxEventListener(Events.ON_SELECT,
new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
Listitem selectedItem = (Listitem) ((SelectEvent) event)
.getSelectedItems().iterator().next();
OrderElement orderElement = (OrderElement) selectedItem
.getValue();
getWorkReport().setOrderElement(orderElement);
}
});
}
private void loadComponentslist(Component window) {
@ -1130,39 +1142,6 @@ public class WorkReportCRUDController extends GenericForwardComposer implements
}
}
/* Operations to manage the fields and labels in the heading */
public void setOrderElementInComponent(Event event) throws Exception {
Listbox listbox = (Listbox) event.getTarget();
OrderElement orderElement = (OrderElement) listbox.getSelectedItem()
.getValue();
bandboxSelectOrderElementInHead.setValue(orderElement.getCode());
bandboxSelectOrderElementInHead.setOpen(false);
}
public Constraint checkConstraintOrderElementInHead() {
return new Constraint() {
@Override
public void validate(Component comp, Object value)
throws WrongValueException {
String code = (String) value;
if ((code != null) && (!code.isEmpty())) {
try {
getWorkReport().setOrderElement(
workReportModel.findOrderElement(code));
reloadWorkReportLines();
} catch (InstanceNotFoundException e) {
throw new WrongValueException(
bandboxSelectOrderElementInHead,
_("OrderElement not found"));
}
} else {
getWorkReport().setOrderElement(null);
}
}
};
}
public OrderedFieldsAndLabelsRowRenderer getOrderedFieldsAndLabelsRowRenderer() {
return orderedFieldsAndLabelsRowRenderer;
}

View file

@ -133,28 +133,11 @@
</row>
<row visible = "@{controller.workReport.workReportType.orderElementIsSharedInLines}">
<label value="${i18n:_('OrderElement Code')}:" />
<bandbox id="bandboxSelectOrderElementInHead"
constraint = "@{controller.checkConstraintOrderElementInHead}">
<bandpopup>
<listbox id="selectOrderElement" width="750px" fixedLayout="true"
model="@{controller.orderElements}"
onSelect="controller.setOrderElementInComponent(event)"
selectedItem="@{controller.workReport.orderElement}">
<listhead>
<listheader label="${i18n:_('Order')}"/>
<listheader label="${i18n:_('Order code')}"/>
<listheader label="${i18n:_('Order element')}"/>
<listheader label="${i18n:_('Order element code')}"/>
</listhead>
<listitem self="@{each='orderElement'}" value="@{orderElement}">
<listcell label="@{orderElement.order.name}"/>
<listcell label="@{orderElement.order.code}"/>
<listcell label="@{orderElement.name}"/>
<listcell label="@{orderElement.code}"/>
</listitem>
</listbox>
</bandpopup>
</bandbox>
<bandboxSearch id="bandboxSelectOrderElementInHead"
finder="OrderElementBandboxFinder"
model="@{controller.orderElements}"
selectedElement="@{controller.workReport.orderElement}"
onSelect="controller.setOrderElementInComponent(event)" />
</row>
</rows>
</grid>