OracleJavaScript API Reference for Oracle ADF Faces

 

SUMMARY: FIELD | CONSTR | METHOD    DETAIL: FIELD | CONSTR | METHOD

oracle.adfinternal.view.js.laf.dhtml.rich
Class AdfDhtmlPanelAccordionPeer

Warning:

org.ecmascript.object.Object
   |
   +--oracle.adf.view.js.base.AdfObject
         |
         +--oracle.adf.view.js.base.AdfUIPeer
               |
               +--oracle.adf.view.js.laf.rich.AdfRichUIPeer
                     |
                     +--oracle.adfinternal.view.js.laf.dhtml.rich.AdfDhtmlPanelAccordionPeer

public class AdfDhtmlPanelAccordionPeer
extends AdfRichUIPeer



Field Summary

private static Object
_ATTRIBUTE_DISCLOSED
private static Object
_ATTRIBUTE_EVENT_TYPE
private static Object
_ATTRIBUTE_ROWKEY
private static Object
_ATTRIBUTE_TOOLBAR
private static Object
_BOTTOM_OVERFLOW_OFFSET
private static Object
_DISABLED_STYLECLASS
private static Object
_DISCLOSE_PHASE1_ANIMATION_DURATION_FACTOR
private static Object
_DISCLOSE_PHASE2_ANIMATION_DURATION_FACTOR
private static Object
_DISCLOSED_STYLECLASS
private static Object
_DISCLOSURE_SUB_ID
private static Object
_DRAG_GHOST_CLASS
private static Object
_DRAG_STYLECLASS
private static Object
_DROP_TARGET_SUB_ID
private static Object
_EVENT_TYPE_DISCLOSURE
private static Object
_FLOW_STYLECLASS
protected Object
GetSubIdDomElement
Returns the dom element for a given subElementId for chooseColor component.
protected Object
HandleComponentBlur
Handles component-level blur events.
protected Object
HandleComponentFocus
Handles component-level focus events.
protected Object
HandleComponentMouseUp
Handles component-level mouse up events.
private static Object
_HEADER_CLASS
private static Object
_HEADER_SUBSEQUENT_CLASS
private static Object
_HIGHLIGHT_PSEUDO_CLASS
private Object
_isScreenReaderMode
private static Object
_ITEM_RESIZE_DRAG_SUB_ID
private static Object
_LEADING_NON_ITEM_NODE_COUNT
private static Object
_MINIMUM_INFLEXIBLE_HEIGHT
private static Object
_MOVE_DOWN_SUB_ID
private static Object
_MOVE_UP_SUB_ID
private Object
_onResizeDrag
private Object
_onResizeDrop
private static Object
_OVERFLOW_END_POPUP
private static Object
_OVERFLOW_START_POPUP
private Object
_overflowMenuHolderSubId
private static Object
_SELECTED_PSEUDO_CLASS
private static Object
_SUB_ID_MAP
panelAccordion component publishes the following sub ids [External Subid --> Internal Client SubId]:- 1.
private static Object
_TRAILING_NON_ITEM_NODE_COUNT


Fields inherited from oracle.adf.view.js.laf.rich.AdfRichUIPeer

addComponentPropertyChanges, addComponentPropertyGetters, BUSY_STYLECLASS, DISABLED_STYLECLASS, DRAG_SOURCE_STYLECLASS, DROP_TARGET_STYLECLASS, FOCUS_TARGET_STYLECLASS, HOVER_TARGET_STYLECLASS, READONLY_STYLECLASS


Fields inherited from oracle.adf.view.js.base.AdfObject

constructor, superclass


Fields inherited from org.ecmascript.object.Object

prototype


Constructor Summary

public
AdfDhtmlPanelAccordionPeer()


Method Summary

