er.extensions
Class ERXJSPopUpRelationPicker
java.lang.Object
com.webobjects.appserver.WOElement
com.webobjects.appserver.WOComponent
er.extensions.ERXNonSynchronizingComponent
er.extensions.ERXStatelessComponent
er.extensions.ERXJSPopUpRelationPicker
- All Implemented Interfaces:
- Cloneable, NSKeyValueCoding, NSKeyValueCoding.ErrorHandling, NSKeyValueCodingAdditions, NSValidation, Serializable, WOActionResults
- public class ERXJSPopUpRelationPicker
- extends ERXStatelessComponent
Very, very cool js component. Implements master-detail with js in two popups, ie the first popup could be say
states and depending on which state is picked the second popup might reflect all of the cities of that state.
This WOComponent displays two pop-up buttons. One pop-up displays a list of what can be thought of as parent entities.
The second pop-up displays a list of what can be thought of as children entities. When a user selects an entity in
the parent list, the child list is instantly modified to reflect the children entities available to the user
through that parent. This is done through client-side Javascript. Also handles to-many selections both on the
parent and the children.
For example:
parent1(child1,child2,child3)
parent2(child4,child5)
parent3(child2,child5)
When the user selects parent1, its appropriate children are displayed in the second popup.
If the user selects child2 in the children pop-up this is the value that is returned to the
user through the childrenSelection variable. This is either an NSArray if multiple
is true
or the single selected object.
For the display of the parent popup, if we aren't passed in a parentSelection, then we default to
parentPopUpStringForAll. If we aren't given that either, then we default to the first parent in the array.
For the display of the child popup, if we aren't passed in a childrenSelection, then we default to childPopUpStringForAll.
If we aren't given that either, then we default to the first child in the array.
- See Also:
- Serialized Form
Bindings |
multiple | boolean the defines if there can multiple parents and children selected. |
parentEntitiesList | array of the parent objects that appear in the first pop-up. |
parentToChildrenRelationshipName | name of the relationship from the parent to its possible children. This is used to fill the values that appear in the children popup. |
parentSelection | currently selected parent(s) in the parent pop-up. This can be null, but will return the user-selected parent. |
childrenSelection | returns the user-selected child(ren). |
parentDisplayValueName | keypath of the parent displayed in the parent pop-up |
parentLabel | value displayed in the table interface for the parent popup. |
childLabel | value displayed in the table interface for the child popup. |
defaultChildKey | keypath of the parent for the default child (eg, largest city) |
childrenSortKey | keypath to sort the children on |
childDisplayValueName | keypath of the child displayed in the child pop-up |
parentPopUpStringForAll | to display if no parent is chosen ("- all -") |
childPopUpStringForAll | to display if no child is chosen ("- all -") |
size | number of rows in select boxes |
Nested classes inherited from class com.webobjects.foundation.NSKeyValueCoding |
NSKeyValueCoding._BooleanFieldBinding, NSKeyValueCoding._BooleanMethodBinding, NSKeyValueCoding._FieldBinding, NSKeyValueCoding._ForwardingBinding, NSKeyValueCoding._KeyBinding, NSKeyValueCoding._KeyBindingCreation, NSKeyValueCoding._MethodBinding, NSKeyValueCoding._NumberFieldBinding, NSKeyValueCoding._NumberMethodBinding, NSKeyValueCoding._ReflectionKeyBindingCreation, NSKeyValueCoding.DefaultImplementation, NSKeyValueCoding.ErrorHandling, NSKeyValueCoding.Null, NSKeyValueCoding.UnknownKeyException, NSKeyValueCoding.Utility, NSKeyValueCoding.ValueAccessor |
Methods inherited from class er.extensions.ERXNonSynchronizingComponent |
booleanValueForBinding, booleanValueForBinding, booleanValueForBinding, dynamicBindings, intValueForBinding, localizer, objectValueForBinding, objectValueForBinding, stringValueForBinding, stringValueForBinding, synchronizesVariablesWithBindings |
Methods inherited from class com.webobjects.appserver.WOComponent |
_associationWithName, _awakeInContext, _childTemplate, _componentDefinition, _componentUnroll, _isPage, _setContext, _setIsPage, _setParent, _setSubcomponent, _sleepInContext, _subcomponentForElementWithID, _templateNameForClass, _unroll, appendToResponse, application, baseURL, bindingKeys, canAccessFieldsDirectly, canGetValueForBinding, canSetValueForBinding, clone, context, debugString, descriptionForResponse, ensureAwakeInContext, frameworkName, generateResponse, handleQueryWithUnboundKey, handleTakeValueForUnboundKey, hasBinding, hasSession, invokeAction, isCachingEnabled, isEventLoggingEnabled, logString, name, pageWithName, parent, path, pathURL, performParentAction, pullValuesFromParent, pushValuesToParent, session, set_componentUnroll, set_unroll, setCachingEnabled, setValueForBinding, sleep, takeValueForKey, takeValueForKeyPath, template, templateWithHTMLString, templateWithName, toString, unableToSetNullForKey, validateTakeValueForKeyPath, validateValueForKey, validationFailedWithException, valueForBinding, valueForKey, valueForKeyPath |
log
public static final ERXLogger log
- logging support
jsLog
public static final ERXLogger jsLog
_size
protected Integer _size
_childDisplayValueName
protected String _childDisplayValueName
_parentDisplayValueName
protected String _parentDisplayValueName
_parentEntitiesList
protected NSArray _parentEntitiesList
_parentToChildrenRelationshipName
protected String _parentToChildrenRelationshipName
_parentSelection
protected NSArray _parentSelection
_childrenSelection
protected NSArray _childrenSelection
_parentPopUpStringForAll
protected String _parentPopUpStringForAll
_childPopUpStringForAll
protected String _childPopUpStringForAll
_parentLabel
protected String _parentLabel
_childLabel
protected String _childLabel
_childrenSortKey
protected String _childrenSortKey
_defaultChildKey
protected String _defaultChildKey
_multiple
protected Boolean _multiple
parentSelectName
protected String parentSelectName
childSelectName
protected String childSelectName
pickerName
protected String pickerName
objectsArrayName
protected String objectsArrayName
elementID
protected String elementID
ERXJSPopUpRelationPicker
public ERXJSPopUpRelationPicker(WOContext aContext)
awake
public void awake()
updateVarNames
protected void updateVarNames()
offsetForID
protected int offsetForID(String id)
parentFromID
protected Object parentFromID(String id)
idForParent
protected Object idForParent(Object parent)
childFromID
protected Object childFromID(Object parent,
String id)
idForChild
protected Object idForChild(Object parent,
Object child)
takeValuesFromRequest
public void takeValuesFromRequest(WORequest request,
WOContext context)
unsortedChildren
protected NSArray unsortedChildren(Object parent)
sortedChildren
protected NSArray sortedChildren(Object parent)
jsString
public String jsString()
hiddenFormElementStrings
public String hiddenFormElementStrings()
parentPopUpString
public String parentPopUpString()
formName
public String formName()
childPopUpString
public String childPopUpString()
selectHeader
protected StringBuffer selectHeader(String nm,
String onChange)
objectArrayCreationString
public String objectArrayCreationString()
parentEntitiesList
public NSArray parentEntitiesList()
parentSelection
public NSArray parentSelection()
setSelectedParents
public void setSelectedParents(NSArray value)
childrenSelection
public NSArray childrenSelection()
setChildrenSelection
public void setChildrenSelection(NSArray value)
defaultChildKey
public String defaultChildKey()
childrenSortKey
public String childrenSortKey()
childLabel
public String childLabel()
parentLabel
public String parentLabel()
childDisplayValueName
public String childDisplayValueName()
parentDisplayValueName
public String parentDisplayValueName()
parentToChildrenRelationshipName
public String parentToChildrenRelationshipName()
parentPopUpStringForAll
public String parentPopUpStringForAll()
childPopUpStringForAll
public String childPopUpStringForAll()
size
public int size()
multiple
public boolean multiple()
reset
public void reset()
- Overrides:
reset
in class ERXStatelessComponent
Copyright © 2002 – 2004 Project Wonder.