OracleJavaScript API Reference for Oracle ADF Faces

 

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

oracle.adfinternal.view.js.agent.ie
Class AdfIE6Agent

Warning:

org.ecmascript.object.Object
   |
   +--oracle.adf.view.js.base.AdfObject
         |
         +--oracle.adf.view.js.agent.AdfAgent
               |
               +--oracle.adfinternal.view.js.agent.ie.AdfIEAgent
                     |
                     +--oracle.adfinternal.view.js.agent.ie.AdfIE6Agent

public class AdfIE6Agent
extends AdfIEAgent
IE6 AdfAgent AdfAgent capabilities. Note: This class contains overrides of the geometry management utilities defined by AdfAgent. The base AdfAgent implementation assume that the browser supports CSS-based stretching, which is true in IE7 and Gecko, but not for IE6. So, agent implementation contains our programmatic geometry management code needed to support content stretching on IE6. Of course, since IE6 is not a supported platform, we should be able to remove this class altogether (along with some of the AdfAgent geometry management APIs), but this will wait till a later release.



Field Summary


Fields inherited from oracle.adf.view.js.agent.AdfAgent

GECKO_PLATFORM, IE_PLATFORM, KEY_EVENTS, MAC_OS, OPERA_PLATFORM, SOLARIS_OS, UNKNOWN_OS, UNKNOWN_PLATFORM, WEBKIT_PLATFORM, WINDOWS_OS


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

constructor, superclass


Fields inherited from org.ecmascript.object.Object

prototype


Constructor Summary

public
AdfIE6Agent(Object domWindow)
IE6 AdfAgent AdfAgent capabilities.


Method Summary

public Object
prepareStretchedChild(Object childElement, Object parentPadding)
Prepares a child for stretching.
public Object
repositionStretchedElement(Object element, Object topPixels, Object bottomPixels, Object leftPixels, Object rightPixels)
In certain cases a geometry managing peer may need to explicitly re-position a stretched element which was originally stretched on the server.
public Object
resizeStretchedChild(Object childElement, Object parentPadding)
Resizes the specified child element to fill its parent's content space.
public Object
resizeStretchedElement(Object element, Object width, Object height)
Resizes the element to fill the specified width and height.


Methods inherited from oracle.adfinternal.view.js.agent.ie.AdfIEAgent

addBubbleEventListener, addEventBubbles, addEventCaptures, addKeyEventListener, addOption, allElementsRemoved, assertBrowserMode, autoCompleteForm, beginDirtyStateTracking, checkMouseOutEvent, clearSubtreeIds, cloneEvent, cloneNode, copyEvent, CreateNativeLogWriter, createStyle, CreateUIInputEvent, createXmlDocument, disableUserSelect, dispatchEvent, elementFromPagePoint, elementsAdded, elementsRemoved, enableUserSelect, endDirtyStateTracking, endDocumentKeyEventCapture, execScript, getBooleanAttribute, getBrowserViewportScrollLeft, getComputedStyle, GetCssToDomPropertyNameMap, getCursor, getDescendantComponentsForNode, getElementById, getElementLeft, getElementPageBounds, getElementPosition, getElementTop, getEventFromElement, getEventTarget, getEventToElement, getFormElement, getIntAttribute, getLocalName, getMousePosition, getNodeName, getNodeXml, getOverrideStyle, getPrefix, GetResizeEvents, getSessionStorageProperty, getStyleProperty, getTableRowCells, getTextContent, getWindowClientHeight, getWindowClientWidth, getWindowHeight, getWindowScrollHeight, getWindowScrollWidth, getWindowWidth, handleCachedPageForNewWindow, Init, isChromeEvent, isDisabledOptionSupported, isEqualIcon, isFunctionKey, isLeftButton, isSessionStorageEnabled, parseXML, pointInElementBounds, pointInElementChrome, preventDefault, removeBubbleEventListener, removeEventBubbles, removeEventCaptures, removeIdsFromDomSubTree, removeKeyEventListener, removeSessionStorageProperty, removeStyleProperty, setCssFloat, setCursor, setEventTarget, setImageSource, setOpacity, setSessionStorageProperty, setTableRowHeight, setTextContent, startDocumentKeyEventCapture, startMouseEventCapture, stopMouseEventCapture, stopPropagation


Methods inherited from oracle.adf.view.js.agent.AdfAgent