private Object
_addVisiblePaneSizingData(Object data, Object inflexibleHeights, Object inflexibleTotal, Object flexValues, Object flexTotal, Object headers, Object headerHeight, Object firstVisibleHeaderTop, Object width, Object availableHeight)
private void
_afterDiscloseAnimationFinal(Array<DOMElement> needsToBeRemoved, Array<DOMElement> stretchElements)
Called after the last phase of the disclose animation (after the PPR completes)
private void
_afterDiscloseAnimationInitial()
Called after the initial phase of the disclose animation (before the PPR completes)
private void
_afterReorderDropAnimation()
Called after the animation of the reorder drop is complete
private void
_animateDiscloseIntoOverflow(HTMLElement element, Object visibleItemData, Array<Object> animationObjects)
Adds data to the animation objects to animate the given element from the visible portion into the overflow
private void
_animateDiscloseOutOfOverflow(HTMLElement element, Object visibleItemData, Array<Object> animationObjects)
Adds data to the animation objects to animate the given element from the overflow into the visible portion of the accordion
private void
_animateReorder(Array<Object> animationObjects, Function callback)
Animates the reorder during a drag
private Object
_applyReorderChanges(HTMLElement headerElem, Number fromIndex, Number toIndex)
Fires the event to the server and updates the client DOM as needed to reflect the reordering.
private Object
_beginDisclosureAnimation(AdfRichShowDetailItem item, Object oldDisclosed, Boolean newDisclosureState)
Animates the disclosure when the item being disclosed is visible and the item to undisclose (if applicable) is visible.
protected Object
BindToComponent(AdfUIComponent component, HTMLElement rootElement)
Binds the component to this peer instance.
private void
_completeDisclosureAnimation(Array<DOMElement> replacedDomElements, Array<DOMElement> newDomElements)
Completes the disclosure animation after the PPR has completed.
private Object
_convertFlowingElementToPositioned(Object element, Object accordionElementTop)
private void
_convertTopBottomToHeight(HTMLElement domElement)
Checks if an element's height is determined by its top and bottom heights being set and if so converts this to top and height.
private HTMLElement
_createResizeDivider(HTMLElement dividerNode)
Makes the dividerNode a floating div that animates the resize drag operation.
protected void
DestroyDragGhost()
Destroys the drag ghost
private Boolean
_doDisclose(String clientIdToDisclose, Boolean newDisclosureState, Boolean disclosed)
Perform the work of disclosing an item.
protected HTMLElement
DomReplaceNotify(HTMLElement domNode)
Overidden to track replacement of DOM children such as with optimized rendering.
protected static Object
DragAbortAnimationComplete(Object callbackParameters)
private Object
_endOverflowButtonPressed(Object event)
Method called when the end overflow button is pressed.
private Object
_extractItemSubIdFromElement(HTMLElement domElement)
Get the sub-id of the item from an element
private Object
_extractItemSubIdFromEvent(Event nativeEvent)
Get the sub-id of the item from the native event
private Object
_forceResize()
Forces a resize notify on the component.
private Object
_gatherHeightAndFlexData(Array<DOMElement> headerElements, Array<Boolean> forcedVisible)
Determines the flex values and heights of the panels
private String
_getClientId(HTMLElement headerElement)
Get the client ID of the show detail item for a given header element
private Array
_getCurrencyFromDomElement(HTMLElement targetElement, HTMLElement rootElement)
Retrieves currency information regarding the given DOM event.
private Array
_getDisclosedClientIds(HTMLElement rootElement)
Retrieves the clientIds of the disclosed children.
private String
_getDiscloseManyFalseDisclosedClientId()
Gets the client ID of the disclosed pane or null if none were disclosed.
private Array<DOMElement>
_getHeaderElements()
Get an array of all the header nodes of the panel accordion.
private Number
_getIndexOfChildClientId(String clientId)
Gets the index of the panel for a show detail item ID
private Object
_getItemSizingData(Object accordionHeight, Object accordionWidth, Array<Boolean> forcedVisible)
Calculates the sizes for all the items in the list including which ones should be added to the overflow.
private String
_getMostRecentDisclosedPaneClientId()
Retrieves the client ID of the most recently disclosed accordion pane.
private Object
_getOverflowLinks()
Get the overflow links
private Array<Object>
_getReorderItemPlacement()
Create JS objects to represent the positioning of the items in the panel
private Array
_getRootChildElements()
Retrieves a list of the root child elements.
private Object
_getRootWrapper(Object rootElement)
private Number
_getStyleHeight(HTMLElement domElement)
Get the style height of an element
private Boolean
_handleComponentBlurAndFocus(AdfUIInputEvent componentEvent)
Handles component-level blur events.
protected Object
HandleComponentClick(AdfUIInputEvent componentEvent)
Handles component-level clicks.
protected void
HandleComponentKeyDown(AdfUIInputEvent componentEvent)
Handles component-level key down events.
protected void
HandleComponentKeyUp(AdfUIInputEvent componentEvent)
Handles component-level key ups.
protected Boolean
HandleComponentMouseDown(AdfUIInputEvent componentEvent)
Handles component-level mouse downs (e.g.
protected Boolean
HandleComponentMouseOut(AdfUIInputEvent componentEvent)
Handles component-level mouse out events.
protected Boolean
HandleComponentMouseOver(AdfUIInputEvent componentEvent)
Handles component-level mouse over events.
private Boolean
_handleDetailDragStart(AdfComponentEvent componentEvent)
Attempt to see if the event is an event on the item detail that can be recognized as a reorder drag start event
public static Object
handleOverflowItemClick(Object detailItemId, Object accordionId, Object event)
Non-private because this method will be called from the overflow popup menu items as output by the renderer.
private void
_handleRemoveSelection(AdfUIInputEvent componentEvent)
For a key up or mouse up component events, remove the selection if the event occurs in the header element
private void
_handleReorderAbort(Event evt, Number deltaX, Number deltaY)
Called by the page when dragging has been aborted
private void
_handleReorderDrag(Event evt, Number deltaX, Number deltaY)
Called by the page during a reorder drag
private void
_handleReorderDrop(Event evt, Number deltaX, Number deltaY)
Called by the page when a drop event has been recognized
private Boolean
_handleReorderKeyUp(Boolean moveUp, AdfUIInputEvent componentEvent)
Given a key up for a recognized reorder keystroke, see if the event occurred on the correct DOM node and if so, reorder the panes as necessary
private Object
_handleResizeDrag(Object evt, Number deltaX, Number deltaY)
The moveCallback parameter invoked called after a mouse is moved after activating the drag service.
private Object
_handleResizeDrop(Object evt, Number deltaX, Number deltaY)
The dropCallback parameter invoked by the drag service for the drop action.
private Object
_handleSelection(Object componentEvent)
protected Object
Init(Object component)
Create an instance of an AdfDhtmlPanelAccordionPeer
protected Object
InitDomElement(AdfUIComponent component, HTMLElement rootElement)
Initialize the associated domElement when the peer is created.
private void
_initiateReorderDrag()
Initializes the reorder drag
protected static Object
InitSubclass()
Initialize event handlers.
private Boolean
_isElementInToolbar(HTMLElement elem)
Get if a given element is in a toolbar
private void
_markPaneAsNotOverflown(DOMNode node, Number newTop)
Show the given DOM node for overflow, not to be confused with disclosing.
private void
_markPaneAsOverflown(DOMNode node)
Hide the given DOM node for overflow, not to be confused with undisclosing.
public Boolean
needsResizeNotify(AdfUIComponent component)
Indicates whether this peer has interest in resize notifications.
protected Object
PopupClosed(Object component, Object contentDom, Object popupId)
Moves the overflow content from the popup back into hidden element so that it can be safe to call Agent.getElementById() after the first popup closed call.
private void
_positionDragGhost(HTMLElement ghost, Event domEvent)
Creates the ghost of the item header for use during dragging.
private Object
_positionResizeDivider(Object domEvent)
Called by the moveCallback handler during a drag-and-drop detail item resizing.
private Object
_prepareFlowingStructureForAnimation(Object rootElement, Object headerElements)
private Boolean
_queueClientDisclosureChanges(AdfRichShowDetailItem oldDisclosed, AdfRichShowDetailItem newDisclosed)
Queues a disclosure event for the case where there is a disclosure counterpart component.
private Boolean
_queueSingleClientDisclosureChange(AdfRichShowDetailItem showDetailItem, Boolean newDisclosedState)
Queues a disclosure event for the case where there is no disclosure counterpart component.
protected void
ReallocateSizesForNewSelection(String detailItemId, AdfRichPanelAccordion accordionComponent)
Reallocates the accordion's size and its children sizes for a newly selected pane.
private void
_reorderForDragEvent(Event evt)
For a given mouse event, reorder the items as needed
private void
_reorderPanel(Number fromIndex, Number toIndex)
Reorder a panel item manually
protected Object
ReplaceDomElement(HTMLElement newElement, HTMLElement oldElement)
Overridden to perform an optimized replacement of the DOM.
protected void
ResizeNotify(Number oldWidth, Number oldHeight, Number newWidth, Number newHeight)
Resize notification callback to perform geometry management.
private Object
_restoreFlowingElement(Object element)
private Object
_restoreFlowingStructureAfterAnimation(Object rootElement, Object headerElements)
private Object
_restoreFocus()
Restores focus on the most recently disclosed pane.
private Object
_restoreResizeDivider(HTMLElement dividerNode, HTMLElement targetParentNode)
Restores the resize divider bar to the origional state prior to the drag operation.
private void
_revertReorder(Array<Object> animationObjects)
Reverts a reorder and cleans up any reorder data
private Boolean
_setDisclosure(Object nativeEvent, Boolean newDisclosureState)
Changes the disclosure of a pane if applicable.
private Object
_setMostRecentDisclosedPaneClientId(String clientId)
Specifies the client ID of the most recently disclosed accordion pane.
private void
_showOverflowMenu(HTMLElement menuAlignElement, Number paneCutoffIndex, Boolean reverseOrder, String popupId)
Displays the overflow menu for either the top or bottom overflow buttons.
private Object
_startOverflowButtonPressed(Object event)
Method called when the start overflow button is pressed.
private Object
_terminateReorderDrag()
private void
_updateDomOrderAfterReorder(Number fromIndex, Number toIndex)
Updates the DOM to reflect the visual order of the elements.
private void
_updateMoveLinkEnabledStateAfterReorder(Number fromIndex, Number toIndex)
Updates the display status of the move up / down links in screen reader mode so that the first item cannot be moved up and the last item cannot be moved down
private void
_updateOverflowMenuOrder(Object fromIndex, Object toIndex)
Reorders the elements in the overflow menu so that they correctly reflect the order specified by the display indexes after a reorder event


Methods inherited from oracle.adf.view.js.laf.rich.AdfRichUIPeer

addComponentEventHandlers, addComponentPropertyChanges, addComponentPropertyGetters, addDomEventHandlers, addEventHandlerToDomInstance, addSuppressedPPRAttributes, bind, cancelAllPopups, cancelPopup, ChildVisibilityChanged, ComponentInlineStyleChanged, ComponentPropertyChanged, componentRemoved, ComponentRemoved, ComponentStyleClassChanged, ComponentVisibleChanged, ConvertClientIdToLocator, convertLocatorToClientId, CreateDraggableNode, createPeerClass, createSubId, CreateSubId, DefaultInitClass, DispatchComponentEvent, domReplaceNotify, focus, Focus, getAbsoluteId, getAbsoluteLocator, getAccessibleName, GetAccessibleName, getAllPopups, getComponent, GetComponent, GetComponentId, getComponentParent, getComponentProperty, GetComponentVisible, getDescendantComponents, getDomContentElement, getDomContentElementForComponent, GetDomContentElementForNode, getDomDocument, getDomElement, getDomElementForComponent, getDomNode, GetDomNodeForCommentComponent, getDomNodeForComponent, getDragOverFeedback, GetDragOverFeedback, getDragTransferable, GetDragTransferable, getFirstAncestorComponent, getInlineEditor, GetInlineEditor, getInlineStyleProperty, getLocatorByDomElement, getPagePosition, getPopupWindow, getReadyState, GetReadyState, GetRichResourceURL, getSubIdDomElement, GetSubIdDomElement, hideAllPopups, hidePopup, InitClass, initialize, isActive, isInActiveHeirarchy, isPopupVisible, messageNotify, MessageNotify, messageShow, MessageShow, needsChildVisibilityChanges, processPushData, ProcessPushData, registerKeyStroke, replaceDomElement, resizeNotify, scrollIntoView, ScrollIntoView, setBusy, SetBusy, setInlineStyleProperty, showContextMenu, showPopup, TruncateClientId, TruncateClientIdOnceImpl, UnbindFromComponent, unregisterKeyStroke, visitChildren


Methods inherited from oracle.adf.view.js.base.AdfUIPeer

getDefaultDragRecognizer, getParentPeer, initiateDrag, isVisible


Methods inherited from oracle.adf.view.js.base.AdfObject

adopt, clone, createCallback, createInitializedObject, createSubclass, ensureClassInitialization, equals, getClass, GetLazyArrayProperty, GetLazyMapProperty, getTypeName, toDebugString, toString


Field Detail


_ATTRIBUTE_DISCLOSED

private static Object _ATTRIBUTE_DISCLOSED

_ATTRIBUTE_EVENT_TYPE

private static Object _ATTRIBUTE_EVENT_TYPE

_ATTRIBUTE_ROWKEY

private static Object _ATTRIBUTE_ROWKEY

_ATTRIBUTE_TOOLBAR

private static Object _ATTRIBUTE_TOOLBAR

_BOTTOM_OVERFLOW_OFFSET

private static Object _BOTTOM_OVERFLOW_OFFSET

_DISABLED_STYLECLASS

private static Object _DISABLED_STYLECLASS

_DISCLOSE_PHASE1_ANIMATION_DURATION_FACTOR

private static Object _DISCLOSE_PHASE1_ANIMATION_DURATION_FACTOR

_DISCLOSE_PHASE2_ANIMATION_DURATION_FACTOR

private static Object _DISCLOSE_PHASE2_ANIMATION_DURATION_FACTOR

_DISCLOSED_STYLECLASS

private static Object _DISCLOSED_STYLECLASS

_DISCLOSURE_SUB_ID

private static Object _DISCLOSURE_SUB_ID

_DRAG_GHOST_CLASS

private static Object _DRAG_GHOST_CLASS

_DRAG_STYLECLASS

private static Object _DRAG_STYLECLASS

_DROP_TARGET_SUB_ID

private static Object _DROP_TARGET_SUB_ID

_EVENT_TYPE_DISCLOSURE

private static Object _EVENT_TYPE_DISCLOSURE

_FLOW_STYLECLASS

private static Object _FLOW_STYLECLASS

GetSubIdDomElement

protected Object GetSubIdDomElement

Returns the dom element for a given subElementId for chooseColor component.

HandleComponentBlur

protected Object HandleComponentBlur

Handles component-level blur events.

HandleComponentFocus

protected Object HandleComponentFocus

Handles component-level focus events.

HandleComponentMouseUp

protected Object HandleComponentMouseUp

Handles component-level mouse up events.

_HEADER_CLASS

private static Object _HEADER_CLASS

_HEADER_SUBSEQUENT_CLASS

private static Object _HEADER_SUBSEQUENT_CLASS

_HIGHLIGHT_PSEUDO_CLASS

private static Object _HIGHLIGHT_PSEUDO_CLASS

_isScreenReaderMode

private Object _isScreenReaderMode

_ITEM_RESIZE_DRAG_SUB_ID

private static Object _ITEM_RESIZE_DRAG_SUB_ID

_LEADING_NON_ITEM_NODE_COUNT

private static Object _LEADING_NON_ITEM_NODE_COUNT

_MINIMUM_INFLEXIBLE_HEIGHT

private static Object _MINIMUM_INFLEXIBLE_HEIGHT

_MOVE_DOWN_SUB_ID

private static Object _MOVE_DOWN_SUB_ID

_MOVE_UP_SUB_ID

private static Object _MOVE_UP_SUB_ID

_onResizeDrag

private Object _onResizeDrag

_onResizeDrop

private Object _onResizeDrop

_OVERFLOW_END_POPUP

private static Object _OVERFLOW_END_POPUP

_OVERFLOW_START_POPUP

private static Object _OVERFLOW_START_POPUP

_overflowMenuHolderSubId

private Object _overflowMenuHolderSubId

_SELECTED_PSEUDO_CLASS

private static Object _SELECTED_PSEUDO_CLASS

_SUB_ID_MAP

private static Object _SUB_ID_MAP

panelAccordion component publishes the following sub ids [External Subid --> Internal Client SubId]:- 1. [top_overflow_indicator --> overflowTop] - panelAccordion top overflow indicator 2. [bottom_overflow_indicator --> overflowBottom] - panelAccordion bottom overflow indicator

_TRAILING_NON_ITEM_NODE_COUNT

private static Object _TRAILING_NON_ITEM_NODE_COUNT

Constructor Detail


AdfDhtmlPanelAccordionPeer

public AdfDhtmlPanelAccordionPeer()

Method Detail


_addVisiblePaneSizingData

private Object _addVisiblePaneSizingData(Object data,
                                         Object inflexibleHeights,
                                         Object inflexibleTotal,
                                         Object flexValues,
                                         Object flexTotal,
                                         Object headers,
                                         Object headerHeight,
                                         Object firstVisibleHeaderTop,
                                         Object width,
                                         Object availableHeight)

Parameters:
data    
inflexibleHeights    
inflexibleTotal    
flexValues    
flexTotal    
headers    
headerHeight    
firstVisibleHeaderTop    
width    
availableHeight    
Return:
Object

_afterDiscloseAnimationFinal

private void _afterDiscloseAnimationFinal(Array<DOMElement> needsToBeRemoved,
                                          Array<DOMElement> stretchElements)

Called after the last phase of the disclose animation (after the PPR completes)

Parameters:
needsToBeRemoved  -  element that still needs to be removed from the DOM tree
stretchElements  -  array of elements that need to be re-stretched
Return:
void - null

_afterDiscloseAnimationInitial

private void _afterDiscloseAnimationInitial()

Called after the initial phase of the disclose animation (before the PPR completes)

Return:
void - null

_afterReorderDropAnimation

private void _afterReorderDropAnimation()

Called after the animation of the reorder drop is complete

Return:
void - null

_animateDiscloseIntoOverflow

private void _animateDiscloseIntoOverflow(HTMLElement element,
                                          Object visibleItemData,
                                          Array<Object> animationObjects)

Adds data to the animation objects to animate the given element from the visible portion into the overflow

Parameters:
element  -  the header element to animate
visibleItemData  -  record from the {@link #_getItemSizingData) function, with properties top, contentHeight, and contentTop
animationObjects  -  array of objects to be passed to the AdfDhtmlElementAnimator.animate(Object, Number, Array, Function, Function, Object, AdfUIComponent) function
Return:
void - null

_animateDiscloseOutOfOverflow

private void _animateDiscloseOutOfOverflow(HTMLElement element,
                                           Object visibleItemData,
                                           Array<Object> animationObjects)

Adds data to the animation objects to animate the given element from the overflow into the visible portion of the accordion

Parameters:
element  -  the header element to animate
visibleItemData  -  record from the {@link #_getItemSizingData) function, with properties top, contentHeight, and contentTop
animationObjects  -  array of objects to be passed to the AdfDhtmlElementAnimator.animate(Object, Number, Array, Function, Function, Object, AdfUIComponent) function
Return:
void - null

_animateReorder

private void _animateReorder(Array<Object> animationObjects,
                             Function callback)

Animates the reorder during a drag

Parameters:
animationObjects  -  any extra objects to pass to the animator
callback  -  function to invoke after the animation is complete. The function will be passed the peer instance
Return:
void - null

_applyReorderChanges

private Object _applyReorderChanges(HTMLElement headerElem,
                                    Number fromIndex,
                                    Number toIndex)

Fires the event to the server and updates the client DOM as needed to reflect the reordering.

Parameters:
headerElem  -  the header element that is being moved
fromIndex  -  index the items is moved from
toIndex  -  index the items is moved to
Return:
Object

_beginDisclosureAnimation

private Object _beginDisclosureAnimation(AdfRichShowDetailItem item,
                                         Object oldDisclosed,
                                         Boolean newDisclosureState)

Animates the disclosure when the item being disclosed is visible and the item to undisclose (if applicable) is visible.

Parameters:
item  -  the item being disclosed or undisclosed
oldDisclosed    
newDisclosureState    
Return:
Object

BindToComponent

protected Object BindToComponent(AdfUIComponent component,
                                 HTMLElement rootElement)

Binds the component to this peer instance.

Parameters:
component  -  the component to bind
rootElement  -  the root DOM element of this peer
Return:
Object
Overrides:
AdfRichUIPeer.BindToComponent(Object, Object)

_completeDisclosureAnimation

private void _completeDisclosureAnimation(Array<DOMElement> replacedDomElements,
                                          Array<DOMElement> newDomElements)

Completes the disclosure animation after the PPR has completed.

Parameters:
replacedDomElements  -  array of the elements that were replaced during the disclosure PPR response
newDomElements  -  the new elements that came from the server. This array is the same length as the replacement array.
Return:
void - null

_convertFlowingElementToPositioned

private Object _convertFlowingElementToPositioned(Object element,
                                                  Object accordionElementTop)

Parameters:
element    
accordionElementTop    
Return:
Object

_convertTopBottomToHeight

private void _convertTopBottomToHeight(HTMLElement domElement)

Checks if an element's height is determined by its top and bottom heights being set and if so converts this to top and height.

Parameters:
domElement  -  the element
Return:
void - null

_createResizeDivider

private HTMLElement _createResizeDivider(HTMLElement dividerNode)

Makes the dividerNode a floating div that animates the resize drag operation. The initiating resize divider dom element is passed in. Initial x positioning is established from the divider node and remains fixed. The "p_drag" pseudo style is applied to the target floating divider bar.

Parameters:
dividerNode  -  target resize divider node found at the bottom of a detail item
Return:
HTMLElement - floating drag gripper bar

DestroyDragGhost

protected void DestroyDragGhost()

Destroys the drag ghost

Return:
void - null

_doDisclose

private Boolean _doDisclose(String clientIdToDisclose,
                            Boolean newDisclosureState,
                            Boolean disclosed)

Perform the work of disclosing an item.

Parameters:
clientIdToDisclose  -  The client ID of the item to change the disclosure state.
newDisclosureState  -  true if disclosed, false if undisclosed, null if to toggle
disclosed  -  The current disclosure state of the item
Return:
Boolean - If the disclosure state was changed

DomReplaceNotify

protected HTMLElement DomReplaceNotify(HTMLElement domNode)

Overidden to track replacement of DOM children such as with optimized rendering.

Parameters:
domNode  -  the DOM element involved in the replacement
Return:
HTMLElement - the DOM node which should be the target of a subsequent resize traversal
Overrides:
AdfRichUIPeer.domReplaceNotify(AdfUIComponent, Object)

DragAbortAnimationComplete

protected static Object DragAbortAnimationComplete(Object callbackParameters)

Parameters:
callbackParameters    
Return:
Object

_endOverflowButtonPressed

private Object _endOverflowButtonPressed(Object event)

Method called when the end overflow button is pressed.

Parameters:
event    
Return:
Object

_extractItemSubIdFromElement

private Object _extractItemSubIdFromElement(HTMLElement domElement)

Get the sub-id of the item from an element

Parameters:
domElement  -  the element
Return:
Object - an object with properties <c>subId</c> and <c>clientId</c> or null

_extractItemSubIdFromEvent

private Object _extractItemSubIdFromEvent(Event nativeEvent)

Get the sub-id of the item from the native event

Parameters:
nativeEvent  -  the native event
Return:
Object - an object with properties <c>subId</c> and <c>clientId</c> or null

_forceResize

private Object _forceResize()

Forces a resize notify on the component. This is triggered after a drag-and-drop resizing of a detail item when the inflexible height is overridden.

Return:
Object

_gatherHeightAndFlexData

private Object _gatherHeightAndFlexData(Array<DOMElement> headerElements,
                                        Array<Boolean> forcedVisible)

Determines the flex values and heights of the panels

Parameters:
headerElements  -  the header elements
forcedVisible  -  an array of numbers or null values. If an index is null, the visibility is taken from the item, if the value is true, the item will be considered visible and if false, the item will be considered hidden. The array should be the same length as the headerElements array.
Return:
Object - object with properties flexValues, inflexibleHeights, minimumHeights, flexTotal, inflexibleTotal, minimumTotal, selectedPaneIndex and firstDisclosedPaneIndex

_getClientId

private String _getClientId(HTMLElement headerElement)

Get the client ID of the show detail item for a given header element

Parameters:
headerElement  -  the element to get the client ID for
Return:
String - the client ID if found, otherwise null

_getCurrencyFromDomElement

private Array _getCurrencyFromDomElement(HTMLElement targetElement,
                                         HTMLElement rootElement)

Retrieves currency information regarding the given DOM event.

Parameters:
targetElement  -  the element to start searching from
rootElement  -  the root DOM element of this peer
Return:
Array - null or an array of click data (rowKey, eventType, disclosed, overflow)

_getDisclosedClientIds

private Array _getDisclosedClientIds(HTMLElement rootElement)

Retrieves the clientIds of the disclosed children.

Parameters:
rootElement  -  the root DOM element of this peer
Return:
Array - the list of disclosed clientIds

_getDiscloseManyFalseDisclosedClientId

private String _getDiscloseManyFalseDisclosedClientId()

Gets the client ID of the disclosed pane or null if none were disclosed. It is invalid to call this method unless in the discloseMany = false use case.

Return:
String - the client ID of the disclosed pane or null if none were disclosed

_getHeaderElements

private Array<DOMElement> _getHeaderElements()

Get an array of all the header nodes of the panel accordion.

Note, headerNode.nextSibling can be used to retrieve the content node for a header node.


Return:
Array<DOMElement> - list of header elements

_getIndexOfChildClientId

private Number _getIndexOfChildClientId(String clientId)

Gets the index of the panel for a show detail item ID

Parameters:
clientId  -  the client ID of the show detail item
Return:
Number - the index if found, else -1

_getItemSizingData

private Object _getItemSizingData(Object accordionHeight,
                                  Object accordionWidth,
                                  Array<Boolean> forcedVisible)

Calculates the sizes for all the items in the list including which ones should be added to the overflow.

This data is used for both resize as well as the disclosure animation.


Parameters:
accordionHeight    
accordionWidth    
forcedVisible  -  an optional array of numbers or null values. If an index is null, the visibility is taken from the item, if the value is true, the item will be considered visible and if false, the item will be considered hidden. The array should be the same length as the * number of header elements.
Default value = null
Return:
Object - the data with properties startIndex, endIndex and an array of objects as property visibleItemData. Each item in the visibleItemData property has properties top, contentHeight, and contentTop

_getMostRecentDisclosedPaneClientId

private String _getMostRecentDisclosedPaneClientId()

Retrieves the client ID of the most recently disclosed accordion pane.

Return:
String - the most recently disclosed accordion pane or null

_getOverflowLinks

private Object _getOverflowLinks()

Get the overflow links

Return:
Object - object with 'top' and 'bottom' properties

_getReorderItemPlacement

private Array<Object> _getReorderItemPlacement()

Create JS objects to represent the positioning of the items in the panel

Return:
Array<Object> - array of objects with the information needed for the reorder dragging code

_getRootChildElements

private Array _getRootChildElements()

Retrieves a list of the root child elements.

Return:
Array - an array of element child nodes from the root element

_getRootWrapper

private Object _getRootWrapper(Object rootElement)

Parameters:
rootElement    
Return:
Object

_getStyleHeight

private Number _getStyleHeight(HTMLElement domElement)

Get the style height of an element

Parameters:
domElement  -  the element
Return:
Number - the height in pixels

_handleComponentBlurAndFocus

private Boolean _handleComponentBlurAndFocus(AdfUIInputEvent componentEvent)

Handles component-level blur events.

Parameters:
componentEvent  -  the blur component event
Return:
Boolean - null

HandleComponentClick

protected Object HandleComponentClick(AdfUIInputEvent componentEvent)

Handles component-level clicks.

Parameters:
componentEvent  -  the click component event
Return:
Object

HandleComponentKeyDown

protected void HandleComponentKeyDown(AdfUIInputEvent componentEvent)

Handles component-level key down events.

Parameters:
componentEvent  -  the key down component event
Return:
void - null

HandleComponentKeyUp

protected void HandleComponentKeyUp(AdfUIInputEvent componentEvent)

Handles component-level key ups.

Parameters:
componentEvent  -  the key up component event
Return:
void - null

HandleComponentMouseDown

protected Boolean HandleComponentMouseDown(AdfUIInputEvent componentEvent)

Handles component-level mouse downs (e.g. initiate drags).

Parameters:
componentEvent  -  the mouse down component event
Return:
Boolean - null

HandleComponentMouseOut

protected Boolean HandleComponentMouseOut(AdfUIInputEvent componentEvent)

Handles component-level mouse out events.

Parameters:
componentEvent  -  the mouse out component event
Return:
Boolean - null

HandleComponentMouseOver

protected Boolean HandleComponentMouseOver(AdfUIInputEvent componentEvent)

Handles component-level mouse over events.

Parameters:
componentEvent  -  the mouse over component event
Return:
Boolean - null

_handleDetailDragStart

private Boolean _handleDetailDragStart(AdfComponentEvent componentEvent)

Attempt to see if the event is an event on the item detail that can be recognized as a reorder drag start event

Parameters:
componentEvent  -  the event
Return:
Boolean - true if handled

handleOverflowItemClick

public static Object handleOverflowItemClick(Object detailItemId,
                                             Object accordionId,
                                             Object event)

Non-private because this method will be called from the overflow popup menu items as output by the renderer. This method is also called by the toggle disclosure handler when both toggle anchor's accessKey is winning over the menu item's accessKey--we always want the menu item accessKey to win.

Parameters:
detailItemId    
accordionId    
event    
Return:
Object

_handleRemoveSelection

private void _handleRemoveSelection(AdfUIInputEvent componentEvent)

For a key up or mouse up component events, remove the selection if the event occurs in the header element

Parameters:
componentEvent  -  the component event
Return:
void - null

_handleReorderAbort

private void _handleReorderAbort(Event evt,
                                 Number deltaX,
                                 Number deltaY)

Called by the page when dragging has been aborted

Parameters:
evt  -  the event
deltaX  -  the change in X coordinates
deltaY  -  the change in Y coordinates
Return:
void - null

_handleReorderDrag

private void _handleReorderDrag(Event evt,
                                Number deltaX,
                                Number deltaY)

Called by the page during a reorder drag

Parameters:
evt  -  the event
deltaX  -  change in X
deltaY  -  change in Y
Return:
void - null

_handleReorderDrop

private void _handleReorderDrop(Event evt,
                                Number deltaX,
                                Number deltaY)

Called by the page when a drop event has been recognized

Parameters:
evt  -  the event
deltaX  -  change in X
deltaY  -  change in Y
Return:
void - null

_handleReorderKeyUp

private Boolean _handleReorderKeyUp(Boolean moveUp,
                                    AdfUIInputEvent componentEvent)

Given a key up for a recognized reorder keystroke, see if the event occurred on the correct DOM node and if so, reorder the panes as necessary

Parameters:
moveUp  -  true to move up, false for down
componentEvent  -  the component event
Return:
Boolean - true if handled

_handleResizeDrag

private Object _handleResizeDrag(Object evt,
                                 Number deltaX,
                                 Number deltaY)

The moveCallback parameter invoked called after a mouse is moved after activating the drag service. The drag operation is activated in the mouse down handler.

Parameters:
evt    
deltaX  -  summary of vertical mouse movement since the last event
deltaY  -  summary of horizontal mouse movement since the last event
Return:
Object
See also:
AdfDhtmlPage.startDrag(Object, Object, Object, Object, Object)
HandleComponentMouseDown(AdfUIInputEvent)

_handleResizeDrop

private Object _handleResizeDrop(Object evt,
                                 Number deltaX,
                                 Number deltaY)

The dropCallback parameter invoked by the drag service for the drop action. Finds the target of the resize and applies the deltaY to the offsetHeight of the detail item. Verifies the new height is greater than the minimum inflexible height skinning property. Overrides the flex value of the detail item setting it to "0" and then applying the new height to the inflexibleHeight of the detail item. Resize notification is forced for the accordion component.

Parameters:
evt    
deltaX  -  summary of vertical mouse movement since the drag started
deltaY  -  summary of horizontal mouse movement since the drag started
Return:
Object
See also:
AdfDhtmlPage.startDrag(Object, Object, Object, Object, Object)

_handleSelection

private Object _handleSelection(Object componentEvent)

Parameters:
componentEvent    
Return:
Object

Init

protected Object Init(Object component)

Create an instance of an AdfDhtmlPanelAccordionPeer

Parameters:
component    
Return:
Object
Overrides:
AdfObject.Init()

InitDomElement

protected Object InitDomElement(AdfUIComponent component,
                                HTMLElement rootElement)

Initialize the associated domElement when the peer is created. Stateless peers are not bound at the time that this method is called.

Parameters:
component  -  component associated with this peer
rootElement  -  the root DOM element of this peer
Return:
Object
Overrides:
AdfRichUIPeer.InitDomElement(AdfUIComponent, Object)

_initiateReorderDrag

private void _initiateReorderDrag()

Initializes the reorder drag

Return:
void - null

InitSubclass

protected static Object InitSubclass()

Initialize event handlers.

Return:
Object

_isElementInToolbar

private Boolean _isElementInToolbar(HTMLElement elem)

Get if a given element is in a toolbar

Parameters:
elem  -  the element to check
Return:
Boolean - true if in the toolbar

_markPaneAsNotOverflown

private void _markPaneAsNotOverflown(DOMNode node,
                                     Number newTop)

Show the given DOM node for overflow, not to be confused with disclosing.

Parameters:
node  -  the DOM node that is overflown
newTop  -  integer representing the pixel value for the node's top style
Return:
void - null

_markPaneAsOverflown

private void _markPaneAsOverflown(DOMNode node)

Hide the given DOM node for overflow, not to be confused with undisclosing.

Parameters:
node  -  the DOM node that is overflown
Return:
void - null

needsResizeNotify

public Boolean needsResizeNotify(AdfUIComponent component)

Indicates whether this peer has interest in resize notifications.

Parameters:
component  -  the component bound to this peer
Return:
Boolean - true if the peer needs to be notified of resize events
Overrides:
AdfUIPeer.needsResizeNotify(Object)

PopupClosed

protected Object PopupClosed(Object component,
                             Object contentDom,
                             Object popupId)

Moves the overflow content from the popup back into hidden element so that it can be safe to call Agent.getElementById() after the first popup closed call.

Parameters:
component    
contentDom    
popupId    
Return:
Object
Overrides:
AdfRichUIPeer.PopupClosed(AdfUIComponent, HTMLElement, String)

_positionDragGhost

private void _positionDragGhost(HTMLElement ghost,
                                Event domEvent)

Creates the ghost of the item header for use during dragging.

Parameters:
ghost  -  the ghost element to reposition
domEvent  -  the drag mousemove DOM event
Return:
void - null

_positionResizeDivider

private Object _positionResizeDivider(Object domEvent)

Called by the moveCallback handler during a drag-and-drop detail item resizing. The domEvent is used to find the mousePostion and move the floating resize divider drag bar to vertical positioning matching the mouse movement. The vertical movement is not allowed to exceed the boundaries of the accordion component.

Parameters:
domEvent    
Return:
Object
See also:
_handleResizeDrag(Object, Number, Number)

_prepareFlowingStructureForAnimation

private Object _prepareFlowingStructureForAnimation(Object rootElement,
                                                    Object headerElements)

Parameters:
rootElement    
headerElements    
Return:
Object

_queueClientDisclosureChanges

private Boolean _queueClientDisclosureChanges(AdfRichShowDetailItem oldDisclosed,
                                              AdfRichShowDetailItem newDisclosed)

Queues a disclosure event for the case where there is a disclosure counterpart component. On client: 1.) Queue the setting of disclosed to false on the previously disclosed panel 2.) If #1 propogates through all listeners and doesn't get cancelled (e.g. from validation) then queue the setting of disclosed to true on the newly disclosed panel On server: 1.) Let the DisclosureEvent for the newly disclosed panel have fun 2.) Queue a DisclosureEvent for the previously disclosed panel(s) to set them to false

Parameters:
oldDisclosed  -  the panel that was disclosed
newDisclosed  -  the panel that the user wants to become disclosed
Return:
Boolean - true if the event was delivered, false if canceled or the call failed

_queueSingleClientDisclosureChange

private Boolean _queueSingleClientDisclosureChange(AdfRichShowDetailItem showDetailItem,
                                                   Boolean newDisclosedState)

Queues a disclosure event for the case where there is no disclosure counterpart component. On client: 1.) Queue the change of disclosed On server: 1.) Let the DisclosureEvent for the panel have fun

Parameters:
showDetailItem  -  the panel disclosed is being changed for
newDisclosedState  -  true for disclosed, false for undisclosed
Return:
Boolean - true if the event was delivered, false if canceled or the call failed

ReallocateSizesForNewSelection

protected void ReallocateSizesForNewSelection(String detailItemId,
                                              AdfRichPanelAccordion accordionComponent)

Reallocates the accordion's size and its children sizes for a newly selected pane. This is useful for toggling which pane is protected from overflow.

Parameters:
detailItemId  -  the client ID of the pane to protect from overflow
accordionComponent  -  the accordion component associated with this peer
Return:
void - null

_reorderForDragEvent

private void _reorderForDragEvent(Event evt)

For a given mouse event, reorder the items as needed

Parameters:
evt  -  The event
Return:
void - null

_reorderPanel

private void _reorderPanel(Number fromIndex,
                           Number toIndex)

Reorder a panel item manually

Parameters:
fromIndex  -  the index of the item to move
toIndex  -  the index to move the item to
Return:
void - null

ReplaceDomElement

protected Object ReplaceDomElement(HTMLElement newElement,
                                   HTMLElement oldElement)

Overridden to perform an optimized replacement of the DOM. The dom element may be a child (or descendent).

Parameters:
newElement  -  the new dom element
oldElement  -  the old dom element
Return:
Object
Overrides:
AdfRichUIPeer.replaceDomElement(AdfUIComponent, HTMLElement, HTMLElement)

