wicket.extensions.ajax.markup.html
Class AjaxEditableLabel

java.lang.Object
  extended by wicket.Component
      extended by wicket.MarkupContainer
          extended by wicket.markup.html.WebMarkupContainer
              extended by wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
                  extended by wicket.markup.html.panel.Panel
                      extended by wicket.extensions.ajax.markup.html.AjaxEditableLabel
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
AjaxEditableChoiceLabel, AjaxEditableMultiLineLabel

public class AjaxEditableLabel
extends wicket.markup.html.panel.Panel

An implementation of ajaxified edit-in-place component using a TextField as it's editor.

There are several methods that can be overriden for customization.

Author:
Igor Vaynberg (ivaynberg), Eelco Hillenius
See Also:
Serialized Form

Nested Class Summary
protected  class AjaxEditableLabel.EditorAjaxBehavior
           
protected  class AjaxEditableLabel.LabelAjaxBehavior
           
 
Nested classes/interfaces inherited from class wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
wicket.markup.html.WebMarkupContainerWithAssociatedMarkup.HeaderPartContainer
 
Nested classes/interfaces inherited from class wicket.Component
wicket.Component.ComponentModelChange, wicket.Component.EnabledChange, wicket.Component.IVisitor, wicket.Component.VisibilityChange
 
Field Summary
 
Fields inherited from class wicket.Component
ENABLE, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER
 
Constructor Summary
AjaxEditableLabel(java.lang.String id)
          Constructor
AjaxEditableLabel(java.lang.String id, wicket.model.IModel model)
          Constructor
 
Method Summary
 AjaxEditableLabel add(wicket.markup.html.form.validation.IValidator validator)
          Adds a validator to this form component.
protected  java.lang.String defaultNullLabel()
          Override this to display a different value when the model object is null.
protected  wicket.markup.html.form.FormComponent getEditor()
          Gets the editor component.
protected  wicket.Component getLabel()
          Gets the label component.
protected  void internalOnAttach()
           
protected  wicket.markup.html.form.FormComponent newEditor(wicket.MarkupContainer parent, java.lang.String componentId, wicket.model.IModel model)
          Create a new form component instance to serve as editor.
protected  wicket.Component newLabel(wicket.MarkupContainer parent, java.lang.String componentId, wicket.model.IModel model)
          Create a new form component instance to serve as editor.
protected  void onCancel(wicket.ajax.AjaxRequestTarget target)
          Invoked when the label is in edit mode, and received a cancel event.
protected  void onEdit(wicket.ajax.AjaxRequestTarget target)
          Called when the label is clicked and the component is put in edit mode.
protected  void onError(wicket.ajax.AjaxRequestTarget target)
          Invoked when the label is in edit mode, received a new input, but that input didn't validate
protected  void onSubmit(wicket.ajax.AjaxRequestTarget target)
          Invoked when the editor was succesfully updated.
 AjaxEditableLabel setLabel(wicket.model.IModel labelModel)
          The value will be made available to the validator property by means of ${label}.
 wicket.Component setModel(wicket.model.IModel model)
           
 AjaxEditableLabel setRequired(boolean required)
          Sets the required flag
 AjaxEditableLabel setType(java.lang.Class type)
          Sets the type that will be used when updating the model for this component.
 
Methods inherited from class wicket.markup.html.panel.Panel
onComponentTag, onComponentTagBody, renderHead
 
Methods inherited from class wicket.markup.html.WebMarkupContainerWithAssociatedMarkup
newHeaderPartContainer, renderHeadFromAssociatedMarkupFile
 
Methods inherited from class wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage
 
Methods inherited from class wicket.MarkupContainer
add, autoAdd, contains, findMarkupStream, get, getAssociatedMarkupStream, getMarkupStream, internalAdd, internalAttach, internalDetach, isTransparentResolver, iterator, iterator, newMarkupResourceStream, onRender, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, replace, setMarkupStream, size, toString, toString, visitChildren, visitChildren
 
