[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
This commit is contained in:
Manuel Rego Casasnovas 2011-08-04 17:08:16 +02:00
parent 4403e80f6e
commit ccc30939c2
2 changed files with 47 additions and 22 deletions

View file

@ -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;
}
}

View file

@ -23,6 +23,7 @@
<newdatasortablegrid id="listExceptionDayTypes"
model="@{controller.exceptionDayTypes}"
rowRenderer="@{controller.exceptionDayTypeRenderer}"
mold="paging" pageSize="10" class="clickable-rows"
fixedLayout="true">
@ -34,28 +35,6 @@
<newdatasortablecolumn label="${i18n:_('Extra Effort')}" />
<newdatasortablecolumn label="${i18n:_('Operations')}" />
</columns>
<rows>
<row self="@{each='exceptionDayType'}" value="@{exceptionDayType}" onClick="controller.goToEditForm(self.value)">
<label value="@{exceptionDayType.name}" />
<label value="@{exceptionDayType.color}" />
<label value="@{exceptionDayType.overAssignableStr}" />
<label value="@{exceptionDayType.capacity.standardEffortString}" />
<label value="@{exceptionDayType.capacity.extraEffortString}" />
<!-- Operation -->
<hbox>
<button sclass="icono" image="/common/img/ico_editar1.png"
hoverImage="/common/img/ico_editar.png"
tooltiptext="${i18n:_('Edit')}"
onClick="controller.goToEditForm(self.parent.parent.value)"/>
<button sclass="icono" image="/common/img/ico_borrar1.png"
hoverImage="/common/img/ico_borrar.png"
tooltiptext="${i18n:_('Delete')}"
onClick="controller.confirmDelete(self.parent.parent.value)"/>
</hbox>
</row>
</rows>
</newdatasortablegrid>
<button label="${i18n:_('Create')}" onClick="controller.goToCreateForm()"