com.vaadin.polymer.paper.widget.PaperButton Maven / Gradle / Ivy
/*
* This code was generated with Vaadin Web Component GWT API Generator,
* from paper-button 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.paper.widget.event.TransitionendEvent;
import com.vaadin.polymer.paper.widget.event.TransitionendEventHandler;
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: Buttons
* paper-button
is a button. When the user touches the button, a ripple effect emanates
from the point of contact. It may be flat or raised. A raised button is styled with a
shadow.
* Example:
* <paper-button>Flat button</paper-button>
* <paper-button raised>Raised button</paper-button>
* <paper-button noink>No ripple effect</paper-button>
* <paper-button toggles>Toggle-able button</paper-button>
*
*
*
A button that has toggles
true will remain active
after being clicked (and
will have an active
attribute set). For more information, see the Polymer.IronButtonState
behavior.
* You may use custom DOM in the button body to create a variety of buttons. For example, to
create a button with an icon and some text:
* <paper-button>
* <iron-icon icon="favorite"></iron-icon>
* custom button content
* </paper-button>
*
*
*
To use paper-button
as a link, wrap it in an anchor tag. Since paper-button
will already
receive focus, you may want to prevent the anchor tag from receiving focus as well by setting
its tabindex to -1.
* <a href="https://www.polymer-project.org/" tabindex="-1">
* <paper-button raised>Polymer Project</paper-button>
* </a>
*
*
*
Styling
* Style the button with CSS as you would a normal DOM element.
* paper-button.fancy {
* background: green;
* color: yellow;
* }
*
* paper-button.fancy:hover {
* background: lime;
* }
*
* paper-button[disabled],
* paper-button[toggles][active] {
* background: red;
* }
*
*
*
By default, the ripple is the same color as the foreground at 25% opacity. You may
customize the color using the --paper-button-ink-color
custom property.
* The following custom properties and mixins are also available for styling:
*
*
*
* Custom property
* Description
* Default
*
*
*
*
* --paper-button-ink-color
* Background color of the ripple
* Based on the button's color
*
*
* --paper-button
* Mixin applied to the button
* {}
*
*
* --paper-button-disabled
* Mixin applied to the disabled button. Note that you can also use the paper-button[disabled]
selector
* {}
*
*
* --paper-button-flat-keyboard-focus
* Mixin applied to a flat button after it’s been focused using the keyboard
* {}
*
*
* --paper-button-raised-keyboard-focus
* Mixin applied to a raised button after it’s been focused using the keyboard
* {}
*
*
*
*/
public class PaperButton extends PolymerWidget {
/**
* Default Constructor.
*/
public PaperButton() {
this("");
}
/**
* Constructor used by UIBinder to create widgets with content.
*/
public PaperButton(String html) {
super(PaperButtonElement.TAG, PaperButtonElement.SRC, html);
}
/**
* Gets a handle to the Polymer object's underlying DOM element.
*/
public PaperButtonElement getPolymerElement() {
return (PaperButtonElement) getElement();
}
/**
* If true, the button should be styled with a shadow.
*
* JavaScript Info:
* @property raised
* @type Boolean
*
*/
public boolean getRaised() {
return getPolymerElement().getRaised();
}
/**
* If true, the button should be styled with a shadow.
*
* JavaScript Info:
* @property raised
* @type Boolean
*
*/
public void setRaised(boolean value) {
getPolymerElement().setRaised(value);
}
/**
*
*
* JavaScript Info:
* @property keyBindings
* @type Object
* @behavior PaperTab
*/
public JavaScriptObject getKeyBindings() {
return getPolymerElement().getKeyBindings();
}
/**
*
*
* JavaScript Info:
* @property keyBindings
* @type Object
* @behavior PaperTab
*/
public void setKeyBindings(JavaScriptObject value) {
getPolymerElement().setKeyBindings(value);
}
/**
* The z-depth of this element, from 0-5. Setting to 0 will remove the
shadow, and each increasing number greater than 0 will be “deeper”
than the last.
*
* JavaScript Info:
* @property elevation
* @type Number
* @behavior PaperFab
*/
public double getElevation() {
return getPolymerElement().getElevation();
}
/**
* The z-depth of this element, from 0-5. Setting to 0 will remove the
shadow, and each increasing number greater than 0 will be “deeper”
than the last.
*
* JavaScript Info:
* @property elevation
* @type Number
* @behavior PaperFab
*/
public void setElevation(double value) {
getPolymerElement().setElevation(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);
}
/**
* If true, the user is currently holding down the button.
*
* JavaScript Info:
* @property pressed
* @type Boolean
* @behavior PaperTab
*/
public boolean getPressed() {
return getPolymerElement().getPressed();
}
/**
* If true, the user is currently holding down the button.
*
* JavaScript Info:
* @property pressed
* @type Boolean
* @behavior PaperTab
*/
public void setPressed(boolean value) {
getPolymerElement().setPressed(value);
}
/**
* True if the input device that caused the element to receive focus
was a keyboard.
*
* JavaScript Info:
* @property receivedFocusFromKeyboard
* @type Boolean
* @behavior PaperTab
*/
public boolean getReceivedFocusFromKeyboard() {
return getPolymerElement().getReceivedFocusFromKeyboard();
}
/**
* True if the input device that caused the element to receive focus
was a keyboard.
*
* JavaScript Info:
* @property receivedFocusFromKeyboard
* @type Boolean
* @behavior PaperTab
*/
public void setReceivedFocusFromKeyboard(boolean value) {
getPolymerElement().setReceivedFocusFromKeyboard(value);
}
/**
* 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);
}
/**
* If true, the button toggles the active state with each tap or press
of the spacebar.
*
* JavaScript Info:
* @property toggles
* @type Boolean
* @behavior PaperTab
*/
public boolean getToggles() {
return getPolymerElement().getToggles();
}
/**
* If true, the button toggles the active state with each tap or press
of the spacebar.
*
* JavaScript Info:
* @property toggles
* @type Boolean
* @behavior PaperTab
*/
public void setToggles(boolean value) {
getPolymerElement().setToggles(value);
}
/**
* If true, the button is a toggle and is currently in the active state.
*
* JavaScript Info:
* @property active
* @type Boolean
* @behavior PaperTab
*/
public boolean getActive() {
return getPolymerElement().getActive();
}
/**
* If true, the button is a toggle and is currently in the active state.
*
* JavaScript Info:
* @property active
* @type Boolean
* @behavior PaperTab
*/
public void setActive(boolean value) {
getPolymerElement().setActive(value);
}
/**
* If true, the element will not produce a ripple effect when interacted
with via the pointer.
*
* JavaScript Info:
* @property noink
* @type Boolean
* @behavior PaperFab
*/
public boolean getNoink() {
return getPolymerElement().getNoink();
}
/**
* If true, the element will not produce a ripple effect when interacted
with via the pointer.
*
* JavaScript Info:
* @property noink
* @type Boolean
* @behavior PaperFab
*/
public void setNoink(boolean value) {
getPolymerElement().setNoink(value);
}
/**
* If true, the user cannot interact with this element.
*
* JavaScript Info:
* @property disabled
* @type Boolean
* @behavior PaperTab
*/
public boolean getDisabled() {
return getPolymerElement().getDisabled();
}
/**
* If true, the user cannot interact with this element.
*
* JavaScript Info:
* @property disabled
* @type Boolean
* @behavior PaperTab
*/
public void setDisabled(boolean value) {
getPolymerElement().setDisabled(value);
}
/**
* If true, the element currently has focus.
*
* JavaScript Info:
* @property focused
* @type Boolean
* @behavior PaperTab
*/
public boolean getFocused() {
return getPolymerElement().getFocused();
}
/**
* If true, the element currently has focus.
*
* JavaScript Info:
* @property focused
* @type Boolean
* @behavior PaperTab
*/
public void setFocused(boolean value) {
getPolymerElement().setFocused(value);
}
/**
* True if the element is currently being pressed by a “pointer,” which
is loosely defined as mouse or touch input (but specifically excluding
keyboard input).
*
* JavaScript Info:
* @property pointerDown
* @type Boolean
* @behavior PaperTab
*/
public boolean getPointerDown() {
return getPolymerElement().getPointerDown();
}
/**
* True if the element is currently being pressed by a “pointer,” which
is loosely defined as mouse or touch input (but specifically excluding
keyboard input).
*
* JavaScript Info:
* @property pointerDown
* @type Boolean
* @behavior PaperTab
*/
public void setPointerDown(boolean value) {
getPolymerElement().setPointerDown(value);
}
/**
* The aria attribute to be set if the button is a toggle and in the
active state.
*
* JavaScript Info:
* @property ariaActiveAttribute
* @type String
* @behavior PaperTab
*/
public String getAriaActiveAttribute() {
return getPolymerElement().getAriaActiveAttribute();
}
/**
* The aria attribute to be set if the button is a toggle and in the
active state.
*
* JavaScript Info:
* @property ariaActiveAttribute
* @type String
* @behavior PaperTab
*/
public void setAriaActiveAttribute(String value) {
getPolymerElement().setAriaActiveAttribute(value);
}
// Needed in UIBinder
/**
* The z-depth of this element, from 0-5. Setting to 0 will remove the
shadow, and each increasing number greater than 0 will be “deeper”
than the last.
*
* JavaScript Info:
* @attribute elevation
* @behavior PaperFab
*/
public void setElevation(String value) {
Polymer.property(this.getPolymerElement(), "elevation", 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
/**
* To be used to express what combination of keys will trigger the relative
callback. e.g. keyBindings: { 'esc': '_onEscPressed'}
*
* JavaScript Info:
* @attribute key-bindings
* @behavior VaadinDatePicker
*/
public void setKeyBindings(String value) {
Polymer.property(this.getPolymerElement(), "keyBindings", 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);
}
/**
* Returns the <paper-ripple>
element used by this element to create
ripple effects. The element’s ripple is created on demand, when
necessary, and calling this method will force the
ripple to be created.
*
* JavaScript Info:
* @method getRipple
* @behavior PaperFab
*
*/
public void getRipple() {
getPolymerElement().getRipple();
}
/**
* Returns true if this element currently contains a ripple effect.
*
* JavaScript Info:
* @method hasRipple
* @behavior PaperFab
* @return {boolean}
*/
public boolean hasRipple() {
return getPolymerElement().hasRipple();
}
/**
* When called, will remove all imperatively-added key bindings.
*
* JavaScript Info:
* @method removeOwnKeyBindings
* @behavior VaadinDatePicker
*
*/
public void removeOwnKeyBindings() {
getPolymerElement().removeOwnKeyBindings();
}
/**
* Ensures this element contains a ripple effect. For startup efficiency
the ripple effect is dynamically on demand when needed.
*
* JavaScript Info:
* @method ensureRipple
* @param {!Event=} optTriggeringEvent
* @behavior PaperTab
*
*/
public void ensureRipple(JavaScriptObject optTriggeringEvent) {
getPolymerElement().ensureRipple(optTriggeringEvent);
}
/**
* 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);
}
/**
* Fired when the animation finishes.
* This is useful if you want to wait until
* the ripple animation finishes to perform some action.
*
*
*
*
* JavaScript Info:
* @event transitionend
*/
public HandlerRegistration addTransitionendHandler(TransitionendEventHandler handler) {
return addDomHandler(handler, TransitionendEvent.TYPE);
}
}