import com.vaadin.client.Util;
import com.vaadin.client.ui.aria.AriaHelper;
import com.vaadin.shared.Position;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean.Role;
import com.vaadin.shared.ui.ui.UIConstants;
+import com.vaadin.shared.ui.ui.UIState.NotificationTypeConfiguration;
+import com.vaadin.shared.ui.ui.NotificationRole;
public class VNotification extends VOverlay {
}
public void show(Widget widget, Position position, String style) {
- NotificationConfigurationBean styleSetup = getUiState(style);
+ NotificationTypeConfiguration styleSetup = getUiState(style);
setWaiAriaRole(styleSetup);
FlowPanel panel = new FlowPanel();
- if (styleSetup.hasAssistivePrefix()) {
- panel.add(new Label(styleSetup.getAssistivePrefix()));
+ if (hasPrefix(styleSetup)) {
+ panel.add(new Label(styleSetup.prefix));
AriaHelper.setVisibleForAssistiveDevicesOnly(panel.getElement(),
true);
}
panel.add(widget);
- if (styleSetup.hasAssistivePostfix()) {
- panel.add(new Label(styleSetup.getAssistivePostfix()));
+ if (hasPostfix(styleSetup)) {
+ panel.add(new Label(styleSetup.postfix));
AriaHelper.setVisibleForAssistiveDevicesOnly(panel.getElement(),
true);
}
show(position, style);
}
+ private boolean hasPostfix(NotificationTypeConfiguration styleSetup) {
+ return styleSetup != null && styleSetup.postfix != null && !styleSetup.postfix.isEmpty();
+ }
+
+ private boolean hasPrefix(NotificationTypeConfiguration styleSetup) {
+ return styleSetup != null && styleSetup.prefix != null && !styleSetup.prefix.isEmpty();
+ }
+
public void show(String html, Position position, String style) {
- NotificationConfigurationBean styleSetup = getUiState(style);
+ NotificationTypeConfiguration styleSetup = getUiState(style);
String assistiveDeviceOnlyStyle = AriaHelper.ASSISTIVE_DEVICE_ONLY_STYLE;
setWaiAriaRole(styleSetup);
String type = "";
String usage = "";
- if (styleSetup != null && styleSetup.hasAssistivePrefix()) {
+ if (hasPrefix(styleSetup)) {
type = "<span class='" + assistiveDeviceOnlyStyle + "'>"
- + styleSetup.getAssistivePrefix() + "</span>";
+ + styleSetup.prefix + "</span>";
}
- if (styleSetup != null && styleSetup.hasAssistivePostfix()) {
+ if (hasPostfix(styleSetup)) {
usage = "<span class='" + assistiveDeviceOnlyStyle + "'>"
- + styleSetup.getAssistivePostfix() + "</span>";
+ + styleSetup.postfix + "</span>";
}
setWidget(new HTML(type + html + usage));
show(position, style);
}
- private NotificationConfigurationBean getUiState(String style) {
- NotificationConfigurationBean styleSetup = getApplicationConnection()
- .getUIConnector().getState().notificationConfiguration.setup
+ private NotificationTypeConfiguration getUiState(String style) {
+ return getApplicationConnection()
+ .getUIConnector().getState().notificationConfigurations
.get(style);
- return styleSetup;
}
- private void setWaiAriaRole(NotificationConfigurationBean styleSetup) {
+ private void setWaiAriaRole(NotificationTypeConfiguration styleSetup) {
Roles.getAlertRole().set(getElement());
- if (styleSetup != null && styleSetup.getAssistiveRole() != null) {
- if (Role.STATUS == styleSetup.getAssistiveRole()) {
+ if (styleSetup != null && styleSetup.notificationRole != null) {
+ if (NotificationRole.STATUS == styleSetup.notificationRole) {
Roles.getStatusRole().set(getElement());
}
}
import com.vaadin.shared.Connector;
import com.vaadin.shared.EventId;
import com.vaadin.shared.ui.window.WindowMode;
-import com.vaadin.shared.ui.window.WindowState.WindowRole;
+import com.vaadin.shared.ui.window.WindowRole;
/**
* "Sub window" component.
* current UI instance when a reload is detected.
* <p>
* Whenever a request is received that reloads a preserved UI, the UI's
- * {@link UI#reinit(com.vaadin.server.VaadinRequest) reinit} method is invoked
+ * {@link UI#refresh(com.vaadin.server.VaadinRequest) refresh} method is invoked
* by the framework.
* <p>
* By using
}
public void init(VaadinRequest request) {
- // NOTE: UI.reinit makes assumptions about the semantics of this method.
+ // NOTE: UI.refresh makes assumptions about the semantics of this method.
// It should be kept in sync if this method is changed.
// Extract special parameter sent by vaadinBootstrap.js
* the value of window.name in the browser.
* <p>
* Whenever a preserved UI is reused, its
- * {@link UI#reinit(com.vaadin.server.VaadinRequest) reinit} method is
+ * {@link UI#refresh(com.vaadin.server.VaadinRequest) refresh} method is
* invoked by the framework first.
*
*
*/
private void reinitUI(UI ui, VaadinRequest request) {
UI.setCurrent(ui);
- ui.doReinit(request);
+ ui.doRefresh(request);
}
/**
import com.vaadin.server.Page;
import com.vaadin.server.Resource;
import com.vaadin.shared.Position;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean.Role;
/**
* A notification message, used to display temporary messages to the user - for
*/
public class Notification implements Serializable {
public enum Type {
- HUMANIZED_MESSAGE, WARNING_MESSAGE, ERROR_MESSAGE, TRAY_NOTIFICATION, ASSISTIVE_NOTIFICATION;
+ HUMANIZED_MESSAGE("humanized"), WARNING_MESSAGE("warning"), ERROR_MESSAGE(
+ "error"), TRAY_NOTIFICATION("tray"),
+ /**
+ * @since 7.2
+ */
+ ASSISTIVE_NOTIFICATION("assistive");
+
+ private String style;
+
+ Type(String style) {
+ this.style = style;
+ }
+
+ /**
+ * @since 7.2
+ *
+ * @return the style name for this notification type.
+ */
+ public String getStyle() {
+ return style;
+ }
}
@Deprecated
}
private void setType(Type type) {
+ styleName = type.getStyle();
switch (type) {
case WARNING_MESSAGE:
delayMsec = 1500;
- styleName = "warning";
- setNavigationConfiguration("Warning: ", "", Role.ALERT);
break;
case ERROR_MESSAGE:
delayMsec = -1;
- styleName = "error";
- setNavigationConfiguration("Error: ", " - close with ESC",
- Role.ALERT);
break;
case TRAY_NOTIFICATION:
delayMsec = 3000;
position = Position.BOTTOM_RIGHT;
- styleName = "tray";
- setNavigationConfiguration("Info: ", "", Role.STATUS);
break;
case ASSISTIVE_NOTIFICATION:
delayMsec = 3000;
position = Position.ASSISTIVE;
- styleName = "assistive";
- setNavigationConfiguration("Note: ", "", Role.ALERT);
break;
case HUMANIZED_MESSAGE:
default:
- styleName = "humanized";
- setNavigationConfiguration("Info: ", "", Role.ALERT);
break;
}
}
- private void setNavigationConfiguration(String prefix, String postfix,
- Role ariaRole) {
- UI.getCurrent().getNotificationConfiguration()
- .setStyleConfiguration(styleName, prefix, postfix, ariaRole);
- }
-
/**
* Gets the caption part of the notification message.
*
return styleName;
}
- /**
- * Sets the accessibility prefix for a notification type.
- *
- * This prefix is read to assistive device users before the content of the
- * notification, but not visible on the page.
- *
- * @param type
- * Type of the notification
- * @param prefix
- * String that is placed before the notification content
- */
- public void setAssistivePrefixForType(Type type, String prefix) {
- UI.getCurrent().getNotificationConfiguration()
- .setAssistivePrefixForStyle(getStyle(type), prefix);
- }
-
- /**
- * Gets the accessibility prefix for a notification type.
- *
- * This prefix is read to assistive device users before the content of the
- * notification, but not visible on the page.
- *
- * @param type
- * Type of the notification
- * @return The accessibility prefix for the provided notification type
- */
- public String getAssistivePrefixForType(Type type) {
- return UI.getCurrent().getNotificationConfiguration()
- .getAssistivePrefixForStyle(getStyle(type));
- }
-
- /**
- * Sets the accessibility postfix for a notification type.
- *
- * This postfix is read to assistive device users after the content of the
- * notification, but not visible on the page.
- *
- * @param type
- * Type of the notification
- * @param postfix
- * String that is placed after the notification content
- */
- public void setAssistivePostfixForType(Type type, String postfix) {
- UI.getCurrent().getNotificationConfiguration()
- .setAssistivePostfixForStyle(getStyle(type), postfix);
- }
-
- /**
- * Gets the accessibility postfix for a notification type.
- *
- * This postfix is read to assistive device users after the content of the
- * notification, but not visible on the page.
- *
- * @param type
- * Type of the notification
- * @return The accessibility postfix for the provided notification type
- */
- public String getAssistivePostfixForType(Type type) {
- return UI.getCurrent().getNotificationConfiguration()
- .getAssistivePostfixForStyle(getStyle(type));
- }
-
- /**
- * Sets the WAI-ARIA role for a notification type.
- *
- * This role defines how an assistive device handles a notification.
- * Available roles are alert and status (@see <a
- * href="http://www.w3.org/TR/2011/CR-wai-aria-20110118/roles">Roles
- * Model</a>).
- *
- * The default role is alert.
- *
- * @param type
- * Type of the notification
- * @param role
- * Role to set for the notification type
- */
- public void setAssistiveRoleForType(Type type, Role role) {
- UI.getCurrent().getNotificationConfiguration()
- .setAssistiveRoleForStyle(getStyle(type), role);
- }
-
- /**
- * Gets the WAI-ARIA role for a notification type.
- *
- * This role defines how an assistive device handles a notification.
- * Available roles are alert and status (@see <a
- * href="http://www.w3.org/TR/2011/CR-wai-aria-20110118/roles">Roles
- * Model</a>)
- *
- * The default role is alert.
- *
- * @param type
- * Type of the notification
- * @return Role to set for the notification type
- */
- public Role getAssistiveRoleForType(Type type) {
- return UI.getCurrent().getNotificationConfiguration()
- .getAssistiveRoleForStyle(getStyle(type));
- }
-
- private String getStyle(Type type) {
- String style = "";
-
- switch (type) {
- case WARNING_MESSAGE:
- style = "warning";
- break;
- case ERROR_MESSAGE:
- style = "error";
- break;
- case TRAY_NOTIFICATION:
- style = "tray";
- break;
- case ASSISTIVE_NOTIFICATION:
- style = "assistive";
- break;
- case HUMANIZED_MESSAGE:
- default:
- style = "humanized";
- break;
- }
-
- return style;
- }
-
/**
* Sets whether html is allowed in the caption and description. If set to
* true, the texts are passed to the browser as html and the developer is
import java.io.Serializable;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean.Role;
-import com.vaadin.shared.ui.ui.UIState.NotificationConfigurationState;
+import com.vaadin.shared.ui.ui.NotificationRole;
+import com.vaadin.shared.ui.ui.UIState.NotificationTypeConfiguration;
+import com.vaadin.ui.Notification.Type;
/**
* Provides methods for configuring the notification.
- *
+ *
* @author Vaadin Ltd
- * @since 7.1
+ * @since 7.2
*/
public interface NotificationConfiguration extends Serializable {
- public void setStyleConfiguration(String style, String prefix,
- String postfix, Role ariaRole);
-
/**
- * Returns the complete configuration object for the given notification
- * style.
- *
- * @param style
- * String of the notification style to return
- * @return The notification configuration object
- */
- public NotificationConfigurationBean getStyleConfiguration(String style);
-
- /**
- * Sets the accessibility prefix for the given notification style.
- *
- * This prefix is read to assistive device users in front of the content of
- * the notification, but not visible on the page.
- *
- * @param style
- * String of the notification style
+ * Sets the accessibility prefix for a notification type.
+ * <p>
+ * This prefix is read to assistive device users before the content of the
+ * notification, but not visible on the page.
+ *
+ * @param type
+ * type of the notification
* @param prefix
- * String that is placed before the notification content
+ * string that is placed before the notification content
*/
- public void setAssistivePrefixForStyle(String style, String prefix);
+ public void setAssistivePrefix(Type type, String prefix);
/**
- * Returns the accessibility prefix for the given notification style.
- *
- * This prefix is read to assistive device users in front of the content of
- * the notification, but not visible on the page.
- *
- * @param style
- * String of the notification style
- * @return The prefix of the provided notification style
+ * Gets the accessibility prefix for a notification type.
+ * <p>
+ * This prefix is read to assistive device users before the content of the
+ * notification, but not visible on the page.
+ *
+ * @param type
+ * type of the notification
+ * @return The accessibility prefix for the provided notification type
*/
- public String getAssistivePrefixForStyle(String style);
+ public String getAssistivePrefix(Type type);
/**
- * Sets the accessibility postfix for the given notification style.
- *
+ * Sets the accessibility postfix for a notification type.
+ * <p>
* This postfix is read to assistive device users after the content of the
* notification, but not visible on the page.
- *
- * @param style
- * String of the notification style
+ *
+ * @param type
+ * type of the notification
* @param postfix
- * String that is placed after the notification content
+ * string that is placed after the notification content
*/
- public void setAssistivePostfixForStyle(String style, String postfix);
+ public void setAssistivePostfix(Type type, String postfix);
/**
- * Returns the accessibility postfix for the given notification style.
- *
+ * Gets the accessibility postfix for a notification type.
+ * <p>
* This postfix is read to assistive device users after the content of the
* notification, but not visible on the page.
- *
- * @param style
- * String of the notification style
- * @return The postfix of the provided notification style
+ *
+ * @param type
+ * type of the notification
+ * @return The accessibility postfix for the provided notification type
*/
- public String getAssistivePostfixForStyle(String style);
+ public String getAssistivePostfix(Type type);
/**
- * Sets the WAI-ARIA role for a notification style.
- *
+ * Sets the WAI-ARIA role for a notification type.
+ * <p>
* This role defines how an assistive device handles a notification.
- * Available roles are alert, alertdialog and status (@see <a
+ * Available roles are alert and status (@see <a
* href="http://www.w3.org/TR/2011/CR-wai-aria-20110118/roles">Roles
- * Model</a>)
- *
+ * Model</a>).
+ *
* The default role is alert.
- *
- * @param style
- * String of the notification style
+ *
+ * @param type
+ * type of the notification
* @param role
- * Role to set for the notification type
+ * role to set for the notification type
*/
- public void setAssistiveRoleForStyle(String style, Role role);
+ public void setAssistiveRole(Type type, NotificationRole role);
/**
- * Returns the WAI-ARIA role for a notification style.
- *
+ * Gets the WAI-ARIA role for a notification type.
+ * <p>
* This role defines how an assistive device handles a notification.
- * Available roles are alert, alertdialog and status (@see <a
+ * Available roles are alert and status (@see <a
* href="http://www.w3.org/TR/2011/CR-wai-aria-20110118/roles">Roles
- * Model</a> )
- *
+ * Model</a>)
+ * <p>
* The default role is alert.
- *
- * @param style
- * String of the notification style
- * @return The current Role for the notification type
+ *
+ * @param type
+ * type of the notification
+ * @return role to set for the notification type
*/
- public Role getAssistiveRoleForStyle(String style);
+ public NotificationRole getAssistiveRole(Type type);
}
class NotificationConfigurationImpl implements NotificationConfiguration {
this.ui = ui;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * com.vaadin.ui.NotificationConfiguration#setStyleConfiguration(java.lang
- * .String, java.lang.String, java.lang.String,
- * com.vaadin.ui.NotificationConfiguration.Role)
- */
- @Override
- public void setStyleConfiguration(String style, String prefix,
- String postfix, Role ariaRole) {
- getState().setup.put(style, new NotificationConfigurationBean(prefix,
- postfix, ariaRole));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * com.vaadin.ui.NotificationConfiguration#getStyleConfiguration(java.lang
- * .String)
- */
@Override
- public NotificationConfigurationBean getStyleConfiguration(String style) {
- return getState(false).setup.get(style);
+ public void setAssistivePrefix(Type type, String prefix) {
+ getConfigurationBean(type).prefix = prefix;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * com.vaadin.ui.NotificationConfiguration#setStylePrefix(java.lang.String,
- * java.lang.String)
- */
@Override
- public void setAssistivePrefixForStyle(String style, String prefix) {
- getConfigurationBean(style).setAssistivePrefix(prefix);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * com.vaadin.ui.NotificationConfiguration#getStylePrefix(java.lang.String)
- */
- @Override
- public String getAssistivePrefixForStyle(String style) {
- NotificationConfigurationBean styleSetup = getState().setup.get(style);
+ public String getAssistivePrefix(Type type) {
+ NotificationTypeConfiguration styleSetup = getTypeConf(type);
if (styleSetup != null) {
- return styleSetup.getAssistivePrefix();
+ return styleSetup.prefix;
}
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * com.vaadin.ui.NotificationConfiguration#setStylePostfix(com.vaadin.ui
- * .Notification.Type, java.lang.String)
- */
@Override
- public void setAssistivePostfixForStyle(String style, String postfix) {
- getConfigurationBean(style).setAssistivePostfix(postfix);
+ public void setAssistivePostfix(Type type, String postfix) {
+ getConfigurationBean(type).postfix = postfix;
}
- /*
- * (non-Javadoc)
- *
- * @see
- * com.vaadin.ui.NotificationConfiguration#getStylePostfix(com.vaadin.ui
- * .Notification.Type)
- */
@Override
- public String getAssistivePostfixForStyle(String style) {
- NotificationConfigurationBean styleSetup = getState().setup.get(style);
+ public String getAssistivePostfix(Type type) {
+ NotificationTypeConfiguration styleSetup = getTypeConf(type);
if (styleSetup != null) {
- return styleSetup.getAssistivePostfix();
+ return styleSetup.postfix;
}
return null;
}
- /*
- * (non-Javadoc)
- *
- * @see com.vaadin.ui.NotificationConfiguration#setStyleRole(com.vaadin.ui.
- * Notification.Type, com.vaadin.ui.NotificationConfiguration.Role)
- */
@Override
- public void setAssistiveRoleForStyle(String style, Role role) {
- getConfigurationBean(style).setAssistiveRole(role);
+ public void setAssistiveRole(Type type, NotificationRole role) {
+ getConfigurationBean(type).notificationRole = role;
}
- /*
- * (non-Javadoc)
- *
- * @see com.vaadin.ui.NotificationConfiguration#getStyleRole(com.vaadin.ui.
- * Notification.Type)
- */
@Override
- public Role getAssistiveRoleForStyle(String style) {
- NotificationConfigurationBean styleSetup = getState().setup.get(style);
+ public NotificationRole getAssistiveRole(Type type) {
+ NotificationTypeConfiguration styleSetup = getTypeConf(type);
if (styleSetup != null) {
- return styleSetup.getAssistiveRole();
+ return styleSetup.notificationRole;
}
return null;
}
- private NotificationConfigurationBean getConfigurationBean(String style) {
- NotificationConfigurationBean styleSetup = getState().setup.get(style);
+ private NotificationTypeConfiguration getConfigurationBean(Type type) {
+ NotificationTypeConfiguration styleSetup = getTypeConf(type);
if (styleSetup == null) {
- styleSetup = new NotificationConfigurationBean();
- getState().setup.put(style, styleSetup);
+ styleSetup = new NotificationTypeConfiguration();
+ ui.getState().notificationConfigurations.put(type.getStyle(), styleSetup);
}
return styleSetup;
}
- private NotificationConfigurationState getState() {
- return ui.getState().notificationConfiguration;
+ private NotificationTypeConfiguration getTypeConf(Type type) {
+ return ui.getState().notificationConfigurations.get(type.getStyle());
}
-
- private NotificationConfigurationState getState(boolean markAsDirty) {
- return ui.getState(markAsDirty).notificationConfiguration;
- }
-
}
* @return the created {@link Tab}
*/
public Tab addTab(Component c, String caption, Resource icon) {
- return addTab(c, caption, icon, "", components.size());
- }
-
- /**
- * Adds a new tab into TabSheet.
- *
- * The first tab added to a tab sheet is automatically selected and a tab
- * selection event is fired.
- *
- * If the component is already present in the tab sheet, changes its caption
- * and icon and icon alternate text and returns the corresponding (old) tab,
- * preserving other tab metadata.
- *
- * @param c
- * the component to be added onto tab - should not be null.
- * @param caption
- * the caption to be set for the component and used rendered in
- * tab bar
- * @param icon
- * the icon to be set for the component and used rendered in tab
- * bar
- * @param iconAltText
- * the alternate text for the icon
- * @return the created {@link Tab}
- */
- public Tab addTab(Component c, String caption, Resource icon,
- String iconAltText) {
- return addTab(c, caption, icon, iconAltText, components.size());
+ return addTab(c, caption, icon, components.size());
}
/**
* the position at where the the tab should be added.
* @return the created {@link Tab}
*/
- public Tab addTab(Component c, String caption, Resource icon, int position) {
- return addTab(c, caption, icon, "", position);
- }
-
- /**
- * Adds a new tab into TabSheet.
- *
- * The first tab added to a tab sheet is automatically selected and a tab
- * selection event is fired.
- *
- * If the component is already present in the tab sheet, changes its caption
- * and icon and icon alternate text and returns the corresponding (old) tab,
- * preserving other tab metadata like the position.
- *
- * @param tabComponent
- * the component to be added onto tab - should not be null.
- * @param caption
- * the caption to be set for the component and used rendered in
- * tab bar
- * @param icon
- * the icon to be set for the component and used rendered in tab
- * bar
- * @param iconAltText
- * the alternate text for the icon
- * @param position
- * the position at where the the tab should be added.
- * @return the created {@link Tab}
- */
- public Tab addTab(Component tabComponent, String caption, Resource icon,
- String iconAltText, int position) {
-
+ public Tab addTab(Component tabComponent, String caption, Resource icon, int position) {
if (tabComponent == null) {
return null;
} else if (tabs.containsKey(tabComponent)) {
Tab tab = tabs.get(tabComponent);
tab.setCaption(caption);
- tab.setIcon(icon, iconAltText);
+ tab.setIcon(icon);
return tab;
} else {
components.add(position, tabComponent);
Tab tab = ((TabSheet) source).getTab(c);
caption = tab.getCaption();
icon = tab.getIcon();
- iconAltText = tab.getIconAltText();
+ iconAltText = tab.getIconAlternateText();
}
source.removeComponent(c);
- addTab(c, caption, icon, iconAltText);
-
+ Tab tab = addTab(c, caption, icon);
+ tab.setIconAlternateText(iconAltText);
}
}
/**
* Gets the icon alt text for the tab.
+ *
+ * @since 7.2
*/
- public String getIconAltText();
+ public String getIconAlternateText();
/**
* Sets the icon alt text for the tab.
- *
+ *
+ * @since 7.2
+ *
* @param iconAltText
* the icon to set
*/
- public void setIconAltText(String iconAltText);
+ public void setIconAlternateText(String iconAltText);
/**
* Gets the description for the tab. The description can be used to
}
@Override
- public String getIconAltText() {
+ public String getIconAlternateText() {
return tabState.iconAltText;
}
@Override
- public void setIconAltText(String iconAltText) {
+ public void setIconAlternateText(String iconAltText) {
tabState.iconAltText = iconAltText;
markAsDirty();
}
*/
private static void copyTabMetadata(Tab from, Tab to) {
to.setCaption(from.getCaption());
- to.setIcon(from.getIcon(), from.getIconAltText());
+ to.setIcon(from.getIcon(), from.getIconAlternateText());
to.setDescription(from.getDescription());
to.setVisible(from.isVisible());
to.setEnabled(from.isEnabled());
* @param request
* the request that caused this UI to be reloaded
*/
- public void doReinit(VaadinRequest request) {
+ public void doRefresh(VaadinRequest request) {
// This is a horrible hack. We want to have the most recent location and
- // browser window size available in reinit(), but we want to call
- // listeners, if any, only after reinit(). So we momentarily assign the
+ // browser window size available in refresh(), but we want to call
+ // listeners, if any, only after refresh(). So we momentarily assign the
// old values back before setting the new values again to ensure the
// events are properly fired.
page.init(request);
- reinit(request);
+ refresh(request);
URI newLocation = page.getLocation();
int newWidth = page.getBrowserWindowWidth();
* @param request
* the request that caused this UI to be reloaded
*/
- protected void reinit(VaadinRequest request) {
+ protected void refresh(VaadinRequest request) {
}
/**
import com.vaadin.shared.ui.window.WindowMode;
import com.vaadin.shared.ui.window.WindowServerRpc;
import com.vaadin.shared.ui.window.WindowState;
-import com.vaadin.shared.ui.window.WindowState.WindowRole;
+import com.vaadin.shared.ui.window.WindowRole;
import com.vaadin.util.ReflectTools;
/**
--- /dev/null
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.ui;
+
+import org.easymock.EasyMock;
+import org.easymock.IMocksControl;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.vaadin.server.Page.BrowserWindowResizeEvent;
+import com.vaadin.server.Page.BrowserWindowResizeListener;
+import com.vaadin.server.Page.UriFragmentChangedEvent;
+import com.vaadin.server.Page.UriFragmentChangedListener;
+import com.vaadin.server.VaadinRequest;
+
+public class UIInitRefreshTest {
+
+ private boolean initCalled;
+ private boolean refreshCalled;
+ private boolean fragmentChangeCalled;
+ private boolean browserWindowResizeCalled;
+
+ private class TestUI extends UI implements UriFragmentChangedListener,
+ BrowserWindowResizeListener {
+ @Override
+ protected void init(VaadinRequest request) {
+ getPage().addBrowserWindowResizeListener(this);
+ getPage().addUriFragmentChangedListener(this);
+
+ initCalled = true;
+
+ Assert.assertEquals("foo", getPage().getUriFragment());
+ Assert.assertEquals(100, getPage().getBrowserWindowWidth());
+ Assert.assertEquals(100, getPage().getBrowserWindowHeight());
+
+ Assert.assertFalse(fragmentChangeCalled);
+ Assert.assertFalse(browserWindowResizeCalled);
+ }
+
+ @Override
+ protected void refresh(VaadinRequest request) {
+ refreshCalled = true;
+
+ Assert.assertEquals("bar", getPage().getUriFragment());
+ Assert.assertEquals(200, getPage().getBrowserWindowWidth());
+ Assert.assertEquals(200, getPage().getBrowserWindowHeight());
+
+ Assert.assertFalse(fragmentChangeCalled);
+ Assert.assertFalse(browserWindowResizeCalled);
+ }
+
+ @Override
+ public void browserWindowResized(BrowserWindowResizeEvent event) {
+ Assert.assertEquals(200, event.getWidth());
+ Assert.assertEquals(200, event.getHeight());
+ browserWindowResizeCalled = true;
+ }
+
+ @Override
+ public void uriFragmentChanged(UriFragmentChangedEvent event) {
+ Assert.assertEquals("bar", event.getUriFragment());
+ fragmentChangeCalled = true;
+ }
+ };
+
+ @Before
+ public void setUp() {
+ initCalled = refreshCalled = fragmentChangeCalled = browserWindowResizeCalled = false;
+ }
+
+ @Test
+ public void testListenersCalled() {
+ IMocksControl control = EasyMock.createNiceControl();
+
+ VaadinRequest initRequest = control.createMock(VaadinRequest.class);
+ EasyMock.expect(initRequest.getParameter("v-loc")).andReturn(
+ "http://example.com/#foo");
+ EasyMock.expect(initRequest.getParameter("v-cw")).andReturn("100");
+ EasyMock.expect(initRequest.getParameter("v-ch")).andReturn("100");
+
+ VaadinRequest reinitRequest = control.createMock(VaadinRequest.class);
+ EasyMock.expect(reinitRequest.getParameter("v-loc")).andReturn(
+ "http://example.com/#bar");
+ EasyMock.expect(reinitRequest.getParameter("v-cw")).andReturn("200");
+ EasyMock.expect(reinitRequest.getParameter("v-ch")).andReturn("200");
+
+ control.replay();
+
+ UI ui = new TestUI();
+ ui.doInit(initRequest, 0, "");
+
+ Assert.assertTrue(initCalled);
+ Assert.assertFalse(fragmentChangeCalled);
+ Assert.assertFalse(browserWindowResizeCalled);
+
+ ui.doRefresh(reinitRequest);
+
+ Assert.assertTrue(refreshCalled);
+ Assert.assertTrue(fragmentChangeCalled);
+ Assert.assertTrue(browserWindowResizeCalled);
+ }
+}
+++ /dev/null
-/*
- * Copyright 2000-2013 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.ui;
-
-import org.easymock.EasyMock;
-import org.easymock.IMocksControl;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.vaadin.server.Page.BrowserWindowResizeEvent;
-import com.vaadin.server.Page.BrowserWindowResizeListener;
-import com.vaadin.server.Page.UriFragmentChangedEvent;
-import com.vaadin.server.Page.UriFragmentChangedListener;
-import com.vaadin.server.VaadinRequest;
-
-public class UIInitReinitTest {
-
- private boolean initCalled;
- private boolean reinitCalled;
- private boolean fragmentChangeCalled;
- private boolean browserWindowResizeCalled;
-
- private class TestUI extends UI implements UriFragmentChangedListener,
- BrowserWindowResizeListener {
- @Override
- protected void init(VaadinRequest request) {
- getPage().addBrowserWindowResizeListener(this);
- getPage().addUriFragmentChangedListener(this);
-
- initCalled = true;
-
- Assert.assertEquals("foo", getPage().getUriFragment());
- Assert.assertEquals(100, getPage().getBrowserWindowWidth());
- Assert.assertEquals(100, getPage().getBrowserWindowHeight());
-
- Assert.assertFalse(fragmentChangeCalled);
- Assert.assertFalse(browserWindowResizeCalled);
- }
-
- @Override
- protected void reinit(VaadinRequest request) {
- reinitCalled = true;
-
- Assert.assertEquals("bar", getPage().getUriFragment());
- Assert.assertEquals(200, getPage().getBrowserWindowWidth());
- Assert.assertEquals(200, getPage().getBrowserWindowHeight());
-
- Assert.assertFalse(fragmentChangeCalled);
- Assert.assertFalse(browserWindowResizeCalled);
- }
-
- @Override
- public void browserWindowResized(BrowserWindowResizeEvent event) {
- Assert.assertEquals(200, event.getWidth());
- Assert.assertEquals(200, event.getHeight());
- browserWindowResizeCalled = true;
- }
-
- @Override
- public void uriFragmentChanged(UriFragmentChangedEvent event) {
- Assert.assertEquals("bar", event.getUriFragment());
- fragmentChangeCalled = true;
- }
- };
-
- @Before
- public void setUp() {
- initCalled = reinitCalled = fragmentChangeCalled = browserWindowResizeCalled = false;
- }
-
- @Test
- public void testListenersCalled() {
- IMocksControl control = EasyMock.createNiceControl();
-
- VaadinRequest initRequest = control.createMock(VaadinRequest.class);
- EasyMock.expect(initRequest.getParameter("v-loc")).andReturn(
- "http://example.com/#foo");
- EasyMock.expect(initRequest.getParameter("v-cw")).andReturn("100");
- EasyMock.expect(initRequest.getParameter("v-ch")).andReturn("100");
-
- VaadinRequest reinitRequest = control.createMock(VaadinRequest.class);
- EasyMock.expect(reinitRequest.getParameter("v-loc")).andReturn(
- "http://example.com/#bar");
- EasyMock.expect(reinitRequest.getParameter("v-cw")).andReturn("200");
- EasyMock.expect(reinitRequest.getParameter("v-ch")).andReturn("200");
-
- control.replay();
-
- UI ui = new TestUI();
- ui.doInit(initRequest, 0, "");
-
- Assert.assertTrue(initCalled);
- Assert.assertFalse(fragmentChangeCalled);
- Assert.assertFalse(browserWindowResizeCalled);
-
- ui.doReinit(reinitRequest);
-
- Assert.assertTrue(reinitCalled);
- Assert.assertTrue(fragmentChangeCalled);
- Assert.assertTrue(browserWindowResizeCalled);
- }
-}
+++ /dev/null
-/*
- * Copyright 2000-2013 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-/**
- *
- */
-package com.vaadin.shared.ui.ui;
-
-import java.io.Serializable;
-
-/**
- * Holds configuration information for a notification type.
- *
- * @author Vaadin Ltd
- */
-public class NotificationConfigurationBean implements Serializable {
- /**
- * Available WAI-ARIA roles for a notification.
- */
- public enum Role {
- ALERT, STATUS
- }
-
- private String prefix;
- private String postfix;
- private Role role = Role.ALERT;
-
- public NotificationConfigurationBean() {
- }
-
- public NotificationConfigurationBean(String prefix, String postfix,
- Role role) {
- this.prefix = prefix;
- this.postfix = postfix;
- this.role = role;
- }
-
- /**
- * Returns the accessibility prefix, which is placed before the notification
- * content.
- *
- * @return the prefix
- */
- public String getAssistivePrefix() {
- return prefix;
- }
-
- /**
- * Sets the accessibility prefix, which is placed before the notification
- * content.
- *
- * @param pefix
- * the prefix to set
- */
- public void setAssistivePrefix(String prefix) {
- this.prefix = prefix;
- }
-
- /**
- * Checks if an accessibility prefix is set.
- *
- * @return true when assistivePrefix is not null and has a length > 0, false
- * otherwise
- */
- public boolean hasAssistivePrefix() {
- return prefix != null && !prefix.isEmpty();
- }
-
- /**
- * Returns the accessibility postfix, which is placed after the notification
- * content.
- *
- * @return the postfix
- */
- public String getAssistivePostfix() {
- return postfix;
- }
-
- /**
- * Sets the accessibility postfix, which is placed after the notification
- * content.
- *
- * @param postfix
- * the postfix to set
- */
- public void setAssistivePostfix(String postfix) {
- this.postfix = postfix;
- }
-
- /**
- * Checks if an accessibility postfix is set.
- *
- * @return true when postfix is not null and has a length > 0, false
- * otherwise
- */
- public boolean hasAssistivePostfix() {
- return postfix != null && !postfix.isEmpty();
- }
-
- /**
- * Returns the WAI-ARIA role that defines how an assistive device will
- * inform the user about a notification.
- *
- * @return the role
- */
- public Role getAssistiveRole() {
- return role;
- }
-
- /**
- * Sets the WAI-ARIA role that defines how an assistive device will inform
- * the user about a notification.
- *
- * Available roles are alert, alertdialog and status (@see <a
- * href="http://www.w3.org/TR/2011/CR-wai-aria-20110118/roles">Roles
- * Model</a>).
- *
- * @param role
- * the role to set
- */
- public void setAssistiveRole(Role role) {
- this.role = role;
- }
-}
--- /dev/null
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.ui;
+
+/**
+ * Available WAI-ARIA roles for a notification.
+ *
+ * @since 7.2
+ */
+public enum NotificationRole {
+ ALERT, STATUS
+}
import com.vaadin.shared.communication.PushMode;
import com.vaadin.shared.ui.TabIndexState;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean.Role;
public class UIState extends TabIndexState {
public TooltipConfigurationState tooltipConfiguration = new TooltipConfigurationState();
public LoadingIndicatorConfigurationState loadingIndicatorConfiguration = new LoadingIndicatorConfigurationState();
- public NotificationConfigurationState notificationConfiguration = new NotificationConfigurationState();
public int pollInterval = -1;
// Informing users of assistive devices, that the content of this container
// is announced automatically and does not need to be navigated into
public String overlayContainerLabel = "This content is announced automatically and does not need to be navigated into.";
+ public Map<String, NotificationTypeConfiguration> notificationConfigurations = new HashMap<String, NotificationTypeConfiguration>();
+ {
+ notificationConfigurations.put("error",
+ new NotificationTypeConfiguration("Error: ",
+ " - close with ESC-key", NotificationRole.ALERT));
+ notificationConfigurations.put("warning",
+ new NotificationTypeConfiguration("Warning: ", null,
+ NotificationRole.ALERT));
+ notificationConfigurations.put("humanized",
+ new NotificationTypeConfiguration("Info: ", null,
+ NotificationRole.ALERT));
+ notificationConfigurations.put("tray",
+ new NotificationTypeConfiguration("Status: ", null,
+ NotificationRole.STATUS));
+ notificationConfigurations.put("assistive",
+ new NotificationTypeConfiguration("Note: ", null,
+ NotificationRole.STATUS));
+ }
+ /**
+ * State related to the Page class.
+ */
+ public PageState pageState = new PageState();
+ /**
+ * State related to the LocaleService class.
+ */
+ public LocaleServiceState localeServiceState = new LocaleServiceState();
+ /**
+ * Configuration for the push channel
+ */
+ public PushConfigurationState pushConfiguration = new PushConfigurationState();
+ {
+ primaryStyleName = "v-ui";
+ // Default is 1 for legacy reasons
+ tabIndex = 1;
+ }
public static class LoadingIndicatorConfigurationState implements
Serializable {
public int maxWidth = 500;
}
- public static class NotificationConfigurationState implements Serializable {
- public Map<String, NotificationConfigurationBean> setup = new HashMap<String, NotificationConfigurationBean>();
- {
- setup.put("error", new NotificationConfigurationBean("Error: ",
- " - close with ESC-key", Role.ALERT));
- setup.put("warning", new NotificationConfigurationBean("Warning: ",
- null, Role.ALERT));
- setup.put("humanized", new NotificationConfigurationBean("Info: ",
- null, Role.ALERT));
- setup.put("tray", new NotificationConfigurationBean("Status: ",
- null, Role.STATUS));
- setup.put("assistive", new NotificationConfigurationBean("Note: ",
- null, Role.STATUS));
+ public static class NotificationTypeConfiguration implements Serializable {
+ public String prefix;
+ public String postfix;
+ public NotificationRole notificationRole = NotificationRole.ALERT;
+
+ public NotificationTypeConfiguration() {
+ }
+
+ public NotificationTypeConfiguration(String prefix, String postfix,
+ NotificationRole role) {
+ this.prefix = prefix;
+ this.postfix = postfix;
+ this.notificationRole = role;
}
}
}
}
- /**
- * State related to the Page class.
- */
- public PageState pageState = new PageState();
- /**
- * State related to the LocaleService class.
- */
- public LocaleServiceState localeServiceState = new LocaleServiceState();
-
- /**
- * Configuration for the push channel
- */
- public PushConfigurationState pushConfiguration = new PushConfigurationState();
-
- {
- primaryStyleName = "v-ui";
- // Default is 1 for legacy reasons
- tabIndex = 1;
- }
-
public static class LocaleServiceState implements Serializable {
public List<LocaleData> localeData = new ArrayList<LocaleData>();
}
--- /dev/null
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.shared.ui.window;
+
+/**
+ * Available WAI-ARIA roles for a window.
+ *
+ * @since 7.2
+ */
+public enum WindowRole {
+ ALERTDIALOG, DIALOG
+}
primaryStyleName = "v-window";
}
- /**
- * Available WAI-ARIA roles for a window.
- */
- public enum WindowRole {
- ALERTDIALOG, DIALOG
- }
-
public boolean modal = false;
public boolean resizable = true;
public boolean resizeLazy = false;
import com.vaadin.data.Item;
import com.vaadin.server.Page;
-import com.vaadin.shared.ui.ui.NotificationConfigurationBean.Role;
+import com.vaadin.shared.ui.ui.NotificationRole;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.NativeSelect;
import com.vaadin.ui.Notification;
import com.vaadin.ui.Notification.Type;
+import com.vaadin.ui.NotificationConfiguration;
import com.vaadin.ui.TextArea;
import com.vaadin.ui.TextField;
+import com.vaadin.ui.UI;
public class NotificationsWaiAria extends TestBase {
" - closes automatically after 10 seconds");
addComponent(postfix);
- role = new NativeSelect("Role");
- role.addItem(Role.ALERT);
- role.addItem(Role.STATUS);
+ role = new NativeSelect("NotificationRole");
+ role.addItem(NotificationRole.ALERT);
+ role.addItem(NotificationRole.STATUS);
role.setValue(role.getItemIds().iterator().next());
addComponent(role);
Notification n = new Notification(tf.getValue(), typeValue);
n.setHtmlContentAllowed(true);
- n.setAssistivePrefixForType(typeValue, prefix.getValue());
- n.setAssistivePostfixForType(typeValue, postfix.getValue());
- n.setAssistiveRoleForType(typeValue, (Role) role.getValue());
+ NotificationConfiguration notificationConf = UI.getCurrent()
+ .getNotificationConfiguration();
+ notificationConf.setAssistivePrefix(typeValue, prefix.getValue());
+ notificationConf.setAssistivePostfix(typeValue, postfix.getValue());
+ notificationConf
+ .setAssistiveRole(typeValue, (NotificationRole) role.getValue());
n.show(Page.getCurrent());
}
for (Component c : tab) {
tabsheet.addTab(c);
- tabsheet.getTab(c).setIconAltText(
+ tabsheet.getTab(c).setIconAlternateText(
"iconalt" + tabsheet.getComponentCount());
}
--- /dev/null
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.vaadin.tests.components.ui;
+
+import com.vaadin.annotations.PreserveOnRefresh;
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.Label;
+
+@PreserveOnRefresh
+public class UIRefresh extends AbstractTestUI {
+
+ public static final String REINIT_ID = "reinit";
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ }
+
+ @Override
+ protected void refresh(VaadinRequest request) {
+ Label l = new Label("Reinit!");
+ l.setId(REINIT_ID);
+ addComponent(l);
+ }
+
+ @Override
+ public String getTestDescription() {
+ return "UI reinit after refresh";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return Integer.valueOf(12191);
+ }
+}
--- /dev/null
+/*
+ * Copyright 2000-2013 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.vaadin.tests.components.ui;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import com.vaadin.testbench.By;
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class UIRefreshTest extends MultiBrowserTest {
+
+ @Test
+ public void testUIRefresh() {
+ openTestURL();
+ Assert.assertFalse(reinitLabelExists());
+ // Reload the page; UI.refresh should be invoked
+ openTestURL();
+ Assert.assertTrue(reinitLabelExists());
+ }
+
+ private boolean reinitLabelExists() {
+ return !getDriver().findElements(By.id(UIRefresh.REINIT_ID)).isEmpty();
+ }
+}
+++ /dev/null
-/*
- * Copyright 2000-2013 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.vaadin.tests.components.ui;
-
-import com.vaadin.annotations.PreserveOnRefresh;
-import com.vaadin.server.VaadinRequest;
-import com.vaadin.tests.components.AbstractTestUI;
-import com.vaadin.ui.Label;
-
-@PreserveOnRefresh
-public class UIReinit extends AbstractTestUI {
-
- public static final String REINIT_ID = "reinit";
-
- @Override
- protected void setup(VaadinRequest request) {
- }
-
- @Override
- protected void reinit(VaadinRequest request) {
- Label l = new Label("Reinit!");
- l.setId(REINIT_ID);
- addComponent(l);
- }
-
- @Override
- public String getTestDescription() {
- return "UI reinit after refresh";
- }
-
- @Override
- protected Integer getTicketNumber() {
- return Integer.valueOf(12191);
- }
-}
+++ /dev/null
-/*
- * Copyright 2000-2013 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.vaadin.tests.components.ui;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import com.vaadin.testbench.By;
-import com.vaadin.tests.tb3.MultiBrowserTest;
-
-public class UIReinitTest extends MultiBrowserTest {
-
- @Test
- public void testUIReinit() {
- openTestURL();
- Assert.assertFalse(reinitLabelExists());
- // Reload the page; UI.reinit should be invoked
- openTestURL();
- Assert.assertTrue(reinitLabelExists());
- }
-
- private boolean reinitLabelExists() {
- return !getDriver().findElements(By.id(UIReinit.REINIT_ID)).isEmpty();
- }
-}
import com.vaadin.server.ThemeResource;
import com.vaadin.server.VaadinRequest;
-import com.vaadin.shared.ui.window.WindowState.WindowRole;
+import com.vaadin.shared.ui.window.WindowRole;
import com.vaadin.tests.components.AbstractTestUI;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;