From ccc30939c20a40a76e1712a3bc3f4513d4a4416e Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Thu, 4 Aug 2011 17:08:16 +0200 Subject: [PATCH] [Bug #1132] Using a renderer in CalendarExceptionType listing In order to show information about color enum internationalized in the list too, it is defined a rowRenderer in CalendarExceptionTypeCRUDController. FEA: ItEr75S04BugFixing --- .../CalendarExceptionTypeCRUDController.java | 46 +++++++++++++++++++ .../excetiondays/_listExceptionDayTypes.zul | 23 +--------- 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/exceptionDays/CalendarExceptionTypeCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/exceptionDays/CalendarExceptionTypeCRUDController.java index 96ec4184c..f9fffea14 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/exceptionDays/CalendarExceptionTypeCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/exceptionDays/CalendarExceptionTypeCRUDController.java @@ -43,12 +43,17 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.WrongValueException; import org.zkoss.zk.ui.event.CheckEvent; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.Events; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Grid; +import org.zkoss.zul.Hbox; +import org.zkoss.zul.Label; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; import org.zkoss.zul.Row; +import org.zkoss.zul.RowRenderer; import org.zkoss.zul.Textbox; /** @@ -79,6 +84,43 @@ public class CalendarExceptionTypeCRUDController extends } }; + private RowRenderer exceptionDayTypeRenderer = new RowRenderer() { + @Override + public void render(Row row, Object data) throws Exception { + final CalendarExceptionType calendarExceptionType = (CalendarExceptionType) data; + row.setValue(calendarExceptionType); + + row.addEventListener(Events.ON_CLICK, new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + goToEditForm(calendarExceptionType); + } + }); + + row.appendChild(new Label(calendarExceptionType.getName())); + row.appendChild(new Label(_(calendarExceptionType.getColor().getName()))); + row.appendChild(new Label(calendarExceptionType.getOverAssignableStr())); + row.appendChild(new Label(calendarExceptionType.getCapacity() + .getStandardEffortString())); + row.appendChild(new Label(calendarExceptionType.getCapacity().getExtraEffortString())); + + Hbox hbox = new Hbox(); + hbox.appendChild(Util.createEditButton(new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + goToEditForm(calendarExceptionType); + } + })); + hbox.appendChild(Util.createRemoveButton(new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + confirmDelete(calendarExceptionType); + } + })); + row.appendChild(hbox); + } + }; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); @@ -219,4 +261,8 @@ public class CalendarExceptionTypeCRUDController extends return calendarExceptionTypeColorRenderer; } + public RowRenderer getExceptionDayTypeRenderer() { + return exceptionDayTypeRenderer; + } + } diff --git a/navalplanner-webapp/src/main/webapp/excetiondays/_listExceptionDayTypes.zul b/navalplanner-webapp/src/main/webapp/excetiondays/_listExceptionDayTypes.zul index df0d4b762..6777e43ea 100644 --- a/navalplanner-webapp/src/main/webapp/excetiondays/_listExceptionDayTypes.zul +++ b/navalplanner-webapp/src/main/webapp/excetiondays/_listExceptionDayTypes.zul @@ -23,6 +23,7 @@ @@ -34,28 +35,6 @@ - - -