Bug #1471: Update all the columns in the WBS and not only name, hours and budget
FEA: ItEr76S04BugFixing
This commit is contained in:
parent
54887acb45
commit
fb6430e251
4 changed files with 87 additions and 1 deletions
|
|
@ -230,7 +230,7 @@ public class DynamicDatebox extends GenericForwardComposer {
|
|||
setter.set(date);
|
||||
}
|
||||
|
||||
private void updateComponents() {
|
||||
public void updateComponents() {
|
||||
getDateTextBox().setValue(asString(getter.get()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -413,6 +413,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
|
|||
updateColumnsFor(currentOrderElement);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void addCodeCell(final OrderElement orderElement) {
|
||||
Textbox textBoxCode = new Textbox();
|
||||
Util.bind(textBoxCode, new Util.Getter<String>() {
|
||||
|
|
@ -444,6 +445,10 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
|
|||
}
|
||||
|
||||
addCell(textBoxCode);
|
||||
putCodeTextbox(orderElement, textBoxCode);
|
||||
|
||||
// FIXME remove this map as it's already in
|
||||
// org.libreplan.web.tree.TreeController.Renderer.codeTextboxByElement
|
||||
orderElementCodeTextboxes.put(orderElement, textBoxCode);
|
||||
}
|
||||
|
||||
|
|
@ -467,6 +472,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
|
|||
dinamicDatebox.setDisabled(true);
|
||||
}
|
||||
addDateCell(dinamicDatebox, _("init"));
|
||||
putInitDateDynamicDatebox(currentOrderElement, dinamicDatebox);
|
||||
}
|
||||
|
||||
void addEndDateCell(final OrderElement currentOrderElement) {
|
||||
|
|
@ -488,6 +494,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
|
|||
dinamicDatebox.setDisabled(true);
|
||||
}
|
||||
addDateCell(dinamicDatebox, _("end"));
|
||||
putEndDateDynamicDatebox(currentOrderElement, dinamicDatebox);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -779,4 +786,16 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
|
|||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ICodeHandler<OrderElement> getCodeHandler() {
|
||||
return new ICodeHandler<OrderElement>() {
|
||||
|
||||
@Override
|
||||
public String getCodeFor(OrderElement element) {
|
||||
return element.getCode();
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -294,6 +294,19 @@ public class TemplatesTreeController extends
|
|||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ICodeHandler<OrderElementTemplate> getCodeHandler() {
|
||||
return new ICodeHandler<OrderElementTemplate>() {
|
||||
|
||||
@Override
|
||||
public String getCodeFor(OrderElementTemplate element) {
|
||||
// Empty as OrderElementTemplate doesn't have code
|
||||
return "";
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
public void refreshRow(Treeitem item) {
|
||||
try {
|
||||
OrderElementTemplate orderElement = (OrderElementTemplate) item
|
||||
|
|
|
|||
|
|
@ -578,12 +578,18 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
|
||||
}
|
||||
|
||||
private Map<T, Textbox> codeTextboxByElement = new HashMap<T, Textbox>();
|
||||
|
||||
private Map<T, Textbox> nameTextboxByElement = new HashMap<T, Textbox>();
|
||||
|
||||
private Map<T, Intbox> hoursIntBoxByElement = new HashMap<T, Intbox>();
|
||||
|
||||
private Map<T, Decimalbox> budgetDecimalboxByElement = new HashMap<T, Decimalbox>();
|
||||
|
||||
private Map<T, DynamicDatebox> initDateDynamicDateboxByElement = new HashMap<T, DynamicDatebox>();
|
||||
|
||||
private Map<T, DynamicDatebox> endDateDynamicDateboxByElement = new HashMap<T, DynamicDatebox>();
|
||||
|
||||
private KeyboardNavigationHandler navigationHandler = new KeyboardNavigationHandler();
|
||||
|
||||
private Treerow currentTreeRow;
|
||||
|
|
@ -599,10 +605,24 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
return nameTextboxByElement.get(key);
|
||||
}
|
||||
|
||||
protected void putCodeTextbox(T key, Textbox textbox) {
|
||||
codeTextboxByElement.put(key, textbox);
|
||||
}
|
||||
|
||||
protected void putNameTextbox(T key, Textbox textbox) {
|
||||
nameTextboxByElement.put(key, textbox);
|
||||
}
|
||||
|
||||
protected void putInitDateDynamicDatebox(T key,
|
||||
DynamicDatebox dynamicDatebox) {
|
||||
initDateDynamicDateboxByElement.put(key, dynamicDatebox);
|
||||
}
|
||||
|
||||
protected void putEndDateDynamicDatebox(T key,
|
||||
DynamicDatebox dynamicDatebox) {
|
||||
endDateDynamicDateboxByElement.put(key, dynamicDatebox);
|
||||
}
|
||||
|
||||
protected void registerFocusEvent(final InputElement inputElement) {
|
||||
inputElement.addEventListener(Events.ON_FOCUS,
|
||||
new EventListener() {
|
||||
|
|
@ -850,9 +870,19 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
}
|
||||
|
||||
public void updateColumnsFor(T element) {
|
||||
updateCodeFor(element);
|
||||
updateNameFor(element);
|
||||
updateHoursFor(element);
|
||||
updateBudgetFor(element);
|
||||
updateInitDateFor(element);
|
||||
updateEndDateFor(element);
|
||||
}
|
||||
|
||||
private void updateCodeFor(T element) {
|
||||
if (!readOnly) {
|
||||
Textbox textbox = codeTextboxByElement.get(element);
|
||||
textbox.setValue(getCodeHandler().getCodeFor(element));
|
||||
}
|
||||
}
|
||||
|
||||
private void updateBudgetFor(T element) {
|
||||
|
|
@ -870,6 +900,22 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
}
|
||||
}
|
||||
|
||||
private void updateInitDateFor(T element) {
|
||||
if (!readOnly) {
|
||||
DynamicDatebox dynamicDatebox = initDateDynamicDateboxByElement
|
||||
.get(element);
|
||||
dynamicDatebox.updateComponents();
|
||||
}
|
||||
}
|
||||
|
||||
private void updateEndDateFor(T element) {
|
||||
if (!readOnly) {
|
||||
DynamicDatebox dynamicDatebox = endDateDynamicDateboxByElement
|
||||
.get(element);
|
||||
dynamicDatebox.updateComponents();
|
||||
}
|
||||
}
|
||||
|
||||
public void refreshBudgetValueForThisNodeAndParents(T node) {
|
||||
List<T> nodeAndItsParents = getModel().getParents(node);
|
||||
nodeAndItsParents.add(node);
|
||||
|
|
@ -1196,6 +1242,14 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
|
|||
|
||||
protected abstract IBudgetHandler<T> getBudgetHandler();
|
||||
|
||||
public interface ICodeHandler<T> {
|
||||
|
||||
String getCodeFor(T element);
|
||||
|
||||
}
|
||||
|
||||
protected abstract ICodeHandler<T> getCodeHandler();
|
||||
|
||||
public interface INameHandler<T> {
|
||||
|
||||
String getNameFor(T element);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue