ContainerControl
Remarks
ContainerControl is the base class of all controls that have control childControls.
By default, ContainerControl renders as a <div> element, though different subclasses may change this by overriding the Control.getTagName() method.
ContainerControl has a ContainerControl.ID_childControls property that contains a SitedList holding the childControls of the container.
When the ContainerControl is rendered, it first outputs its peer element, then ContainerControl.renderChildren() iterates over the childControls list, rendering each child.
The childControls list may contain either Controls or strings. When strings occur in the childControls list, they are output as-is into the rendered HTML DOM, enabling applications to efficiently encapsulate large amounts of HTML as a single string in the control hierarchy.
Properties
ID_animators (inherited from Control) | A SitedList of animators. |
ID_childControls | A SitedList of child controls. |
ID_controlId (inherited from Control) | The ID this control is known in the nearest binding container parent. |
ID_eventMask (inherited from Control) | (Advanced) A comma-separated list of peer events this control should receive. |
ID_isBindingContainer (inherited from Control) | (Advanced) Force this control to act as a binding container. |
ID_isPeerless (inherited from Control) | (Advanced) Set this to true to prevent this control from generating a peer element in the rendered HTML. |
ID_submitters (inherited from Control) | A SitedList of submitters. |
ID_tagName (inherited from Control) | Overrides the default HTML tag name used for this control. |
ID_visible (inherited from Control) | True if this control is visible, false if it is hidden. |
Events
ID_mouseDown (inherited from Control) | Event handler called when a mouse button is pressed down. |
ID_mouseMove (inherited from Control) | Event handler called when the mouse is moved. |
ID_mouseOut (inherited from Control) | Event handler called when a leaves a control. |
ID_mouseOver (inherited from Control) | Event handler called when a mouse moves over a control. |
ID_mouseUp (inherited from Control) | Event handler called when a mouse button is released. |
Methods
acceptsDrop (inherited from Control) | Called to determine if this control will accept a drop. |
addBinding (inherited from Control) | Adds a databinding between a property on this object and a binding path. |
addBindingEx (inherited from Control) | Extended entry point for adding a binding. |
addCalculatedBinding (inherited from Control) | Adds a calculated binding for a property. |
addChild | Add a child control to this ContainerControl. |
addClassName (inherited from Control) | Adds a CSS class to this controls "class" attribute |
addEventHandler (inherited from SitedObject) | Adds a delegate to be called when the specified eventId occurs on this object. |
animateEx (inherited from Control) | Animates a property to a value. |
blur (inherited from Control) | Tells this control's peer to relinquish keyboard focus. |
bubble (inherited from Control) | Bubbles a message up the control hierarchy - calls onBubbleEvent on this control and each of its parents. |
captureMouse (inherited from Control) | Register a control to receive mouse move/up events |
construct (inherited from Control) | Used to initialize a markup control. |
equals (inherited from SitedObject) | Tests if two objects are equal. |
fireEventHandler (inherited from SitedObject) | Invokes any user event handlers registered for a particular event using SitedObject.addEventHandler(). |
focus (inherited from Control) | Tells this control's peer to request keyboard focus. |
getBindingContainer (inherited from Control) | Gets this object's nearest enclosing binding container. |
getBindingStatus (inherited from SitedObject) | Provides debugging information on bindings for this object. |
getChild | Gets the n'th child |
getEventMask (inherited from Control) | Gets an object indicating which peer events this control is interested in. |
getParent (inherited from Control) | Gets the parent Control of this control. |
getPathValue (inherited from SitedObject) | Traverses a binding path and returns the value at the end of it. |
getPeer (inherited from Control) | Gets the peer DOM element associated with this control. |
getPeerForParent (inherited from Control) | Gets the peer element of this control that the parent control should use in DOM manipulations. |
getPropertyInfo (inherited from SitedObject) | Gets information on a property. |
getResource (inherited from Control) | Given the ID of a resource, returns the resource's value. |
getSite (inherited from SitedObject) | Gets this object's site. |
getTagName | (Override) Gets the HTML tag name this control will use for its peer element. |
getValue (inherited from Control) | Gets a property, style or attribute. |
getViewState (inherited from Control) | Retrieve any viewstate that has been saved for this control in a previous session. |
getViewStateId (inherited from Control) | Get a unique and consistent viewstateId for this control. |
invalidateLayout (inherited from Control) | Tells the layout system to redo layout. |
modifyDOM | Called to manipulate the DOM peer node of this control. |
onBubbleEvent (inherited from Control) | Called to handle a bubbled event. |
onDragEvent (inherited from Control) | Called to handle a drag drop event.. |
onFirstRender (inherited from Control) | Called the first time a control is rendered. |
onPeerCreated (inherited from Control) | Called when a peer is created. |
onPeerEvent (inherited from Control) | Called to dispatch low level events that arise in the Dom. |
onSetValue | (Override) Called by SitedObject.setValue() when a property value is set on this object. |
onSited (inherited from SitedObject) | Called when this object is sited. |
onSitedRoot (inherited from Control) | Called when a control is added to the main control tree. |
onUnsited (inherited from SitedObject) | Called when this object is about to lose its site. |
onUnsitedRoot (inherited from Control) | Called when a control is removed from the main control tree. |
onValueSited | (Override) Called when an object is sited within this object. |
onValueUnsited | (Override) Called when an object is about to be unsited in this. |
onViewStateChanged (inherited from Control) | Overridable. Controls implement this method to update their viewstate. |
rebuildInnerHtml | Updates this controls innerHTML. |
reflectOnBoundValue (inherited from Control) | Gets runtime reflection information on an underlying bound object. |
removeChild | Remove a child control from this ContainerControl. |
removeClassName (inherited from Control) | Removes a CSS class from this controls "class" attribute |
removeEventHandler (inherited from SitedObject) | Remove an existing delegate from the list of delegates for the specified event. |
render (inherited from Control) | Places the Html representation of this control into the htmlBuilder. |
renderAttributes (inherited from Control) | Called by Control.render() to render attributes for this control. |
renderChildren | (Override) Places the Html markup for all the Control inside this control into the htmlBuilder. |
setBounds (inherited from Control) | Convenience method to set the left/top/width/height of an element. |
setInitialValues (inherited from SitedObject) | Sets multiple property values on an object (during initialization only) |
setPathValue (inherited from SitedObject) | Traverses a binding path and sets the value at the end of it. |
setValue (inherited from Control) | Sets a property, style or attribute. |
setViewState (inherited from Control) | Save viewstate that should persist across sessions. |
startAnimator (inherited from Control) | Starts an animation. |
startDragDrop (inherited from Control) | Start a drag drop operation. |
stopAnimator (inherited from Control) | Stops an animation. |
toString (inherited from SitedObject) | Returns a string representation of this object. |
ContainerControl addChild method
JavaScript
containerControl.addChild(childControl)
Remarks
Example
Writing:
control.addChild(new LabelControl());is equivalent to:
var childrenList = control.getValue(ID_childControls); childrenList.add(new LabelControl());
ContainerControl getChild method
JavaScript
var control = containerControl.getChild(n)
Remarks
Returns
ContainerControl getTagName method (override)
JavaScript
containerControl.getTagName()
Remarks
ID_tagName
property if it is available, or "div" by default.
Returns
Base Implementation
Overriden In
ContainerControl ID_childControls property
JavaScript
var mixedList = containerControl.getValue(ID_childControls)
containerControl.setValue(ID_childControls, mixedList)
Xml
<j:Container>
<j:di>mixed</j:di>
<j:di>mixed</j:di>
...
</j:Container>
Remarks
ContainerControl modifyDOM method
JavaScript
containerControl.modifyDOM(actionName,parentNode,childNode,nodeInDom)
Remarks
Override the method in subclasses to change how a control inserts or removes childControls to the Dom (e.g. to animate changes).
All framework-generated Dom structural changes go via this method. Subclasses can modify this method to change how the Dom is updated, e.g. to animate the change.
The default implementation looks like this:
function modifyDOM(actionName, parentNode, childNode, nodeInDom) { switch (actionName) { case ID_appendChild: { parentNode.appendChild(childNode); break; case ID_insertBefore: parentNode.insertBefore(childNode, nodeInDom); break; case ID_removeChild: parentNode.removeChild(childNode); break; case ID_replaceChild: parentNode.replaceChild(childNode, nodeInDom); break; } }Either ID_appendChild, ID_insertBefore, ID_removeChild, or ID_replaceChild.The Dom node to to perform the append, insert, remove or replace on.The child node to append, insert, remove or replace.For insertBefore or replaceChild, this is the node to insert before or replace.
ContainerControl onSetValue method (override)
JavaScript
containerControl.onSetValue(propertyId,oldVal,newVal,notificationSource)
Remarks
Base Implementation
Overriden In
ContainerControl onValueSited method (override)
JavaScript
containerControl.onValueSited(propertyId,val)
Remarks
Base Implementation
ContainerControl onValueUnsited method (override)
JavaScript
containerControl.onValueUnsited(propertyId,val)
Remarks
Base Implementation
ContainerControl rebuildInnerHtml method
JavaScript
containerControl.rebuildInnerHtml()
Remarks
ContainerControl removeChild method
JavaScript
containerControl.removeChild(childControl)
Remarks
Example
Writing:
control.removeChild(aChild);is roughly equivalent to:
list = control.getValue(ID_childControls); list.remove(aChild);
ContainerControl renderChildren method (override)
JavaScript
containerControl.renderChildren(htmlBuilder)
Remarks
child.render(htmlBuilder)
.