package de.flower.common.ui.ajax.markup.html; import org.apache.wicket.AttributeModifier; import org.apache.wicket.extensions.ajax.markup.html.AjaxEditableLabel; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.ResourceModel; /** * Overrides some default behavior. * * @author flowerrrr */ public class AjaxEditableLabelExtended<T> extends AjaxEditableLabel<T> { public AjaxEditableLabelExtended(final String id, final IModel<T> iModel) { super(id, iModel); add(AttributeModifier.append("class", "AjaxEditableLabel")); getLabel().add(AttributeModifier.append("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return getCssClass(AjaxEditableLabelExtended.this.isEnabled()); } })); getLabel().add(AttributeModifier.replace("title", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return AjaxEditableLabelExtended.this.isEnabled() ? new ResourceModel("button.edit").getObject() : ""; } })); } protected String getCssClass(boolean enabled) { return enabled ? "enabled" : "disabled"; } }