All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.polymer.paper.widget.PaperMenu Maven / Gradle / Ivy

The newest version!
/*
 * This code was generated with Vaadin Web Component GWT API Generator, 
 * from paper-menu project by The Polymer Authors
 * that is licensed with http://polymer.github.io/LICENSE.txt license.
 */
package com.vaadin.polymer.paper.widget;

import com.vaadin.polymer.paper.*;

import com.vaadin.polymer.iron.widget.event.IronActivateEvent;
import com.vaadin.polymer.iron.widget.event.IronActivateEventHandler;

import com.vaadin.polymer.iron.widget.event.IronDeselectEvent;
import com.vaadin.polymer.iron.widget.event.IronDeselectEventHandler;

import com.vaadin.polymer.iron.widget.event.IronItemsChangedEvent;
import com.vaadin.polymer.iron.widget.event.IronItemsChangedEventHandler;

import com.vaadin.polymer.iron.widget.event.IronSelectEvent;
import com.vaadin.polymer.iron.widget.event.IronSelectEventHandler;

import com.vaadin.polymer.*;
import com.vaadin.polymer.elemental.*;
import com.vaadin.polymer.PolymerWidget;
import com.google.gwt.core.client.JsArray;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.core.client.JavaScriptObject;

/**
 * 

Material design: Menus

*

<paper-menu> implements an accessible menu control with Material Design styling. The focused item
is highlighted, and the selected item has bolded text.

*
<paper-menu>
 *   <paper-item>Item 1</paper-item>
 *   <paper-item>Item 2</paper-item>
 * </paper-menu>
 * 
 * 
 * 

An initial selection can be specified with the selected attribute.

*
<paper-menu selected="0">
 *   <paper-item>Item 1</paper-item>
 *   <paper-item>Item 2</paper-item>
 * </paper-menu>
 * 
 * 
 * 

Make a multi-select menu with the multi attribute. Items in a multi-select menu can be deselected,
and multiple items can be selected.

*
<paper-menu multi>
 *   <paper-item>Item 1</paper-item>
 *   <paper-item>Item 2</paper-item>
 * </paper-menu>
 * 
 * 
 * 

Styling

*

The following custom properties and mixins are available for styling:

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Custom propertyDescriptionDefault
--paper-menu-background-colorMenu background color--primary-background-color
--paper-menu-colorMenu foreground color--primary-text-color
--paper-menu-disabled-colorForeground color for a disabled item--disabled-text-color
--paper-menuMixin applied to the menu{}
--paper-menu-selected-itemMixin applied to the selected item{}
--paper-menu-focused-itemMixin applied to the focused item{}
--paper-menu-focused-item-afterMixin applied to the ::after pseudo-element for the focused item{}
*

Accessibility

*

<paper-menu> has role="menu" by default. A multi-select menu will also have
aria-multiselectable set. It implements key bindings to navigate through the menu with the up and
down arrow keys, esc to exit the menu, and enter to activate a menu item. Typing the first letter
of a menu item will also focus it.

*/ public class PaperMenu extends PolymerWidget { /** * Default Constructor. */ public PaperMenu() { this(""); } /** * Constructor used by UIBinder to create widgets with content. */ public PaperMenu(String html) { super(PaperMenuElement.TAG, PaperMenuElement.SRC, html); } /** * Gets a handle to the Polymer object's underlying DOM element. */ public PaperMenuElement getPolymerElement() { return (PaperMenuElement) getElement(); } /** *

If true, this property will cause the implementing element to
automatically stop propagation on any handled KeyboardEvents.

* * JavaScript Info: * @property stopKeyboardEventPropagation * @type Boolean * @behavior VaadinDatePicker */ public boolean getStopKeyboardEventPropagation() { return getPolymerElement().getStopKeyboardEventPropagation(); } /** *

If true, this property will cause the implementing element to
automatically stop propagation on any handled KeyboardEvents.

* * JavaScript Info: * @property stopKeyboardEventPropagation * @type Boolean * @behavior VaadinDatePicker */ public void setStopKeyboardEventPropagation(boolean value) { getPolymerElement().setStopKeyboardEventPropagation(value); } /** *

The list of items from which a selection can be made.

* * JavaScript Info: * @property items * @type Array * @behavior PaperTabs */ public JsArray getItems() { return getPolymerElement().getItems(); } /** *

The list of items from which a selection can be made.

* * JavaScript Info: * @property items * @type Array * @behavior PaperTabs */ public void setItems(JsArray value) { getPolymerElement().setItems(value); } /** *

If true, multiple selections are allowed.

* * JavaScript Info: * @property multi * @type Boolean * @behavior PaperTabs */ public boolean getMulti() { return getPolymerElement().getMulti(); } /** *

If true, multiple selections are allowed.

* * JavaScript Info: * @property multi * @type Boolean * @behavior PaperTabs */ public void setMulti(boolean value) { getPolymerElement().setMulti(value); } /** *

Gets or sets the selected element. The default is to use the index of the item.

* * JavaScript Info: * @property selected * @type (string|number) * @behavior PaperTabs */ public Object getSelected() { return getPolymerElement().getSelected(); } /** *

Gets or sets the selected element. The default is to use the index of the item.

* * JavaScript Info: * @property selected * @type (string|number) * @behavior PaperTabs */ public void setSelected(Object value) { getPolymerElement().setSelected(value); } /** *

Returns an array of currently selected items.

* * JavaScript Info: * @property selectedItems * @type Array * @behavior PaperTabs */ public JsArray getSelectedItems() { return getPolymerElement().getSelectedItems(); } /** *

Returns an array of currently selected items.

* * JavaScript Info: * @property selectedItems * @type Array * @behavior PaperTabs */ public void setSelectedItems(JsArray value) { getPolymerElement().setSelectedItems(value); } /** *

Gets or sets the selected elements. This is used instead of selected when multi
is true.

* * JavaScript Info: * @property selectedValues * @type Array * @behavior PaperTabs */ public JsArray getSelectedValues() { return getPolymerElement().getSelectedValues(); } /** *

Gets or sets the selected elements. This is used instead of selected when multi
is true.

* * JavaScript Info: * @property selectedValues * @type Array * @behavior PaperTabs */ public void setSelectedValues(JsArray value) { getPolymerElement().setSelectedValues(value); } /** * * * JavaScript Info: * @property disabled * @type Boolean * @behavior PaperTabs */ public boolean getDisabled() { return getPolymerElement().getDisabled(); } /** * * * JavaScript Info: * @property disabled * @type Boolean * @behavior PaperTabs */ public void setDisabled(boolean value) { getPolymerElement().setDisabled(value); } /** *

Returns the currently selected item.

* * JavaScript Info: * @property selectedItem * @type ?Object * @behavior PaperTabs */ public JavaScriptObject getSelectedItem() { return getPolymerElement().getSelectedItem(); } /** *

Returns the currently selected item.

* * JavaScript Info: * @property selectedItem * @type ?Object * @behavior PaperTabs */ public void setSelectedItem(JavaScriptObject value) { getPolymerElement().setSelectedItem(value); } /** * * * JavaScript Info: * @property keyBindings * @type Object * @behavior PaperTabs */ public JavaScriptObject getKeyBindings() { return getPolymerElement().getKeyBindings(); } /** * * * JavaScript Info: * @property keyBindings * @type Object * @behavior PaperTabs */ public void setKeyBindings(JavaScriptObject value) { getPolymerElement().setKeyBindings(value); } /** *

Returns the currently focused item.

* * JavaScript Info: * @property focusedItem * @type ?Object * @behavior PaperTabs */ public JavaScriptObject getFocusedItem() { return getPolymerElement().getFocusedItem(); } /** *

Returns the currently focused item.

* * JavaScript Info: * @property focusedItem * @type ?Object * @behavior PaperTabs */ public void setFocusedItem(JavaScriptObject value) { getPolymerElement().setFocusedItem(value); } /** *

The EventTarget that will be firing relevant KeyboardEvents. Set it to
null to disable the listeners.

* * JavaScript Info: * @property keyEventTarget * @type ?EventTarget * @behavior VaadinDatePicker */ public JavaScriptObject getKeyEventTarget() { return getPolymerElement().getKeyEventTarget(); } /** *

The EventTarget that will be firing relevant KeyboardEvents. Set it to
null to disable the listeners.

* * JavaScript Info: * @property keyEventTarget * @type ?EventTarget * @behavior VaadinDatePicker */ public void setKeyEventTarget(JavaScriptObject value) { getPolymerElement().setKeyEventTarget(value); } /** *

The class to set on elements when selected.

* * JavaScript Info: * @property selectedClass * @type String * @behavior PaperTabs */ public String getSelectedClass() { return getPolymerElement().getSelectedClass(); } /** *

The class to set on elements when selected.

* * JavaScript Info: * @property selectedClass * @type String * @behavior PaperTabs */ public void setSelectedClass(String value) { getPolymerElement().setSelectedClass(value); } /** *

This is a CSS selector string. If this is set, only items that match the CSS selector
are selectable.

* * JavaScript Info: * @property selectable * @type string * @behavior PaperTabs */ public String getSelectable() { return getPolymerElement().getSelectable(); } /** *

This is a CSS selector string. If this is set, only items that match the CSS selector
are selectable.

* * JavaScript Info: * @property selectable * @type string * @behavior PaperTabs */ public void setSelectable(String value) { getPolymerElement().setSelectable(value); } /** *

Default fallback if the selection based on selected with attrForSelected
is not found.

* * JavaScript Info: * @property fallbackSelection * @type String * @behavior PaperTabs */ public String getFallbackSelection() { return getPolymerElement().getFallbackSelection(); } /** *

Default fallback if the selection based on selected with attrForSelected
is not found.

* * JavaScript Info: * @property fallbackSelection * @type String * @behavior PaperTabs */ public void setFallbackSelection(String value) { getPolymerElement().setFallbackSelection(value); } /** *

If you want to use an attribute value or property of an element for
selected instead of the index, set this to the name of the attribute
or property. Hyphenated values are converted to camel case when used to
look up the property of a selectable element. Camel cased values are
not converted to hyphenated values for attribute lookup. It’s
recommended that you provide the hyphenated form of the name so that
selection works in both cases. (Use attr-or-property-name instead of
attrOrPropertyName.)

* * JavaScript Info: * @property attrForSelected * @type String * @behavior PaperTabs */ public String getAttrForSelected() { return getPolymerElement().getAttrForSelected(); } /** *

If you want to use an attribute value or property of an element for
selected instead of the index, set this to the name of the attribute
or property. Hyphenated values are converted to camel case when used to
look up the property of a selectable element. Camel cased values are
not converted to hyphenated values for attribute lookup. It’s
recommended that you provide the hyphenated form of the name so that
selection works in both cases. (Use attr-or-property-name instead of
attrOrPropertyName.)

* * JavaScript Info: * @property attrForSelected * @type String * @behavior PaperTabs */ public void setAttrForSelected(String value) { getPolymerElement().setAttrForSelected(value); } /** *

The event that fires from items when they are selected. Selectable
will listen for this event from items and update the selection state.
Set to empty string to listen to no events.

* * JavaScript Info: * @property activateEvent * @type String * @behavior PaperTabs */ public String getActivateEvent() { return getPolymerElement().getActivateEvent(); } /** *

The event that fires from items when they are selected. Selectable
will listen for this event from items and update the selection state.
Set to empty string to listen to no events.

* * JavaScript Info: * @property activateEvent * @type String * @behavior PaperTabs */ public void setActivateEvent(String value) { getPolymerElement().setActivateEvent(value); } /** *

The attribute to set on elements when selected.

* * JavaScript Info: * @property selectedAttribute * @type String * @behavior PaperTabs */ public String getSelectedAttribute() { return getPolymerElement().getSelectedAttribute(); } /** *

The attribute to set on elements when selected.

* * JavaScript Info: * @property selectedAttribute * @type String * @behavior PaperTabs */ public void setSelectedAttribute(String value) { getPolymerElement().setSelectedAttribute(value); } /** *

The attribute to use on menu items to look up the item title. Typing the first
letter of an item when the menu is open focuses that item. If unset, textContent
will be used.

* * JavaScript Info: * @property attrForItemTitle * @type String * @behavior PaperTabs */ public String getAttrForItemTitle() { return getPolymerElement().getAttrForItemTitle(); } /** *

The attribute to use on menu items to look up the item title. Typing the first
letter of an item when the menu is open focuses that item. If unset, textContent
will be used.

* * JavaScript Info: * @property attrForItemTitle * @type String * @behavior PaperTabs */ public void setAttrForItemTitle(String value) { getPolymerElement().setAttrForItemTitle(value); } // Needed in UIBinder /** *

Returns an array of currently selected items.

* * JavaScript Info: * @attribute selected-items * @behavior PaperTabs */ public void setSelectedItems(String value) { Polymer.property(this.getPolymerElement(), "selectedItems", value); } // Needed in UIBinder /** *

Gets or sets the selected elements. This is used instead of selected when multi
is true.

* * JavaScript Info: * @attribute selected-values * @behavior PaperTabs */ public void setSelectedValues(String value) { Polymer.property(this.getPolymerElement(), "selectedValues", value); } // Needed in UIBinder /** *

The list of items from which a selection can be made.

* * JavaScript Info: * @attribute items * @behavior PaperTabs */ public void setItems(String value) { Polymer.property(this.getPolymerElement(), "items", value); } // Needed in UIBinder /** *

Gets or sets the selected element. The default is to use the index of the item.

* * JavaScript Info: * @attribute selected * @behavior PaperTabs */ public void setSelected(String value) { Polymer.property(this.getPolymerElement(), "selected", value); } // Needed in UIBinder /** *

The EventTarget that will be firing relevant KeyboardEvents. Set it to
null to disable the listeners.

* * JavaScript Info: * @attribute key-event-target * @behavior VaadinDatePicker */ public void setKeyEventTarget(String value) { Polymer.property(this.getPolymerElement(), "keyEventTarget", value); } // Needed in UIBinder /** * * * JavaScript Info: * @attribute key-bindings * @behavior PaperTabs */ public void setKeyBindings(String value) { Polymer.property(this.getPolymerElement(), "keyBindings", value); } // Needed in UIBinder /** *

Returns the currently focused item.

* * JavaScript Info: * @attribute focused-item * @behavior PaperTabs */ public void setFocusedItem(String value) { Polymer.property(this.getPolymerElement(), "focusedItem", value); } // Needed in UIBinder /** *

Returns the currently selected item.

* * JavaScript Info: * @attribute selected-item * @behavior PaperTabs */ public void setSelectedItem(String value) { Polymer.property(this.getPolymerElement(), "selectedItem", value); } /** *

Selects the given value. If the multi property is true, then the selected state of the
value will be toggled; otherwise the value will be selected.

* * JavaScript Info: * @method select * @param {(string|number)} value * @behavior PaperTabs * */ public void select(Object value) { getPolymerElement().select(value); } /** *

Can be used to imperatively add a key binding to the implementing
element. This is the imperative equivalent of declaring a keybinding
in the keyBindings prototype property.

* * JavaScript Info: * @method addOwnKeyBinding * @param {} eventString * @param {} handlerName * @behavior VaadinDatePicker * */ public void addOwnKeyBinding(Object eventString, Object handlerName) { getPolymerElement().addOwnKeyBinding(eventString, handlerName); } /** * * * JavaScript Info: * @method multiChanged * @param {} multi * @behavior PaperTabs * */ public void multiChanged(Object multi) { getPolymerElement().multiChanged(multi); } /** *

Selects the item at the given index.

* * JavaScript Info: * @method selectIndex * @param {} index * @behavior PaperTabs * */ public void selectIndex(Object index) { getPolymerElement().selectIndex(index); } /** *

Selects the next item.

* * JavaScript Info: * @method selectNext * @behavior PaperTabs * */ public void selectNext() { getPolymerElement().selectNext(); } /** *

Selects the previous item.

* * JavaScript Info: * @method selectPrevious * @behavior PaperTabs * */ public void selectPrevious() { getPolymerElement().selectPrevious(); } /** *

When called, will remove all imperatively-added key bindings.

* * JavaScript Info: * @method removeOwnKeyBindings * @behavior VaadinDatePicker * */ public void removeOwnKeyBindings() { getPolymerElement().removeOwnKeyBindings(); } /** *

Force a synchronous update of the items property.

*

NOTE: Consider listening for the iron-items-changed event to respond to
updates to the set of selectable items after updates to the DOM list and
selection state have been made.

*

WARNING: If you are using this method, you should probably consider an
alternate approach. Synchronously querying for items is potentially
slow for many use cases. The items property will update asynchronously
on its own to reflect selectable items in the DOM.

* * JavaScript Info: * @method forceSynchronousItemUpdate * @behavior PaperTabs * */ public void forceSynchronousItemUpdate() { getPolymerElement().forceSynchronousItemUpdate(); } /** *

Returns true if a keyboard event matches eventString.

* * JavaScript Info: * @method keyboardEventMatchesKeys * @param {KeyboardEvent} event * @param {string} eventString * @behavior VaadinDatePicker * @return {boolean} */ public boolean keyboardEventMatchesKeys(JavaScriptObject event, String eventString) { return getPolymerElement().keyboardEventMatchesKeys(event, eventString); } /** *

Returns the index of the given item.

* * JavaScript Info: * @method indexOf * @param {Object} item * @behavior PaperTabs * */ public void indexOf(JavaScriptObject item) { getPolymerElement().indexOf(item); } /** *

Fired when iron-selector is activated (selected or deselected).
It is fired before the selected items are changed.
Cancel the event to abort selection.

* * JavaScript Info: * @event iron-activate */ public HandlerRegistration addIronActivateHandler(IronActivateEventHandler handler) { return addDomHandler(handler, IronActivateEvent.TYPE); } /** *

Fired when an item is deselected

* * JavaScript Info: * @event iron-deselect */ public HandlerRegistration addIronDeselectHandler(IronDeselectEventHandler handler) { return addDomHandler(handler, IronDeselectEvent.TYPE); } /** *

Fired when the list of selectable items changes (e.g., items are
added or removed). The detail of the event is a mutation record that
describes what changed.

* * JavaScript Info: * @event iron-items-changed */ public HandlerRegistration addIronItemsChangedHandler(IronItemsChangedEventHandler handler) { return addDomHandler(handler, IronItemsChangedEvent.TYPE); } /** *

Fired when an item is selected

* * JavaScript Info: * @event iron-select */ public HandlerRegistration addIronSelectHandler(IronSelectEventHandler handler) { return addDomHandler(handler, IronSelectEvent.TYPE); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy