diff --git a/pom.xml b/pom.xml
index c2c4e18..6db80fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,6 +15,7 @@
UTF-8
UTF-8
${project.basedir}/drivers
+ 4.0.0
11.0.14
@@ -54,6 +55,11 @@
import
${vaadin.version}
+
+ com.flowingcode.vaadin.addons.demo
+ commons-demo
+ ${flowingcode.commons.demo.version}
+
@@ -105,6 +111,11 @@
6.1.14
true
+
+ com.flowingcode.vaadin.addons.demo
+ commons-demo
+ test
+
org.slf4j
slf4j-simple
diff --git a/src/test/java/com/flowingcode/addons/applayout/ApplayoutDemoView.java b/src/test/java/com/flowingcode/addons/applayout/ApplayoutDemoView.java
index b8c7960..7d34a32 100644
--- a/src/test/java/com/flowingcode/addons/applayout/ApplayoutDemoView.java
+++ b/src/test/java/com/flowingcode/addons/applayout/ApplayoutDemoView.java
@@ -46,9 +46,8 @@
import org.junit.Ignore;
@SuppressWarnings("serial")
-@Route(value = "applayout", layout = DemoLayout.class)
+@Route(value = "applayout-full", layout = DemoLayout.class)
@StyleSheet("context://frontend/styles/app-layout/demo-styles.css")
-@Ignore
public class ApplayoutDemoView extends VerticalLayout {
private VerticalLayout container = new VerticalLayout();
@@ -232,7 +231,7 @@ private Component[] createMenuItems() {
new MenuItem("Toggle", VaadinIcon.BACKSPACE).configure(mi -> mi.add(new PaperToggle())),
new MenuItem("Toggle", MenuItem.BLANK).configure(mi -> mi.add(new PaperToggle())),
new MenuItem("External link").setHref("http://www.google.com"),
- new MenuItem("Internal Link", InternalView.class),
+ new MenuItem("Internal Link", SampleInternalView.class),
// icon as VaadinIcon enum
new MenuItem("Content", VaadinIcon.BOOK, () -> showHamletContent())
diff --git a/src/test/java/com/flowingcode/addons/applayout/AbstractLayoutDemo.java b/src/test/java/com/flowingcode/addons/applayout/CustomAppLayout.java
similarity index 94%
rename from src/test/java/com/flowingcode/addons/applayout/AbstractLayoutDemo.java
rename to src/test/java/com/flowingcode/addons/applayout/CustomAppLayout.java
index d399e6e..d7188b1 100644
--- a/src/test/java/com/flowingcode/addons/applayout/AbstractLayoutDemo.java
+++ b/src/test/java/com/flowingcode/addons/applayout/CustomAppLayout.java
@@ -23,9 +23,10 @@
import com.vaadin.flow.component.html.Image;
import com.vaadin.flow.component.html.Span;
-public class AbstractLayoutDemo extends AppLayout {
+@SuppressWarnings("serial")
+public class CustomAppLayout extends AppLayout {
- public AbstractLayoutDemo() {
+ public CustomAppLayout() {
setMenuItems(new MenuItem("Item 1"), new MenuItem("Item 2"));
// menu header
diff --git a/src/test/java/com/flowingcode/addons/applayout/InternalView.java b/src/test/java/com/flowingcode/addons/applayout/SampleInternalView.java
similarity index 89%
rename from src/test/java/com/flowingcode/addons/applayout/InternalView.java
rename to src/test/java/com/flowingcode/addons/applayout/SampleInternalView.java
index 63f0e06..7deb75b 100644
--- a/src/test/java/com/flowingcode/addons/applayout/InternalView.java
+++ b/src/test/java/com/flowingcode/addons/applayout/SampleInternalView.java
@@ -24,11 +24,12 @@
import com.vaadin.flow.router.Route;
import org.junit.Ignore;
+@SuppressWarnings("serial")
@Route("internal-view")
@Ignore
-public class InternalView extends Div {
+public class SampleInternalView extends Div {
- public InternalView() {
+ public SampleInternalView() {
add(new Span("Internal view"));
}
}
diff --git a/src/test/java/com/flowingcode/addons/applayout/AbstractLayoutView.java b/src/test/java/com/flowingcode/addons/applayout/SampleView.java
similarity index 88%
rename from src/test/java/com/flowingcode/addons/applayout/AbstractLayoutView.java
rename to src/test/java/com/flowingcode/addons/applayout/SampleView.java
index 184f569..7da47b8 100644
--- a/src/test/java/com/flowingcode/addons/applayout/AbstractLayoutView.java
+++ b/src/test/java/com/flowingcode/addons/applayout/SampleView.java
@@ -24,9 +24,9 @@
import com.vaadin.flow.router.Route;
import org.junit.Ignore;
-@Route(value = "view", layout = AbstractLayoutDemo.class)
-@Ignore
-public class AbstractLayoutView extends Div {
+@SuppressWarnings("serial")
+@Route(value = "view", layout = CustomAppLayout.class)
+public class SampleView extends Div {
{
add(new Span("Hello world"));
diff --git a/src/test/java/com/flowingcode/vaadin/addons/applayout/AppLayoutDemo.java b/src/test/java/com/flowingcode/vaadin/addons/applayout/AppLayoutDemo.java
new file mode 100644
index 0000000..2a38576
--- /dev/null
+++ b/src/test/java/com/flowingcode/vaadin/addons/applayout/AppLayoutDemo.java
@@ -0,0 +1,24 @@
+package com.flowingcode.vaadin.addons.applayout;
+
+import com.flowingcode.vaadin.addons.demo.DemoSource;
+import com.vaadin.flow.component.html.Div;
+import com.vaadin.flow.component.html.IFrame;
+import com.vaadin.flow.router.PageTitle;
+import com.vaadin.flow.router.Route;
+
+@DemoSource("/src/test/java/com/flowingcode/addons/applayout/ApplayoutDemoView.java")
+@DemoSource("/frontend/styles/app-layout/demo-styles.css")
+@PageTitle("AppLayout Full Demo")
+@SuppressWarnings("serial")
+@Route(value = "applayout/applayout-demo", layout = AppLayoutDemoView.class)
+public class AppLayoutDemo extends Div {
+
+ public AppLayoutDemo() {
+ setClassName("wrap-iframe");
+ IFrame iframe = new IFrame("/applayout-full");
+ iframe.setClassName("frame");
+ iframe.setSizeFull();
+ iframe.getElement().setAttribute("frameBorder", "0");
+ add(iframe);
+ }
+}
diff --git a/src/test/java/com/flowingcode/vaadin/addons/applayout/AppLayoutDemoView.java b/src/test/java/com/flowingcode/vaadin/addons/applayout/AppLayoutDemoView.java
new file mode 100644
index 0000000..52d870d
--- /dev/null
+++ b/src/test/java/com/flowingcode/vaadin/addons/applayout/AppLayoutDemoView.java
@@ -0,0 +1,40 @@
+/*-
+ * #%L
+ * Template Add-on
+ * %%
+ * Copyright (C) 2023 Flowing Code
+ * %%
+ * 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.
+ * #L%
+ */
+package com.flowingcode.vaadin.addons.applayout;
+
+import com.flowingcode.vaadin.addons.DemoLayout;
+import com.flowingcode.vaadin.addons.GithubLink;
+import com.flowingcode.vaadin.addons.demo.TabbedDemo;
+import com.vaadin.flow.router.ParentLayout;
+import com.vaadin.flow.router.Route;
+
+@SuppressWarnings("serial")
+@ParentLayout(DemoLayout.class)
+@Route("applayout")
+@GithubLink("https://github.com/FlowingCode/AppLayoutAddon")
+public class AppLayoutDemoView extends TabbedDemo {
+
+ public AppLayoutDemoView() {
+ addDemo(AppLayoutDemo.class);
+ addDemo(ExtendingAppLayoutDemo.class);
+
+ setSizeFull();
+ }
+}
diff --git a/src/test/java/com/flowingcode/addons/applayout/DemoView.java b/src/test/java/com/flowingcode/vaadin/addons/applayout/DemoView.java
similarity index 91%
rename from src/test/java/com/flowingcode/addons/applayout/DemoView.java
rename to src/test/java/com/flowingcode/vaadin/addons/applayout/DemoView.java
index 679e720..1faf6d5 100644
--- a/src/test/java/com/flowingcode/addons/applayout/DemoView.java
+++ b/src/test/java/com/flowingcode/vaadin/addons/applayout/DemoView.java
@@ -17,7 +17,7 @@
* limitations under the License.
* #L%
*/
-package com.flowingcode.addons.applayout;
+package com.flowingcode.vaadin.addons.applayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.router.BeforeEnterEvent;
@@ -30,6 +30,6 @@ public class DemoView extends VerticalLayout implements BeforeEnterObserver {
@Override
public void beforeEnter(BeforeEnterEvent event) {
- event.forwardTo(ApplayoutDemoView.class);
+ event.forwardTo(AppLayoutDemoView.class);
}
}
diff --git a/src/test/java/com/flowingcode/vaadin/addons/applayout/ExtendingAppLayoutDemo.java b/src/test/java/com/flowingcode/vaadin/addons/applayout/ExtendingAppLayoutDemo.java
new file mode 100644
index 0000000..0718557
--- /dev/null
+++ b/src/test/java/com/flowingcode/vaadin/addons/applayout/ExtendingAppLayoutDemo.java
@@ -0,0 +1,24 @@
+package com.flowingcode.vaadin.addons.applayout;
+
+import com.flowingcode.vaadin.addons.demo.DemoSource;
+import com.vaadin.flow.component.html.Div;
+import com.vaadin.flow.component.html.IFrame;
+import com.vaadin.flow.router.PageTitle;
+import com.vaadin.flow.router.Route;
+
+@DemoSource("/src/test/java/com/flowingcode/addons/applayout/CustomAppLayout.java")
+@DemoSource("/src/test/java/com/flowingcode/addons/applayout/SampleView.java")
+@PageTitle("Extending AppLayout Demo")
+@SuppressWarnings("serial")
+@Route(value = "applayout/extending-applayout-demo", layout = AppLayoutDemoView.class)
+public class ExtendingAppLayoutDemo extends Div {
+
+ public ExtendingAppLayoutDemo() {
+ setClassName("wrap-iframe");
+ IFrame iframe = new IFrame("/view");
+ iframe.setClassName("frame");
+ iframe.setSizeFull();
+ iframe.getElement().setAttribute("frameBorder", "0");
+ add(iframe);
+ }
+}