see <w:PopupMenu/>

menuId *

The menuId is used to associate the current PopupMenuLink and its corresponding PopupMenu. You must avoid name collisions with other menus (especially menus you import into your application via reusable components). One way to do this is to get an elementId from the requestContext and use this for both the PopupMenuLink and the PopupMenu. Note that a single PopupMenu may be shared by many PopupMenuLinks -- all those links will have the same id as their shared PopupMenu.


If you are generating PopupMenu/Links in a repetition, each iteration will require a different menuId. The index binding makes this easy as you can provide a static menuId and pass the index from the repetition and let PopupMenu/Link do the concatenation for you (in a more efficient way, as well).


When a PopupMenu is shared by many PopupMenuLinks, the actions of the PopupMenuItems may be ambiguous -- you need to know which link was clicked in order to know what to do. When you click a PopupMenuLink, its id is passed into the server (along with the id of the PopupMenuItem) and this binding will be evaluated in your component. So you should bind a method that returns null to this bindings and, in that method, stash away some state information (such as the current object in a repetition) which can be used by the PopupMenuItem's action.

Note that, if this binding is being employed, you MUST place the PopupMenu after all occurrences of the corresponding PopupMenuLinks. This is because actionSetup must occur before the action itself fires, and the action is always bound to a PopupMeuItem within the PopupMenu.


The tooltip for this PopupMenuLink; displays when you hover over the link itself.


If you need to disable the link, pass true to omitTags. The content of the link (ie text or images) will still display, but will not be (or appear to be) clickable.


A PopupMenuLink can be any kind of container tag. By default, it is a <span/>. The container will be clickable once rendered as a PopupMenuLink.


Note: This is ignored at the present time. Former usage: The container tag for the PopupMenuLink has no "class" assigned to it, but you can provide style attributes for this container via this binding.


The style for the <a/> tag inside the PopupMenuLink. See also containerStyle


Although you cannot provide a "class" for the container, you can provide one for the <a/> inside.


By default, this component does no mouseOver behavior. You can add this via these bindings. [Please refrain from using these as we will probably want to usurp them in the future.]


see onMouseOver (above)


Tells the menu link where to position the PopupMenu itself. By default, the PopupMenu appears under the cursor at its upper left. To simulate a Windows ComboBox control, we allow you to specify an html element under which the PopupMenu will appear. If so, the upper-left corner fo the PopupMenu will be positioned at the lower left corner of the element in question. If you want to align the PopupMenu right, specify 'right' as position.


Tells weather the popup menu has to be open by default when displayed.


Override the default behavior (opening the popup menu).


Class PopupMenuLink

  extended by ariba.ui.aribaweb.util.AWBaseObject
      extended by ariba.ui.aribaweb.core.AWComponent
          extended by ariba.ui.widgets.PopupMenuLink
All Implemented Interfaces:
AWCycleable, AWCycleableReference, AWResponseGenerating, AWResponseGenerating.ResponseSubstitution, AWObject

public final class PopupMenuLink
extends AWComponent

Nested Class Summary
Nested classes/interfaces inherited from class ariba.ui.aribaweb.core.AWComponent
AWComponent.RenderingFilter, AWComponent.RenderingListener
Nested classes/interfaces inherited from interface ariba.ui.aribaweb.core.AWResponseGenerating
Constructor Summary
Method Summary
 boolean isSender()
 boolean isStateless()
          Overridden by AWComponent subclasses to indicate whether component instances should be preserved with the page/session (i.e.
 AWEncodedString menuId()
 boolean omitTags()
 java.lang.String onClickString()
 java.lang.String onKeyDownString()
 java.lang.String position()
 java.lang.String[] supportedBindingNames()
Methods inherited from class ariba.ui.aribaweb.core.AWComponent
_topLevelApplyValues, _topLevelInvokeAction, _topLevelRenderResponse, allowEmbeddedKeyPaths, allowsWhitespaceCompression, application, applyValues, awcyclePageAndLog, bindingForName, bindingForName, bindings, booleanValueForBinding, booleanValueForBinding, booleanValueForBinding, booleanValueForBinding, browserMaxWidth, browserMinWidth, characterEncoding, clearValidationError, clientTimeZone, componentConfiguration, componentDefinition, componentPath, componentReference, createPageWithName, defaultTemplateParser, determineInstance, determineInstance, dict, dict, dict, doubleValueForBinding, doubleValueForBinding, doubleValueForBinding, encodedStringValueForBinding, encodedStringValueForBinding, ensureAwake, ensureFieldValuesClear, env, errorManager, escapeAttribute, escapeString, escapeUnsafeString, extendedFields, formValueManager, generateResponse, generateResponse, generateResponse, generateStringContents, getAWParameter, getDrivingBusinessObject, getFoldInSituOnWindowSizeParam, getPageRenderVersion, getThis, hasBinding, hasBinding, hasContentForTagName, hasContentNamed, hasMultipleTemplates, hasSubTemplateNamed, httpSession, init, init, initTemplateResourceManager, intValueForBinding, intValueForBinding, intValueForBinding, invokeAction, isBidirectional, isBrowserMicrosoft, isClientPanel, isMacintosh, isRenderAW5, isStrictTagNaming, isUserCommunityEnabled, isValidationEnabled, languageDirection, languageLeft, languageRight, loadTemplate, localizedJavaString, markBacktrackState, name, namePath, notifyChange, otherBindings, otherBindingsValues, page, pageComponent, pageWithClass, pageWithClass, pageWithName, pageWithName, parent, postTakeValueActions, preferredLocale, recordBacktrackState, recordBacktrackState, recordValidationError, recordValidationError, recordValidationError, recordValidationErrors, recordValidationWarning, redirectToPage, registerRenderingListener, registerXmlNodeWithName, removeBacktrackState, renderResponse, replacementResponse, request, requestContext, requiresPreGlidCompatibility, resourceClassName, resourceManager, response, restoreFromBacktrackState, session, session, setCharacterEncoding, setClientPanel, setClientTimeZone, setComponentConfiguration, setDefaultTemplateParser, setEnv, setPerfDestinationInfo, setPreferredLocale, setResourceManager, setTemplateParser, setupForNextCycle, setValueForBinding, setValueForBinding, setValueForBinding, setValueForBinding, setValueForBinding, setValueForBinding, shouldCachePage, shouldCloseElements, strings, stringValueForBinding, stringValueForBinding, stringValueForBinding, template, templateName, templateParser, templateResource, templateResourceManager, truncateBacktrackState, truncateBacktrackState, urlForResourceNamed, urlForResourceNamed, urlForResourceNamed, useXmlEscaping, valueForBinding, valueForBinding, valueForBinding, xml
Methods inherited from class ariba.ui.aribaweb.util.AWBaseObject
debugString, getFieldValue, isKindOfClass, localizedJavaString, logString, logWarning, setFieldValue
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ariba.ui.aribaweb.util.AWObject
getFieldValue, isKindOfClass, setFieldValue

Field Detail


public AWEncodedString _elementId


public AWBinding _menuIdBinding


public AWBinding _indexBinding


public AWBinding _positionBinding


public AWBinding _actionSetupBinding


public AWBinding _classBinding


public AWBinding _styleBinding


public AWBinding _onMouseOverBinding


public AWBinding _onMouseOutBinding


public AWBinding _omitTagsBinding


public AWBinding _titleBinding
Constructor Detail


public PopupMenuLink()
Method Detail


public java.lang.String[] supportedBindingNames()
supportedBindingNames in class AWComponent


public boolean isStateless()
Description copied from class: AWComponent
Overridden by AWComponent subclasses to indicate whether component instances should be preserved with the page/session (i.e. are "stateful") or can be pooled and reused for each phase of request processing (i.e. are stateless) Default is to be stateless unless the component is used as the top-level (page) component.

isStateless in class AWComponent


public java.lang.String onClickString()


public java.lang.String onKeyDownString()


public AWEncodedString menuId()


public java.lang.String position()


public boolean isSender()


public boolean omitTags()

AribaWeb User Interface Development Framework
Copyright © 2000-2014 Ariba, Inc. All Rights Reserved.