package org.vaadin.elements.demo;
import org.vaadin.elements.ElementIntegration;
import org.vaadin.elements.Root;
import com.vaadin.annotations.HtmlImport;
import com.vaadin.ui.Component;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Notification;
@HtmlImport("vaadin://bower_components/paper-button/paper-button.html")
@HtmlImport("vaadin://bower_components/paper-slider/paper-slider.html")
public class PaperElementsDemo extends AbstractElementsDemo {
@Override
protected String getDemoDescription() {
return "This demo shows how to create custom Element types to provide a type-safe API for modifying the element's attributes.";
}
@Override
protected Component getDemoView() {
PaperButton basicButton = PaperButton.create("Basic button");
basicButton.setRaised(true);
basicButton.addEventListener("click", args -> {
Notification.show("Clicked");
});
PaperButton notRaisedButton = PaperButton.create("Not raised");
notRaisedButton.setRaised(false);
PaperButton noInkButton = PaperButton.create("No ink");
noInkButton.setRaised(true);
noInkButton.setNoink(true);
PaperButton disabledButton = PaperButton.create("Disabled");
disabledButton.setDisabled(true);
Layout horizontal = Layout.horizontal();
horizontal.setJustified(true);
horizontal.setAttribute("style", "width: 600px");
horizontal.appendChild(basicButton);
horizontal.appendChild(notRaisedButton);
horizontal.appendChild(noInkButton);
horizontal.appendChild(disabledButton);
PaperSlider slider = PaperSlider.create();
slider.setValue(50);
slider.addEventListener("change", arguments -> {
Notification.show("Value changed to " + slider.getValue());
});
Layout vertical = Layout.vertical();
vertical.appendHtml("<h2>Slider</h2>");
vertical.appendChild(slider);
vertical.appendHtml("<h2>Buttons</h2>");
vertical.appendChild(horizontal);
CssLayout wrapper = new CssLayout();
Root root = ElementIntegration.getRoot(wrapper);
root.appendChild(vertical);
return wrapper;
}
}