addResizeListener, atLeast, copyStyle, createDefaultLogWriter, CreateDefaultLogWriter, createTouchMoveManager, disableBrowserContextMenu, eatEvent, eatEventCallback, forceCursorChange, getAgent, getAttribute, getAttributeName, getBoxSizing, getBrowserViewportScrollTop, getComponentEvent, getCSS2Cursor, getCSSLengthAsInt, getDomDocument, getDomForCSSPropertyName, getDomWindow, getElementsByName, getExpandoProperty, getKeyCode, getModifierDisplayName, getOS, getOuterHeight, getOuterWidth, getPlatform, getPreferredKeyEventForRepetition, getTableRow, getTableRows, getVersion, guessOS, guessVersion, InitClass, installKeyboardBlocker, isAttributeSpecified, isClipped, isDirty, isElementHTML, isEventInElement, isInlineDialogRepositioningOnScroll, isLeftButtonClick, isMouseEvent, isSelectionToggle, mapNativeToComponentEventType, modifyIdsInDomSubTree, pointInElementOrChildBounds, preventDefaultCallback, removeResizeListener, replaceNode, scrollToPos, setAttribute, setButtonTextContent, setDirty, setExpandoProperty, setImageTooltip, setOuterHeight, setOuterWidth, showBusyCursor


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

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


Field Detail


Constructor Detail


AdfIE6Agent

public AdfIE6Agent(Object domWindow)

IE6 AdfAgent AdfAgent capabilities. Note: This class contains overrides of the geometry management utilities defined by AdfAgent. The base AdfAgent implementation assume that the browser supports CSS-based stretching, which is true in IE7 and Gecko, but not for IE6. So, agent implementation contains our programmatic geometry management code needed to support content stretching on IE6. Of course, since IE6 is not a supported platform, we should be able to remove this class altogether (along with some of the AdfAgent geometry management APIs), but this will wait till a later release.

Parameters:
domWindow    

Method Detail


prepareStretchedChild

public Object prepareStretchedChild(Object childElement,
                                    Object parentPadding)

Prepares a child for stretching. This performs initialization work which prepares a child to be stretched, such as setting "position:absolute". This work is typically performed on the server via RichRenderer.encodeStretchedChild() during initial page render. However, in the case of partial page updates, there is no guarantee that a parent component will have the ability to apply styles (on the server) to a child component which is a partial target. As such, we need to perform this work on the client after the child is partially replaced. This method can be called by parent peers to prepare a child for stretching after a partial update which replaces the child occurs.

Parameters:
childElement    
parentPadding    
Return:
Object
Overrides:
AdfAgent.prepareStretchedChild(Object, Object)

repositionStretchedElement

public Object repositionStretchedElement(Object element,
                                         Object topPixels,
                                         Object bottomPixels,
                                         Object leftPixels,
                                         Object rightPixels)

In certain cases a geometry managing peer may need to explicitly re-position a stretched element which was originally stretched on the server. For CSS-based geometry managing components positions are typically set once on the server and are not re-applied again on the client during browser resize. However, in cases where a child is shown or hidden, either locally on the client or via PPR, it may be necessary for the peer to re-apply the CSS-based stretching properties (ie. positions) on the client. Since we do not want to set both top and bottom (or set both left and right) on platforms where CSS stretching is not supported, we use an agent method to perform this work. This will set the the specified positions on platforms where CSS stretching is supported. On other platforms, top/left will be set, but bottom/right will not. The assumption is that on non-CSS stretching platforms the stretching will be performed programmatically by calling AdfAgent.resizeStretchedElement() during a subsequent resize notification. All positions are CSS lengths, typically "px" units.

Parameters:
element    
topPixels    
bottomPixels    
leftPixels    
rightPixels    
Return:
Object
Overrides:
AdfAgent.repositionStretchedElement(Object, Object, Object, Object, Object)

resizeStretchedChild

public Object resizeStretchedChild(Object childElement,
                                   Object parentPadding)

Resizes the specified child element to fill its parent's content space. This method assumes that the child element has already been prepared to be stretched - either via a call to AdfAgent.prepareStretchedChild() or the equivalent (eg. child was rendered via server-side RichRenderer.encodeStretchedChild()). Note that for the moment this utility requires the caller to explicitly specify the parent padding size. The reason for this is that in order to support server-side stretching, the padding must be known on the server. In order to retrieve the padding on the server, the padding must be exposed as a skin property. As such the caller may have a more efficient way of telling us the padding value than requiring us to get this via the computed style. The parentPadding is specified as a css length string (eg. "4px"). Also note that we assume that the padding is the same on all sides.

Parameters:
childElement    
parentPadding    
Return:
Object
Overrides:
AdfAgent.resizeStretchedChild(Object, Object)

resizeStretchedElement

public Object resizeStretchedElement(Object element,
                                     Object width,
                                     Object height)

Resizes the element to fill the specified width and height. If width is undefined, no horizontal stretching occurs. If height is undefined, no vertical stretching occurs. This method assumes that at a minimum the element has already been positioned, ie. position, top, left have already been set, presumably on the server. Furthermore, for browsers which support CSS-based stretching, we assume that right/bottom have already been set as well (in which case this operation becomes a no-op). At the moment there is no server-side counterpart for this method, though there probably should be. For now Renderer authors need to make sure they set the appropriate properties on their own. This may change once the API requirements are flushed out.

Parameters:
element    
width    
height    
Return:
Object
Overrides:
AdfAgent.resizeStretchedElement(Object, Object, Object)

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

 

Generated on 2011.08.31 02:41 UTC
Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.