com.vaadin.polymer.paper.PaperMenuElement Maven / Gradle / Ivy
/*
* 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;
import com.vaadin.polymer.elemental.*;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
import jsinterop.annotations.JsOverlay;
import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;
/**
* 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 property
* Description
* Default
*
*
*
*
* --paper-menu-background-color
* Menu background color
* --primary-background-color
*
*
* --paper-menu-color
* Menu foreground color
* --primary-text-color
*
*
* --paper-menu-disabled-color
* Foreground color for a disabled item
* --disabled-text-color
*
*
* --paper-menu
* Mixin applied to the menu
* {}
*
*
* --paper-menu-selected-item
* Mixin applied to the selected item
* {}
*
*
* --paper-menu-focused-item
* Mixin applied to the focused item
* {}
*
*
* --paper-menu-focused-item-after
* Mixin 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.
*/
@JsType(isNative=true)
public interface PaperMenuElement extends HTMLElement {
@JsOverlay public static final String TAG = "paper-menu";
@JsOverlay public static final String SRC = "paper-menu/paper-menu.html";
/**
* 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
*/
@JsProperty boolean 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
*/
@JsProperty void setStopKeyboardEventPropagation(boolean value);
/**
* The list of items from which a selection can be made.
*
* JavaScript Info:
* @property items
* @type Array
* @behavior PaperTabs
*/
@JsProperty JsArray getItems();
/**
* The list of items from which a selection can be made.
*
* JavaScript Info:
* @property items
* @type Array
* @behavior PaperTabs
*/
@JsProperty void setItems(JsArray value);
/**
* If true, multiple selections are allowed.
*
* JavaScript Info:
* @property multi
* @type Boolean
* @behavior PaperTabs
*/
@JsProperty boolean getMulti();
/**
* If true, multiple selections are allowed.
*
* JavaScript Info:
* @property multi
* @type Boolean
* @behavior PaperTabs
*/
@JsProperty void setMulti(boolean 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
*/
@JsProperty Object 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
*/
@JsProperty void setSelected(Object value);
/**
* Returns an array of currently selected items.
*
* JavaScript Info:
* @property selectedItems
* @type Array
* @behavior PaperTabs
*/
@JsProperty JsArray getSelectedItems();
/**
* Returns an array of currently selected items.
*
* JavaScript Info:
* @property selectedItems
* @type Array
* @behavior PaperTabs
*/
@JsProperty void setSelectedItems(JsArray 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
*/
@JsProperty JsArray 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
*/
@JsProperty void setSelectedValues(JsArray value);
/**
*
*
* JavaScript Info:
* @property disabled
* @type Boolean
* @behavior PaperTabs
*/
@JsProperty boolean getDisabled();
/**
*
*
* JavaScript Info:
* @property disabled
* @type Boolean
* @behavior PaperTabs
*/
@JsProperty void setDisabled(boolean value);
/**
* Returns the currently selected item.
*
* JavaScript Info:
* @property selectedItem
* @type ?Object
* @behavior PaperTabs
*/
@JsProperty JavaScriptObject getSelectedItem();
/**
* Returns the currently selected item.
*
* JavaScript Info:
* @property selectedItem
* @type ?Object
* @behavior PaperTabs
*/
@JsProperty void setSelectedItem(JavaScriptObject value);
/**
*
*
* JavaScript Info:
* @property keyBindings
* @type Object
* @behavior PaperTabs
*/
@JsProperty JavaScriptObject getKeyBindings();
/**
*
*
* JavaScript Info:
* @property keyBindings
* @type Object
* @behavior PaperTabs
*/
@JsProperty void setKeyBindings(JavaScriptObject value);
/**
* Returns the currently focused item.
*
* JavaScript Info:
* @property focusedItem
* @type ?Object
* @behavior PaperTabs
*/
@JsProperty JavaScriptObject getFocusedItem();
/**
* Returns the currently focused item.
*
* JavaScript Info:
* @property focusedItem
* @type ?Object
* @behavior PaperTabs
*/
@JsProperty void setFocusedItem(JavaScriptObject 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
*/
@JsProperty JavaScriptObject 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
*/
@JsProperty void setKeyEventTarget(JavaScriptObject value);
/**
* The class to set on elements when selected.
*
* JavaScript Info:
* @property selectedClass
* @type String
* @behavior PaperTabs
*/
@JsProperty String getSelectedClass();
/**
* The class to set on elements when selected.
*
* JavaScript Info:
* @property selectedClass
* @type String
* @behavior PaperTabs
*/
@JsProperty void setSelectedClass(String 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
*/
@JsProperty String 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
*/
@JsProperty void setSelectable(String value);
/**
* Default fallback if the selection based on selected with attrForSelected
is not found.
*
* JavaScript Info:
* @property fallbackSelection
* @type String
* @behavior PaperTabs
*/
@JsProperty String getFallbackSelection();
/**
* Default fallback if the selection based on selected with attrForSelected
is not found.
*
* JavaScript Info:
* @property fallbackSelection
* @type String
* @behavior PaperTabs
*/
@JsProperty void setFallbackSelection(String 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
*/
@JsProperty String 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
*/
@JsProperty void setAttrForSelected(String 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
*/
@JsProperty String 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
*/
@JsProperty void setActivateEvent(String value);
/**
* The attribute to set on elements when selected.
*
* JavaScript Info:
* @property selectedAttribute
* @type String
* @behavior PaperTabs
*/
@JsProperty String getSelectedAttribute();
/**
* The attribute to set on elements when selected.
*
* JavaScript Info:
* @property selectedAttribute
* @type String
* @behavior PaperTabs
*/
@JsProperty void setSelectedAttribute(String 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
*/
@JsProperty String 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
*/
@JsProperty void setAttrForItemTitle(String 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
*
*/
void select(Object 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
*
*/
void addOwnKeyBinding(Object eventString, Object handlerName);
/**
*
*
* JavaScript Info:
* @method multiChanged
* @param {} multi
* @behavior PaperTabs
*
*/
void multiChanged(Object multi);
/**
* Selects the item at the given index.
*
* JavaScript Info:
* @method selectIndex
* @param {} index
* @behavior PaperTabs
*
*/
void selectIndex(Object index);
/**
* Selects the next item.
*
* JavaScript Info:
* @method selectNext
* @behavior PaperTabs
*
*/
void selectNext();
/**
* Selects the previous item.
*
* JavaScript Info:
* @method selectPrevious
* @behavior PaperTabs
*
*/
void selectPrevious();
/**
* When called, will remove all imperatively-added key bindings.
*
* JavaScript Info:
* @method removeOwnKeyBindings
* @behavior VaadinDatePicker
*
*/
void 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
*
*/
void forceSynchronousItemUpdate();
/**
* Returns true if a keyboard event matches eventString
.
*
* JavaScript Info:
* @method keyboardEventMatchesKeys
* @param {KeyboardEvent} event
* @param {string} eventString
* @behavior VaadinDatePicker
* @return {boolean}
*/
boolean keyboardEventMatchesKeys(JavaScriptObject event, String eventString);
/**
* Returns the index of the given item.
*
* JavaScript Info:
* @method indexOf
* @param {Object} item
* @behavior PaperTabs
*
*/
void indexOf(JavaScriptObject item);
}