Remove code textboxes from the 'to refresh' list when the row they belong is deleted.

We do it to prevent deleted textboxes to be refreshed. Besides, the list has
been replaced with a map, for convenience.

FEA: ItEr62S08PerformanceOrderEdition
This commit is contained in:
Jacobo Aragunde Pérez 2010-10-22 20:19:03 +02:00
parent dd30fff6e8
commit bd10b8ef31
2 changed files with 9 additions and 8 deletions

View file

@ -93,11 +93,11 @@ import org.zkoss.zul.SimpleListModel;
import org.zkoss.zul.Tab;
import org.zkoss.zul.Tabbox;
import org.zkoss.zul.Tabpanel;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Tree;
import org.zkoss.zul.Treeitem;
import org.zkoss.zul.Vbox;
import org.zkoss.zul.api.Listbox;
import org.zkoss.zul.api.Textbox;
import org.zkoss.zul.api.Window;
/**
@ -568,9 +568,10 @@ public class OrderCRUDController extends GenericForwardComposer {
private void refreshCodeTextboxesOnly() {
if(orderElementTreeController != null) {
for(Textbox box : orderElementTreeController.getOrderElementCodeTextboxes()) {
box.setValue(((OrderElement)box.getAttribute(
"orderElement", Component.COMPONENT_SCOPE)).getCode());
Map<OrderElement, Textbox> orderElementCodeTextBoxes =
orderElementTreeController.getOrderElementCodeTextboxes();
for(OrderElement element :orderElementCodeTextBoxes.keySet()) {
orderElementCodeTextBoxes.get(element).setValue(element.getCode());
}
}
}

View file

@ -324,9 +324,9 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
}
private List<Textbox> orderElementCodeTextboxes = new ArrayList<Textbox>();
private Map<OrderElement, Textbox> orderElementCodeTextboxes = new HashMap<OrderElement, Textbox>();
public List<Textbox> getOrderElementCodeTextboxes() {
public Map<OrderElement, Textbox> getOrderElementCodeTextboxes() {
return orderElementCodeTextboxes;
}
@ -576,8 +576,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
addCell(textBoxCode);
registerKeyboardListener(textBoxCode);
textBoxCode.setAttribute("orderElement", orderElement, Component.COMPONENT_SCOPE);
orderElementCodeTextboxes.add(textBoxCode);
orderElementCodeTextboxes.put(orderElement, textBoxCode);
}
void addInitDateCell(final OrderElement currentOrderElement) {
@ -958,6 +957,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
element.getName()));
} else {
super.remove(element);
orderElementCodeTextboxes.remove(element);
}
}