add a jira issue.
-igor
On Tue, May 6, 2008 at 12:59 AM, Alexander Landsnes Keül
<[EMAIL PROTECTED]> wrote:
> I may very well be daft, but it seems that the AjaxEditableChoiceLabel
> doesn't take the ChoiceRenderer into account when creating the label version
> of itself. There's no override, so in my case the toString() of most Enum's
> have to be the database value which means my labels are F instead of Female,
> 2 instead of "Yes please" etc.
>
>
>
> I got around the problem by overriding the newLabel(...), however that was
> complicated further by not having access to the ChoiceRenderer in my
> override. It's a private member without any accessors. The resulting code is
> a bit peculiar, and I know I changed the behaviour of the Label slightly, but
> it's just a quick hack. Any chance of seeing something like this added as a
> default behaviour in AECL?
>
>
>
> Alex
>
>
>
> label = new AjaxEditableChoiceLabel("cvStatus", new
> PropertyModel(careerData, "cvStatus"), Arrays.asList(CvStatus.values()), new
> ChoiceRenderer("status"))
>
> {
>
> private static final long serialVersionUID = 1L;
>
>
>
> @Override
>
> protected Component newLabel( MarkupContainer parent,
> String componentId, IModel model )
>
> {
>
> Label label = new Label(componentId, model)
>
> {
>
> private static final long serialVersionUID = 1L;
>
>
>
> @Override
>
> public IConverter getConverter( Class type )
>
> {
>
> //IConverter c = getConverter(type);
>
> //return c != null ? c :
> super.getConverter(type);
>
> return super.getConverter(type);
>
> }
>
>
>
> @Override
>
> protected void onComponentTagBody( MarkupStream
> markupStream, ComponentTag openTag )
>
> {
>
> Object modelObject = getModelObject();
>
> if (modelObject == null ||
> "".equals(modelObject))
>
> {
>
>
> replaceComponentTagBody(markupStream, openTag, defaultNullLabel());
>
> } else
>
> {
>
> // Workaround to get to the
> ChoiceRenderer
>
> String displayValue = (String)
> ((DropDownChoice)
> getEditor()).getChoiceRenderer().getDisplayValue(modelObject);
>
>
> replaceComponentTagBody(markupStream, openTag, displayValue);
>
> }
>
> }
>
> };
>
> label.setOutputMarkupId(true);
>
> label.add(new LabelAjaxBehavior(getLabelAjaxEvent()));
>
> return label;
>
> }
>
> };
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]