ResizeNotify

protected void ResizeNotify(Number oldWidth,
                            Number oldHeight,
                            Number newWidth,
                            Number newHeight)

Resize notification callback to perform geometry management.

Parameters:
oldWidth  -  the last known width
oldHeight  -  the last known height
newWidth  -  the new width
newHeight  -  the new height
Return:
void - null
Overrides:
AdfUIPeer.resizeNotify(Object, Object, Object, Object, Object)

_restoreFlowingElement

private Object _restoreFlowingElement(Object element)

Parameters:
element    
Return:
Object

_restoreFlowingStructureAfterAnimation

private Object _restoreFlowingStructureAfterAnimation(Object rootElement,
                                                      Object headerElements)

Parameters:
rootElement    
headerElements    
Return:
Object

_restoreFocus

private Object _restoreFocus()

Restores focus on the most recently disclosed pane.

Return:
Object

_restoreResizeDivider

private Object _restoreResizeDivider(HTMLElement dividerNode,
                                     HTMLElement targetParentNode)

Restores the resize divider bar to the origional state prior to the drag operation.

Parameters:
dividerNode  -  animating the resize drag operation
targetParentNode  -  detail item's body being resized
Return:
Object
See also:
_handleResizeDrop(Object, Number, Number)

_revertReorder

private void _revertReorder(Array<Object> animationObjects)

Reverts a reorder and cleans up any reorder data

Parameters:
animationObjects  -  any extra objects to pass to the animator
Default value = null
Return:
void - null

_setDisclosure

private Boolean _setDisclosure(Object nativeEvent,
                               Boolean newDisclosureState)

Changes the disclosure of a pane if applicable.

Parameters:
nativeEvent  -  the event object
newDisclosureState  -  true if disclosed, false if undisclosed, null if to toggle
Return:
Boolean - true if the even should be cancelled, false otherwise

_setMostRecentDisclosedPaneClientId

private Object _setMostRecentDisclosedPaneClientId(String clientId)

Specifies the client ID of the most recently disclosed accordion pane.

Parameters:
clientId  -  the most recently disclosed accordion pane or null
Return:
Object

_showOverflowMenu

private void _showOverflowMenu(HTMLElement menuAlignElement,
                               Number paneCutoffIndex,
                               Boolean reverseOrder,
                               String popupId)

Displays the overflow menu for either the top or bottom overflow buttons.

Parameters:
menuAlignElement  -  the DOM element to align the menu to
paneCutoffIndex  -  the pane index to include in the menu and above items
reverseOrder  -  true if to include the below items instead
popupId  -  id to use for the overflow popup
Return:
void - null

_startOverflowButtonPressed

private Object _startOverflowButtonPressed(Object event)

Method called when the start overflow button is pressed.

Parameters:
event    
Return:
Object

_terminateReorderDrag

private Object _terminateReorderDrag()

Return:
Object

_updateDomOrderAfterReorder

private void _updateDomOrderAfterReorder(Number fromIndex,
                                         Number toIndex)

Updates the DOM to reflect the visual order of the elements. This is necessary to preserve the tab index order.

Parameters:
fromIndex  -  index the items is moved from
toIndex  -  index the items is moved to
Return:
void - null

_updateMoveLinkEnabledStateAfterReorder

private void _updateMoveLinkEnabledStateAfterReorder(Number fromIndex,
                                                     Number toIndex)

Updates the display status of the move up / down links in screen reader mode so that the first item cannot be moved up and the last item cannot be moved down

Parameters:
fromIndex  -  index the items is moved from
toIndex  -  index the items is moved to
Return:
void - null

_updateOverflowMenuOrder

private void _updateOverflowMenuOrder(Object fromIndex,
                                      Object toIndex)

Reorders the elements in the overflow menu so that they correctly reflect the order specified by the display indexes after a reorder event

Parameters:
fromIndex    
toIndex    
Return:
void - null

SUMMARY: FIELD | CONSTR | METHOD    DETAIL: FIELD | CONSTR | METHOD

 

Generated on 2011.04.05 23:36 UTC
Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.