Methods inherited from class wicket.Component
add, addStateChange, checkComponentTag, checkComponentTagAttribute, continueToOriginalDestination, debug, detachBehaviors, detachModel, detachModels, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getApplication, getApplicationPages, getApplicationSettings, getBehaviors, getBehaviors, getClassRelativePath, getConverter, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMetaData, getModel, getModelComparator, getModelObject, getModelObjectAsString, getOutputMarkupId, getPage, getPageFactory, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getString, getString, getString, getStyle, getVariation, hasErrorMessage, hasFeedbackMessage, info, initModel, internalOnDetach, internalOnModelChanged, isActionAuthorized, isAncestorOf, isBehaviorAccepted, isEnableAllowed, isEnabled, isHeadRendered, isIgnoreAttributeModifier, isRenderAllowed, isVersioned, isVisible, isVisibleInHierarchy, modelChanged, modelChanging, newPage, newPage, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onDetach, onEndRequest, onModelChanged, onModelChanging, onRender, redirectToInterceptPage, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderedBehaviors, replaceComponentTagBody, replaceWith, resetHeadRendered, sameRootModel, sameRootModel, setAuto, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMetaData, setModelObject, setOutputMarkupId, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AjaxEditableLabel

public AjaxEditableLabel(java.lang.String id)
Constructor

Parameters:
id -

AjaxEditableLabel

public AjaxEditableLabel(java.lang.String id,
                         wicket.model.IModel model)
Constructor

Parameters:
id -
model -
Method Detail

add

public final AjaxEditableLabel add(wicket.markup.html.form.validation.IValidator validator)
Adds a validator to this form component.

Parameters:
validator - The validator
Returns:
This

setLabel

public final AjaxEditableLabel setLabel(wicket.model.IModel labelModel)
The value will be made available to the validator property by means of ${label}. It does not have any specific meaning to FormComponent itself.

Parameters:
labelModel -
Returns:
this for chaining

setModel

public final wicket.Component setModel(wicket.model.IModel model)
Overrides:
setModel in class wicket.MarkupContainer
See Also:
MarkupContainer.setModel(wicket.model.IModel)

setRequired

public final AjaxEditableLabel setRequired(boolean required)
Sets the required flag

Parameters:
required -
Returns:
this for chaining

setType

public final AjaxEditableLabel setType(java.lang.Class type)
Sets the type that will be used when updating the model for this component. If no type is specified String type is assumed.

Parameters:
type -
Returns:
this for chaining

newEditor

protected wicket.markup.html.form.FormComponent newEditor(wicket.MarkupContainer parent,
                                                          java.lang.String componentId,
                                                          wicket.model.IModel model)
Create a new form component instance to serve as editor.

Parameters:
parent - The parent component
componentId - Id that should be used by the component
model - The model
Returns:
The editor

newLabel

protected wicket.Component newLabel(wicket.MarkupContainer parent,
                                    java.lang.String componentId,
                                    wicket.model.IModel model)
Create a new form component instance to serve as editor.

Parameters:
parent - The parent component
componentId - Id that should be used by the component
model - The model
Returns:
The editor

getEditor

protected final wicket.markup.html.form.FormComponent getEditor()
Gets the editor component.

Returns:
The editor component

getLabel

protected final wicket.Component getLabel()
Gets the label component.

Returns:
The label component

internalOnAttach

protected void internalOnAttach()
Overrides:
internalOnAttach in class wicket.Component
See Also:
Component.internalOnAttach()

onCancel

protected void onCancel(wicket.ajax.AjaxRequestTarget target)
Invoked when the label is in edit mode, and received a cancel event. Typically, nothing should be done here.

Parameters:
target - the ajax request target

onEdit

protected void onEdit(wicket.ajax.AjaxRequestTarget target)
Called when the label is clicked and the component is put in edit mode.

Parameters:
target - Ajax target

onError

protected void onError(wicket.ajax.AjaxRequestTarget target)
Invoked when the label is in edit mode, received a new input, but that input didn't validate

Parameters:
target - the ajax request target

onSubmit

protected void onSubmit(wicket.ajax.AjaxRequestTarget target)
Invoked when the editor was succesfully updated. Use this method e.g. to persist the changed value. This implemention displays the label and clears any window status that might have been set in onError.

Parameters:
target - The ajax request target

defaultNullLabel

protected java.lang.String defaultNullLabel()
Override this to display a different value when the model object is null. Default is ...

Returns:
The string which should be displayed when the model object is null.


Copyright © 2004-2008 Wicket developers. All Rights Reserved.