diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/subcontract/SubcontractedTasksController.java b/libreplan-webapp/src/main/java/org/libreplan/web/subcontract/SubcontractedTasksController.java index 3face18da..cd5c18c93 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/subcontract/SubcontractedTasksController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/subcontract/SubcontractedTasksController.java @@ -54,8 +54,11 @@ import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.Button; +import org.zkoss.zul.Column; +import org.zkoss.zul.Grid; import org.zkoss.zul.Hbox; import org.zkoss.zul.Label; +import org.zkoss.zul.ListModelExt; import org.zkoss.zul.Row; import org.zkoss.zul.RowRenderer; import org.zkoss.zul.api.Window; @@ -71,6 +74,10 @@ public class SubcontractedTasksController extends GenericForwardComposer { private Window window; + private Column columnBySort; + + private Grid listing; + private Component messagesContainer; private IMessagesForUser messagesForUser; @@ -213,7 +220,7 @@ public class SubcontractedTasksController extends GenericForwardComposer { } catch (ValidationException e) { messagesForUser.showInvalidValues(e); } - Util.reloadBindings(window); + reload(); } }); @@ -225,4 +232,23 @@ public class SubcontractedTasksController extends GenericForwardComposer { } + public void reload() { + Util.reloadBindings(window); + forceSortGridSatisfaction(); + } + + public void forceSortGridSatisfaction() { + Column column = (Column) columnBySort; + ListModelExt model = (ListModelExt) listing.getModel(); + if ("ascending".equals(column.getSortDirection())) { + model.sort(column.getSortAscending(), true); + } + if ("descending".equals(column.getSortDirection())) { + model.sort(column.getSortDescending(), false); + } + } + + public void initRender() { + forceSortGridSatisfaction(); + } } diff --git a/libreplan-webapp/src/main/webapp/subcontract/subcontractedTasks.zul b/libreplan-webapp/src/main/webapp/subcontract/subcontractedTasks.zul index 3bcb1cae6..ace0ba7de 100644 --- a/libreplan-webapp/src/main/webapp/subcontract/subcontractedTasks.zul +++ b/libreplan-webapp/src/main/webapp/subcontract/subcontractedTasks.zul @@ -38,10 +38,11 @@ + mold="paging" pageSize="10" fixedLayout="true" + onInitRender="controller.initRender();"> + tooltiptext="${i18n:_('Subcontracting date')}" sort="auto(subcontratationDate)" width="150px"/> @@ -50,8 +51,8 @@ - - + +