com.vaadin.polymer.iron.widget.IronSelector Maven / Gradle / Ivy
/*
* This code was generated with Vaadin Web Component GWT API Generator,
* from iron-selector project by The Polymer Authors
* that is licensed with http://polymer.github.io/LICENSE.txt license.
*/
package com.vaadin.polymer.iron.widget;
import com.vaadin.polymer.iron.*;
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;
/**
* iron-selector
is an element which can be used to manage a list of elements
that can be selected. Tapping on the item will make the item selected. The selected
indicates
which item is being selected. The default is to use the index of the item.
* Example:
* <iron-selector selected="0">
* <div>Item 1</div>
* <div>Item 2</div>
* <div>Item 3</div>
* </iron-selector>
*
*
*
If you want to use the attribute value of an element for selected
instead of the index,
set attrForSelected
to the name of the attribute. For example, if you want to select item by
name
, set attrForSelected
to name
.
* Example:
* <iron-selector attr-for-selected="name" selected="foo">
* <div name="foo">Foo</div>
* <div name="bar">Bar</div>
* <div name="zot">Zot</div>
* </iron-selector>
*
*
*
You can specify a default fallback with fallbackSelection
in case the selected
attribute does
not match the attrForSelected
attribute of any elements.
* Example:
* <iron-selector attr-for-selected="name" selected="non-existing"
* fallback-selection="default">
* <div name="foo">Foo</div>
* <div name="bar">Bar</div>
* <div name="default">Default</div>
* </iron-selector>
*
*
*
Note: When the selector is multi, the selection will set to fallbackSelection
iff
the number of matching elements is zero.
* iron-selector
is not styled. Use the iron-selected
CSS class to style the selected element.
* Example:
* <style>
* .iron-selected {
* background: #eee;
* }
* </style>
*
* ...
*
* <iron-selector selected="0">
* <div>Item 1</div>
* <div>Item 2</div>
* <div>Item 3</div>
* </iron-selector>
*
*
*
*/
public class IronSelector extends PolymerWidget {
/**
* Default Constructor.
*/
public IronSelector() {
this("");
}
/**
* Constructor used by UIBinder to create widgets with content.
*/
public IronSelector(String html) {
super(IronSelectorElement.TAG, IronSelectorElement.SRC, html);
}
/**
* Gets a handle to the Polymer object's underlying DOM element.
*/
public IronSelectorElement getPolymerElement() {
return (IronSelectorElement) getElement();
}
/**
* If true, multiple selections are allowed.
*
* JavaScript Info:
* @property multi
* @type Boolean
*
*/
public boolean getMulti() {
return getPolymerElement().getMulti();
}
/**
* If true, multiple selections are allowed.
*
* JavaScript Info:
* @property multi
* @type Boolean
*
*/
public void setMulti(boolean value) {
getPolymerElement().setMulti(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);
}
/**
* Gets or sets the selected element. The default is to use the index of the item.
*
* JavaScript Info:
* @property selected
* @type (string|number)
*
*/
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)
*
*/
public void setSelected(Object value) {
getPolymerElement().setSelected(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);
}
/**
* 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);
}
/**
* Returns an array of currently selected items.
*
* JavaScript Info:
* @property selectedItems
* @type Array
*
*/
public JsArray getSelectedItems() {
return getPolymerElement().getSelectedItems();
}
/**
* Returns an array of currently selected items.
*
* JavaScript Info:
* @property selectedItems
* @type Array
*
*/
public void setSelectedItems(JsArray value) {
getPolymerElement().setSelectedItems(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 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);
}
/**
* 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);
}
/**
* 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);
}
/**
* 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);
}
/**
* 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);
}
// 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
/**
* Returns the currently selected item.
*
* JavaScript Info:
* @attribute selected-item
*
*/
public void setSelectedItem(String value) {
Polymer.property(this.getPolymerElement(), "selectedItem", 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
*
*/
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
/**
* Returns an array of currently selected items.
*
* JavaScript Info:
* @attribute selected-items
*
*/
public void setSelectedItems(String value) {
Polymer.property(this.getPolymerElement(), "selectedItems", 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);
}
/**
*
*
* JavaScript Info:
* @method multiChanged
* @param {} multi
*
*
*/
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 previous item.
*
* JavaScript Info:
* @method selectPrevious
*
*
*/
public void selectPrevious() {
getPolymerElement().selectPrevious();
}
/**
* Selects the next item.
*
* JavaScript Info:
* @method selectNext
* @behavior PaperTabs
*
*/
public void selectNext() {
getPolymerElement().selectNext();
}
/**
* 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 the index of the given item.
*
* JavaScript Info:
* @method indexOf
* @param {Object} item
*
*
*/
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);
}
}