org.wicketstuff.scriptaculous.dragdrop
Class SortableListView<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.wicketstuff.scriptaculous.dragdrop.SortableListView<T>
All Implemented Interfaces:
java.io.Serializable, org.apache.wicket.IClusterable, org.apache.wicket.IConverterLocator

public abstract class SortableListView<T>
extends org.apache.wicket.markup.html.WebMarkupContainer

Extension to ListView that allows for drag/drop reordering of items.

The underlying List model will be updated whenever the user drag/drop reorders the list. The application can listen for the reordering using a ??? model change listener ???

it *might* be possible to add/remove list items by drag/dropping list items from one sortable list to another or to a draggable target. I haven't tested this yet...

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.wicket.Component
org.apache.wicket.Component.ComponentModelChange, org.apache.wicket.Component.EnabledChange, org.apache.wicket.Component.IVisitor<T extends org.apache.wicket.Component>, org.apache.wicket.Component.VisibilityChange
 
Field Summary
 
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
SortableListView(java.lang.String id, java.lang.String itemId, org.apache.wicket.model.IModel<java.util.List<T>> model)
           
SortableListView(java.lang.String id, java.lang.String itemId, java.util.List<T> items)
           
 
Method Summary
 void addContainment(SortableListView otherView)
          add other sortable containers that items can be drag/dropped to.
 java.lang.String getDraggableClassName()
          extension point for integrating with DraggableTarget
 org.apache.wicket.model.IModel<java.util.List<T>> getModel()
           
protected  void onRender(org.apache.wicket.markup.MarkupStream markupStream)
           
protected abstract  void populateItemInternal(org.apache.wicket.markup.html.list.ListItem<T> item)
          callback extension point for populating each list item.
 void setConstraintHorizontal()
           
 void setConstraintVertical()
           
 void setDropOnEmpty(boolean value)
           
 void setGhosting(boolean value)
           
 void setHoverClass(java.lang.String className)
           
 void setScrollSensitivity(int value)
           
 void setScrollSpeed(int value)
           
 
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, onComponentTagBody, 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, internalOnModelChanged, isActionAuthorized, isAncestorOf, isAttached, isBehaviorAccepted, isEnableAllowed, isEnabled, isEnabledInHierarchy, isIgnoreAttributeModifier, isRenderAllowed, isStateless, isVersioned, isVisibilityAllowed, isVisible, isVisibleInHierarchy, locateMarkupStream, markAttached, markRendering, modelChanged, modelChanging, onAfterRender, onAttach, onBeforeRender, onBeginRequest, onComponentTag, onConfigure, onDetach, 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

SortableListView

public SortableListView(java.lang.String id,
                        java.lang.String itemId,
                        java.util.List<T> items)

SortableListView

public SortableListView(java.lang.String id,
                        java.lang.String itemId,
                        org.apache.wicket.model.IModel<java.util.List<T>> model)
Method Detail

getModel

public org.apache.wicket.model.IModel<java.util.List<T>> getModel()

setConstraintVertical

public void setConstraintVertical()

setConstraintHorizontal

public void setConstraintHorizontal()

setGhosting

public void setGhosting(boolean value)

setScrollSensitivity

public void setScrollSensitivity(int value)

setScrollSpeed

public void setScrollSpeed(int value)

setDropOnEmpty

public void setDropOnEmpty(boolean value)

setHoverClass

public void setHoverClass(java.lang.String className)

addContainment

public void addContainment(SortableListView otherView)
add other sortable containers that items can be drag/dropped to.

Parameters:
otherView -

populateItemInternal

protected abstract void populateItemInternal(org.apache.wicket.markup.html.list.ListItem<T> item)
callback extension point for populating each list item.

Parameters:
item -

getDraggableClassName

public java.lang.String getDraggableClassName()
extension point for integrating with DraggableTarget

Returns:
See Also:
DraggableTarget#acceptAll(SortableContainer)

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.