diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 732ebf96cb9..f0764fdbe5b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,6 +4,9 @@
# Summary
+All fixes should always target the `master` branch. We will pick the bugfixes
+to correct branches from the `master`.
+
We like quality patches that solve problems. A quality patch follows good coding practices - it’s easy to read and understand. For more complicated fixes or features, the change should be broken down into several smaller easy to understand patches. Most of this is really just what we consider to be common sense and best development practices.
In other words:
@@ -145,4 +148,6 @@ All our projects accept contributions as GitHub pull requests. The first time yo
https://yangsu.github.io/pull-request-tutorial/ has instructions on how to create a pull request.
+Please note that PR should target the `master` branch.
+
**Remember to check the "Allow edits from maintainers" so we can rebase the PR or make small changes if necessary**.
diff --git a/README.md b/README.md
index df2585c1d80..b1416e0aa44 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,10 @@ Flow EAP discussion in Gitter IM at https://gitter.im/vaadin-flow/Lobby
Instructions on how to set up a working environment for developing the Flow project follow below.
+This branch is Vaadin 11 (Flow version 1.1). See other branches for other framework versions:
+* master branch is Vaadin 11 (Flow version 1.1)
+* 1.0 branch is Vaadin 10 (Flow version 1.0)
+
Setting up Eclipse to Develop Flow
=========
diff --git a/build-tools/pom.xml b/build-tools/pom.xml
index c844a989454..1f630b076de 100644
--- a/build-tools/pom.xml
+++ b/build-tools/pom.xml
@@ -5,7 +5,7 @@
com.vaadinflow-project
- 1.0-SNAPSHOT
+ 1.1-SNAPSHOTflow-buildtoolsvaadin-buildhelpers
diff --git a/checkstyle/header b/checkstyle/header
index a1063268ac7..ea3e6ddea2f 100644
--- a/checkstyle/header
+++ b/checkstyle/header
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2014 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/bnd.bnd b/flow-client/bnd.bnd
new file mode 100644
index 00000000000..645887fb2a5
--- /dev/null
+++ b/flow-client/bnd.bnd
@@ -0,0 +1,8 @@
+Bundle-SymbolicName: ${project.groupId}.flow.client
+Bundle-Name: Flow Client Engine
+Bundle-Version: ${osgi.bundle.version}
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
+Bundle-Activator: com.vaadin.flow.osgi.Activator
+Import-Package: !*, com.vaadin.flow.client, org.osgi.framework, org.osgi.service.http
+Export-Package: !*
diff --git a/flow-client/pom.xml b/flow-client/pom.xml
index 5ee9bcaecc3..f8b988a7f12 100644
--- a/flow-client/pom.xml
+++ b/flow-client/pom.xml
@@ -1,11 +1,12 @@
-4.0.0com.vaadinflow-project
- 1.0-SNAPSHOT
+ 1.1-SNAPSHOTflow-clientFlow Client
@@ -64,6 +65,28 @@
3.12.0test
+
+
+ org.osgi
+ org.osgi.core
+ 6.0.0
+ provided
+
+
+
+ org.osgi
+ org.osgi.service.component.annotations
+ 1.4.0
+ provided
+
+
+
+ org.osgi
+ org.osgi.service.http
+ 1.2.1
+ provided
+
+
@@ -86,9 +109,10 @@
-
- com/**
-
+
+ com/vaadin/flow/osgi/*
+ META-INF/**
+
@@ -171,6 +195,20 @@
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ ${project.build.outputDirectory}/META-INF/MANIFEST.MF
+ false
+
+ true
+
+
+
+
diff --git a/flow-client/src/main/java/com/vaadin/client/ApplicationConfiguration.java b/flow-client/src/main/java/com/vaadin/client/ApplicationConfiguration.java
index 26766d4af68..0d681a943e0 100644
--- a/flow-client/src/main/java/com/vaadin/client/ApplicationConfiguration.java
+++ b/flow-client/src/main/java/com/vaadin/client/ApplicationConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -24,6 +24,7 @@
* values during construction.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ApplicationConfiguration {
private String applicationId;
diff --git a/flow-client/src/main/java/com/vaadin/client/ApplicationConnection.java b/flow-client/src/main/java/com/vaadin/client/ApplicationConnection.java
index 19f76d714cb..97fa69dfbe7 100644
--- a/flow-client/src/main/java/com/vaadin/client/ApplicationConnection.java
+++ b/flow-client/src/main/java/com/vaadin/client/ApplicationConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/main/java/com/vaadin/client/BrowserInfo.java b/flow-client/src/main/java/com/vaadin/client/BrowserInfo.java
index c268936441d..c9203632f71 100644
--- a/flow-client/src/main/java/com/vaadin/client/BrowserInfo.java
+++ b/flow-client/src/main/java/com/vaadin/client/BrowserInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/main/java/com/vaadin/client/Command.java b/flow-client/src/main/java/com/vaadin/client/Command.java
index 48a4d344a96..04c99d08c36 100644
--- a/flow-client/src/main/java/com/vaadin/client/Command.java
+++ b/flow-client/src/main/java/com/vaadin/client/Command.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* A generic command interface meant to be used for passing lambdas around.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface Command {
diff --git a/flow-client/src/main/java/com/vaadin/client/Console.java b/flow-client/src/main/java/com/vaadin/client/Console.java
index a4c9b27d337..434e873509b 100644
--- a/flow-client/src/main/java/com/vaadin/client/Console.java
+++ b/flow-client/src/main/java/com/vaadin/client/Console.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,6 +26,7 @@
* production mode is enabled.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public final class Console {
private static boolean shouldLogToBrowserConsole;
diff --git a/flow-client/src/main/java/com/vaadin/client/DefaultRegistry.java b/flow-client/src/main/java/com/vaadin/client/DefaultRegistry.java
index 9ecf983857a..8b9f0087889 100644
--- a/flow-client/src/main/java/com/vaadin/client/DefaultRegistry.java
+++ b/flow-client/src/main/java/com/vaadin/client/DefaultRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -35,6 +35,7 @@
* A registry implementation used by {@link ApplicationConnection}.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class DefaultRegistry extends Registry {
diff --git a/flow-client/src/main/java/com/vaadin/client/DependencyLoader.java b/flow-client/src/main/java/com/vaadin/client/DependencyLoader.java
index 364ec185a43..e3e52e75eb7 100644
--- a/flow-client/src/main/java/com/vaadin/client/DependencyLoader.java
+++ b/flow-client/src/main/java/com/vaadin/client/DependencyLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* Handles loading of dependencies (stylesheets and scripts) in the application.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class DependencyLoader {
private static final JsArray callbacks = JsCollections.array();
diff --git a/flow-client/src/main/java/com/vaadin/client/ExecuteJavaScriptElementUtils.java b/flow-client/src/main/java/com/vaadin/client/ExecuteJavaScriptElementUtils.java
index bb1758c3a1d..ba4487f00af 100644
--- a/flow-client/src/main/java/com/vaadin/client/ExecuteJavaScriptElementUtils.java
+++ b/flow-client/src/main/java/com/vaadin/client/ExecuteJavaScriptElementUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -36,6 +36,7 @@
* @see ExecuteJavaScriptProcessor
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public final class ExecuteJavaScriptElementUtils {
diff --git a/flow-client/src/main/java/com/vaadin/client/ExistingElementMap.java b/flow-client/src/main/java/com/vaadin/client/ExistingElementMap.java
index 3876703fd84..c742d7903ae 100644
--- a/flow-client/src/main/java/com/vaadin/client/ExistingElementMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/ExistingElementMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,6 +26,7 @@
* attach existing client side element.
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class ExistingElementMap {
diff --git a/flow-client/src/main/java/com/vaadin/client/InitialPropertiesHandler.java b/flow-client/src/main/java/com/vaadin/client/InitialPropertiesHandler.java
index 10d5af7cf31..9c8fe8fde83 100644
--- a/flow-client/src/main/java/com/vaadin/client/InitialPropertiesHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/InitialPropertiesHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -38,6 +38,7 @@
* any client side default value.
*
* @author Vaadin Ltd
+ * @since 1.0
* @see StateTree#sendNodePropertySyncToServer(MapProperty)
*
*/
diff --git a/flow-client/src/main/java/com/vaadin/client/LoadingIndicator.java b/flow-client/src/main/java/com/vaadin/client/LoadingIndicator.java
index 42e8c9639c9..8a26f965fa8 100644
--- a/flow-client/src/main/java/com/vaadin/client/LoadingIndicator.java
+++ b/flow-client/src/main/java/com/vaadin/client/LoadingIndicator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -31,7 +31,7 @@
* timeouts specified using the set*StateDelay methods occur.
*
* @author Vaadin Ltd
- * @since 7.1
+ * @since 1.0
*/
public class LoadingIndicator {
@@ -209,7 +209,6 @@ public void trigger() {
* Triggers displaying of this loading indicator unless it's already visible
* or scheduled to be shown after a delay.
*
- * @since 7.4
*/
public void ensureTriggered() {
if (!isVisible() && !firstTimer.isRunning()) {
diff --git a/flow-client/src/main/java/com/vaadin/client/PolymerUtils.java b/flow-client/src/main/java/com/vaadin/client/PolymerUtils.java
index dd2457023bc..0318d2f3c43 100644
--- a/flow-client/src/main/java/com/vaadin/client/PolymerUtils.java
+++ b/flow-client/src/main/java/com/vaadin/client/PolymerUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -45,7 +45,8 @@
* Utils class, intended to ease working with Polymer related code on a client
* side.
*
- * @author Vaadin Ltd.
+ * @author Vaadin Ltd
+ * @since 1.0.
*/
public final class PolymerUtils {
diff --git a/flow-client/src/main/java/com/vaadin/client/PopStateHandler.java b/flow-client/src/main/java/com/vaadin/client/PopStateHandler.java
index 5b35742eebc..a0cbd3e07a0 100644
--- a/flow-client/src/main/java/com/vaadin/client/PopStateHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/PopStateHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* Handles popstate events and sends them to the server.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class PopStateHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/Profiler.java b/flow-client/src/main/java/com/vaadin/client/Profiler.java
index 209484bad52..c6b1f9f5321 100644
--- a/flow-client/src/main/java/com/vaadin/client/Profiler.java
+++ b/flow-client/src/main/java/com/vaadin/client/Profiler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -39,7 +39,7 @@
* your .gwt.xml file.
*
* @author Vaadin Ltd
- * @since 7.0.0
+ * @since 1.0
*/
public class Profiler {
@@ -53,7 +53,7 @@ public class Profiler {
* Class to include using deferred binding to enable the profiling.
*
* @author Vaadin Ltd
- * @since 7.0.0
+ * @since 1.0
*/
public static class EnabledProfiler extends Profiler {
@@ -68,8 +68,8 @@ protected boolean isImplEnabled() {
*
* Warning! This interface is most likely to change in the future
*
- * @since 7.1
* @author Vaadin Ltd
+ * @since 1.0
*/
public interface ProfilerResultConsumer {
void addProfilerData(Node rootNode, List totals);
@@ -382,7 +382,6 @@ public static void leave(String name) {
*
* @return the relative time in milliseconds
*
- * @since 7.6
*/
public static double getRelativeTimeMillis() {
return relativeTimeSupplier.getRelativeTime();
@@ -429,7 +428,6 @@ public static void reset() {
* been included in the HTML page and that would leak memory unless removed.
*
*
- * @since 7.0.2
*/
public static void initialize() {
if (hasHighPrecisionTime()) {
@@ -661,7 +659,6 @@ private static native JsArray clearEventsList()
* Warning! This is internal API and should not be used by
* applications or add-ons.
*
- * @since 7.1.4
* @param profilerResultConsumer
* the consumer that gets profiler data
*/
diff --git a/flow-client/src/main/java/com/vaadin/client/Registry.java b/flow-client/src/main/java/com/vaadin/client/Registry.java
index 99e9e7e4206..4e383de0ef1 100644
--- a/flow-client/src/main/java/com/vaadin/client/Registry.java
+++ b/flow-client/src/main/java/com/vaadin/client/Registry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -37,6 +37,7 @@
* be looked up based on their class.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class Registry {
diff --git a/flow-client/src/main/java/com/vaadin/client/ResourceLoader.java b/flow-client/src/main/java/com/vaadin/client/ResourceLoader.java
index a9b43cb47b0..8c4b081ce28 100644
--- a/flow-client/src/main/java/com/vaadin/client/ResourceLoader.java
+++ b/flow-client/src/main/java/com/vaadin/client/ResourceLoader.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -45,7 +45,7 @@
* while still controlling in which order e.g. scripts are executed.
*
* @author Vaadin Ltd
- * @since 7.0.0
+ * @since 1.0
*/
public class ResourceLoader {
private class StyleSheetLoadListener implements ResourceLoadListener {
@@ -291,7 +291,6 @@ public void loadScript(final String scriptUrl,
* What mode the script.async attribute should be set to
* @param defer
* What mode the script.defer attribute should be set to
- * @since 7.2.4
*/
public void loadScript(final String scriptUrl,
final ResourceLoadListener resourceLoadListener, boolean async,
@@ -471,7 +470,6 @@ private static native void addHtmlImportsReadyHandler(Runnable handler)
* script tag. The listener is called whenever loading is complete or an
* error occurred.
*
- * @since 7.3
* @param element
* the element to attach a listener to
* @param listener
diff --git a/flow-client/src/main/java/com/vaadin/client/ScrollPositionHandler.java b/flow-client/src/main/java/com/vaadin/client/ScrollPositionHandler.java
index bcd2c5a1b89..4a669685c6a 100644
--- a/flow-client/src/main/java/com/vaadin/client/ScrollPositionHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/ScrollPositionHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -49,6 +49,7 @@
* linked to a specific history index.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ScrollPositionHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/SystemErrorHandler.java b/flow-client/src/main/java/com/vaadin/client/SystemErrorHandler.java
index ecbc05d623a..d678fe4d48b 100644
--- a/flow-client/src/main/java/com/vaadin/client/SystemErrorHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/SystemErrorHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -31,6 +31,7 @@
* Class handling system errors in the application.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class SystemErrorHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/TrackingScheduler.java b/flow-client/src/main/java/com/vaadin/client/TrackingScheduler.java
index 9a68c675570..0290074fd22 100644
--- a/flow-client/src/main/java/com/vaadin/client/TrackingScheduler.java
+++ b/flow-client/src/main/java/com/vaadin/client/TrackingScheduler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* queued or currently being executed.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class TrackingScheduler extends SchedulerImpl {
diff --git a/flow-client/src/main/java/com/vaadin/client/UILifecycle.java b/flow-client/src/main/java/com/vaadin/client/UILifecycle.java
index fbb5a279da1..c129e532e04 100644
--- a/flow-client/src/main/java/com/vaadin/client/UILifecycle.java
+++ b/flow-client/src/main/java/com/vaadin/client/UILifecycle.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* Class managing the lifecycle of a UI.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class UILifecycle {
diff --git a/flow-client/src/main/java/com/vaadin/client/URIResolver.java b/flow-client/src/main/java/com/vaadin/client/URIResolver.java
index a0f212dce48..5f2072d73b9 100644
--- a/flow-client/src/main/java/com/vaadin/client/URIResolver.java
+++ b/flow-client/src/main/java/com/vaadin/client/URIResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -24,6 +24,7 @@
* Client side URL resolver for vaadin protocols.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class URIResolver extends VaadinUriResolver {
private transient Registry registry;
diff --git a/flow-client/src/main/java/com/vaadin/client/ValueMap.java b/flow-client/src/main/java/com/vaadin/client/ValueMap.java
index eb0add1e517..b60816d0d36 100644
--- a/flow-client/src/main/java/com/vaadin/client/ValueMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/ValueMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* Old abstraction for a UIDL JSON message.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public final class ValueMap extends JavaScriptObject {
/**
diff --git a/flow-client/src/main/java/com/vaadin/client/WidgetUtil.java b/flow-client/src/main/java/com/vaadin/client/WidgetUtil.java
index 4f850f56ebc..f70c5e16b9e 100644
--- a/flow-client/src/main/java/com/vaadin/client/WidgetUtil.java
+++ b/flow-client/src/main/java/com/vaadin/client/WidgetUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -43,7 +43,6 @@ public static void refresh() {
* Redirects the browser to the given url or refreshes the page if url is
* null
*
- * @since 7.6
* @param url
* The url to redirect to or null to refresh
*/
diff --git a/flow-client/src/main/java/com/vaadin/client/bootstrap/Bootstrapper.java b/flow-client/src/main/java/com/vaadin/client/bootstrap/Bootstrapper.java
index d3d9fd1203d..3bff2be4ead 100644
--- a/flow-client/src/main/java/com/vaadin/client/bootstrap/Bootstrapper.java
+++ b/flow-client/src/main/java/com/vaadin/client/bootstrap/Bootstrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -38,6 +38,7 @@
* Acts as the GWT entry point.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class Bootstrapper implements EntryPoint {
diff --git a/flow-client/src/main/java/com/vaadin/client/bootstrap/ErrorMessage.java b/flow-client/src/main/java/com/vaadin/client/bootstrap/ErrorMessage.java
index 07225c4ce96..65bcce98587 100644
--- a/flow-client/src/main/java/com/vaadin/client/bootstrap/ErrorMessage.java
+++ b/flow-client/src/main/java/com/vaadin/client/bootstrap/ErrorMessage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -20,7 +20,6 @@
/**
* Wraps a native javascript object containing fields for an error message
*
- * @since 7.0
*/
public final class ErrorMessage extends JavaScriptObject {
diff --git a/flow-client/src/main/java/com/vaadin/client/bootstrap/JsoConfiguration.java b/flow-client/src/main/java/com/vaadin/client/bootstrap/JsoConfiguration.java
index ec4684c94c2..2530dabdbef 100644
--- a/flow-client/src/main/java/com/vaadin/client/bootstrap/JsoConfiguration.java
+++ b/flow-client/src/main/java/com/vaadin/client/bootstrap/JsoConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,7 +21,6 @@
/**
* Helper class for reading configuration options from the bootstrap javascript
*
- * @since 7.0
*/
public final class JsoConfiguration extends JavaScriptObject {
protected JsoConfiguration() {
diff --git a/flow-client/src/main/java/com/vaadin/client/bootstrap/LocationParser.java b/flow-client/src/main/java/com/vaadin/client/bootstrap/LocationParser.java
index e59a448082e..6fece7c986a 100644
--- a/flow-client/src/main/java/com/vaadin/client/bootstrap/LocationParser.java
+++ b/flow-client/src/main/java/com/vaadin/client/bootstrap/LocationParser.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Utility methods for parsing the document URL.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class LocationParser {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/AtmospherePushConnection.java b/flow-client/src/main/java/com/vaadin/client/communication/AtmospherePushConnection.java
index 7af56cc9a20..4a477f52393 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/AtmospherePushConnection.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/AtmospherePushConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -37,7 +37,7 @@
* handling the communication channel.
*
* @author Vaadin Ltd
- * @since 7.1
+ * @since 1.0
*/
public class AtmospherePushConnection implements PushConnection {
@@ -312,7 +312,6 @@ protected void onOpen(AtmosphereResponse response) {
* @param response
* the response
*
- * @since 7.2
*/
protected void onConnect(AtmosphereResponse response) {
transport = response.getTransport();
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ConnectionStateHandler.java b/flow-client/src/main/java/com/vaadin/client/communication/ConnectionStateHandler.java
index 7cd0a014cb9..807b9e4845e 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ConnectionStateHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ConnectionStateHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,8 +28,8 @@
* push connections in a way it sees fit. The default implementation is
* {@link DefaultConnectionStateHandler}.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public interface ConnectionStateHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/DefaultConnectionStateHandler.java b/flow-client/src/main/java/com/vaadin/client/communication/DefaultConnectionStateHandler.java
index 4ee4edc0bdb..36dd41e37f8 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/DefaultConnectionStateHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/DefaultConnectionStateHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -40,8 +40,8 @@
* Handles permanent errors by showing a critical system notification to the
* user
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class DefaultConnectionStateHandler implements ConnectionStateHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/DefaultReconnectDialog.java b/flow-client/src/main/java/com/vaadin/client/communication/DefaultReconnectDialog.java
index 6c2ac249e58..912230897a0 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/DefaultReconnectDialog.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/DefaultReconnectDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,8 +26,8 @@
/**
* The default implementation of the reconnect dialog
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class DefaultReconnectDialog implements ReconnectDialog {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/Heartbeat.java b/flow-client/src/main/java/com/vaadin/client/communication/Heartbeat.java
index fa0b0db5c46..aa5769f0d8d 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/Heartbeat.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/Heartbeat.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,8 +26,8 @@
/**
* Handles sending of heartbeats to the server and reacting to the response
*
- * @since 7.2
* @author Vaadin Ltd
+ * @since 1.0
*/
public class Heartbeat {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/LoadingIndicatorConfigurator.java b/flow-client/src/main/java/com/vaadin/client/communication/LoadingIndicatorConfigurator.java
index 106f6b2b4da..2279e7e9172 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/LoadingIndicatorConfigurator.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/LoadingIndicatorConfigurator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -29,6 +29,7 @@
* configures the loading indicator accordingly.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class LoadingIndicatorConfigurator {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/MessageHandler.java b/flow-client/src/main/java/com/vaadin/client/communication/MessageHandler.java
index f4990935b28..1cc3d4e3bc0 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/MessageHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/MessageHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -49,8 +49,8 @@
* from the server (state changes, RPCs and other updates) and ensuring that the
* connectors are updated accordingly.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class MessageHandler {
@@ -701,7 +701,6 @@ public boolean isInitialUidlHandled() {
*
* If the given string is not wrapped as expected, returns null
*
- * @since 7.6
* @param jsonWithWrapping
* the JSON received from the server
* @return an unwrapped JSON string or null if the given string was not
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java b/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java
index d15101f9e4c..7c372e1f142 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/MessageSender.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -31,8 +31,8 @@
* Internally uses {@link XhrConnection} and/or {@link PushConnection} for
* delivering messages, depending on the application configuration.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class MessageSender {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/PollConfigurator.java b/flow-client/src/main/java/com/vaadin/client/communication/PollConfigurator.java
index 50750d5db26..e7cdc796b0b 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/PollConfigurator.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/PollConfigurator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,6 +26,7 @@
* polling accordingly.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class PollConfigurator {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/Poller.java b/flow-client/src/main/java/com/vaadin/client/communication/Poller.java
index ac7c2abec24..f87edf0bd48 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/Poller.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/Poller.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -24,6 +24,7 @@
* Handles polling the server with a given interval.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class Poller {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/PushConfiguration.java b/flow-client/src/main/java/com/vaadin/client/communication/PushConfiguration.java
index 9708250d61d..50a77d187ce 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/PushConfiguration.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/PushConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -34,6 +34,7 @@
* {@link MessageSender}.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class PushConfiguration {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/PushConnection.java b/flow-client/src/main/java/com/vaadin/client/communication/PushConnection.java
index 042f0f439c0..0ce4362f757 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/PushConnection.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/PushConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,7 +27,7 @@
* to a UIDL request).
*
* @author Vaadin Ltd
- * @since 7.1
+ * @since 1.0
*/
public interface PushConnection {
@@ -86,7 +86,6 @@ public interface PushConnection {
* Returns a human readable string representation of the transport type used
* to communicate with the server.
*
- * @since 7.1
* @return A human readable string representation of the transport type
*/
String getTransportType();
@@ -99,7 +98,6 @@ public interface PushConnection {
* A bidirectional push connection must be able to reliably inform about its
* connection state.
*
- * @since 7.6
* @return true if the push connection should be used for messages in both
* directions, false if it should only be used for server to client
* messages
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/PushConnectionFactory.java b/flow-client/src/main/java/com/vaadin/client/communication/PushConnectionFactory.java
index 1ad97f42eea..300cfe9ddac 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/PushConnectionFactory.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/PushConnectionFactory.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialog.java b/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialog.java
index 5bebeec2f38..336ae3742ff 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialog.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialog.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -18,8 +18,8 @@
/**
* Interface which must be implemented by the reconnect dialog.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public interface ReconnectDialog {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialogConfiguration.java b/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialogConfiguration.java
index c5e05d75e7d..f403096d03f 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialogConfiguration.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ReconnectDialogConfiguration.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -30,6 +30,7 @@
* part of the configuration changes.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ReconnectDialogConfiguration {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/RequestResponseTracker.java b/flow-client/src/main/java/com/vaadin/client/communication/RequestResponseTracker.java
index 3e1b36d6340..291e444ff16 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/RequestResponseTracker.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/RequestResponseTracker.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -32,6 +32,7 @@
* response handling ends.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class RequestResponseTracker {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/RequestStartingEvent.java b/flow-client/src/main/java/com/vaadin/client/communication/RequestStartingEvent.java
index 066ab3e0da5..9e0ef6a45df 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/RequestStartingEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/RequestStartingEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -24,6 +24,7 @@
* @see RequestResponseTracker#startRequest()
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class RequestStartingEvent extends Event {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingEndedEvent.java b/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingEndedEvent.java
index 0d273ce323c..049607b4ac1 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingEndedEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingEndedEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* Event fired when handling of a response ends.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ResponseHandlingEndedEvent
extends Event {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingStartedEvent.java b/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingStartedEvent.java
index e9062c3ab50..6e0f9901c3a 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingStartedEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ResponseHandlingStartedEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* Event fired when handling of a response starts.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ResponseHandlingStartedEvent
extends Event {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ServerConnector.java b/flow-client/src/main/java/com/vaadin/client/communication/ServerConnector.java
index 5fa24fd7b16..c3d5f937fce 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ServerConnector.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ServerConnector.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/ServerRpcQueue.java b/flow-client/src/main/java/com/vaadin/client/communication/ServerRpcQueue.java
index eefb1a8a112..6f722a6d205 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/ServerRpcQueue.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/ServerRpcQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,8 +27,8 @@
* Manages the queue of server invocations (RPC) which are waiting to be sent to
* the server.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ServerRpcQueue {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/XhrConnection.java b/flow-client/src/main/java/com/vaadin/client/communication/XhrConnection.java
index 7a221467a19..5f07c8f8d3f 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/XhrConnection.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/XhrConnection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -35,8 +35,8 @@
* Provides a connection to the UIDL request handler on the server and knows how
* to send messages to that end point.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class XhrConnection {
diff --git a/flow-client/src/main/java/com/vaadin/client/communication/XhrConnectionError.java b/flow-client/src/main/java/com/vaadin/client/communication/XhrConnectionError.java
index 062b7cff6e8..b370010f5e1 100644
--- a/flow-client/src/main/java/com/vaadin/client/communication/XhrConnectionError.java
+++ b/flow-client/src/main/java/com/vaadin/client/communication/XhrConnectionError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -23,8 +23,8 @@
* XhrConnectionError provides detail about an error which occurred during an
* XHR request to the server.
*
- * @since 7.6
* @author Vaadin Ltd
+ * @since 1.0
*/
public class XhrConnectionError {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/ConstantPool.java b/flow-client/src/main/java/com/vaadin/client/flow/ConstantPool.java
index 2aa75476b94..6cc9daf7ce5 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/ConstantPool.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/ConstantPool.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,6 +26,7 @@
* Map of constant values received from the server.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ConstantPool {
private JsMap constants = JsCollections.map();
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/ExecuteJavaScriptProcessor.java b/flow-client/src/main/java/com/vaadin/client/flow/ExecuteJavaScriptProcessor.java
index 1860f4bbd17..2a7dd784475 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/ExecuteJavaScriptProcessor.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/ExecuteJavaScriptProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -38,6 +38,7 @@
* client.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ExecuteJavaScriptProcessor {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/FragmentHandler.java b/flow-client/src/main/java/com/vaadin/client/flow/FragmentHandler.java
index 6c6a44f88ec..e1b5e2d8a69 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/FragmentHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/FragmentHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* override the location.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class FragmentHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterEvent.java b/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterEvent.java
index b9deb043aeb..3ab5014e011 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Event fired when a state node is unregistered.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class NodeUnregisterEvent {
private StateNode node;
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterListener.java b/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterListener.java
index 264dac92d33..0e7daa1467e 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/NodeUnregisterListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* A listener that will be notified when a state node is unregistered.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface NodeUnregisterListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/RouterLinkHandler.java b/flow-client/src/main/java/com/vaadin/client/flow/RouterLinkHandler.java
index ae88a748b1e..81c18b61e01 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/RouterLinkHandler.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/RouterLinkHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -36,6 +36,7 @@
* Events are sent to server for handling.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class RouterLinkHandler {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/StateNode.java b/flow-client/src/main/java/com/vaadin/client/flow/StateNode.java
index 22e9832283b..29654c356cb 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/StateNode.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/StateNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -35,6 +35,7 @@
* A client-side representation of a server-side state node.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class StateNode {
private final StateTree tree;
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/StateTree.java b/flow-client/src/main/java/com/vaadin/client/flow/StateTree.java
index d1fc77344ed..2b8c7b05f97 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/StateTree.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/StateTree.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* A client-side representation of a server-side state tree.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class StateTree {
// Double instead of Integer since GWT 2.8 doesn't box doubles
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/TreeChangeProcessor.java b/flow-client/src/main/java/com/vaadin/client/flow/TreeChangeProcessor.java
index e76701adbab..63e515c8eb4 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/TreeChangeProcessor.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/TreeChangeProcessor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* Updates a state tree based on changes in JSON format.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class TreeChangeProcessor {
private TreeChangeProcessor() {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/Binder.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/Binder.java
index 0695a9507e3..0eb85fdcc49 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/Binder.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/Binder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -29,6 +29,7 @@
* This is the only public API class for external use.
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public final class Binder {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/BinderContext.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/BinderContext.java
index f1c7efc3509..525fb0ddc5c 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/BinderContext.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/BinderContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* enabling them to delegate the creation of any child nodes.
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public interface BinderContext {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/BindingStrategy.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/BindingStrategy.java
index d327479618d..34911254579 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/BindingStrategy.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/BindingStrategy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -32,6 +32,7 @@
* a DOM node type which strategy is applicable for
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public interface BindingStrategy {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/Debouncer.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/Debouncer.java
index 75743979352..94dcdfb15f2 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/Debouncer.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/Debouncer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -32,6 +32,7 @@
* tracks a sequence of similar events.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class Debouncer {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventHandlerBinder.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventHandlerBinder.java
index 56e7d0ef996..ca65292f96f 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventHandlerBinder.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventHandlerBinder.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -29,6 +29,7 @@
* Binds and updates server object able to send notifications to the server.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ServerEventHandlerBinder {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventObject.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventObject.java
index a72bfa496d0..4985d08c54d 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventObject.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/ServerEventObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -40,6 +40,7 @@
* A representation of a server object able to send notifications to the server.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public final class ServerEventObject extends JavaScriptObject {
private static final String NODE_ID = "nodeId";
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/SimpleElementBindingStrategy.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/SimpleElementBindingStrategy.java
index 668230c8a1a..6b1c8455251 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/SimpleElementBindingStrategy.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/SimpleElementBindingStrategy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -68,6 +68,7 @@
* Binding strategy for a simple (not template) {@link Element} node.
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class SimpleElementBindingStrategy implements BindingStrategy {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/binding/TextBindingStrategy.java b/flow-client/src/main/java/com/vaadin/client/flow/binding/TextBindingStrategy.java
index 625f23ae34f..26b902a4f13 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/binding/TextBindingStrategy.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/binding/TextBindingStrategy.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* Binding strategy for simple (not template) text {@link Node}.
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class TextBindingStrategy implements BindingStrategy {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsArray.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsArray.java
index d854cea9672..5f3ea5878d9 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsArray.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -30,6 +30,7 @@
* Use {@link JsCollections#array()} to create an appropriate instance.
*
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the type of the array items
*/
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsCollections.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsCollections.java
index 5d59f9ed9d2..c3474060ecd 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsCollections.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsCollections.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -30,6 +30,7 @@
* alternative JRE implementations.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@SuppressWarnings("deprecation")
public class JsCollections {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsMap.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsMap.java
index 10cd6ce29c9..8ff16ce3a97 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,6 +26,7 @@
* {@link JsCollections#map()} to create an appropriate instance.
*
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the key type
* @param
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsSet.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsSet.java
index ecb37a5bdef..b22a85b18d3 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsSet.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* {@link JsCollections#set()} to create an appropriate instance.
*
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the value type
*/
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsWeakMap.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsWeakMap.java
index c2fc80bb9f2..5b95f1df77f 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/JsWeakMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/JsWeakMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* Use {@link JsCollections#weakMap()} to create an appropriate instance.
*
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the key type
* @param
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsArray.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsArray.java
index e896d5fb996..05bba101464 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsArray.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsArray.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* JRE implementation of {@link JsArray}, should only be used for testing.
*
* @author Vaadin Ltd
+ * @since 1.0
* @param
* item type
* @deprecated Only to be used for testing
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsMap.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsMap.java
index bf7d995d866..3760508cb26 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
*
* @deprecated Should only be used for testing.
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the key type
* @param
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsSet.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsSet.java
index 74ede01e7ed..8738d520625 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsSet.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsSet.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
*
* @deprecated Should only be used for testing.
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the value type
*/
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsWeakMap.java b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsWeakMap.java
index b49248dee7d..3587fb07eb1 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsWeakMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/collection/jre/JreJsWeakMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
*
* @deprecated Should only be used for testing.
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the key type
* @param
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApi.java b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApi.java
index 08339be8f63..21c78191d6f 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApi.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApi.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
* loaded.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class DomApi {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApiImpl.java b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApiImpl.java
index 9043b9e2007..8c2246d1ab5 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApiImpl.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomApiImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
* A DOM API abstraction layer to be used via {@link DomApi#wrap(Node)}.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface DomApiImpl {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomElement.java b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomElement.java
index 503f137cacd..9c9ca424ed8 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomElement.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomElement.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -34,6 +34,7 @@
* {@link DomApi#wrap(elemental.dom.Node)} should be used
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@JsType(isNative = true)
public interface DomElement extends DomNode {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomNode.java b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomNode.java
index f68883261ed..7f41290af5d 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/dom/DomNode.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/dom/DomNode.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -32,6 +32,7 @@
* {@link DomApi#wrap(elemental.dom.Node)} should be used
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@JsType(isNative = true)
public interface DomNode {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/dom/PolymerDomApiImpl.java b/flow-client/src/main/java/com/vaadin/client/flow/dom/PolymerDomApiImpl.java
index 2cd0a8366f9..ef174c6675a 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/dom/PolymerDomApiImpl.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/dom/PolymerDomApiImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
* Contains methods for checking whether polymer-micro.html has been loaded.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class PolymerDomApiImpl implements DomApiImpl {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/model/UpdatableModelProperties.java b/flow-client/src/main/java/com/vaadin/client/flow/model/UpdatableModelProperties.java
index 2e17ca464e5..a4ac918930d 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/model/UpdatableModelProperties.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/model/UpdatableModelProperties.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -32,6 +32,7 @@
* {@link SimpleElementBindingStrategy}).
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class UpdatableModelProperties {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceEvent.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceEvent.java
index b8ab2bf3a7b..27e9435ca9f 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* Event fired when the structure of a {@link NodeList} changes.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ListSpliceEvent extends ReactiveValueChangeEvent {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceListener.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceListener.java
index afc529d446d..4e5ea8e01d8 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/ListSpliceListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Listener notified when the structure of a node list changes.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface ListSpliceListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapProperty.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapProperty.java
index c654b777a00..2ada6292089 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapProperty.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapProperty.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -31,6 +31,7 @@
* A property in a node map.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class MapProperty implements ReactiveValue {
private final String name;
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddEvent.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddEvent.java
index 30962960469..aae20ccc157 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
* Event fired when a property is added to a {@link NodeMap}.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class MapPropertyAddEvent extends ReactiveValueChangeEvent {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddListener.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddListener.java
index c363d400aa1..d06ddad4657 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyAddListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Listener notified when a property is added to a {@link NodeMap}.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface MapPropertyAddListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeEvent.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeEvent.java
index 0b324880b68..aff3312fd1c 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
* Event fired when the value of a map property changes.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class MapPropertyChangeEvent extends ReactiveValueChangeEvent {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeListener.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeListener.java
index e3c6ee52aeb..83a519984ce 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/MapPropertyChangeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Listener notified when the value of a {@link MapProperty} changes.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface MapPropertyChangeListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeFeature.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeFeature.java
index 7de674ec6fc..3a401cd40fd 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeFeature.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeFeature.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* into different features of related data.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public abstract class NodeFeature {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeList.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeList.java
index de569b73159..f2fe87fe8bd 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeList.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeList.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -45,6 +45,7 @@
* immutable or reactive values of their own.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class NodeList extends NodeFeature implements ReactiveValue {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeMap.java b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeMap.java
index 7d1ca6831a1..f5eeaa0dab9 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeMap.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/nodefeature/NodeMap.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -43,6 +43,7 @@
* a property changes since the property is a reactive values of its own.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class NodeMap extends NodeFeature implements ReactiveValue {
private final JsMap properties = JsCollections.map();
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/Computation.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/Computation.java
index 06095cacf4a..bbe54b42e3e 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/Computation.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/Computation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -29,6 +29,7 @@
* "recomputation" when it is created.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public abstract class Computation implements ReactiveValueChangeListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/FlushListener.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/FlushListener.java
index 88244b09a2d..f035afc126e 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/FlushListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/FlushListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
* @see Reactive#addFlushListener(FlushListener)
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface FlushListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateEvent.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateEvent.java
index 92b21ae7817..305f8e7ac03 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Event fired when a computation is invalidated.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class InvalidateEvent {
private Computation source;
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateListener.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateListener.java
index 978a1d91fdf..220b99f0b35 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/InvalidateListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Listens to invalidate events fired by a computation.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface InvalidateListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/Reactive.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/Reactive.java
index 73b6c75fe8f..15ad3b3434e 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/Reactive.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/Reactive.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -37,6 +37,7 @@
* @see Computation
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class Reactive {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveEventRouter.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveEventRouter.java
index f95d25caa94..a3594498673 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveEventRouter.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveEventRouter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
* {@link Reactive#addEventCollector(ReactiveValueChangeListener)}.
*
* @author Vaadin Ltd
+ * @since 1.0
* @param
* the listener type of this router
* @param
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValue.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValue.java
index a44ad75b51e..cdd4da27ef9 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValue.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -27,6 +27,7 @@
* the current computation.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public interface ReactiveValue {
/**
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeEvent.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeEvent.java
index 31d977a8c47..9ddce8a9fc0 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeEvent.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Event fired when a reactive value has changed.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public abstract class ReactiveValueChangeEvent {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeListener.java b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeListener.java
index 7f45f11010b..02296279c27 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeListener.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/reactive/ReactiveValueChangeListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
* @see ReactiveValue#addReactiveValueChangeListener(ReactiveValueChangeListener)
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@FunctionalInterface
public interface ReactiveValueChangeListener {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/util/ClientJsonCodec.java b/flow-client/src/main/java/com/vaadin/client/flow/util/ClientJsonCodec.java
index 85edb3d2c01..7be0269c642 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/util/ClientJsonCodec.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/util/ClientJsonCodec.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* Static helpers for encoding and decoding JSON.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ClientJsonCodec {
private ClientJsonCodec() {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/util/JsObject.java b/flow-client/src/main/java/com/vaadin/client/flow/util/JsObject.java
index c53d8486c46..e55cafeb848 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/util/JsObject.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/util/JsObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -22,6 +22,7 @@
* JsInterop bridge to the JavaScript Object type.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@JsType(isNative = true, name = "Object", namespace = JsPackage.GLOBAL)
public class JsObject {
diff --git a/flow-client/src/main/java/com/vaadin/client/flow/util/NativeFunction.java b/flow-client/src/main/java/com/vaadin/client/flow/util/NativeFunction.java
index fee1bec5f5b..39fd809add0 100644
--- a/flow-client/src/main/java/com/vaadin/client/flow/util/NativeFunction.java
+++ b/flow-client/src/main/java/com/vaadin/client/flow/util/NativeFunction.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -26,6 +26,7 @@
* JsInterop wrapper for interacting with the JavaScript Function type.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@JsType(isNative = true, name = "Function", namespace = JsPackage.GLOBAL)
@SuppressWarnings("unusable-by-js")
diff --git a/flow-client/src/main/java/com/vaadin/flow/linker/ClientEngineLinker.java b/flow-client/src/main/java/com/vaadin/flow/linker/ClientEngineLinker.java
index 0ca30fd0536..e15afba75dc 100644
--- a/flow-client/src/main/java/com/vaadin/flow/linker/ClientEngineLinker.java
+++ b/flow-client/src/main/java/com/vaadin/flow/linker/ClientEngineLinker.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/main/java/com/vaadin/flow/osgi/Activator.java b/flow-client/src/main/java/com/vaadin/flow/osgi/Activator.java
new file mode 100644
index 00000000000..9c96e2421ac
--- /dev/null
+++ b/flow-client/src/main/java/com/vaadin/flow/osgi/Activator.java
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2000-2018 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.flow.osgi;
+
+import java.util.Hashtable;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.http.HttpService;
+import org.osgi.service.http.NamespaceException;
+
+import com.vaadin.flow.client.ClientResources;
+
+/**
+ * Bundle activator for the client-side module.
+ *
+ * The activator registers {@link ClientResources} service to allow to access to
+ * the resources in this bundle.
+ *
+ * @author Vaadin Ltd
+ *
+ */
+public class Activator implements BundleActivator, ServiceListener {
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ context.registerService(ClientResources.class,
+ new OsgiClientResources(), new Hashtable());
+ registerClientResources(null);
+ context.addServiceListener(this);
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ // Does nothing since the framework will automatically unregister any
+ // registered services.
+ }
+
+ @Override
+ public void serviceChanged(ServiceEvent event) {
+ if (event.getType() == ServiceEvent.REGISTERED) {
+ registerClientResources(event.getServiceReference());
+ }
+ }
+
+ private void registerClientResources(ServiceReference> serviceReference) {
+ Bundle bundle = FrameworkUtil.getBundle(Activator.class);
+ ServiceReference reference = bundle.getBundleContext()
+ .getServiceReference(HttpService.class);
+ if (reference != null && (serviceReference == null
+ || serviceReference.equals(reference))) {
+ HttpService service = bundle.getBundleContext()
+ .getService(reference);
+ try {
+ service.registerResources("/VAADIN/static/client",
+ "/META-INF/resources/VAADIN/static/client", null);
+ } catch (NamespaceException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ }
+
+}
diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/servlet/ProductionModeTimingDataViewTestServlet.java b/flow-client/src/main/java/com/vaadin/flow/osgi/OsgiClientResources.java
similarity index 52%
rename from flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/servlet/ProductionModeTimingDataViewTestServlet.java
rename to flow-client/src/main/java/com/vaadin/flow/osgi/OsgiClientResources.java
index 1c2126a416e..2398b1a7c98 100644
--- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/servlet/ProductionModeTimingDataViewTestServlet.java
+++ b/flow-client/src/main/java/com/vaadin/flow/osgi/OsgiClientResources.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -13,16 +13,22 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package com.vaadin.flow.uitest.servlet;
+package com.vaadin.flow.osgi;
-import javax.servlet.annotation.WebInitParam;
-import javax.servlet.annotation.WebServlet;
+import java.io.InputStream;
-import com.vaadin.flow.server.VaadinServletConfiguration;
+import com.vaadin.flow.client.ClientResources;
-@WebServlet(asyncSupported = true, urlPatterns = {
- "/view-production-timing/*" }, initParams = @WebInitParam(name = "requestTiming", value = "true"))
-@VaadinServletConfiguration(productionMode = true)
-public class ProductionModeTimingDataViewTestServlet extends ViewTestServlet {
+/**
+ * OSGi service to access to the client-side resources.
+ *
+ * @author Vaadin Ltd
+ *
+ */
+class OsgiClientResources implements ClientResources {
+ @Override
+ public InputStream getResource(String path) {
+ return OsgiClientResources.class.getResourceAsStream(path);
+ }
}
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/CustomScheduler.java b/flow-client/src/test-gwt/java/com/vaadin/client/CustomScheduler.java
index 079fdca0470..1dae728f782 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/CustomScheduler.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/CustomScheduler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/GwtDependencyLoaderTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/GwtDependencyLoaderTest.java
index 0b6d578040f..8dcbc8ee544 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/GwtDependencyLoaderTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/GwtDependencyLoaderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/GwtExecuteJavaScriptElementUtilsTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/GwtExecuteJavaScriptElementUtilsTest.java
index 8f13133f6b4..a3cd54de9e3 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/GwtExecuteJavaScriptElementUtilsTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/GwtExecuteJavaScriptElementUtilsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/GwtWidgetUtilTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/GwtWidgetUtilTest.java
index d810b9d50d4..ba46de83518 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/GwtWidgetUtilTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/GwtWidgetUtilTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/communication/GwtDefaultReconnectDialogTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/communication/GwtDefaultReconnectDialogTest.java
index 28f26165c8b..12c83758b43 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/communication/GwtDefaultReconnectDialogTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/communication/GwtDefaultReconnectDialogTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtBasicElementBinderTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtBasicElementBinderTest.java
index 4271f6d1da7..452e4693941 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtBasicElementBinderTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtBasicElementBinderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtEventHandlerTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtEventHandlerTest.java
index 9040a255a9f..955f987e479 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtEventHandlerTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtEventHandlerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -41,6 +41,7 @@
/**
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class GwtEventHandlerTest extends ClientEngineTestBase {
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtMultipleBindingTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtMultipleBindingTest.java
index c0c68e7e59b..2a128056d73 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtMultipleBindingTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtMultipleBindingTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPolymerModelTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPolymerModelTest.java
index 0d51e5f3972..767e98244d5 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPolymerModelTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPolymerModelTest.java
@@ -26,7 +26,8 @@
import elemental.json.JsonValue;
/**
- * @author Vaadin Ltd.
+ * @author Vaadin Ltd
+ * @since 1.0.
*/
public class GwtPolymerModelTest extends GwtPropertyElementBinderTest {
private static final String MODEL_PROPERTY_NAME = "model";
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPropertyElementBinderTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPropertyElementBinderTest.java
index e1849244dda..f72afe08bdc 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPropertyElementBinderTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtPropertyElementBinderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -38,6 +38,7 @@
/**
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public abstract class GwtPropertyElementBinderTest
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateNodeTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateNodeTest.java
index 7b3ed4eedef..dfdd2b403ee 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateNodeTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateNodeTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateTreeTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateTreeTest.java
index 3234d72e0de..b8c97eec824 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateTreeTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtStateTreeTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -30,6 +30,7 @@
/**
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class GwtStateTreeTest extends ClientEngineTestBase {
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtTreeChangeProcessorTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtTreeChangeProcessorTest.java
index 5f6756bf4fd..c5e00278dc5 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtTreeChangeProcessorTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/GwtTreeChangeProcessorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsArrayTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsArrayTest.java
index d08f9da9d0f..f07c0456f31 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsArrayTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsArrayTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsMapTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsMapTest.java
index 3cd38740024..bdf65a5882f 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsMapTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsMapTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsSetTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsSetTest.java
index 8a5d5d5e1e4..ac132d4a26f 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsSetTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsSetTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsWeakMapTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsWeakMapTest.java
index 62dd5fd0e5c..9a40065650f 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsWeakMapTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/collection/GwtJsWeakMapTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test-gwt/java/com/vaadin/client/flow/util/GwtNativeFunctionTest.java b/flow-client/src/test-gwt/java/com/vaadin/client/flow/util/GwtNativeFunctionTest.java
index 541df56ff52..a88a84fe321 100644
--- a/flow-client/src/test-gwt/java/com/vaadin/client/flow/util/GwtNativeFunctionTest.java
+++ b/flow-client/src/test-gwt/java/com/vaadin/client/flow/util/GwtNativeFunctionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/AssertionTest.java b/flow-client/src/test/java/com/vaadin/client/AssertionTest.java
index a16b2ee0425..8d89c4ee6a1 100644
--- a/flow-client/src/test/java/com/vaadin/client/AssertionTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/AssertionTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/CodeTest.java b/flow-client/src/test/java/com/vaadin/client/CodeTest.java
index 99173c5f283..ad838721ef8 100644
--- a/flow-client/src/test/java/com/vaadin/client/CodeTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/CodeTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/DependencyLoaderTest.java b/flow-client/src/test/java/com/vaadin/client/DependencyLoaderTest.java
index c175ef65850..a7f32be0888 100644
--- a/flow-client/src/test/java/com/vaadin/client/DependencyLoaderTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/DependencyLoaderTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/ExistingElementMapTest.java b/flow-client/src/test/java/com/vaadin/client/ExistingElementMapTest.java
index 142bb2ab410..ec1c857eaba 100644
--- a/flow-client/src/test/java/com/vaadin/client/ExistingElementMapTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/ExistingElementMapTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/InitialPropertiesHandlerTest.java b/flow-client/src/test/java/com/vaadin/client/InitialPropertiesHandlerTest.java
index 3b7ebe297d1..ea94b44f66b 100644
--- a/flow-client/src/test/java/com/vaadin/client/InitialPropertiesHandlerTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/InitialPropertiesHandlerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/bootstrap/LocationParserTest.java b/flow-client/src/test/java/com/vaadin/client/bootstrap/LocationParserTest.java
index 96716d68592..d1501efdaef 100644
--- a/flow-client/src/test/java/com/vaadin/client/bootstrap/LocationParserTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/bootstrap/LocationParserTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/communication/AbstractConfigurationTest.java b/flow-client/src/test/java/com/vaadin/client/communication/AbstractConfigurationTest.java
index c683e166339..a71282fbefe 100644
--- a/flow-client/src/test/java/com/vaadin/client/communication/AbstractConfigurationTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/communication/AbstractConfigurationTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/communication/LoadingIndicatorConfiguratorTest.java b/flow-client/src/test/java/com/vaadin/client/communication/LoadingIndicatorConfiguratorTest.java
index fd453229c05..adb7664d8e6 100644
--- a/flow-client/src/test/java/com/vaadin/client/communication/LoadingIndicatorConfiguratorTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/communication/LoadingIndicatorConfiguratorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/communication/PollConfiguratorTest.java b/flow-client/src/test/java/com/vaadin/client/communication/PollConfiguratorTest.java
index 8d3033fbfc0..05ef3747092 100644
--- a/flow-client/src/test/java/com/vaadin/client/communication/PollConfiguratorTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/communication/PollConfiguratorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/communication/ReconnectDialogConfigurationTest.java b/flow-client/src/test/java/com/vaadin/client/communication/ReconnectDialogConfigurationTest.java
index ec1df30c10a..5be5b8b98c2 100644
--- a/flow-client/src/test/java/com/vaadin/client/communication/ReconnectDialogConfigurationTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/communication/ReconnectDialogConfigurationTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/communication/ServerMessageHandlerTest.java b/flow-client/src/test/java/com/vaadin/client/communication/ServerMessageHandlerTest.java
index ed3d676405c..47db82620fd 100644
--- a/flow-client/src/test/java/com/vaadin/client/communication/ServerMessageHandlerTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/communication/ServerMessageHandlerTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
/**
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ServerMessageHandlerTest {
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/ExecuteJavaScriptProcessorTest.java b/flow-client/src/test/java/com/vaadin/client/flow/ExecuteJavaScriptProcessorTest.java
index d76e699d53b..d4f7db6853e 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/ExecuteJavaScriptProcessorTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/ExecuteJavaScriptProcessorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/StateNodeTest.java b/flow-client/src/test/java/com/vaadin/client/flow/StateNodeTest.java
index d8158fb5300..e80333919a0 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/StateNodeTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/StateNodeTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/StateTreeTest.java b/flow-client/src/test/java/com/vaadin/client/flow/StateTreeTest.java
index 0f012d2f2fa..bc770353d75 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/StateTreeTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/StateTreeTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/TreeChangeProcessorTest.java b/flow-client/src/test/java/com/vaadin/client/flow/TreeChangeProcessorTest.java
index 51f5c0764a4..e779256df2c 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/TreeChangeProcessorTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/TreeChangeProcessorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreArrayTest.java b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreArrayTest.java
index fd624e6aa6e..a51b781da34 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreArrayTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreArrayTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreMapTest.java b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreMapTest.java
index 1f9a0895728..50728e323af 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreMapTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreMapTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreSetTest.java b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreSetTest.java
index 79d49f28a5c..fd666ef1383 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreSetTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreSetTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreWeakMapTest.java b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreWeakMapTest.java
index dd18259e252..37797fe70d0 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/collection/JreWeakMapTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/collection/JreWeakMapTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/MapPropertyTest.java b/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/MapPropertyTest.java
index 84cc657be73..996565e1fd1 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/MapPropertyTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/MapPropertyTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeListTest.java b/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeListTest.java
index 721ac51c2eb..6b0df2eb4a6 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeListTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeListTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeMapTest.java b/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeMapTest.java
index 1b64b1d90a4..d56b3b46fa1 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeMapTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/nodefeature/NodeMapTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/reactive/ComputationTest.java b/flow-client/src/test/java/com/vaadin/client/flow/reactive/ComputationTest.java
index 16e58a2978c..8fc42ab0e0f 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/reactive/ComputationTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/reactive/ComputationTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/reactive/CountingComputation.java b/flow-client/src/test/java/com/vaadin/client/flow/reactive/CountingComputation.java
index 4279698f72d..647cd0d8874 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/reactive/CountingComputation.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/reactive/CountingComputation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/reactive/ReactiveTest.java b/flow-client/src/test/java/com/vaadin/client/flow/reactive/ReactiveTest.java
index eb2947b651b..6fabe602660 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/reactive/ReactiveTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/reactive/ReactiveTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/reactive/TestReactiveEventRouter.java b/flow-client/src/test/java/com/vaadin/client/flow/reactive/TestReactiveEventRouter.java
index 35cfa1173b8..78266bb95af 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/reactive/TestReactiveEventRouter.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/reactive/TestReactiveEventRouter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-client/src/test/java/com/vaadin/client/flow/util/ClientJsonCodecTest.java b/flow-client/src/test/java/com/vaadin/client/flow/util/ClientJsonCodecTest.java
index 691294b8cf8..bb89f683e03 100644
--- a/flow-client/src/test/java/com/vaadin/client/flow/util/ClientJsonCodecTest.java
+++ b/flow-client/src/test/java/com/vaadin/client/flow/util/ClientJsonCodecTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/pom.xml b/flow-components-parent/flow-code-generator-api/pom.xml
index be94e09c1db..1e80a5c3cd7 100644
--- a/flow-components-parent/flow-code-generator-api/pom.xml
+++ b/flow-components-parent/flow-code-generator-api/pom.xml
@@ -1,11 +1,12 @@
-4.0.0com.vaadinflow-components-parent
- 1.0-SNAPSHOT
+ 1.1-SNAPSHOTflow-code-generator-apiFlow code generator API
@@ -53,6 +54,11 @@
commons-text1.1
+
+ javax.annotation
+ javax.annotation-api
+ 1.3.2
+
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGenerator.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGenerator.java
index f012c7d288a..40d277497b5 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGenerator.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -25,12 +25,15 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
@@ -38,9 +41,14 @@
import org.apache.commons.lang3.ClassUtils;
import org.apache.commons.lang3.StringUtils;
import org.jboss.forge.roaster.Roaster;
+import org.jboss.forge.roaster.model.Named;
+import org.jboss.forge.roaster.model.Packaged;
import org.jboss.forge.roaster.model.Visibility;
+import org.jboss.forge.roaster.model.source.AnnotationTargetSource;
+import org.jboss.forge.roaster.model.source.FieldSource;
import org.jboss.forge.roaster.model.source.JavaClassSource;
import org.jboss.forge.roaster.model.source.JavaDocSource;
+import org.jboss.forge.roaster.model.source.JavaEnumSource;
import org.jboss.forge.roaster.model.source.MethodSource;
import org.jboss.forge.roaster.model.source.ParameterSource;
import org.slf4j.LoggerFactory;
@@ -54,6 +62,7 @@
import com.vaadin.flow.component.HasComponents;
import com.vaadin.flow.component.HasStyle;
import com.vaadin.flow.component.HasText;
+import com.vaadin.flow.component.HasTheme;
import com.vaadin.flow.component.HasValue;
import com.vaadin.flow.component.JsonSerializable;
import com.vaadin.flow.component.NotSupported;
@@ -394,8 +403,9 @@ private JavaClassSource generateClassSource(ComponentMetadata metadata,
addClassAnnotations(metadata, javaClass);
addInterfaces(metadata, javaClass);
+ generateThemeVariants(metadata, javaClass, targetPackage);
- Map> propertyToGetterMap = new HashMap>();
+ Map> propertyToGetterMap = new HashMap<>();
if (metadata.getProperties() != null) {
generateEventsForPropertiesWithNotify(metadata);
@@ -664,6 +674,93 @@ private void addInterfaces(ComponentMetadata metadata,
});
}
+ private void generateThemeVariants(ComponentMetadata metadata,
+ JavaClassSource javaClass, String targetPackage) {
+ if (metadata.getVariants().isEmpty()) {
+ return;
+ }
+
+ javaClass.addInterface(HasTheme.class);
+
+ String rawName = ComponentGeneratorUtils
+ .generateValidJavaClassName(metadata.getTag());
+ String componentName = rawName.startsWith("Vaadin")
+ ? rawName.substring("Vaadin".length())
+ : rawName;
+ JavaEnumSource classEnum = Roaster.create(JavaEnumSource.class)
+ .setName(StringUtils.capitalize(componentName) + "Variant")
+ .setPackage(targetPackage);
+
+ addGeneratedAnnotation(metadata, classEnum);
+
+ classEnum.getJavaDoc().setText(String.format(
+ "Set of theme variants applicable for {@code %s} component.",
+ metadata.getTag()));
+ FieldSource variantField = classEnum.addField()
+ .setPrivate().setType(String.class).setName("variant")
+ .setFinal(true);
+
+ classEnum.addMethod().setConstructor(true)
+ .setBody(String.format("this.%s = %s;", variantField.getName(),
+ variantField.getName()))
+ .addParameter(String.class.getSimpleName(),
+ variantField.getName());
+
+ MethodSource getVariantNameMethod = classEnum
+ .addMethod().setPublic().setReturnType(String.class)
+ .setName("getVariantName")
+ .setBody(String.format("return %s;", variantField.getName()));
+ getVariantNameMethod.getJavaDoc().setText("Gets the variant name.")
+ .addTagValue(JAVADOC_RETURN, "variant name");
+
+ for (Map.Entry> themeNameAndVariants : metadata
+ .getVariants().entrySet()) {
+ for (String variant : themeNameAndVariants.getValue()) {
+ classEnum.addEnumConstant(createEnumFieldName(String.format(
+ "%s_%s", themeNameAndVariants.getKey(), variant)))
+ .setConstructorArguments(
+ String.format("\"%s\"", variant));
+ }
+ }
+
+ String parameterName = "variants";
+ javaClass.addImport(Stream.class);
+ javaClass.addImport(Collectors.class);
+ MethodSource addVariantsMethod = javaClass.addMethod()
+ .setName("addThemeVariants")
+ .setBody(String.format(
+ "getThemeNames().addAll(Stream.of(%s).map(%s::%s).collect(Collectors.toList()));",
+ parameterName, classEnum.getName(),
+ getVariantNameMethod.getName()))
+ .setPublic().setReturnTypeVoid();
+ addVariantsMethod.addParameter(classEnum.getName(), parameterName)
+ .setVarArgs(true);
+ addVariantsMethod.getJavaDoc()
+ .setText("Adds theme variants to the component.")
+ .addTagValue(JAVADOC_PARAM, String
+ .format("%s theme variants to add", parameterName));
+
+ MethodSource removeVariantsMethod = javaClass
+ .addMethod().setName("removeThemeVariants")
+ .setBody(String.format(
+ "getThemeNames().removeAll(Stream.of(%s).map(%s::%s).collect(Collectors.toList()));",
+ parameterName, classEnum.getName(),
+ getVariantNameMethod.getName()))
+ .setPublic().setReturnTypeVoid();
+ removeVariantsMethod.addParameter(classEnum.getName(), parameterName)
+ .setVarArgs(true);
+ removeVariantsMethod.getJavaDoc()
+ .setText("Removes theme variants from the component.")
+ .addTagValue(JAVADOC_PARAM, String
+ .format("%s theme variants to remove", parameterName));
+ writeClass(metadata.getName(), targetPath, classEnum, licenseNote);
+ }
+
+ private String createEnumFieldName(String variantName) {
+ return StringUtils.upperCase(variantName, Locale.ENGLISH)
+ .replaceAll("-", "_");
+ }
+
private void generateGettersAndSetters(ComponentMetadata metadata,
JavaClassSource javaClass,
Map> propertyToGetterMap) {
@@ -813,6 +910,21 @@ private String addLicenseHeaderIfAvailable(String source,
private void addClassAnnotations(ComponentMetadata metadata,
JavaClassSource javaClass) {
+ addGeneratedAnnotation(metadata, javaClass);
+
+ javaClass.addAnnotation(Tag.class).setStringValue(metadata.getTag());
+
+ String importPath = metadata.getBaseUrl().replace("\\", "/");
+ if (importPath.startsWith("/")) {
+ importPath = importPath.substring(1);
+ }
+ String htmlImport = String.format("frontend://%s%s", frontendDirectory,
+ importPath);
+ javaClass.addAnnotation(HtmlImport.class).setStringValue(htmlImport);
+ }
+
+ private void addGeneratedAnnotation(ComponentMetadata metadata,
+ AnnotationTargetSource javaClass) {
Properties properties = getProperties("version.prop");
String generator = String.format("Generator: %s#%s",
ComponentGenerator.class.getName(),
@@ -823,21 +935,10 @@ private void addClassAnnotations(ComponentMetadata metadata,
String flow = String.format("Flow#%s",
properties.getProperty("flow.version"));
- String[] generatedValue = new String[] { generator, webComponent,
- flow };
+ String[] generatedValue = { generator, webComponent, flow };
javaClass.addAnnotation(Generated.class)
.setStringArrayValue(generatedValue);
-
- javaClass.addAnnotation(Tag.class).setStringValue(metadata.getTag());
-
- String importPath = metadata.getBaseUrl().replace("\\", "/");
- if (importPath.startsWith("/")) {
- importPath = importPath.substring(1);
- }
- String htmlImport = String.format("frontend://%s%s", frontendDirectory,
- importPath);
- javaClass.addAnnotation(HtmlImport.class).setStringValue(htmlImport);
}
/**
@@ -860,17 +961,21 @@ private void addClassAnnotations(ComponentMetadata metadata,
public void generateClass(ComponentMetadata metadata, File targetPath,
String basePackage, String licenseNote) {
- JavaClassSource javaClass = generateClassSource(metadata, basePackage);
- String source = addLicenseHeaderIfAvailable(javaClass.toString(),
- licenseNote);
-
- String fileName = ComponentGeneratorUtils
- .generateValidJavaClassName(javaClass.getName()) + ".java";
-
if (!targetPath.isDirectory() && !targetPath.mkdirs()) {
throw new ComponentGenerationException(
"Could not create target directory \"" + targetPath + "\"");
}
+ writeClass(metadata.getName(), targetPath,
+ generateClassSource(metadata, basePackage), licenseNote);
+ }
+
+ private > void writeClass(
+ String componentName, File targetPath, T javaClass,
+ String licenseNote) {
+ String fileName = ComponentGeneratorUtils
+ .generateValidJavaClassName(javaClass.getName()) + ".java";
+ String source = addLicenseHeaderIfAvailable(javaClass.toString(),
+ licenseNote);
try {
Files.write(
new File(
@@ -882,7 +987,7 @@ public void generateClass(ComponentMetadata metadata, File targetPath,
throw new ComponentGenerationException(
"Error writing the generated Java source file \"" + fileName
+ "\" at \"" + targetPath + "\" for component \""
- + metadata.getName() + "\"",
+ + componentName + "\"",
ex);
}
}
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGeneratorUtils.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGeneratorUtils.java
index 0e9079e1db6..e2cfd091304 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGeneratorUtils.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/ComponentGeneratorUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/FunctionParameterVariantCombinator.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/FunctionParameterVariantCombinator.java
index e335549862c..201c8cd0ca9 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/FunctionParameterVariantCombinator.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/FunctionParameterVariantCombinator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* for ComponentFunctionData.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class FunctionParameterVariantCombinator {
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/JavaDocFormatter.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/JavaDocFormatter.java
index e475b156031..dc1289aba5a 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/JavaDocFormatter.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/JavaDocFormatter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -30,7 +30,8 @@
/**
* A class that is used to format javadocs for the generated component classes.
*
- * @author Vaadin Ltd.
+ * @author Vaadin Ltd
+ * @since 1.0.
*/
class JavaDocFormatter {
private static final String JAVA_DOC_CODE_SECTION = "{@code $1}";
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/NestedClassGenerator.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/NestedClassGenerator.java
index bf9a84a09e8..f486bb8faa9 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/NestedClassGenerator.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/NestedClassGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/exception/ComponentGenerationException.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/exception/ComponentGenerationException.java
index 75e31e3b35a..49d3bb67eb6 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/exception/ComponentGenerationException.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/exception/ComponentGenerationException.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentBasicType.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentBasicType.java
index eeccb6857af..1d33da3fdb4 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentBasicType.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentBasicType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentEventData.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentEventData.java
index 6bf45e9a9de..af29bad753c 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentEventData.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentEventData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionData.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionData.java
index 6bfcd1af403..1fb09aa6001 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionData.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionParameterData.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionParameterData.java
index 0df67439bc7..da880ad0526 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionParameterData.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentFunctionParameterData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentMetadata.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentMetadata.java
index bd7ffb766fb..6d332eaaa1f 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentMetadata.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentMetadata.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -15,7 +15,9 @@
*/
package com.vaadin.generator.metadata;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import com.vaadin.flow.component.HasComponents;
@@ -23,7 +25,6 @@
* Base class of the representation of a webcomponent for the code generator. It
* holds all the data needed to generate the Java wrapper class that interacts
* with the webcomponent at the client side.
- *
*/
public class ComponentMetadata {
private String tag;
@@ -38,6 +39,7 @@ public class ComponentMetadata {
private List behaviors;
private List slots;
private List mixins;
+ private Map> variants = new HashMap<>();
/**
* Gets the name of the ES6 class of the webcomponent, which is used to
@@ -296,4 +298,21 @@ public void setMixins(List mixins) {
this.mixins = mixins;
}
+ /**
+ * Gets theme variants for the component.
+ *
+ * @return theme variants data for the component
+ */
+ public Map> getVariants() {
+ return variants;
+ }
+
+ /**
+ * Sets theme variants for the component.
+ *
+ * @param variants theme variants data for the component
+ */
+ public void setVariants(Map> variants) {
+ this.variants = variants;
+ }
}
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentObjectType.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentObjectType.java
index 50b4c02c885..6facbc77099 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentObjectType.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentObjectType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyBaseData.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyBaseData.java
index bf7c78f2578..fdc958e58e7 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyBaseData.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyBaseData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyData.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyData.java
index b05ae94ef10..8508b19866b 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyData.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentPropertyData.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentType.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentType.java
index 46e3b860f5a..62029862497 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentType.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/metadata/ComponentType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,6 +19,7 @@
* Marker interface for component types.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public interface ComponentType {
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/BehaviorRegistry.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/BehaviorRegistry.java
index c4cfbb7cf56..20e22e30e77 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/BehaviorRegistry.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/BehaviorRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ExclusionRegistry.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ExclusionRegistry.java
index 4e91ea3e6ac..15d7db5c9c9 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ExclusionRegistry.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ExclusionRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -29,6 +29,7 @@
* events or methods are not generated.
*
* @author Vaadin Ltd
+ * @since 1.0
*
*/
public class ExclusionRegistry {
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/PropertyNameRemapRegistry.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/PropertyNameRemapRegistry.java
index adf3d06db3c..793dbf0ad59 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/PropertyNameRemapRegistry.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/PropertyNameRemapRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ValuePropertyRegistry.java b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ValuePropertyRegistry.java
index 2f5f46e3bc8..8e3415e54d1 100644
--- a/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ValuePropertyRegistry.java
+++ b/flow-components-parent/flow-code-generator-api/src/main/java/com/vaadin/generator/registry/ValuePropertyRegistry.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTest.java b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTest.java
index 5b8eaaa95b7..49018b075d1 100644
--- a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTest.java
+++ b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTestUtils.java b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTestUtils.java
index 1813d83e19f..ea9e3c4ccc7 100644
--- a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTestUtils.java
+++ b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorTestUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorUtilsTest.java b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorUtilsTest.java
index 1267242de21..a6623beae8b 100644
--- a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorUtilsTest.java
+++ b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/ComponentGeneratorUtilsTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/NestedClassGeneratorTest.java b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/NestedClassGeneratorTest.java
index 009583ea8ea..f4fbd3a6184 100644
--- a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/NestedClassGeneratorTest.java
+++ b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/NestedClassGeneratorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/BehaviorRegistryTest.java b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/BehaviorRegistryTest.java
index 7c6a00043cd..daefd67ad5f 100644
--- a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/BehaviorRegistryTest.java
+++ b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/BehaviorRegistryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/PropertyNameRemapRegistryTest.java b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/PropertyNameRemapRegistryTest.java
index 7c19a01cd25..17db76ed806 100644
--- a/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/PropertyNameRemapRegistryTest.java
+++ b/flow-components-parent/flow-code-generator-api/src/test/java/com/vaadin/generator/registry/PropertyNameRemapRegistryTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-code-generator/pom.xml b/flow-components-parent/flow-code-generator/pom.xml
index 252f917794d..878d6432987 100644
--- a/flow-components-parent/flow-code-generator/pom.xml
+++ b/flow-components-parent/flow-code-generator/pom.xml
@@ -5,7 +5,7 @@
com.vaadinflow-components-parent
- 1.0-SNAPSHOT
+ 1.1-SNAPSHOTflow-code-generatorFlow code generator
diff --git a/flow-components-parent/flow-code-generator/src/main/java/com/vaadin/generator/ComponentGeneratorPlugin.java b/flow-components-parent/flow-code-generator/src/main/java/com/vaadin/generator/ComponentGeneratorPlugin.java
index f81631250a3..ce102e1f009 100644
--- a/flow-components-parent/flow-code-generator/src/main/java/com/vaadin/generator/ComponentGeneratorPlugin.java
+++ b/flow-components-parent/flow-code-generator/src/main/java/com/vaadin/generator/ComponentGeneratorPlugin.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -31,7 +31,7 @@
/**
* Maven plugin for the Java code generation based on JSON metadata extracted
* from webcomponents.
- *
+ *
* @see ComponentGenerator
*/
@Mojo(defaultPhase = LifecyclePhase.GENERATE_SOURCES, name = "generate")
@@ -151,8 +151,8 @@ public void execute() throws MojoExecutionException, MojoFailureException {
e);
}
getLog().error("Error generating Java source for "
- + file.getAbsolutePath()
- + ". The property \"failOnError\" is false, skipping file...",
+ + file.getAbsolutePath()
+ + ". The property \"failOnError\" is false, skipping file...",
e);
}
}
diff --git a/flow-components-parent/flow-component-demo-helpers/pom.xml b/flow-components-parent/flow-component-demo-helpers/pom.xml
index 77a2e97e2e9..b8700222e36 100644
--- a/flow-components-parent/flow-component-demo-helpers/pom.xml
+++ b/flow-components-parent/flow-component-demo-helpers/pom.xml
@@ -7,7 +7,7 @@
com.vaadinflow-components-parent
- 1.0-SNAPSHOT
+ 1.1-SNAPSHOTflow-component-demo-helpers
@@ -50,6 +50,11 @@
vaadin-lumo-theme${project.version}
+
+ com.vaadin
+ vaadin-material-theme
+ ${project.version}
+ org.webjars.bowergithub.webcomponents
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/Card.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/Card.java
index b0fa784a62b..c1f221db74d 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/Card.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/Card.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -25,6 +25,7 @@
* Card to hold components for DemoViews
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@StyleSheet("src/css/component-card.css")
public class Card extends Div {
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoServer.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoServer.java
index 8574370fade..00980d20c96 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoServer.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoServer.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -33,6 +33,7 @@
* be extended for additional configuration.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class ComponentDemoServer {
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoTest.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoTest.java
index dccbe0afe46..f0674635ff1 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoTest.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/ComponentDemoTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -15,12 +15,23 @@
*/
package com.vaadin.flow.demo;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+import java.util.function.Supplier;
+
+import org.junit.Assert;
import org.junit.Before;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import com.vaadin.flow.testutil.ChromeBrowserTest;
+import static com.vaadin.flow.demo.DemoView.COMPONENT_WITH_VARIANTS_ID;
+import static com.vaadin.flow.demo.DemoView.VARIANT_TOGGLE_BUTTONS_DIV_ID;
+
/**
* Base class for the integration tests of component demos.
*
@@ -28,6 +39,24 @@
public abstract class ComponentDemoTest extends ChromeBrowserTest {
protected WebElement layout;
+ /**
+ * Default variant producer
+ *
+ * With current design, the theme variant can be obtained from the button
+ * attached to the demo
+ */
+ public static class DefaultProducer
+ implements Function {
+
+ @Override
+ public String apply(WebElement button) {
+ String[] variant = button.getText().split("'");
+ return variant[1];
+ }
+ }
+
+ private Function DEFAULT_VARIANT_PRODUCER = new DefaultProducer();
+
@Override
protected int getDeploymentPort() {
return 9998;
@@ -43,4 +72,104 @@ public void openDemoPageAndCheckForErrors() {
layout = findElement(By.className("demo-view"));
checkLogsForErrors();
}
+
+ /**
+ * Verifies variants functionality for the current layout with using the
+ * {@link DefaultProducer}.
+ *
+ * The test will fail if a specific variant demo is not added first with
+ * {@link DemoView#addVariantsDemo(Supplier, BiConsumer, BiConsumer, Function, Enum[])}
+ * method.
+ */
+ protected void verifyThemeVariantsBeingToggled() {
+ verifyThemeVariantsBeingToggled(DEFAULT_VARIANT_PRODUCER);
+ }
+
+ /**
+ * Verifies variants functionality for the current layout with customized
+ * variant producer implementation.
+ */
+ protected void verifyThemeVariantsBeingToggled(
+ Function variantProducer) {
+ List toggleThemeButtons = layout
+ .findElement(By.id(VARIANT_TOGGLE_BUTTONS_DIV_ID))
+ .findElements(By.tagName("button"));
+ Assert.assertFalse(
+ "Expected at least one toggle theme button in 'buttonDiv', but got none",
+ toggleThemeButtons.isEmpty());
+ toggleThemeButtons.forEach(button -> toggleVariantAndCheck(
+ layout.findElement(By.id(COMPONENT_WITH_VARIANTS_ID)), button,
+ variantProducer));
+ }
+
+ private void toggleVariantAndCheck(WebElement component, WebElement button,
+ Function variantProducer) {
+ List initialButtonThemes = getComponentThemes(component);
+ String initialButtonText = button.getText();
+
+ button.click();
+ verifyThemeIsToggled(getComponentThemes(component), button.getText(),
+ initialButtonThemes, initialButtonText,
+ variantProducer.apply(button));
+
+ button.click();
+ Assert.assertEquals(
+ "After two toggle variants button clicks, button text should be the same as before testing",
+ button.getText(), initialButtonText);
+
+ List currentThemes = getComponentThemes(component);
+ String assertionMessage = "After two toggle variants button clicks, component 'theme' attribute should contain the same value as before testing";
+ Assert.assertEquals(assertionMessage, currentThemes.size(),
+ initialButtonThemes.size());
+ currentThemes.forEach(currentTheme -> Assert.assertTrue(
+ assertionMessage + String.format(
+ " but theme variant '%s' is missing", currentTheme),
+ initialButtonThemes.contains(currentTheme)));
+
+ }
+
+ private void verifyThemeIsToggled(List updatedThemes,
+ String updatedButtonText, List previousThemes,
+ String previousButtonText, String variantName) {
+ Assert.assertNotEquals("Button should change its text after toggling",
+ previousButtonText, updatedButtonText);
+
+ boolean shouldAddTheme = previousButtonText.startsWith("Add");
+ if (shouldAddTheme) {
+ Assert.assertTrue(
+ "When a theme variant got added, toggle button text should start with 'Remove' word",
+ updatedButtonText.startsWith("Remove"));
+ Assert.assertEquals(
+ "When a theme variant got added, component 'theme' attribute should contain one more variant that before",
+ previousThemes.size() + 1, updatedThemes.size());
+ Assert.assertTrue(
+ "When a theme variant got added, component 'theme' attribute should contain all previous theme variants",
+ updatedThemes.containsAll(previousThemes));
+
+ Assert.assertTrue("The selected theme variant:" + variantName
+ + " should be added to the component 'theme' attribute.",
+ updatedThemes.contains(variantName));
+ } else {
+ Assert.assertTrue(
+ "When a theme variant got removed, toggle button text should start with 'Add' word",
+ updatedButtonText.startsWith("Add"));
+ Assert.assertEquals(
+ "When a theme variant got removed, component 'theme' attribute should contain one less variant than before",
+ previousThemes.size() - 1, updatedThemes.size());
+ Assert.assertTrue(
+ "When a theme variant got removed, previous theme variants should contain all theme variants from component 'theme' attribute",
+ previousThemes.containsAll(updatedThemes));
+ Assert.assertFalse("The selected theme variant:" + variantName
+ + " should be removed from the component 'theme' attribute.",
+ updatedThemes.contains(variantName));
+ }
+ }
+
+ private List getComponentThemes(WebElement component) {
+ String themeAttributeValue = component.getAttribute("theme");
+ if (themeAttributeValue == null || themeAttributeValue.isEmpty()) {
+ return Collections.emptyList();
+ }
+ return Arrays.asList(themeAttributeValue.split(" "));
+ }
}
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoNavigationBar.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoNavigationBar.java
index 51fcf224259..2ed8fa8c5c1 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoNavigationBar.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoNavigationBar.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -28,6 +28,7 @@
* anchors acts like "tabs" in the UI.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@Tag("nav")
public class DemoNavigationBar extends HtmlContainer {
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoView.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoView.java
index b828f992ddc..04cb990b2e2 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoView.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/DemoView.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -19,16 +19,21 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+import java.util.function.Supplier;
import com.vaadin.flow.component.AttachEvent;
import com.vaadin.flow.component.Component;
import com.vaadin.flow.component.HasComponents;
import com.vaadin.flow.component.HasStyle;
+import com.vaadin.flow.component.HasTheme;
import com.vaadin.flow.component.Tag;
import com.vaadin.flow.component.dependency.JavaScript;
import com.vaadin.flow.component.dependency.StyleSheet;
import com.vaadin.flow.component.html.Div;
import com.vaadin.flow.component.html.H3;
+import com.vaadin.flow.component.html.NativeButton;
import com.vaadin.flow.router.BeforeEvent;
import com.vaadin.flow.router.HasUrlParameter;
import com.vaadin.flow.router.OptionalParameter;
@@ -40,6 +45,7 @@
* Base class for all the Views that demo some component.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@Tag(Tag.DIV)
@Theme(Lumo.class)
@@ -48,12 +54,14 @@
@JavaScript("src/script/prism.js")
public abstract class DemoView extends Component
implements HasComponents, HasUrlParameter, HasStyle {
+ static final String VARIANT_TOGGLE_BUTTONS_DIV_ID = "variantToggleButtonsDiv";
+ static final String COMPONENT_WITH_VARIANTS_ID = "componentWithVariantsDemo";
- private DemoNavigationBar navBar = new DemoNavigationBar();
- private Div container = new Div();
+ private final DemoNavigationBar navBar = new DemoNavigationBar();
+ private final Div container = new Div();
- private Map tabComponents = new HashMap<>();
- private Map> sourceCodeExamples = new HashMap<>();
+ private final Map tabComponents = new HashMap<>();
+ private final Map> sourceCodeExamples = new HashMap<>();
protected DemoView() {
Route annotation = getClass().getAnnotation(Route.class);
@@ -210,4 +218,71 @@ public void setParameter(BeforeEvent event,
@OptionalParameter String parameter) {
showTab(parameter == null ? "" : parameter);
}
+
+ /**
+ * Adds a demo that shows how the component looks like with specific
+ * variants applied.
+ *
+ * @param componentSupplier
+ * a method that creates the component to which variants will be
+ * applied to
+ * @param addVariant
+ * a function that adds the new variant to the component
+ * @param removeVariant
+ * a function that removes the variant from the component
+ * @param variantToThemeName
+ * function that converts variant to an html theme name
+ * @param variants
+ * list of variants to show in the demos
+ * @param
+ * variants' type
+ * @param
+ * component's type
+ */
+ protected , C extends Component & HasTheme> void addVariantsDemo(
+ Supplier componentSupplier, BiConsumer addVariant,
+ BiConsumer removeVariant,
+ Function variantToThemeName, T... variants) {
+
+ C component = componentSupplier.get();
+ component.setId(COMPONENT_WITH_VARIANTS_ID);
+
+ Div message = new Div();
+ message.setText(
+ "Toggle a variant to see how the component's appearance will change.");
+
+ Div variantsToggles = new Div();
+ variantsToggles.setId(VARIANT_TOGGLE_BUTTONS_DIV_ID);
+ for (T variant : variants) {
+ if (variant.name().startsWith("LUMO_")) {
+ String variantName = variantToThemeName.apply(variant);
+ variantsToggles
+ .add(new NativeButton(
+ getButtonText(variantName,
+ component.getThemeNames()
+ .contains(variantName)),
+ event -> {
+ boolean variantPresent = component
+ .getThemeNames()
+ .contains(variantName);
+ if (variantPresent) {
+ removeVariant.accept(component,
+ variant);
+ } else {
+ addVariant.accept(component, variant);
+ }
+ event.getSource().setText(getButtonText(
+ variantName, !variantPresent));
+ }));
+
+ }
+ }
+ addCard("Theme variants usage", message, component, variantsToggles);
+ }
+
+ private String getButtonText(String variantName, boolean variantPresent) {
+ return String.format(
+ variantPresent ? "Remove '%s' variant" : "Add '%s' variant",
+ variantName);
+ }
}
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceCodeExample.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceCodeExample.java
index 6801e6ecb3a..7480a28f2b0 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceCodeExample.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceCodeExample.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -21,6 +21,7 @@
* Object that defines a source code example to be shown together with a demo.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class SourceCodeExample implements Serializable {
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContent.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContent.java
index df978c9ed09..e0d356b4105 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContent.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -24,6 +24,7 @@
* prism
*
* @author Vaadin Ltd
+ * @since 1.0
*/
@StyleSheet("src/css/sources.css")
public class SourceContent extends Div {
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContentResolver.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContentResolver.java
index a58ced01b29..6d2c1f945a9 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContentResolver.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/SourceContentResolver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
@@ -35,6 +35,7 @@
* Utility class for obtaining {@link SourceCodeExample}s for classes.
*
* @author Vaadin Ltd
+ * @since 1.0
*/
public class SourceContentResolver {
diff --git a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/TabbedComponentDemoTest.java b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/TabbedComponentDemoTest.java
index 562ab407668..a6c5f5824f4 100644
--- a/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/TabbedComponentDemoTest.java
+++ b/flow-components-parent/flow-component-demo-helpers/src/main/java/com/vaadin/flow/demo/TabbedComponentDemoTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2017 Vaadin Ltd.
+ * Copyright 2000-2018 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
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-button.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-button.json
index 0ab6873be92..7429f596f00 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-button.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-button.json
@@ -2,7 +2,7 @@
"name": "Vaadin.ButtonElement",
"tag": "vaadin-button",
"baseUrl": "vaadin-button/src/vaadin-button.html",
- "version": "2.0.1",
+ "version": "2.1.0-alpha3",
"properties": [
{
"name": "autofocus",
@@ -21,7 +21,14 @@
"description": "If true, the user cannot interact with this element.\n "
}
],
- "methods": [],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
"events": [],
"slots": [
"prefix",
@@ -35,5 +42,22 @@
"Vaadin.ThemableMixin",
"Polymer.GestureEventListeners"
],
- "description": "`` is a Polymer 2 element providing an accessible and customizable button.\n\n```html\n\n\n```\n\n### Styling\n\nThe following shadow DOM parts are exposed for styling:\n\nPart name | Description\n----------------|----------------\n`label` | The label (text) inside the button\n`prefix` | A slot for e.g. an icon before the label\n`suffix` | A slot for e.g. an icon after the label\n\n\nThe following attributes are exposed for styling:\n\nAttribute | Description\n--------- | -----------\n`active` | Set when the button is pressed down, either with mouse, touch or the keyboard.\n`disabled` | Set when the button is disabled.\n`focus-ring` | Set when the button is focused using the keyboard.\n`focused` | Set when the button is focused.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
+ "variants": {
+ "lumo": [
+ "small",
+ "large",
+ "tertiary",
+ "tertiary-inline",
+ "primary",
+ "success",
+ "error",
+ "contrast",
+ "icon"
+ ],
+ "material": [
+ "contained",
+ "outlined"
+ ]
+ },
+ "description": "`` is a Polymer 2 element providing an accessible and customizable button.\n\n```html\n\n\n```\n\n```js\ndocument.querySelector('vaadin-button').addEventListener('click', () => alert('Hello World!'));\n```\n\n### Styling\n\nThe following shadow DOM parts are exposed for styling:\n\nPart name | Description\n----------------|----------------\n`label` | The label (text) inside the button\n`prefix` | A slot for e.g. an icon before the label\n`suffix` | A slot for e.g. an icon after the label\n\n\nThe following attributes are exposed for styling:\n\nAttribute | Description\n--------- | -----------\n`active` | Set when the button is pressed down, either with mouse, touch or the keyboard.\n`disabled` | Set when the button is disabled.\n`focus-ring` | Set when the button is focused using the keyboard.\n`focused` | Set when the button is focused.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox-group.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox-group.json
new file mode 100644
index 00000000000..9c7414d0d2b
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox-group.json
@@ -0,0 +1,100 @@
+{
+ "name": "Vaadin.CheckboxGroupElement",
+ "tag": "vaadin-checkbox-group",
+ "baseUrl": "vaadin-checkbox/src/vaadin-checkbox-group.html",
+ "version": "2.2.0-alpha3",
+ "properties": [
+ {
+ "name": "disabled",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "The current disabled state of the checkbox group. True if group and all internal checkboxes are disabled.\n "
+ },
+ {
+ "name": "label",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "String used for the label element.\n "
+ },
+ {
+ "name": "value",
+ "type": [
+ "ARRAY"
+ ],
+ "objectType": [],
+ "description": "Value of the checkbox group.\n ",
+ "notify": true
+ },
+ {
+ "name": "errorMessage",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Error to show when the input value is invalid.\n "
+ },
+ {
+ "name": "required",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "Specifies that the user must fill in a value.\n "
+ },
+ {
+ "name": "invalid",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "This property is set to true when the control value is invalid.\n ",
+ "notify": true
+ }
+ ],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "validate",
+ "description": "Returns true if `value` is valid.\n`` uses this to check the validity or all its elements.",
+ "parameters": [],
+ "returns": "BOOLEAN"
+ }
+ ],
+ "events": [
+ {
+ "name": "value-changed",
+ "description": "Fired when the `value` property changes.",
+ "properties": []
+ },
+ {
+ "name": "invalid-changed",
+ "description": "Fired when the `invalid` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [
+ ""
+ ],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.ThemableMixin"
+ ],
+ "variants": {
+ "lumo": [
+ "vertical"
+ ],
+ "material": [
+ "vertical"
+ ]
+ },
+ "description": "`` is a Polymer element for grouping vaadin-checkboxes.\n\n```html\n\n English\n Français\n Deutsch\n\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n----------------|----------------\n`label` | The label element\n`group-field` | The element that wraps checkboxes\n`error-message` | The error message element\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-----------|-------------|------------\n`disabled` | Set when the checkbox group and its children are disabled. | :host\n`has-label` | Set when the element has a label | :host\n`required` | Set when the element is required | :host\n`invalid` | Set when the element is invalid | :host\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox.json
index da4728d5c10..ae619310355 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-checkbox.json
@@ -2,7 +2,7 @@
"name": "Vaadin.CheckboxElement",
"tag": "vaadin-checkbox",
"baseUrl": "vaadin-checkbox/src/vaadin-checkbox.html",
- "version": "2.1.1",
+ "version": "2.2.0-alpha3",
"properties": [
{
"name": "autofocus",
@@ -55,7 +55,14 @@
"description": "The value given to the data submitted with the checkbox's name to the server when the control is inside a form.\n "
}
],
- "methods": [],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
"events": [
{
"name": "change",
@@ -83,5 +90,6 @@
"Vaadin.ThemableMixin",
"Polymer.GestureEventListeners"
],
+ "variants": {},
"description": "`` is a Polymer 2 element for customized checkboxes.\n\n```html\n\n Make my profile visible\n\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n------------------|----------------\n`checkbox` | The checkbox element\n`label` | The label content element\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n-------------|------------\n`active` | Set when the checkbox is pressed down, either with mouse, touch or the keyboard.\n`disabled` | Set when the checkbox is disabled.\n`focus-ring` | Set when the checkbox is focused using the keyboard.\n`focused` | Set when the checkbox is focused.\n`indeterminate` | Set when the checkbox is in indeterminate mode.\n`checked` | Set when the checkbox is checked.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown-wrapper.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown-wrapper.json
index 5bf50d8cb7b..b60e6f70d64 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown-wrapper.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown-wrapper.json
@@ -91,5 +91,6 @@
"slots": [],
"behaviors": [],
"mixins": [],
+ "variants": {},
"description": "Element for internal use only."
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown.json
index 83b513a52f6..9c396457d66 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-dropdown.json
@@ -94,5 +94,6 @@
],
"behaviors": [],
"mixins": [],
+ "variants": {},
"description": "Element for internal use only."
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-item.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-item.json
index 31eaa22de3c..c599cb8ed9b 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-item.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-item.json
@@ -15,7 +15,7 @@
{
"name": "item",
"type": [
- "STRING",
+ "OBJECT",
"OBJECT"
],
"objectType": [],
@@ -47,6 +47,12 @@
}
],
"methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "connectedCallback",
"description": "",
@@ -60,5 +66,6 @@
"mixins": [
"Vaadin.ThemableMixin"
],
+ "variants": {},
"description": "The default element used for items in the vaadin-combo-box.\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---|---\n`content` | The element that wraps the item label or template content\n\nThe following state attributes are exposed for styling:\n\nAttribute | Description | Part name\n-------------|-------------|------------\n`selected` | Set when the item is selected | :host\n`focused` | Set when the item is focused | :host\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-light.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-light.json
index ca4c9744eff..f20d86d7535 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-light.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-light.json
@@ -2,7 +2,7 @@
"name": "Vaadin.ComboBoxLightElement",
"tag": "vaadin-combo-box-light",
"baseUrl": "vaadin-combo-box/src/vaadin-combo-box-light.html",
- "version": "4.0.1",
+ "version": "4.1.0-alpha3",
"properties": [
{
"name": "opened",
@@ -170,6 +170,12 @@
"parameters": [],
"returns": "UNDEFINED"
},
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "connectedCallback",
"description": "",
@@ -219,7 +225,7 @@
"name": "detail.value",
"type": [
"OBJECT",
- "STRING"
+ "OBJECT"
],
"objectType": [],
"description": "the selected item. Type is the same as the type of `items`."
@@ -257,5 +263,6 @@
"Vaadin.ComboBoxMixin",
"Vaadin.ThemableMixin"
],
+ "variants": {},
"description": "`` is a customizable version of the `` providing\nonly the dropdown functionality and leaving the input field definition to the user.\n\nThe element has the same API as ``.\n\nTo create a custom input field, you need to add a child element which has a two-way\ndata-bindable property representing the input value. The property name is expected\nto be `value` by default. See the example below for a simplest possible example\nusing a `` element.\n\n```html\n\n \n \n\n```\n\nIf you are using other custom input fields like ``, you\nneed to define the name of the bindable property with the `attrForValue` attribute.\n\n```html\n\n \n \n \n\n```\n\nIn the next example you can see how to create a custom input field based\non a `` decorated with a custom `` and\ntwo ``s to act as the clear and toggle controls.\n\n```html\n\n \n \n Clear\n Toggle\n \n\n```"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-overlay.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-overlay.json
index b98d360ed14..1f9b9ef393f 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-overlay.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box-overlay.json
@@ -65,6 +65,12 @@
}
],
"methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "close",
"description": "",
@@ -133,5 +139,6 @@
"slots": [],
"behaviors": [],
"mixins": [],
+ "variants": {},
"description": "The overlay element.\n\n### Styling\n\nSee [`` documentation](https://github.com/vaadin/vaadin-overlay/blob/master/src/vaadin-overlay.html)\nfor `` parts.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box.json
index e22eabf1548..6ec8e08452e 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-combo-box.json
@@ -2,7 +2,7 @@
"name": "Vaadin.ComboBoxElement",
"tag": "vaadin-combo-box",
"baseUrl": "vaadin-combo-box/src/vaadin-combo-box.html",
- "version": "4.0.1",
+ "version": "4.1.0-alpha3",
"properties": [
{
"name": "autofocus",
@@ -220,6 +220,12 @@
"description": "Returns true if the current input value satisfies all constraints (if any)\n\nYou can override the `checkValidity` method for custom validations.\n ",
"parameters": [],
"returns": "UNDEFINED"
+ },
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
}
],
"events": [
@@ -258,7 +264,7 @@
"name": "detail.value",
"type": [
"OBJECT",
- "STRING"
+ "OBJECT"
],
"objectType": [],
"description": "the selected item. Type is the same as the type of `items`."
@@ -298,5 +304,6 @@
"Vaadin.ComboBoxMixin",
"Vaadin.ThemableMixin"
],
+ "variants": {},
"description": "`` is a combo box element combining a dropdown list with an\ninput field for filtering the list of items. If you want to replace the default\ninput field with a custom implementation, you should use the\n[``](#/elements/vaadin-combo-box-light) element.\n\nItems in the dropdown list must be provided as a list of `String` values.\nDefining the items is done using the `items` property, which can be assigned\nwith data-binding, using an attribute or directly with the JavaScript property.\n\n```html\n\n\n```\n\n```js\ncombobox.items = ['apple', 'orange', 'banana'];\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\nThis element can be used within an `iron-form`.\n\n### Item Template\n\n`` supports using custom item template provided in the light\nDOM:\n\n```html\n\n \n [[index]]: [[item.label]] [[item.value]\n \n\n```\n\nThe following properties are available for item template bindings:\n\nProperty name | Type | Description\n--------------|------|------------\n`index`| Number | Index of the item in the `items` array\n`item` | String or Object | The item reference\n`selected` | Boolean | True when item is selected\n`focused` | Boolean | True when item is focused\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n----------------|-------------|-------------\n`--vaadin-combo-box-overlay-max-height` | Property that determines the max height of overlay | `65vh`\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n----------------|----------------\n`text-field` | The text field\n`clear-button` | The clear button\n`toggle-button` | The toggle button\n\nSee [`` documentation](https://github.com/vaadin/vaadin-overlay/blob/master/src/vaadin-overlay.html)\nfor `` parts.\n\nSee [`` documentation](https://vaadin.com/components/vaadin-text-field/html-api/elements/Vaadin.TextFieldElement)\nfor the text field parts.\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-------------|-------------|------------\n`opened` | Set when the combo box dropdown is open | :host\n`disabled` | Set to a disabled combo box | :host\n`readonly` | Set to a read only combo box | :host\n`has-value` | Set when the element has a value | :host\n`invalid` | Set when the element is invalid | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`loading` | Set when new items are expected | :host\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-context-menu-overlay.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-context-menu-overlay.json
new file mode 100644
index 00000000000..69e3e171978
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-context-menu-overlay.json
@@ -0,0 +1,144 @@
+{
+ "name": "Vaadin.ContextMenuOverlayElement",
+ "tag": "vaadin-context-menu-overlay",
+ "baseUrl": "vaadin-context-menu/src/vaadin-context-menu-overlay.html",
+ "version": "UNKNOWN",
+ "properties": [
+ {
+ "name": "opened",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "",
+ "notify": true
+ },
+ {
+ "name": "template",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "The template of the overlay content.\n ",
+ "notify": true
+ },
+ {
+ "name": "instanceProps",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "content",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "References the content container after the template is stamped.\n ",
+ "notify": true
+ },
+ {
+ "name": "withBackdrop",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "modeless",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When true the overlay won't disable the main content, showing\nit doesn’t change the functionality of the user interface.\n "
+ },
+ {
+ "name": "focusTrap",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When true move focus to the first focusable element in the overlay,\nor to the overlay if there are no focusable elements.\n "
+ }
+ ],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "close",
+ "description": "",
+ "parameters": [
+ {
+ "name": "sourceEvent",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "connectedCallback",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "disconnectedCallback",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [
+ {
+ "name": "vaadin-overlay-close",
+ "description": "vaadin-overlay-close\nfired before the `vaadin-overlay` will be closed. If canceled the closing of the overlay is canceled as well.",
+ "properties": []
+ },
+ {
+ "name": "vaadin-overlay-escape-press",
+ "description": "vaadin-overlay-escape-press\nfired before the `vaadin-overlay` will be closed on ESC button press. If canceled the closing of the overlay is canceled as well.",
+ "properties": []
+ },
+ {
+ "name": "vaadin-overlay-open",
+ "description": "vaadin-overlay-open\nfired after the `vaadin-overlay` is opened.",
+ "properties": []
+ },
+ {
+ "name": "vaadin-overlay-outside-click",
+ "description": "vaadin-overlay-outside-click\nfired before the `vaadin-overlay` will be closed on outside click. If canceled the closing of the overlay is canceled as well.",
+ "properties": []
+ },
+ {
+ "name": "opened-changed",
+ "description": "Fired when the `opened` property changes.",
+ "properties": []
+ },
+ {
+ "name": "template-changed",
+ "description": "Fired when the `template` property changes.",
+ "properties": []
+ },
+ {
+ "name": "content-changed",
+ "description": "Fired when the `content` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "The overlay element.\n\n### Styling\n\nSee [`` documentation](https://github.com/vaadin/vaadin-overlay/blob/master/src/vaadin-overlay.html)\nfor `` parts.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-context-menu.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-context-menu.json
new file mode 100644
index 00000000000..fcb2679b3c1
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-context-menu.json
@@ -0,0 +1,81 @@
+{
+ "name": "Vaadin.ContextMenuElement",
+ "tag": "vaadin-context-menu",
+ "baseUrl": "vaadin-context-menu/src/vaadin-context-menu.html",
+ "version": "4.1.0-alpha4",
+ "properties": [
+ {
+ "name": "selector",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "CSS selector that can be used to target any child element\nof the context menu to listen for `openOn` events.\n "
+ },
+ {
+ "name": "opened",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "True if the overlay is currently displayed.\n ",
+ "readOnly": true,
+ "notify": true
+ },
+ {
+ "name": "openOn",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Event name to listen for opening the context menu.\n "
+ },
+ {
+ "name": "listenOn",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "The target element that's listened to for context menu opening events.\nBy default the vaadin-context-menu listens to the target's `vaadin-contextmenu`\nevents."
+ },
+ {
+ "name": "closeOn",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Event name to listen for closing the context menu.\n "
+ }
+ ],
+ "methods": [
+ {
+ "name": "close",
+ "description": "Closes the overlay.\n ",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "open",
+ "description": "Opens the overlay.",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [
+ {
+ "name": "opened-changed",
+ "description": "Fired when the `opened` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [
+ ""
+ ],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.ElementMixin",
+ "Polymer.GestureEventListeners"
+ ],
+ "variants": {},
+ "description": "```html\n\n \n \n First menu item\n Second menu item\n \n \n\n```\n\n### “vaadin-contextmenu” Gesture Event\n\n`vaadin-contextmenu` is a gesture event (a custom event fired by Polymer),\nwhich is dispatched after either `contextmenu` and long touch events.\nThis enables support for both mouse and touch environments in a uniform way.\n\n`` opens the menu overlay on the `vaadin-contextmenu`\nevent by default.\n\n### Menu Listener\n\nBy default, the `` element listens for the menu opening\nevent on itself. In order to have a context menu on your content, wrap\nyour content with the `` element, and add a template\nelement with a menu. Example:\n\n```html\n\n \n \n First menu item\n Second menu item\n \n \n\n
This paragraph has the context menu provided in the above template.
\n
Another paragraph with the context menu.
\n\n```\n\nIn case if you do not want to wrap the page content, you can listen for\nevents on an element outside the `` by setting the\n`listenOn` property:\n\n```html\n\n \n \n ...\n \n \n\n\n
The element that listens for the context menu.
\n\n<script>\n const contextMenu = document.querySelector('vaadin-context-menu#customListener');\n contextMenu.listenOn = document.querySelector('#menuListener');\n</script>\n```\n\n### Filtering Menu Targets\n\nBy default, the listener element and all its descendants open the context\nmenu. You can filter the menu targets to a smaller set of elements inside\nthe listener element by setting the `selector` property.\n\nIn the following example, only the elements matching `.has-menu` will open the context menu:\n\n```html\n\n \n \n ...\n \n \n\n
This paragraph opens the context menu
\n
This paragraph does not open the context menu
\n\n```\n\n### Menu Context\n\nYou can bind to the following properties in the menu template:\n\n- `target` is the menu opening event target, which is the element that\nthe user has called the context menu for\n- `detail` is the menu opening event detail\n\nIn the following example, the menu item text is composed with the contents\nof the element that opened the menu:\n\n```html\n\n \n \n The menu target: [[target.textContent]]\n \n \n\n
\n
Foo
\n
Bar
\n
Baz
\n
\n\n```\n\n### Styling\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-light.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-light.json
index b921d0193ff..0599eea9c54 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-light.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-light.json
@@ -2,7 +2,7 @@
"name": "Vaadin.DatePickerLightElement",
"tag": "vaadin-date-picker-light",
"baseUrl": "vaadin-date-picker/src/vaadin-date-picker-light.html",
- "version": "3.0.1",
+ "version": "3.2.0-alpha4",
"properties": [
{
"name": "value",
@@ -96,6 +96,12 @@
}
],
"methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "open",
"description": "Opens the dropdown.\n ",
@@ -139,7 +145,13 @@
"returns": "BOOLEAN"
}
],
- "events": [],
+ "events": [
+ {
+ "name": "change",
+ "description": "change",
+ "properties": []
+ }
+ ],
"slots": [
""
],
@@ -148,5 +160,6 @@
"Vaadin.ThemableMixin",
"Vaadin.DatePickerMixin"
],
+ "variants": {},
"description": "`` is a customizable version of the `` providing\nonly the scrollable month calendar view and leaving the input field definition to the user.\n\nTo create a custom input field, you need to add a child element which has a two-way\ndata-bindable property representing the input value. The property name is expected\nto be `bindValue` by default. See the example below for a simplest possible example\nusing an `` element extended with `iron-input`.\n\n```html\n\n \n \n \n\n```\n\nIf you are using other custom input fields like ``, you\nneed to define the name of value property using the `attrForValue` property.\n\n```html\n\n \n \n\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description | Theme for Element\n----------------|----------------|----------------\n`overlay-content` | The overlay element | vaadin-date-picker-light\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay-content.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay-content.json
index 327a62287d4..51a8737ddc5 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay-content.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay-content.json
@@ -166,5 +166,6 @@
"slots": [],
"behaviors": [],
"mixins": [],
+ "variants": {},
"description": ""
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay.json
index 234d8314b8d..0a18ff1cb90 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker-overlay.json
@@ -65,6 +65,12 @@
}
],
"methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "close",
"description": "",
@@ -133,5 +139,6 @@
"slots": [],
"behaviors": [],
"mixins": [],
+ "variants": {},
"description": "The overlay element.\n\n### Styling\n\nSee [`` documentation](https://github.com/vaadin/vaadin-overlay/blob/master/src/vaadin-overlay.html)\nfor `` parts.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker.json
index 966015a2bee..bc202879f1f 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-date-picker.json
@@ -2,7 +2,7 @@
"name": "Vaadin.DatePickerElement",
"tag": "vaadin-date-picker",
"baseUrl": "vaadin-date-picker/src/vaadin-date-picker.html",
- "version": "3.0.1",
+ "version": "3.2.0-alpha4",
"properties": [
{
"name": "autofocus",
@@ -137,6 +137,12 @@
}
],
"methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "open",
"description": "Opens the dropdown.\n ",
@@ -181,6 +187,11 @@
}
],
"events": [
+ {
+ "name": "change",
+ "description": "change",
+ "properties": []
+ },
{
"name": "invalid-changed",
"description": "Fired when the `invalid` property changes.",
@@ -198,5 +209,6 @@
"Vaadin.DatePickerMixin",
"Polymer.GestureEventListeners"
],
+ "variants": {},
"description": "`` is a date selection field which includes a scrollable\nmonth calendar view.\n```html\n\n```\n```js\ndatePicker.value = '2016-03-02';\n```\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description | Theme for Element\n----------------|----------------|----------------\n`text-field` | Input element | vaadin-date-picker\n`clear-button` | Clear button | vaadin-date-picker\n`toggle-button` | Toggle button | vaadin-date-picker\n`overlay-content` | The overlay element | vaadin-date-picker\n`overlay-header` | Fullscreen mode header | vaadin-date-picker-overlay-content\n`label` | Fullscreen mode value/label | vaadin-date-picker-overlay-content\n`clear-button` | Fullscreen mode clear button | vaadin-date-picker-overlay-content\n`toggle-button` | Fullscreen mode toggle button | vaadin-date-picker-overlay-content\n`years-toggle-button` | Fullscreen mode years scroller toggle | vaadin-date-picker-overlay-content\n`months` | Months scroller | vaadin-date-picker-overlay-content\n`years` | Years scroller | vaadin-date-picker-overlay-content\n`toolbar` | Footer bar with buttons | vaadin-date-picker-overlay-content\n`today-button` | Today button | vaadin-date-picker-overlay-content\n`cancel-button` | Cancel button | vaadin-date-picker-overlay-content\n`month` | Month calendar | vaadin-date-picker-overlay-content\n`year-number` | Year number | vaadin-date-picker-overlay-content\n`year-separator` | Year separator | vaadin-date-picker-overlay-content\n`month-header` | Month title | vaadin-month-calendar\n`weekdays` | Weekday container | vaadin-month-calendar\n`weekday` | Weekday element | vaadin-month-calendar\n`week-numbers` | Week numbers container | vaadin-month-calendar\n`week-number` | Week number element | vaadin-month-calendar\n`date` | Date element | vaadin-month-calendar\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-------------|-------------|------------\n`invalid` | Set when the element is invalid | :host\n`opened` | Set when the date selector overlay is opened | :host\n`readonly` | Set when the element is readonly | :host\n`disabled` | Set when the element is disabled | :host\n`today` | Set on the date corresponding to the current day | date\n`focused` | Set on the focused date | date\n`disabled` | Set on the date out of the allowed range | date\n`selected` | Set on the selected date | date\n\nIf you want to replace the default input field with a custom implementation, you should use the\n[``](#vaadin-date-picker-light) element."
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-device-detector.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-device-detector.json
new file mode 100644
index 00000000000..5fc0612f325
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-device-detector.json
@@ -0,0 +1,59 @@
+{
+ "name": "Vaadin.DeviceDetectorElement",
+ "tag": "vaadin-device-detector",
+ "baseUrl": "vaadin-context-menu/src/vaadin-device-detector.html",
+ "version": "UNKNOWN",
+ "properties": [
+ {
+ "name": "phone",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "`true`, when running in a phone.\n ",
+ "readOnly": true,
+ "notify": true
+ },
+ {
+ "name": "touch",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "`true`, when running in a touch device.",
+ "notify": true
+ },
+ {
+ "name": "wide",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "`true`, when running in a tablet/desktop device.\n ",
+ "notify": true
+ }
+ ],
+ "methods": [],
+ "events": [
+ {
+ "name": "phone-changed",
+ "description": "Fired when the `phone` property changes.",
+ "properties": []
+ },
+ {
+ "name": "touch-changed",
+ "description": "Fired when the `touch` property changes.",
+ "properties": []
+ },
+ {
+ "name": "wide-changed",
+ "description": "Fired when the `wide` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "Element for internal use only."
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog-overlay.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog-overlay.json
index c3ce1a2d726..15270087739 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog-overlay.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog-overlay.json
@@ -65,6 +65,12 @@
}
],
"methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
{
"name": "close",
"description": "",
@@ -133,5 +139,6 @@
"slots": [],
"behaviors": [],
"mixins": [],
+ "variants": {},
"description": "The overlay element.\n\n### Styling\n\nSee [`` documentation](https://github.com/vaadin/vaadin-overlay/blob/master/src/vaadin-overlay.html)\nfor `` parts."
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog.json
index 2afef238be0..b09c3274b48 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-dialog.json
@@ -49,5 +49,6 @@
"mixins": [
"Vaadin.ElementMixin"
],
+ "variants": {},
"description": "`` is a Polymer 2 element for customized modal dialogs.\n\n```html\n\n \n Sample dialog\n \n\n```\n\n### Styling\n\nSee [`` documentation](https://github.com/vaadin/vaadin-overlay/blob/master/src/vaadin-overlay.html)\nfor `` parts.\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-item.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-item.json
index 6cb1fad085e..c69bddb9338 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-item.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-item.json
@@ -2,9 +2,16 @@
"name": "Vaadin.FormItemElement",
"tag": "vaadin-form-item",
"baseUrl": "vaadin-form-layout/src/vaadin-form-item.html",
- "version": "2.0.1",
+ "version": "2.1.0-alpha4",
"properties": [],
- "methods": [],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
"events": [],
"slots": [
"label",
@@ -14,5 +21,6 @@
"mixins": [
"Vaadin.ThemableMixin"
],
+ "variants": {},
"description": "`` is a Polymer 2 element providing labelled form item wrapper\nfor using inside ``.\n\n`` accepts any number of children as the input content,\nand also has a separate named `label` slot:\n\n```html\n\n \n \n\n```\n\nAny content can be used. For instance, you can have multiple input elements\nwith surrounding text. The label can be an element of any type:\n\n```html\n\n Date of Birth\n -\n -\n \n Example: 1900-01-01\n\n```\n\nThe label is optional and can be omitted:\n\n```html\n\n Subscribe to our Newsletter\n\n```\n\nBy default, the `label` slot content is displayed aside of the input content.\nWhen `label-position=\"top\"` is set, the `label` slot content is displayed on top:\n\n```html\n\n \n \n\n```\n\n**Note:** Normally, `` is used as a child of\na `` element. Setting `label-position` is unnecessary,\nbecause the `label-position` attribute is triggered automatically by the parent\n``, depending on its width and responsive behavior.\n\n### Input Width\n\nBy default, `` does not manipulate the width of the slotted\ninput elements. Optionally you can stretch the child input element to fill\nthe available width for the input content by adding the `full-width` class:\n\n```html\n\n \n \n\n```\n\n### Styling\n\nThe `label-position` host attribute can be used to target the label on top state:\n\n
\n<dom-module id=\"my-form-item-theme\" theme-for=\"vaadin-form-item\">\n <template>\n <style>\n :host {\n /* default state styles, label aside */\n }\n\n :host([label-position=\"top\"]) {\n /* label on top state styles */\n }\n </style>\n </template>\n</dom-module>\n
\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---|---\nlabel | The label slot container\n\n### Custom CSS Properties Reference\n\nThe following custom CSS properties are available on the ``\nelement:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-form-item-label-width` | Width of the label column when the labels are aside | `8em`\n`--vaadin-form-item-label-spacing` | Spacing between the label column and the input column when the labels are aside | `1em`\n`--vaadin-form-item-row-spacing` | Height of the spacing between the form item elements | `1em`\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-layout.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-layout.json
index 22fbc90181d..549d3cd5155 100644
--- a/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-layout.json
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-form-layout.json
@@ -2,7 +2,7 @@
"name": "Vaadin.FormLayoutElement",
"tag": "vaadin-form-layout",
"baseUrl": "vaadin-form-layout/src/vaadin-form-layout.html",
- "version": "2.0.1",
+ "version": "2.1.0-alpha4",
"properties": [
{
"name": "responsiveSteps",
@@ -14,12 +14,6 @@
}
],
"methods": [
- {
- "name": "connectedCallback",
- "description": "",
- "parameters": [],
- "returns": "UNDEFINED"
- },
{
"name": "updateStyles",
"description": "Set custom CSS property values and update the layout.\n ",
@@ -34,6 +28,12 @@
}
],
"returns": "UNDEFINED"
+ },
+ {
+ "name": "connectedCallback",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
}
],
"events": [],
@@ -45,5 +45,6 @@
"Vaadin.ElementMixin",
"Vaadin.ThemableMixin"
],
+ "variants": {},
"description": "`` is a Polymer 2 element providing configurable responsive\nlayout for form elements.\n\n```html\n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n```\n\nIt supports any child elements as layout items.\n\nBy default, it makes a layout of two columns if the element width is equal or\nwider than 40em, and a single column layout otherwise.\n\nThe number of columns and the responsive behavior are customizable with\nthe `responsiveSteps` property.\n\n### Spanning Items on Multiple Columns\n\nYou can use `colspan` attribute on the items.\nIn the example below, the first text field spans on two columns:\n\n```html\n\n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n\n```\n\n### Explicit New Row\n\nUse the ` ` line break element to wrap the items on a new row:\n\n```html\n\n\n \n \n \n \n\n \n\n \n \n \n \n\n\n```\n\n### CSS Properties Reference\n\nThe following custom CSS properties are available on the ``\nelement:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-form-layout-column-spacing` | Length of the spacing between columns | `2em`"
}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-column-group.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-column-group.json
new file mode 100644
index 00000000000..7e5e14a507d
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-column-group.json
@@ -0,0 +1,59 @@
+{
+ "name": "Vaadin.GridColumnGroupElement",
+ "tag": "vaadin-grid-column-group",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-column-group.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "resizable",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When set to true, the column is user-resizable."
+ },
+ {
+ "name": "frozen",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When true, the column is frozen. When a column inside of a column group is frozen,\nall of the sibling columns inside the group will get frozen also.\n "
+ },
+ {
+ "name": "hidden",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When set to true, the cells for this column are hidden.\n "
+ },
+ {
+ "name": "flexGrow",
+ "type": [
+ "NUMBER"
+ ],
+ "objectType": [],
+ "description": "Flex grow ratio for the column group as the sum of the ratios of its child columns.\n ",
+ "readOnly": true
+ },
+ {
+ "name": "width",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Width of the column group as the sum of the widths of its child columns.\n ",
+ "readOnly": true
+ }
+ ],
+ "methods": [],
+ "events": [],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.Grid.ColumnBaseMixin"
+ ],
+ "variants": {},
+ "description": "A `` is used to make groups of columns in `` and\nto configure additional headers and footers.\n\nGroups can be nested to create complex header and footer configurations.\n\nThe `class` attribute is used to differentiate header and footer templates.\n\n#### Example:\n```html\n\n Name\n\n \n First\n [[item.name.first]]\n \n \n Last\n [[item.name.last]]\n \n\n```"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-column.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-column.json
new file mode 100644
index 00000000000..86713932979
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-column.json
@@ -0,0 +1,57 @@
+{
+ "name": "Vaadin.GridColumnElement",
+ "tag": "vaadin-grid-column",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-column.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "resizable",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When set to true, the column is user-resizable."
+ },
+ {
+ "name": "frozen",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When true, the column is frozen. When a column inside of a column group is frozen,\nall of the sibling columns inside the group will get frozen also.\n "
+ },
+ {
+ "name": "hidden",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When set to true, the cells for this column are hidden.\n "
+ },
+ {
+ "name": "width",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Width of the cells for this column.\n "
+ },
+ {
+ "name": "flexGrow",
+ "type": [
+ "NUMBER"
+ ],
+ "objectType": [],
+ "description": "Flex grow ratio for the cell widths. When set to 0, cell width is fixed.\n "
+ }
+ ],
+ "methods": [],
+ "events": [],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.Grid.ColumnBaseMixin"
+ ],
+ "variants": {},
+ "description": "A `` is used to configure how a column in ``\nshould look like by using HTML templates.\nA column can have a template for each of the three table sections: header, body and footer.\n\nThe `class` attribute is used to differentiate header and footer templates from the body template.\n\n#### Example:\n```html\n\n I'm in the header\n I'm in the body\n I'm in the footer\n\n```"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-filter.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-filter.json
new file mode 100644
index 00000000000..06507cfde72
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-filter.json
@@ -0,0 +1,47 @@
+{
+ "name": "Vaadin.GridFilterElement",
+ "tag": "vaadin-grid-filter",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-filter.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "path",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "JS Path of the property in the item used for filtering the data.\n "
+ },
+ {
+ "name": "value",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Current filter value.\n ",
+ "notify": true
+ }
+ ],
+ "methods": [
+ {
+ "name": "focus",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [
+ {
+ "name": "value-changed",
+ "description": "Fired when the `value` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [
+ "filter"
+ ],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "`` is a helper element for the `` that provides out-of-the-box UI controls,\nand handlers for filtering the grid data.\n\n#### Example:\n```html\n\n \n \n \n [[item.name.first]]\n\n```"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-outer-scroller.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-outer-scroller.json
new file mode 100644
index 00000000000..87b68ac3456
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-outer-scroller.json
@@ -0,0 +1,64 @@
+{
+ "name": "GridOuterScrollerElement",
+ "tag": "vaadin-grid-outer-scroller",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-outer-scroller.html",
+ "version": "UNKNOWN",
+ "properties": [
+ {
+ "name": "scrollTarget",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "scrollHandler",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "passthrough",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "outerScrolling",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "noScrollbars",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": ""
+ }
+ ],
+ "methods": [
+ {
+ "name": "syncOuterScroller",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [],
+ "slots": [
+ ""
+ ],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "This Element is used internally by vaadin-grid."
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-scroller.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-scroller.json
new file mode 100644
index 00000000000..8c6d25cba07
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-scroller.json
@@ -0,0 +1,36 @@
+{
+ "name": "GridScrollerElement",
+ "tag": "vaadin-grid-scroller",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-scroller.html",
+ "version": "UNKNOWN",
+ "properties": [
+ {
+ "name": "size",
+ "type": [
+ "NUMBER"
+ ],
+ "objectType": [],
+ "description": ""
+ }
+ ],
+ "methods": [
+ {
+ "name": "clearSelection",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "updateViewportBoundaries",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "This Element is used internally by vaadin-grid."
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-selection-column.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-selection-column.json
new file mode 100644
index 00000000000..29f2971d927
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-selection-column.json
@@ -0,0 +1,55 @@
+{
+ "name": "Vaadin.GridSelectionColumnElement",
+ "tag": "vaadin-grid-selection-column",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-selection-column.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "width",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Width of the cells for this column.\n "
+ },
+ {
+ "name": "flexGrow",
+ "type": [
+ "NUMBER"
+ ],
+ "objectType": [],
+ "description": "Flex grow ratio for the cell widths. When set to 0, cell width is fixed.\n "
+ },
+ {
+ "name": "selectAll",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When true, all the items are selected.\n ",
+ "notify": true
+ },
+ {
+ "name": "autoSelect",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When true, the active gets automatically selected.\n "
+ }
+ ],
+ "methods": [],
+ "events": [
+ {
+ "name": "select-all-changed",
+ "description": "Fired when the `selectAll` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "`` is a helper element for the ``\nthat provides default templates and functionality for item selection.\n\n#### Example:\n```html\n\n \n\n \n ...\n```\n\nBy default the selection column displays `` elements in the\ncolumn cells. The checkboxes in the body rows toggle selection of the corresponding row items.\n\nWhen the grid data is provided as an array of [`items`](#/elements/vaadin-grid#property-items),\nthe column header gets an additional checkbox that can be used for toggling\nselection for all the items at once.\n\n__The default content templates can also be overridden with custom ones.__",
+ "parentTagName": "vaadin-grid-column"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-sorter.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-sorter.json
new file mode 100644
index 00000000000..1c819778c19
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-sorter.json
@@ -0,0 +1,40 @@
+{
+ "name": "Vaadin.GridSorterElement",
+ "tag": "vaadin-grid-sorter",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-sorter.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "path",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "JS Path of the property in the item used for sorting the data.\n "
+ },
+ {
+ "name": "direction",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "How to sort the data.\nPossible values are `asc` to use an ascending algorithm, `desc` to sort the data in\ndescending direction, or `null` for not sorting the data.\n ",
+ "notify": true
+ }
+ ],
+ "methods": [],
+ "events": [
+ {
+ "name": "direction-changed",
+ "description": "Fired when the `direction` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [
+ ""
+ ],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "`` is a helper element for the `` that provides out-of-the-box UI controls,\nvisual feedback, and handlers for sorting the grid data.\n\n#### Example:\n```html\n\n \n First Name\n \n [[item.name.first]]\n\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n----------------|----------------\n`content` | The slotted content wrapper\n`indicators` | The internal sorter indicators.\n`order` | The internal sorter order\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-------------|-------------|------------\n`direction` | Sort direction of a sorter | :host"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-templatizer.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-templatizer.json
new file mode 100644
index 00000000000..a54fef0724e
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-templatizer.json
@@ -0,0 +1,68 @@
+{
+ "name": "Vaadin.GridTemplatizer",
+ "tag": "vaadin-grid-templatizer",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-templatizer.html",
+ "version": "UNKNOWN",
+ "properties": [
+ {
+ "name": "dataHost",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": ""
+ },
+ {
+ "name": "template",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": ""
+ }
+ ],
+ "methods": [
+ {
+ "name": "createInstance",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "addInstance",
+ "description": "",
+ "parameters": [
+ {
+ "name": "instance",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "removeInstance",
+ "description": "",
+ "parameters": [
+ {
+ "name": "instance",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [],
+ "slots": [],
+ "behaviors": [],
+ "mixins": [],
+ "variants": {},
+ "description": "`vaadin-grid-templatizer` is a helper element for the `vaadin-grid` that is preparing and\nstamping instances of cells and columns templates"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-tree-toggle.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-tree-toggle.json
new file mode 100644
index 00000000000..62bebe8f120
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid-tree-toggle.json
@@ -0,0 +1,61 @@
+{
+ "name": "Vaadin.GridTreeToggleElement",
+ "tag": "vaadin-grid-tree-toggle",
+ "baseUrl": "vaadin-grid/src/vaadin-grid-tree-toggle.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "level",
+ "type": [
+ "NUMBER"
+ ],
+ "objectType": [],
+ "description": "Current level of the tree represented with a horizontal offset\nof the toggle button.\n "
+ },
+ {
+ "name": "leaf",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "Hides the toggle icon and disables toggling a tree sublevel.\n "
+ },
+ {
+ "name": "expanded",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "Sublevel toggle state.\n ",
+ "notify": true
+ }
+ ],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [
+ {
+ "name": "expanded-changed",
+ "description": "Fired when the `expanded` property changes.",
+ "properties": []
+ }
+ ],
+ "slots": [
+ ""
+ ],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.ThemableMixin"
+ ],
+ "variants": {
+ "lumo": [
+ "connectors"
+ ]
+ },
+ "description": "`` is a helper element for the ``\nthat provides toggle and level display functionality for the item tree.\n\n#### Example:\n```html\n\n Package name\n \n \n [[item.name]]\n \n \n\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---|---\n`toggle` | The tree toggle icon\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n---|---|---\n`expanded` | When present, the toggle is expanded | :host\n`leaf` | When present, the toggle is not expandable, i. e., the current item is a leaf | :host\n\nThe following custom CSS properties are available on\nthe `` element:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-grid-tree-toggle-level-offset` | Visual offset step for each tree sublevel | `1em`"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid.json
new file mode 100644
index 00000000000..60af4356c18
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-grid.json
@@ -0,0 +1,256 @@
+{
+ "name": "Vaadin.GridElement",
+ "tag": "vaadin-grid",
+ "baseUrl": "vaadin-grid/src/vaadin-grid.html",
+ "version": "5.1.0-alpha3",
+ "properties": [
+ {
+ "name": "pageSize",
+ "type": [
+ "NUMBER"
+ ],
+ "objectType": [],
+ "description": "Number of items fetched at a time from the dataprovider.\n "
+ },
+ {
+ "name": "dataProvider",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Function that provides items lazily. Receives arguments `params`, `callback`\n\n`params.page` Requested page index\n\n`params.pageSize` Current page size\n\n`params.filters` Currently applied filters\n\n`params.sortOrders` Currently applied sorting orders\n\n`params.parentItem` When tree is used, and sublevel items\nare requested, reference to parent item of the requested sublevel.\nOtherwise `undefined`.\n\n`callback(items, size)` Callback function with arguments:\n - `items` Current page of items\n - `size` Total number of items. When tree sublevel items\n are requested, total number of items in the requested sublevel.\n Optional when tree is not used, required for tree.\n ",
+ "notify": true
+ },
+ {
+ "name": "loading",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "`true` while data is being requested from the data provider.\n ",
+ "readOnly": true,
+ "notify": true
+ },
+ {
+ "name": "itemIdPath",
+ "type": [
+ "STRING"
+ ],
+ "objectType": [],
+ "description": "Path to an item sub-property that identifies the item.\n "
+ },
+ {
+ "name": "expandedItems",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "An array that contains the expanded items.\n ",
+ "notify": true
+ },
+ {
+ "name": "activeItem",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "The item user has last interacted with. Turns to `null` after user deactivates\nthe item by re-interacting with the currently active item.\n ",
+ "notify": true
+ },
+ {
+ "name": "items",
+ "type": [
+ "ARRAY"
+ ],
+ "objectType": [],
+ "description": "An array containing the items which will be stamped to the column template\ninstances.\n "
+ },
+ {
+ "name": "detailsOpenedItems",
+ "type": [
+ "ARRAY"
+ ],
+ "objectType": [],
+ "description": "An array containing references to items with open row details.\n "
+ },
+ {
+ "name": "multiSort",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "When `true`, all `` are applied for sorting.\n "
+ },
+ {
+ "name": "selectedItems",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "An array that contains the selected items.\n ",
+ "notify": true
+ },
+ {
+ "name": "columnReorderingAllowed",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "Set to true to allow column reordering.\n "
+ },
+ {
+ "name": "heightByRows",
+ "type": [
+ "BOOLEAN"
+ ],
+ "objectType": [],
+ "description": "If true, the grid's height is defined by the number of its rows.\n "
+ }
+ ],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "getItemId",
+ "description": "Returns a value that identifies the item. Uses `itemIdPath` if available.\nCan be customized by overriding.\n ",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "expandItem",
+ "description": "Expands the given item tree.\n ",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "collapseItem",
+ "description": "Collapses the given item tree.\n ",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "clearCache",
+ "description": "Clears the cached pages and reloads data from dataprovider when needed.\n ",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "openItemDetails",
+ "description": "Open the details row of a given item.\n ",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "closeItemDetails",
+ "description": "Close the details row of a given item.\n ",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "Missing documentation!"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "selectItem",
+ "description": "Selects the given item.",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "The item object"
+ }
+ ],
+ "returns": "UNDEFINED"
+ },
+ {
+ "name": "deselectItem",
+ "description": "Deselects the given item if it is already selected.",
+ "parameters": [
+ {
+ "name": "item",
+ "type": [
+ "OBJECT"
+ ],
+ "objectType": [],
+ "description": "The item object"
+ }
+ ],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [],
+ "slots": [
+ "nodistribute"
+ ],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.ThemableMixin",
+ "Vaadin.Grid.DataProviderMixin",
+ "Vaadin.Grid.ScrollMixin",
+ "Vaadin.Grid.KeyboardNavigationMixin",
+ "Vaadin.Grid.CombinedMixin",
+ "Vaadin.Grid.ColumnReorderingMixin"
+ ],
+ "variants": {
+ "lumo": [
+ "no-border",
+ "no-row-borders",
+ "column-borders",
+ "row-stripes",
+ "compact",
+ "wrap-cell-content"
+ ],
+ "material": [
+ "column-dividers"
+ ]
+ },
+ "description": "`` is a free, high quality data grid / data table Polymer element.\n\n### Quick Start\n\nUse the [``](#/elements/vaadin-grid-column) element to configure the grid columns.\n\nThen assign an array to the [`items`](#/elements/vaadin-grid#property-items) property to visualize your data.\n\n#### Example:\n```html\n\n \n Name\n [[item.name]]\n \n \n Surname\n [[item.surname]]\n \n \n Role\n [[item.role]]\n \n\n```\n\nThe following helper elements can be used for further customization:\n- [``](#/elements/vaadin-grid-column-group)\n- [``](#/elements/vaadin-grid-filter)\n- [``](#/elements/vaadin-grid-sorter)\n- [``](#/elements/vaadin-grid-selection-column)\n- [``](#/elements/vaadin-grid-tree-toggle)\n\n__Note that the helper elements must be explicitly imported.__\nIf you want to import everything at once you can use the `all-imports.html` bundle.\n\nA column template can be decorated with one the following class names to specify its purpose\n- `header`: Marks a header template\n- `footer`: Marks a footer template\n- `row-details`: Marks a row details template\n\nThe following built-in template variables can be bound to inside the column templates:\n- `[[index]]`: Number representing the row index\n- `[[item]]` and it's sub-properties: Data object (provided by a data provider / items array)\n- `{{selected}}`: True if the item is selected (can be two-way bound)\n- `{{detailsOpened}}`: True if the item has row details opened (can be two-way bound)\n- `{{expanded}}`: True if the item has tree sublevel expanded (can be two-way bound)\n- `[[level]]`: Number of the tree sublevel of the item, first level-items have 0\n\n### Lazy Loading with Function Data Provider\n\nIn addition to assigning an array to the items property, you can alternatively\nprovide the `` data through the\n[`dataProvider`](#/elements/vaadin-grid#property-dataProvider) function property.\nThe `` calls this function lazily, only when it needs more data\nto be displayed.\n\nSee the [`dataProvider`](#/elements/vaadin-grid#property-dataProvider) in\nthe API reference below for the detailed data provider arguments description,\nand the “Assigning Data” page in the demos.\n\n__Note that expanding the tree grid's item will trigger a call to the `dataProvider`.__\n\n__Also, note that when using function data providers, the total number of items\nneeds to be set manually. The total number of items can be returned\nin the second argument of the data provider callback:__\n\n```javascript\ngrid.dataProvider = function(params, callback) {\n var url = 'https://api.example/data' +\n '?page=' + params.page + // the requested page index\n '&per_page=' + params.pageSize; // number of items on the page\n var xhr = new XMLHttpRequest();\n xhr.onload = function() {\n var response = JSON.parse(xhr.responseText);\n callback(\n response.employees, // requested page of items\n response.totalSize // total number of items\n );\n };\n xhr.open('GET', url, true);\n xhr.send();\n};\n```\n\n__Alternatively, you can use the `size` property to set the total number of items:__\n\n```javascript\ngrid.size = 200; // The total number of items\ngrid.dataProvider = function(params, callback) {\n var url = 'https://api.example/data' +\n '?page=' + params.page + // the requested page index\n '&per_page=' + params.pageSize; // number of items on the page\n var xhr = new XMLHttpRequest();\n xhr.onload = function() {\n var response = JSON.parse(xhr.responseText);\n callback(response.employees);\n };\n xhr.open('GET', url, true);\n xhr.send();\n};\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n----------------|----------------\n`row` | Row in the internal table\n`cell` | Cell in the internal table\n`header-cell` | Header cell in the internal table\n`body-cell` | Body cell in the internal table\n`footer-cell` | Footer cell in the internal table\n`details-cell` | Row details cell in the internal table\n`resize-handle` | Handle for resizing the columns\n`reorder-ghost` | Ghost element of the header cell being dragged\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n-------------|-------------|------------\n`loading` | Set when the grid is loading data from data provider | :host\n`interacting` | Keyboard navigation in interaction mode | :host\n`navigating` | Keyboard navigation in navigation mode | :host\n`overflow` | Set when rows are overflowing the grid viewport. Possible values: `top`, `bottom`, `left`, `right` | :host\n`reordering` | Set when the grid's columns are being reordered | :host\n`reorder-status` | Reflects the status of a cell while columns are being reordered | cell\n`frozen` | Frozen cell | cell\n`last-frozen` | Last frozen cell | cell\n`last-column` | Last visible cell on a row | cell\n`selected` | Selected row | row\n`expanded` | Expanded row | row\n`loading` | Row that is waiting for data from data provider | row\n`odd` | Odd row | row\n`first` | The first body row | row\n\nSee [ThemableMixin – how to apply styles for shadow parts](https://github.com/vaadin/vaadin-themable-mixin/wiki)"
+}
diff --git a/flow-components-parent/flow-generated-components/json_metadata/vaadin-horizontal-layout.json b/flow-components-parent/flow-generated-components/json_metadata/vaadin-horizontal-layout.json
new file mode 100644
index 00000000000..54b9ec1f91b
--- /dev/null
+++ b/flow-components-parent/flow-generated-components/json_metadata/vaadin-horizontal-layout.json
@@ -0,0 +1,40 @@
+{
+ "name": "Vaadin.HorizontalLayoutElement",
+ "tag": "vaadin-horizontal-layout",
+ "baseUrl": "vaadin-ordered-layout/src/vaadin-horizontal-layout.html",
+ "version": "1.1.0-alpha3",
+ "properties": [],
+ "methods": [
+ {
+ "name": "updateStyles",
+ "description": "",
+ "parameters": [],
+ "returns": "UNDEFINED"
+ }
+ ],
+ "events": [],
+ "slots": [
+ ""
+ ],
+ "behaviors": [],
+ "mixins": [
+ "Vaadin.ThemableMixin"
+ ],
+ "variants": {
+ "lumo": [
+ "spacing-xs",
+ "spacing-s",
+ "spacing",
+ "spacing-l",
+ "spacing-xl"
+ ],
+ "material": [
+ "spacing-xs",
+ "spacing-s",
+ "spacing",
+ "spacing-l",
+ "spacing-xl"
+ ]
+ },
+ "description": "`` provides a simple way to horizontally align your HTML elements.\n\n```\n\n