org.wicketstuff.scriptaculous.inplaceeditor
Class AjaxEditInPlaceLabel<T>

java.lang.Object
  extended by org.apache.wicket.Component
      extended by org.apache.wicket.MarkupContainer
          extended by org.apache.wicket.markup.html.WebMarkupContainer
              extended by org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
                  extended by org.apache.wicket.markup.html.form.FormComponent<T>
                      extended by org.apache.wicket.markup.html.form.AbstractTextComponent<T>
                          extended by org.wicketstuff.scriptaculous.inplaceeditor.AjaxEditInPlaceLabel<T>
All Implemented Interfaces:
java.io.Serializable, org.apache.wicket.IClusterable, org.apache.wicket.IConverterLocator, org.apache.wicket.markup.html.form.IFormModelUpdateListener, org.apache.wicket.markup.html.form.IFormVisitorParticipant, org.apache.wicket.markup.html.form.ILabelProvider<java.lang.String>

public class AjaxEditInPlaceLabel<T>
extends org.apache.wicket.markup.html.form.AbstractTextComponent<T>

Label that uses AJAX for editing "in place" instead of using conventional forms. There are several extension points within this class to allow for subclasses to customize the behavior of this component.

Author:
Ryan Sonnek
See Also:
http://wiki.script.aculo.us/scriptaculous/show/Ajax.InPlaceEditor, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.AbstractTextComponent
org.apache.wicket.markup.html.form.AbstractTextComponent.ITextFormatProvider
 
Nested classes/interfaces inherited from class org.apache.wicket.markup.html.form.FormComponent
org.apache.wicket.markup.html.form.FormComponent.AbstractVisitor, org.apache.wicket.markup.html.form.FormComponent.IVisitor
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
org.apache.wicket.Component.ComponentModelChange, org.apache.wicket.Component.EnabledChange, org.apache.wicket.Component.VisibilityChange
 
Field Summary
 
Fields inherited from class org.apache.wicket.markup.html.form.FormComponent
FLAG_CONVERT_EMPTY_INPUT_STRING_TO_NULL, VALUE_SEPARATOR
 
Fields inherited from class org.apache.wicket.Component
ENABLE, FLAG_CONFIGURED, FLAG_INITIALIZED, FLAG_REMOVING_FROM_HIERARCHY, FLAG_RESERVED1, FLAG_RESERVED2, FLAG_RESERVED3, FLAG_RESERVED4, FLAG_RESERVED5, FLAG_RESERVED6, FLAG_RESERVED7, FLAG_RESERVED8, PATH_SEPARATOR, RENDER
 
Constructor Summary
AjaxEditInPlaceLabel(java.lang.String wicketId, org.apache.wicket.model.IModel<T> model)
           
 
Method Summary
protected  void addOption(java.lang.String key, java.lang.Object value)
          protected method to allow for subclasses to access adding additional options.
 void enterEditMode()
          Sets the label to be in edit mode the next time the page is rendered.
protected  java.lang.String getDisplayValue()
          extension point to allow for manipulation of what value is displayed.
 java.lang.String getInputName()
           
protected  void onComplete(org.apache.wicket.ajax.AjaxRequestTarget target)
          extension point to override default onComplete behavior.
protected  void onComponentTagBody(org.apache.wicket.markup.MarkupStream markupStream, org.apache.wicket.markup.ComponentTag openTag)
          Handle the container's body.
protected  void onRender(org.apache.wicket.markup.MarkupStream markupStream)
           
 void setCancelLink(boolean value)
           
 void setCols(int cols)
           
 void setExternalControl(org.apache.wicket.markup.html.WebMarkupContainer control)
           
 void setLoadBehavior(org.apache.wicket.behavior.AbstractAjaxBehavior loadBehavior)
          extension point for customizing what text is loaded for editing.
 void setOkButton(boolean value)
          configure use of okButton for InPlaceEditor.
 void setRows(int rows)
           
 void setSize(int size)
           
 void setSubmitOnBlur(boolean value)
           
 
Methods inherited from class org.apache.wicket.markup.html.form.AbstractTextComponent
convertInput, convertValue, getConvertEmptyInputStringToNull, isInputNullable, onBeforeRender, setConvertEmptyInputStringToNull, supportsPersistence
 
Methods inherited from class org.apache.wicket.markup.html.form.FormComponent
add, add, checkRequired, clearInput, error, getConvertedInput, getForm, getInput, getInputAsArray, getModel, getModelObject, getModelValue, getRawInput, getType, getValidatorKeyPrefix, getValidators, getValue, hasRawInput, inputAsInt, inputAsInt, inputAsIntArray, inputChanged, internalOnModelChanged, invalid, isMultiPart, isPersistent, isRequired, isValid, newValidatable, onComponentTag, onDetach, onDisabled, onInvalid, onValid, processChildren, processInput, setConvertedInput, setLabel, setModel, setModelObject, setModelValue, setModelValue, setPersistent, setRequired, setType, shouldTrimInput, trim, updateModel, valid, validate, validateRequired, validateValidators, visitComponentsPostOrder, visitFormComponentsPostOrder
 
Methods inherited from class org.apache.wicket.markup.html.form.LabeledWebMarkupContainer
getLabel, setLabelInternal
 
Methods inherited from class org.apache.wicket.markup.html.WebMarkupContainer
getMarkupType, getWebPage, getWebRequest
 
