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

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

There is a newer version: 1.9.3.1
Show newest version
/*
 * This code was generated with Vaadin Web Component GWT API Generator, 
 * from paper-header-panel 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.element.*;

import com.vaadin.polymer.content.widget.event.ContentScrollEvent;
import com.vaadin.polymer.content.widget.event.ContentScrollEventHandler;

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

/**
 * 

paper-header-panel contains a header section and a content panel section.

*

Important: The paper-header-panel will not display if its parent does not have a height.

*

Using layout classes, you can make the paper-header-panel fill the screen

*
<body class="fullbleed layout vertical">
 *   <paper-header-panel class="flex">
 *     <paper-toolbar>
 *       <div>Hello World!</div>
 *     </paper-toolbar>
 *   </paper-header-panel>
 * </body>
 * 
 * 
 * 

Special support is provided for scrolling modes when one uses a paper-toolbar or equivalent for the
header section.

*

Example:

*
<paper-header-panel>
 *   <paper-toolbar>Header</paper-toolbar>
 *   <div>Content goes here...</div>
 * </paper-header-panel>
 * 
 * 
 * 

If you want to use other than paper-toolbar for the header, add paper-header class to that
element.

*

Example:

*
<paper-header-panel>
 *   <div class="paper-header">Header</div>
 *   <div>Content goes here...</div>
 * </paper-header-panel>
 * 
 * 
 * 

To have the content fit to the main area, use the fit class.

*
<paper-header-panel>
 *   <div class="paper-header">standard</div>
 *   <div class="fit">content fits 100% below the header</div>
 * </paper-header-panel>
 * 
 * 
 * 

Modes

*

Controls header and scrolling behavior. Options are standard, seamed, waterfall, waterfall-tall, scroll and
cover. Default is standard.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ModeDescription
standardThe header is a step above the panel. The header will consume the panel at the point of entry, preventing it from passing through to the opposite side.
seamedThe header is presented as seamed with the panel.
waterfallSimilar to standard mode, but header is initially presented as seamed with panel, but then separates to form the step.
waterfall-tallThe header is initially taller (tall class is added to the header). As the user scrolls, the header separates (forming an edge) while condensing (tall class is removed from the header).
scrollThe header keeps its seam with the panel, and is pushed off screen.
coverThe panel covers the whole paper-header-panel including the header. This allows user to style the panel in such a way that the panel is partially covering the header.
*

Example:

*
<paper-header-panel mode="waterfall">
 *   <div class="paper-header">standard</div>
 *   <div class="content fit">content fits 100% below the header</div>
 * </paper-header-panel>
 * 
 * 
 * 
 * 

Styling header panel:

*

To change the shadow that shows up underneath the header:

*
paper-header-panel {
 *   --paper-header-panel-shadow: {
 *       height: 6px;
 *       bottom: -6px;
 *       box-shadow: inset 0px 5px 6px -3px rgba(0, 0, 0, 0.4);
 *   };
 * }
 * 
 * 
 * 

To change the panel container in different modes:

*
paper-slider {
 *   --paper-header-panel-standard-container: {
 *     border: 1px solid gray;
 *   };
 * 
 *   --paper-header-panel-cover-container: {
 *     border: 1px solid gray;
 *   };
 * 
 *   --paper-header-panel-waterfall-container: {
 *     border: 1px solid gray;
 *   };
 * 
 *   --paper-header-panel-waterfall-tall-container: {
 *     border: 1px solid gray;
 *   };
 * }
 * 
 * 
 * 
*/ public class PaperHeaderPanel extends PolymerWidget { /** * Default Constructor. */ public PaperHeaderPanel() { this(""); } /** * Constructor used by UIBinder to create widgets with content. */ public PaperHeaderPanel(String html) { super(PaperHeaderPanelElement.TAG, PaperHeaderPanelElement.SRC, html); getPolymerElement().addEventListener( com.vaadin.polymer.content.element.event.ContentScrollEvent.NAME, new com.vaadin.polymer.content.element.event.ContentScrollEvent.Listener() { @Override protected void handleEvent(com.vaadin.polymer.content.element.event.ContentScrollEvent event) { fireEvent(new ContentScrollEvent(event)); } }); } /** * Gets a handle to the Polymer object's underlying DOM element. */ public PaperHeaderPanelElement getPolymerElement() { return (PaperHeaderPanelElement) getElement(); } /** *

If true, the scroller is at the top

* * JavaScript Info: * @property atTop * @type Boolean * */ public boolean getAtTop(){ return getPolymerElement().getAtTop(); } /** *

If true, the scroller is at the top

* * JavaScript Info: * @property atTop * @type Boolean * */ public void setAtTop(boolean value) { getPolymerElement().setAtTop(value); } /** *

Returns the header element

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

Controls header and scrolling behavior. Options are
standard, seamed, waterfall, waterfall-tall, scroll and
cover. Default is standard.

*

standard: The header is a step above the panel. The header will consume the
panel at the point of entry, preventing it from passing through to the
opposite side.

*

seamed: The header is presented as seamed with the panel.

*

waterfall: Similar to standard mode, but header is initially presented as
seamed with panel, but then separates to form the step.

*

waterfall-tall: The header is initially taller (tall class is added to
the header). As the user scrolls, the header separates (forming an edge)
while condensing (tall class is removed from the header).

*

scroll: The header keeps its seam with the panel, and is pushed off screen.

*

cover: The panel covers the whole paper-header-panel including the
header. This allows user to style the panel in such a way that the panel is
partially covering the header.

*
<paper-header-panel mode="cover">
     *   <paper-toolbar class="tall">
     *     <core-icon-button icon="menu"></core-icon-button>
     *   </paper-toolbar>
     *   <div class="content"></div>
     * </paper-header-panel>
     * 
     * 
* * JavaScript Info: * @property mode * @type String * */ public String getMode(){ return getPolymerElement().getMode(); } /** *

Controls header and scrolling behavior. Options are
standard, seamed, waterfall, waterfall-tall, scroll and
cover. Default is standard.

*

standard: The header is a step above the panel. The header will consume the
panel at the point of entry, preventing it from passing through to the
opposite side.

*

seamed: The header is presented as seamed with the panel.

*

waterfall: Similar to standard mode, but header is initially presented as
seamed with panel, but then separates to form the step.

*

waterfall-tall: The header is initially taller (tall class is added to
the header). As the user scrolls, the header separates (forming an edge)
while condensing (tall class is removed from the header).

*

scroll: The header keeps its seam with the panel, and is pushed off screen.

*

cover: The panel covers the whole paper-header-panel including the
header. This allows user to style the panel in such a way that the panel is
partially covering the header.

*
<paper-header-panel mode="cover">
     *   <paper-toolbar class="tall">
     *     <core-icon-button icon="menu"></core-icon-button>
     *   </paper-toolbar>
     *   <div class="content"></div>
     * </paper-header-panel>
     * 
     * 
* * JavaScript Info: * @property mode * @type String * */ public void setMode(String value) { getPolymerElement().setMode(value); } /** *

Returns the scrollable element.

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

If true, the drop-shadow is always shown no matter what mode is set to.

* * JavaScript Info: * @property shadow * @type Boolean * */ public boolean getShadow(){ return getPolymerElement().getShadow(); } /** *

If true, the drop-shadow is always shown no matter what mode is set to.

* * JavaScript Info: * @property shadow * @type Boolean * */ public void setShadow(boolean value) { getPolymerElement().setShadow(value); } /** *

The class used in waterfall-tall mode. Change this if the header
accepts a different class for toggling height, e.g. “medium-tall”

* * JavaScript Info: * @property tallClass * @type String * */ public String getTallClass(){ return getPolymerElement().getTallClass(); } /** *

The class used in waterfall-tall mode. Change this if the header
accepts a different class for toggling height, e.g. “medium-tall”

* * JavaScript Info: * @property tallClass * @type String * */ public void setTallClass(String value) { getPolymerElement().setTallClass(value); } /** *

Returns true if the scroller has a visible shadow.

* * JavaScript Info: * @method visibleShadow * */ public void visibleShadow() { getPolymerElement().visibleShadow(); } /** * * * JavaScript Info: * @method detached * */ public void detached() { getPolymerElement().detached(); } /** * * * JavaScript Info: * @property observers * @type Array * */ public JsArray getObservers(){ return getPolymerElement().getObservers(); } /** * * * JavaScript Info: * @property observers * @type Array * */ public void setObservers(JsArray value) { getPolymerElement().setObservers(value); } /** *

Fired when the content has been scrolled. event.detail.target returns
the scrollable element which you can use to access scroll info such as
scrollTop.

*
<paper-header-panel on-content-scroll="{{scrollHandler}}">
     *   ...
     * </paper-header-panel>
     * 
     * 
     * scrollHandler: function(event) {
     *   var scroller = event.detail.target;
     *   console.log(scroller.scrollTop);
     * }
     * 
     * 
     * 
* * JavaScript Info: * @event content-scroll */ public HandlerRegistration addContentScrollHandler(ContentScrollEventHandler handler) { return addHandler(handler, ContentScrollEvent.TYPE); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy