123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- package com.vaadin.tests.components.loginform;
-
- import java.util.Optional;
-
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.tests.components.AbstractReindeerTestUI;
- import com.vaadin.ui.Button;
- import com.vaadin.ui.Button.ClickListener;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.ui.Label;
- import com.vaadin.ui.LoginForm;
- import com.vaadin.ui.VerticalLayout;
-
- public class LoginFormUI extends AbstractReindeerTestUI {
-
- private HorizontalLayout loginFormLayout;
- protected LoginForm loginForm;
-
- @Override
- protected void setup(VaadinRequest request) {
- loginFormLayout = new HorizontalLayout();
-
- loginForm = new LoginForm();
- loginForm.setSizeUndefined();
- getUsernameCaption().ifPresent(loginForm::setUsernameCaption);
- getPasswordCaption().ifPresent(loginForm::setPasswordCaption);
- getLoginCaption().ifPresent(loginForm::setLoginButtonCaption);
- updateCaption();
- loginForm.addLoginListener(event -> login(event.getSource(),
- event.getLoginParameter("username"),
- event.getLoginParameter("password")));
-
- loginFormLayout.addComponent(loginForm);
-
- Button changeWidth = new Button("Change width",
- (ClickListener) event -> {
- if (loginForm.getWidth() < 0) {
- loginForm.setWidth("300px");
- } else {
- loginForm.setWidth(null);
- }
- updateCaption();
- });
-
- Button changeHeight = new Button("Change height",
- (ClickListener) event -> {
- if (loginForm.getHeight() < 0) {
- loginForm.setHeight("200px");
- } else {
- loginForm.setHeight(null);
- }
- updateCaption();
- });
-
- addComponent(loginFormLayout);
- addComponent(changeWidth);
- addComponent(changeHeight);
-
- }
-
- protected Optional<String> getUsernameCaption() {
- return Optional.empty();
- }
-
- protected Optional<String> getPasswordCaption() {
- return Optional.empty();
- }
-
- protected Optional<String> getLoginCaption() {
- return Optional.empty();
- }
-
- protected void updateCaption() {
- float width = loginForm.getWidth();
- float height = loginForm.getHeight();
-
- String w = width < 0 ? "auto" : (int) width + "px";
- String h = height < 0 ? "auto" : (int) height + "px";
-
- loginForm.setCaption("LoginForm (" + w + "/" + h + ")");
- }
-
- protected void login(LoginForm loginForm, String user, String password) {
- VerticalLayout infoLayout = new VerticalLayout();
-
- Label info = new Label(
- "User '" + user + "', password='" + password + "' logged in");
- info.setId("info");
- Button logoutButton = new Button("Log out", (ClickListener) event -> {
- Button b = event.getButton();
- loginFormLayout.replaceComponent(b.getParent(),
- (LoginForm) b.getData());
- });
- logoutButton.setData(loginForm);
-
- infoLayout.addComponent(info);
- infoLayout.addComponent(logoutButton);
-
- loginFormLayout.replaceComponent(loginForm, infoLayout);
-
- }
-
- @Override
- protected String getTestDescription() {
- return "Basic test for the LoginForm component.";
- }
-
- @Override
- protected Integer getTicketNumber() {
- return 3597;
- }
-
- }
|