Methods inherited from class org.apache.wicket.MarkupContainer
add, addOrReplace, autoAdd, autoAdd, contains, findMarkupStream, get, get, getAssociatedMarkupStream, getMarkupStream, hasAssociatedMarkup, internalAdd, isTransparentResolver, iterator, iterator, newMarkupResourceStream, remove, remove, removeAll, renderAll, renderAssociatedMarkup, renderComponentTagBody, renderNext, replace, setDefaultModel, setMarkupStream, size, swap, toString, toString, visitChildren, visitChildren
 
Methods inherited from class org.apache.wicket.Component
add, addStateChange, afterRender, beforeRender, callOnBeforeRenderIfNotVisible, checkComponentTag, checkComponentTagAttribute, checkHierarchyChange, configure, continueToOriginalDestination, debug, detach, detachBehaviors, detachModel, detachModels, determineVisibility, error, exceptionMessage, fatal, findPage, findParent, findParentWithAssociatedMarkup, getApplication, getBehaviors, getBehaviors, getBehaviorsRawList, getClassRelativePath, getComponentBorder, getConverter, getConverter, getDefaultModel, getDefaultModelObject, getDefaultModelObjectAsString, getDefaultModelObjectAsString, getEscapeModelStrings, getFeedbackMessage, getFlag, getFlag, getId, getInnermostModel, getInnermostModel, getLocale, getLocalizer, getMarkupAttributes, getMarkupId, getMarkupId, getMarkupIdImpl, getMetaData, getModelComparator, getOutputMarkupId, getOutputMarkupPlaceholderTag, getPage, getPageRelativePath, getParent, getPath, getRenderBodyOnly, getRequest, getRequestCycle, getResponse, getSession, getSizeInBytes, getStatelessHint, getString, getString, getString, getStyle, getVariation, hasBeenRendered, hasErrorMessage, hasFeedbackMessage, info, initModel, internalAttach, internalDetach, internalOnAttach, internalOnDetach, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeginRequest, onConfigure, onEndRequest, onInitialize, onModelChanged, onModelChanging, onRemove, prepareForRender, prepareForRender, redirectToInterceptPage, remove, remove, render, render, renderComponent, renderComponent, renderComponentTag, rendered, renderHead, renderPlaceholderTag, replaceComponentTagBody, replaceWith, sameInnermostModel, sameInnermostModel, setAuto, setComponentBorder, setDefaultModelObject, setEnabled, setEscapeModelStrings, setFlag, setFlag, setIgnoreAttributeModifier, setMarkupId, setMarkupIdImpl, setMetaData, setOutputMarkupId, setOutputMarkupPlaceholderTag, setRedirect, setRenderBodyOnly, setResponsePage, setResponsePage, setResponsePage, setVersioned, setVisibilityAllowed, setVisible, urlFor, urlFor, urlFor, urlFor, urlFor, urlFor, visitParents, warn, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AjaxEditInPlaceLabel

public AjaxEditInPlaceLabel(java.lang.String wicketId,
                            org.apache.wicket.model.IModel<T> model)
Method Detail

getInputName

public java.lang.String getInputName()
Overrides:
getInputName in class org.apache.wicket.markup.html.form.FormComponent<T>

setOkButton

public void setOkButton(boolean value)
configure use of okButton for InPlaceEditor.

Parameters:
value -

setCancelLink

public void setCancelLink(boolean value)

setExternalControl

public void setExternalControl(org.apache.wicket.markup.html.WebMarkupContainer control)

setSubmitOnBlur

public void setSubmitOnBlur(boolean value)

setRows

public void setRows(int rows)

setCols

public void setCols(int cols)

setSize

public void setSize(int size)

setLoadBehavior

public void setLoadBehavior(org.apache.wicket.behavior.AbstractAjaxBehavior loadBehavior)
extension point for customizing what text is loaded for editing. Usually used in conjunction with getDisplayValue() to override what text is displayed in text area versus the label.
 setLoadBehavior(new AbstractAjaxBehavior() {
   public void onRequest() {
     RequestCycle.get().setRequestTarget(new StringRequestTarget(getValue()));
   }
 });
 

See Also:
getDisplayValue()

getDisplayValue

protected java.lang.String getDisplayValue()
extension point to allow for manipulation of what value is displayed. Overriding this method allows for the component to display different text than what is edited. This may be useful when the display text is formatted differently than the editable text (ex: textile). The default behavior is to return the same value as the getValue() method.

See Also:
FormComponent.getValue();, setLoadBehavior(AbstractAjaxBehavior), AjaxEditInPlaceOnSaveBehavior#onRequest()

enterEditMode

public void enterEditMode()
Sets the label to be in edit mode the next time the page is rendered. Needs to be called again when refreshing the component.


onComplete

protected void onComplete(org.apache.wicket.ajax.AjaxRequestTarget target)
extension point to override default onComplete behavior. allows for customizing behavior once the edited value has been saved. default implementation is to do nothing.

See Also:
AjaxEditInPlaceOnCompleteBehavior#onRequest()

addOption

protected final void addOption(java.lang.String key,
                               java.lang.Object value)
protected method to allow for subclasses to access adding additional options.


onComponentTagBody

protected void onComponentTagBody(org.apache.wicket.markup.MarkupStream markupStream,
                                  org.apache.wicket.markup.ComponentTag openTag)
Handle the container's body.

Overrides:
onComponentTagBody in class org.apache.wicket.MarkupContainer
Parameters:
markupStream - The markup stream
openTag - The open tag for the body
See Also:
wicket.Component#onComponentTagBody(MarkupStream, ComponentTag)

onRender

protected void onRender(org.apache.wicket.markup.MarkupStream markupStream)
Overrides:
onRender in class org.apache.wicket.MarkupContainer


Copyright © 2006-2011 Wicket Stuff. All Rights Reserved.