goog.ui.MenuItemRenderer
Provided By | |
---|---|
Extends | |
All Known Direct Subclasses |
Default renderer for goog.ui.MenuItem
s. Each item has the following
structure:
<div class="goog-menuitem">
<div class="goog-menuitem-content">
...(menu item contents)...
</div>
</div>
new MenuItemRenderer()
Parameters | None. |
---|
Instance Methods
this.canDecorate( element ) → boolean
boolean
Returns true if this renderer can decorate the element, false otherwise. The default implementation always returns true.
Defined by | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.createContent( content, dom ) → Element
Element
Wraps the given text caption or existing DOM node(s) in a structural element containing the menu item's contents.
Parameters |
| ||||||||
---|---|---|---|---|---|---|---|---|---|
Returns |
|
this.createDom( item ) → Element
Element
Overrides goog.ui.ControlRenderer#createDom
by adding extra markup
and stying to the menu item's element if it is selectable or checkable.
Overrides | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.decorate( item, element ) → (Element|null)
(Element|null)
Overrides goog.ui.ControlRenderer#decorate
by initializing the
menu item to checkable based on whether the element to be decorated has
extra stying indicating that it should be.
Overrides | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
| ||||||||
Returns |
|
this.enableClassName( control, className, enable ) → void
void
Updates the control's DOM by adding or removing the specified class name to/from its root element. May add additional combined classes as needed in IE6 and lower. Because of this, subclasses should use this method when modifying class names on the control's root element.
Defined by | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.enableExtraClassName( control, className, enable ) → void
void
Updates the control's DOM by adding or removing the specified extra class name to/from its element.
Defined by | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.getAriaRole() → (goog.a11y.aria.Role|undefined)
(goog.a11y.aria.Role|undefined)
Returns the ARIA role to be applied to the control. See http://wiki/Main/ARIA for more info.
Overrides | |||
---|---|---|---|
Parameters | None. | ||
Returns |
|
this.getClassForState( state ) → (string|undefined)
(string|undefined)
Takes a single goog.ui.Component.State
, and returns the
corresponding CSS class name (null if none). Overrides the superclass
implementation by using 'highlight' as opposed to 'hover' as the CSS
class name suffix for the HOVER state, for backwards compatibility.
Overrides | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
Returns all CSS class names applicable to the given control, based on its state. The return value is an array of strings containing
- the renderer-specific CSS class returned by
#getCssClass
, followed by - the structural CSS class returned by
getStructuralCssClass
(if different from the renderer-specific CSS class), followed by - any state-specific classes returned by
#getClassNamesForState
, followed by - any extra classes returned by the control's `getExtraClassNames` method and
- for IE6 and lower, additional combined classes from
getAppliedCombinedClassNames_
.
Defined by | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
Takes a bit mask of goog.ui.Component.State
s, and returns an array
of the appropriate class names representing the given state, suitable to be
applied to the root element of a component rendered using this renderer, or
null if no state-specific classes need to be applied. This default
implementation uses the renderer's getClassForState
method to
generate each state-specific class.
Defined by | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.getContentElement( element ) → (Element|null)
(Element|null)
Takes the control's root element and returns the parent element of the control's contents. Since by default controls are rendered as a single DIV, the default implementation returns the element itself. Subclasses with more complex DOM structures must override this method as needed.
Overrides | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.getCssClass() → string
string
Returns the CSS class name to be applied to the root element of all components rendered or decorated using this renderer. The class name is expected to uniquely identify the renderer class, i.e. no two renderer classes are expected to share the same CSS class name.
Overrides | |||
---|---|---|---|
Parameters | None. | ||
Returns |
|
Returns an array of combinations of classes to apply combined class names for
in IE6 and below. See IE6_CLASS_COMBINATIONS
for more detail. This
method doesn't reference IE6_CLASS_COMBINATIONS
so that it can be
compiled out, but subclasses should return their IE6_CLASS_COMBINATIONS
static constant instead.
Defined by | |||
---|---|---|---|
Parameters | None. | ||
Returns |
|
this.getKeyEventTarget( control ) → (Element|null)
(Element|null)
Returns the element within the component's DOM that should receive keyboard focus (null if none). The default implementation returns the control's root element.
Defined by | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.getStateFromClass( className ) → goog.ui.Component.State
goog.ui.Component.State
Takes a single CSS class name which may represent a component state, and returns the corresponding component state (0x00 if none). Overrides the superclass implementation by treating 'goog-option-selected' as special, for backwards compatibility.
Overrides | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.getStructuralCssClass() → string
string
Returns the name of a DOM structure-specific CSS class to be applied to the
root element of all components rendered or decorated using this renderer.
Unlike the class name returned by #getCssClass
, the structural class
name may be shared among different renderers that generate similar DOM
structures. The structural class name also serves as the basis of derived
class names used to identify and style structural elements of the control's
DOM, as well as the basis for state-specific class names. The default
implementation returns the same class name as #getCssClass
, but
subclasses are expected to override this method as needed.
Defined by | |||
---|---|---|---|
Parameters | None. | ||
Returns |
|
this.hasCheckBoxStructure( element ) → boolean
boolean
Determines whether the item contains a checkbox element.
Parameters |
| ||||
---|---|---|---|---|---|
Returns |
|
this.hasContentStructure( element ) → boolean
boolean
Returns true if the element appears to have a proper menu item structure by checking whether its first child has the appropriate structural class name.
Parameters |
| ||||
---|---|---|---|---|---|
Returns |
|
this.initializeDom( control ) → void
void
Initializes the control's DOM by configuring properties that can only be set
after the DOM has entered the document. This implementation sets up BiDi
and keyboard focus. Called from goog.ui.Control#enterDocument
.
Defined by | |||||
---|---|---|---|---|---|
Parameters |
|
this.isFocusable( control ) → boolean
boolean
Returns true if the control's key event target supports keyboard focus
(based on its tabIndex
attribute), false otherwise.
Defined by | |||||
---|---|---|---|---|---|
Parameters |
| ||||
Returns |
|
this.setAllowTextSelection( element, allow ) → void
void
Allows or disallows text selection within the control's DOM.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setAriaLabel( element, ariaLabel ) → void
void
Sets the element's ARIA label. This should be overriden by subclasses that don't apply the role directly on control.element_.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setAriaRole( element, opt_preferredRole ) → void
void
Sets the element's ARIA role.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setAriaStates( control, element ) → void
void
Sets the element's ARIA attributes, including distinguishing between universally supported ARIA properties and ARIA states that are only supported by certain ARIA roles. Only attributes which are initialized to be true will be set.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setCheckable( item, element, checkable ) → void
void
Enables/disables checkbox semantics on the menu item.
Parameters |
|
---|
this.setContent( element, content ) → void
void
Takes a menu item's root element, and sets its content to the given text caption or DOM structure. Overrides the superclass immplementation by making sure that the checkbox structure (for selectable/checkable menu items) is preserved.
Overrides | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setEnableCheckBoxStructure( item, element, enable ) → void
void
Adds or removes extra markup and CSS styling to the menu item to make it
selectable or non-selectable, depending on the value of the
selectable
argument.
Parameters |
|
---|
this.setFocusable( control, focusable ) → void
void
Updates the control's key event target to make it focusable or non-focusable
via its tabIndex
attribute. Does nothing if the control doesn't
support the FOCUSED
state, or if it has no key event target.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setRightToLeft( element, rightToLeft ) → void
void
Applies special styling to/from the control's element if it is rendered right-to-left, and removes it if it is rendered left-to-right.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setSelectable( item, element, selectable ) → void
void
Enables/disables radio button semantics on the menu item.
Parameters |
|
---|
this.setState( control, state, enable ) → void
void
Updates the appearance of the control in response to a state change.
Defined by | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.setVisible( element, visible ) → void
void
Shows or hides the element.
Defined by | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameters |
|
this.updateAriaState( element, state, enable ) → void
void
Updates the element's ARIA (accessibility) attributes , including distinguishing between universally supported ARIA properties and ARIA states that are only supported by certain ARIA roles.
Defined by | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameters |
|
Static Functions
MenuItemRenderer.getInstance() → goog.ui.MenuItemRenderer
goog.ui.MenuItemRenderer
Parameters | None. | |
---|---|---|
Returns |
|
Static Properties
MenuItemRenderer.CSS_CLASS → string
string
CSS class name the renderer applies to menu item elements.