ItEr17S13CUConfiguracionDeOrganizacionsDeTraballoConUnidadesTraballoItEr15S11: Using a Window instead of a Popup for edit an OrderElement.
This commit is contained in:
parent
2d4626df2e
commit
5752c205fb
5 changed files with 49 additions and 42 deletions
|
|
@ -180,7 +180,7 @@ public class OrderCRUDController extends GenericForwardComposer {
|
||||||
|
|
||||||
OrderElementController orderElementController = new OrderElementController();
|
OrderElementController orderElementController = new OrderElementController();
|
||||||
orderElementController.doAfterCompose(comp
|
orderElementController.doAfterCompose(comp
|
||||||
.getFellow("editOrderElementPopup"));
|
.getFellow("editOrderElement"));
|
||||||
|
|
||||||
setupOrderElementTreeController(comp, "editWindow",
|
setupOrderElementTreeController(comp, "editWindow",
|
||||||
orderElementController);
|
orderElementController);
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import org.navalplanner.business.resources.entities.Criterion;
|
||||||
import org.navalplanner.business.resources.entities.CriterionType;
|
import org.navalplanner.business.resources.entities.CriterionType;
|
||||||
import org.navalplanner.web.common.Util;
|
import org.navalplanner.web.common.Util;
|
||||||
import org.zkoss.zk.ui.Component;
|
import org.zkoss.zk.ui.Component;
|
||||||
|
import org.zkoss.zk.ui.SuspendNotAllowedException;
|
||||||
import org.zkoss.zk.ui.WrongValueException;
|
import org.zkoss.zk.ui.WrongValueException;
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
|
|
@ -31,8 +32,8 @@ import org.zkoss.zul.Listcell;
|
||||||
import org.zkoss.zul.Listheader;
|
import org.zkoss.zul.Listheader;
|
||||||
import org.zkoss.zul.Listitem;
|
import org.zkoss.zul.Listitem;
|
||||||
import org.zkoss.zul.ListitemRenderer;
|
import org.zkoss.zul.ListitemRenderer;
|
||||||
import org.zkoss.zul.Popup;
|
|
||||||
import org.zkoss.zul.Vbox;
|
import org.zkoss.zul.Vbox;
|
||||||
|
import org.zkoss.zul.Window;
|
||||||
import org.zkoss.zul.api.Listhead;
|
import org.zkoss.zul.api.Listhead;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -48,9 +49,9 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
private IOrderElementModel model;
|
private IOrderElementModel model;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link Popup} where {@link OrderElement} edition form is showed
|
* {@link Window} where {@link OrderElement} edition form is showed
|
||||||
*/
|
*/
|
||||||
private Popup popup;
|
private Window window;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link Listitem} for every {@link HoursGroup}
|
* {@link Listitem} for every {@link HoursGroup}
|
||||||
|
|
@ -152,17 +153,17 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
super.doAfterCompose(comp);
|
super.doAfterCompose(comp);
|
||||||
comp.setVariable("orderElementController", this, true);
|
comp.setVariable("orderElementController", this, true);
|
||||||
|
|
||||||
popup = (Popup) comp;
|
window = (Window) comp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open the popup to edit a {@link OrderElement}. If it's a
|
* Open the window to edit a {@link OrderElement}. If it's a
|
||||||
* {@link OrderLineGroup} less fields will be enabled.
|
* {@link OrderLineGroup} less fields will be enabled.
|
||||||
*
|
*
|
||||||
* @param orderElement
|
* @param orderElement
|
||||||
* The {@link OrderElement} to be edited
|
* The {@link OrderElement} to be edited
|
||||||
*/
|
*/
|
||||||
public void openPopup(IOrderElementModel model) {
|
public void openWindow(IOrderElementModel model) {
|
||||||
|
|
||||||
this.model = model;
|
this.model = model;
|
||||||
|
|
||||||
|
|
@ -171,31 +172,31 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
// If is a container
|
// If is a container
|
||||||
if (orderElement instanceof OrderLineGroup) {
|
if (orderElement instanceof OrderLineGroup) {
|
||||||
// Disable fields just used in the OrderLine
|
// Disable fields just used in the OrderLine
|
||||||
((Intbox) popup.getFellow("totalHours")).setDisabled(true);
|
((Intbox) window.getFellow("totalHours")).setDisabled(true);
|
||||||
|
|
||||||
// Hide not needed buttons
|
// Hide not needed buttons
|
||||||
popup.getFellow("manageCriterions").setVisible(false);
|
window.getFellow("manageCriterions").setVisible(false);
|
||||||
popup.getFellow("addHoursGroup").setVisible(false);
|
window.getFellow("addHoursGroup").setVisible(false);
|
||||||
popup.getFellow("deleteHoursGroup").setVisible(false);
|
window.getFellow("deleteHoursGroup").setVisible(false);
|
||||||
} else {
|
} else {
|
||||||
// Enable fields just used in the OrderLine
|
// Enable fields just used in the OrderLine
|
||||||
((Intbox) popup.getFellow("totalHours")).setDisabled(false);
|
((Intbox) window.getFellow("totalHours")).setDisabled(false);
|
||||||
|
|
||||||
// Show needed buttons
|
// Show needed buttons
|
||||||
popup.getFellow("manageCriterions").setVisible(true);
|
window.getFellow("manageCriterions").setVisible(true);
|
||||||
popup.getFellow("addHoursGroup").setVisible(true);
|
window.getFellow("addHoursGroup").setVisible(true);
|
||||||
popup.getFellow("deleteHoursGroup").setVisible(true);
|
window.getFellow("deleteHoursGroup").setVisible(true);
|
||||||
|
|
||||||
// Add EventListener to reload the popup when the value change
|
// Add EventListener to reload the window when the value change
|
||||||
popup.getFellow("totalHours").addEventListener(Events.ON_CHANGE,
|
window.getFellow("totalHours").addEventListener(Events.ON_CHANGE,
|
||||||
new EventListener() {
|
new EventListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
((Intbox) popup.getFellow("totalHours"))
|
((Intbox) window.getFellow("totalHours"))
|
||||||
.setConstraint(new Constraint() {
|
.setConstraint(new Constraint() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -213,25 +214,30 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
|
|
||||||
// selectCriterions Vbox is always hidden
|
// selectCriterions Vbox is always hidden
|
||||||
reloadSelectedCriterionTypes();
|
reloadSelectedCriterionTypes();
|
||||||
popup.getFellow("selectCriterions").setVisible(false);
|
window.getFellow("selectCriterions").setVisible(false);
|
||||||
|
|
||||||
popup.getFellow("hoursGroupsListbox").invalidate();
|
window.getFellow("hoursGroupsListbox").invalidate();
|
||||||
|
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
|
|
||||||
// Review this positioning parameters (popup.getParent(), "start-after");
|
try {
|
||||||
popup.open(150, 150);
|
window.doModal();
|
||||||
|
} catch (SuspendNotAllowedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
reloadSelectedCriterionTypes();
|
reloadSelectedCriterionTypes();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Just close the {@link Popup} and refresh parent status. Save actions are
|
* Just close the {@link Window} and refresh parent status. Save actions are
|
||||||
* managed by "save-when" at .zul file.
|
* managed by "save-when" at .zul file.
|
||||||
*/
|
*/
|
||||||
public void back() {
|
public void back() {
|
||||||
popup.close();
|
window.setVisible(false);
|
||||||
Util.reloadBindings(popup.getParent());
|
Util.reloadBindings(window.getParent());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -246,7 +252,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
|
|
||||||
orderLine.addHoursGroup(hoursGroup);
|
orderLine.addHoursGroup(hoursGroup);
|
||||||
|
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -265,14 +271,14 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
.getValue());
|
.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggle visibility of the selectCriterions {@link Vbox}
|
* Toggle visibility of the selectCriterions {@link Vbox}
|
||||||
*/
|
*/
|
||||||
public void manageCriterions() {
|
public void manageCriterions() {
|
||||||
Component selectCriterions = popup.getFellow("selectCriterions");
|
Component selectCriterions = window.getFellow("selectCriterions");
|
||||||
|
|
||||||
if (selectCriterions.isVisible()) {
|
if (selectCriterions.isVisible()) {
|
||||||
selectCriterions.setVisible(false);
|
selectCriterions.setVisible(false);
|
||||||
|
|
@ -344,7 +350,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
CriterionType value = (CriterionType) listitem.getValue();
|
CriterionType value = (CriterionType) listitem.getValue();
|
||||||
selectedCriterionTypes.add(value);
|
selectedCriterionTypes.add(value);
|
||||||
}
|
}
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -361,7 +367,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
selectedCriterionTypes.remove(value);
|
selectedCriterionTypes.remove(value);
|
||||||
removeCriterionsFromHoursGroup(value);
|
removeCriterionsFromHoursGroup(value);
|
||||||
}
|
}
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -495,7 +501,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add EventListener to reload the popup when the value change
|
// Add EventListener to reload the window when the value change
|
||||||
workingHours.addEventListener(Events.ON_CHANGE,
|
workingHours.addEventListener(Events.ON_CHANGE,
|
||||||
new EventListener() {
|
new EventListener() {
|
||||||
|
|
||||||
|
|
@ -503,7 +509,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
((OrderLine) getOrderElement())
|
((OrderLine) getOrderElement())
|
||||||
.recalculateHoursGroups();
|
.recalculateHoursGroups();
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -522,7 +528,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Add EventListener to reload the popup when the value change
|
// Add EventListener to reload the window when the value change
|
||||||
percentage.addEventListener(Events.ON_CHANGE,
|
percentage.addEventListener(Events.ON_CHANGE,
|
||||||
new EventListener() {
|
new EventListener() {
|
||||||
|
|
||||||
|
|
@ -530,7 +536,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
((OrderLine) getOrderElement())
|
((OrderLine) getOrderElement())
|
||||||
.recalculateHoursGroups();
|
.recalculateHoursGroups();
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -563,7 +569,7 @@ public class OrderElementController extends GenericForwardComposer {
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
((OrderLine) getOrderElement())
|
((OrderLine) getOrderElement())
|
||||||
.recalculateHoursGroups();
|
.recalculateHoursGroups();
|
||||||
Util.reloadBindings(popup);
|
Util.reloadBindings(window);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -364,7 +364,7 @@ public class OrderElementTreeController extends GenericForwardComposer {
|
||||||
public void onEvent(Event event) throws Exception {
|
public void onEvent(Event event) throws Exception {
|
||||||
IOrderElementModel model = orderModel
|
IOrderElementModel model = orderModel
|
||||||
.getOrderElementModel(orderElement);
|
.getOrderElementModel(orderElement);
|
||||||
orderElementController.openPopup(model);
|
orderElementController.openWindow(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<popup id="${arg.top_id}" width="600px" left="100px" top="100px">
|
<window visible="false" id="${arg.top_id}" title="Edit Order Element"
|
||||||
|
width="600px" left="100px" top="100px">
|
||||||
|
|
||||||
<vbox>
|
<vbox>
|
||||||
|
|
||||||
|
|
@ -106,4 +107,4 @@
|
||||||
|
|
||||||
</vbox>
|
</vbox>
|
||||||
|
|
||||||
</popup>
|
</window>
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||||
<?component name="list" inline="true" macroURI="_list.zul"?>
|
<?component name="list" inline="true" macroURI="_list.zul"?>
|
||||||
<?component name="edition" inline="true" macroURI="_edition.zul"?>
|
<?component name="edition" inline="true" macroURI="_edition.zul"?>
|
||||||
<?component name="orderElementPopup" inline="true" macroURI="_editOrderElement.zul"?>
|
<?component name="orderElement" inline="true" macroURI="_editOrderElement.zul"?>
|
||||||
<zk>
|
<zk>
|
||||||
<window self="@{define(content)}"
|
<window self="@{define(content)}"
|
||||||
apply="org.navalplanner.web.orders.OrderCRUDController">
|
apply="org.navalplanner.web.orders.OrderCRUDController">
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
save_button_label="Save" cancel_button_label="Cancel" />
|
save_button_label="Save" cancel_button_label="Cancel" />
|
||||||
<edition top_id="editWindow" title="Edit Personal Data"
|
<edition top_id="editWindow" title="Edit Personal Data"
|
||||||
save_button_label="Save" cancel_button_label="Cancel" />
|
save_button_label="Save" cancel_button_label="Cancel" />
|
||||||
<orderElementPopup top_id="editOrderElementPopup" title="Edit Order Element"
|
<orderElement top_id="editOrderElement" title="Edit Order Element"
|
||||||
back_button_label="Back" />
|
back_button_label="Back" />
|
||||||
<window visible="@{controller.confirmingRemove}"
|
<window visible="@{controller.confirmingRemove}"
|
||||||
id="confirmRemove" title="Confirmación" width="500px"
|
id="confirmRemove" title="Confirmación" width="500px"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue