diff --git a/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/LabelElement.java b/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/LabelElement.java index 242a3d41f03..554be7a3d1c 100644 --- a/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/LabelElement.java +++ b/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/LabelElement.java @@ -22,8 +22,10 @@ * A TestBench element representing a <label> element. * * @since 1.0 + * @deprecated Use {@link NativeLabelElement} instead. */ @Element("label") +@Deprecated(since = "24.1", forRemoval = true) public class LabelElement extends TestBenchElement { } diff --git a/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/NativeLabelElement.java b/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/NativeLabelElement.java new file mode 100644 index 00000000000..ec8741ec5a6 --- /dev/null +++ b/flow-html-components-testbench/src/main/java/com/vaadin/flow/component/html/testbench/NativeLabelElement.java @@ -0,0 +1,29 @@ +/* + * Copyright 2000-2023 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.component.html.testbench; + +import com.vaadin.testbench.TestBenchElement; +import com.vaadin.testbench.elementsbase.Element; + +/** + * A TestBench element representing a <label> element. + * + * @since 24.1 + */ +@Element("label") +public class NativeLabelElement extends TestBenchElement { + +} diff --git a/flow-html-components/src/main/java/com/vaadin/flow/component/html/Label.java b/flow-html-components/src/main/java/com/vaadin/flow/component/html/Label.java index 33956fdf51a..27a53d13ab4 100644 --- a/flow-html-components/src/main/java/com/vaadin/flow/component/html/Label.java +++ b/flow-html-components/src/main/java/com/vaadin/flow/component/html/Label.java @@ -17,22 +17,21 @@ import java.util.Optional; +import com.vaadin.flow.component.AttachEvent; import com.vaadin.flow.component.Component; import com.vaadin.flow.component.Html; import com.vaadin.flow.component.HtmlContainer; import com.vaadin.flow.component.PropertyDescriptor; import com.vaadin.flow.component.PropertyDescriptors; import com.vaadin.flow.component.Tag; +import com.vaadin.flow.server.VaadinService; +import com.vaadin.flow.shared.Registration; +import org.slf4j.LoggerFactory; /** * Component for a <label> element, which represents a * caption for an item in a user interface. *

- * Note that Label components are not meant for loose text in the page - they - * should be coupled with another component by using the - * {@link #setFor(Component)} or by adding them to it with the - * {@link #add(Component...)} method. - *

* Clicking on a label automatically transfers the focus to the associated * component. This is especially helpful when building forms with * {@link Input}s. @@ -46,12 +45,29 @@ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label * @since 1.0 + * @deprecated Use {@link NativeLabel} instead, if you need the HTML + * <label> element, which is normally not needed + * within a Vaadin Flow application's high-level components. This + * component was deprecated because it was confusing users of + * earlier Vaadin Versions and users migrating from Swing to the + * modern Vaadin Flow Framework. The {@link Label} component / + * <label> element is not meant for loose text in + * the page - it should only be coupled with another component by + * using the {@link #setFor(Component)} or by adding them to it with + * the {@link #add(Component...)} method, for example if you use + * {@link Input}. + * */ @Tag(Tag.LABEL) +@Deprecated(since = "24.1", forRemoval = true) public class Label extends HtmlContainer { private static final PropertyDescriptor> forDescriptor = PropertyDescriptors .optionalAttributeWithDefault("for", ""); + private static Boolean productionMode = null; + + private Registration checkForAttributeOnAttach; + /** * Creates a new empty label. */ @@ -118,4 +134,57 @@ public void setFor(String forId) { public Optional getFor() { return get(forDescriptor); } + + @Override + protected void onAttach(AttachEvent attachEvent) { + super.onAttach(attachEvent); + if (skipForAttributeCheck() || !attachEvent.isInitialAttach()) { + return; // skip check in production so that customer / clients / + // ops-teams are not complaining about this warning to the + // devs. This should be dealt with by devs in development + // mode. + } + if (checkForAttributeOnAttach == null) { + checkForAttributeOnAttach = attachEvent.getUI() + .beforeClientResponse(this, ctx -> { + // Label was not associated with a for-attribute + // AND + // Label was not associated by adding a nested component + if (getFor().isEmpty() + && getChildren().findAny().isEmpty()) { + LoggerFactory.getLogger(Label.class.getName()).warn( + "The Label '{}' was not associated with a component. " + + "Labels should not be used for loose text on the page. " + + "Consider alternatives like Text, Paragraph, Span or Div. " + + "See the JavaDocs and Deprecation Warning for more Information.", + getText()); + } + checkForAttributeOnAttach.remove(); + }); + } + } + + /** + * Checks if the application is running in production mode. + *

+ * When unsure, reports that production mode is true so spam-like logging + * does not take place in production. + * + * @return true if in production mode or the mode is unclear, false if in + * development mode + **/ + private static boolean skipForAttributeCheck() { + if (productionMode != null) { + return productionMode; + } + + var service = VaadinService.getCurrent(); + if (service == null) { + return true; + } + + productionMode = service.getDeploymentConfiguration() + .isProductionMode(); + return productionMode; + } } diff --git a/flow-html-components/src/main/java/com/vaadin/flow/component/html/NativeLabel.java b/flow-html-components/src/main/java/com/vaadin/flow/component/html/NativeLabel.java new file mode 100644 index 00000000000..64a96957136 --- /dev/null +++ b/flow-html-components/src/main/java/com/vaadin/flow/component/html/NativeLabel.java @@ -0,0 +1,120 @@ +/* + * Copyright 2000-2023 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.component.html; + +import com.vaadin.flow.component.Component; +import com.vaadin.flow.component.Html; +import com.vaadin.flow.component.HtmlContainer; +import com.vaadin.flow.component.PropertyDescriptor; +import com.vaadin.flow.component.PropertyDescriptors; +import com.vaadin.flow.component.Tag; +import java.util.Optional; + +/** + * Component for a <label> element, which represents a + * caption for an input field in a user interface. + *

+ * Note that Label components are not meant for loose text in the page - they + * should be coupled with another component by using the + * {@link #setFor(Component)} or by adding them to it with the + * {@link #add(Component...)} method. + *

+ * Clicking on a label automatically transfers the focus to the associated + * component. This is especially helpful when building forms with + * {@link Input}s. + *

+ * For adding texts to the page without linking them to other components, + * consider using a {@link Span} or a {@link Div} instead. If the text should be + * interpreted as HTML, use a {@link Html} (but remember to guard against + * cross-site scripting attacks). + * + * @author Vaadin Ltd + * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label + * @since 24.1 + */ +@Tag(Tag.LABEL) +public class NativeLabel extends HtmlContainer { + private static final PropertyDescriptor> forDescriptor = PropertyDescriptors + .optionalAttributeWithDefault("for", ""); + + /** + * Creates a new empty label. + */ + public NativeLabel() { + super(); + } + + /** + * Creates a new label with the given text content. + * + * @param text + * the text content + */ + public NativeLabel(String text) { + this(); + setText(text); + } + + /** + * Sets the component that this label describes. The component (or its id) + * should be defined in case the described component is not an ancestor of + * the label. + *

+ * The provided component must have an id set. This component will still use + * the old id if the id of the provided component is changed after this + * method has been called. + * + * @param forComponent + * the component that this label describes, not null + * , must have an id + * @throws IllegalArgumentException + * if the provided component has no id + */ + public void setFor(Component forComponent) { + if (forComponent == null) { + throw new IllegalArgumentException( + "The provided component cannot be null"); + } + setFor(forComponent.getId() + .orElseThrow(() -> new IllegalArgumentException( + "The provided component must have an id"))); + } + + /** + * Sets the id of the component that this label describes. The id should be + * defined in case the described component is not an ancestor of the label. + * + * @param forId + * the id of the described component, or null if + * there is no value + */ + public void setFor(String forId) { + set(forDescriptor, forId); + } + + /** + * Gets the id of the component that this label describes. + * + * @see #setFor(String) + * + * @return an optional id of the described component, or an empty optional + * if the attribute has not been set + */ + public Optional getFor() { + return get(forDescriptor); + } +} diff --git a/flow-html-components/src/test/java/com/vaadin/flow/component/html/HtmlComponentSmokeTest.java b/flow-html-components/src/test/java/com/vaadin/flow/component/html/HtmlComponentSmokeTest.java index f425ed3b20a..11e3023a2a3 100644 --- a/flow-html-components/src/test/java/com/vaadin/flow/component/html/HtmlComponentSmokeTest.java +++ b/flow-html-components/src/test/java/com/vaadin/flow/component/html/HtmlComponentSmokeTest.java @@ -206,6 +206,11 @@ private static boolean isSpecialSetter(Method method) { && method.getParameterTypes()[0] == Component.class) { return true; } + if (method.getDeclaringClass() == NativeLabel.class + && method.getName().equals("setFor") + && method.getParameterTypes()[0] == Component.class) { + return true; + } // Anchor.setTarget(AnchorTargetValue) - // https://github.com/vaadin/flow/issues/8346 diff --git a/flow-html-components/src/test/java/com/vaadin/flow/component/html/NativeLabelTest.java b/flow-html-components/src/test/java/com/vaadin/flow/component/html/NativeLabelTest.java new file mode 100644 index 00000000000..c3aac83605a --- /dev/null +++ b/flow-html-components/src/test/java/com/vaadin/flow/component/html/NativeLabelTest.java @@ -0,0 +1,39 @@ +/* + * Copyright 2000-2023 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.component.html; + +import org.junit.Assert; +import org.junit.Test; + +public class NativeLabelTest extends ComponentTest { + + // Actual test methods in super class + + @Override + protected void addProperties() { + addOptionalStringProperty("for"); + } + + @Test + public void setForComponent() { + NativeLabel otherComponent = new NativeLabel(); + otherComponent.setId("otherC"); + NativeLabel l = (NativeLabel) getComponent(); + l.setFor(otherComponent); + Assert.assertEquals(otherComponent.getId().get(), l.getFor().get()); + } + +} diff --git a/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/BrowserLoggingView.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/BrowserLoggingView.java index 2a509b93fad..ce337f154fc 100644 --- a/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/BrowserLoggingView.java +++ b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/frontend/BrowserLoggingView.java @@ -19,7 +19,7 @@ import com.vaadin.flow.component.Tag; import com.vaadin.flow.component.dependency.JavaScript; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.Route; import com.vaadin.flow.shared.ui.LoadMode; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -29,7 +29,7 @@ @JavaScript(value = "./consoleLoggingProxy.js", loadMode = LoadMode.INLINE) public class BrowserLoggingView extends Div { public BrowserLoggingView() { - Label label = new Label("Just a label"); + NativeLabel label = new NativeLabel("Just a label"); label.setId("elementId"); add(label); } diff --git a/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/template/AbstractAttachExistingElementByIdTemplate.java b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/template/AbstractAttachExistingElementByIdTemplate.java index 8a660d14875..ebc3767405f 100644 --- a/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/template/AbstractAttachExistingElementByIdTemplate.java +++ b/flow-tests/test-dev-mode/src/main/java/com/vaadin/flow/uitest/ui/template/AbstractAttachExistingElementByIdTemplate.java @@ -16,7 +16,7 @@ package com.vaadin.flow.uitest.ui.template; import com.vaadin.flow.component.html.Input; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.polymertemplate.EventHandler; import com.vaadin.flow.component.polymertemplate.Id; import com.vaadin.flow.component.polymertemplate.PolymerTemplate; @@ -29,7 +29,7 @@ public abstract class AbstractAttachExistingElementByIdTemplate private Input input; @Id("label") - private Label label; + private NativeLabel label; protected AbstractAttachExistingElementByIdTemplate(String id) { setId(id); diff --git a/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/UrlValidationIT.java b/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/UrlValidationIT.java index 47105d8c484..caa0bef771f 100644 --- a/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/UrlValidationIT.java +++ b/flow-tests/test-dev-mode/src/test/java/com/vaadin/flow/uitest/ui/UrlValidationIT.java @@ -22,7 +22,7 @@ import org.junit.Assert; import org.junit.Test; -import com.vaadin.flow.component.html.testbench.LabelElement; +import com.vaadin.flow.component.html.testbench.NativeLabelElement; import com.vaadin.flow.testutil.ChromeBrowserTest; public class UrlValidationIT extends ChromeBrowserTest { @@ -36,7 +36,8 @@ public void devModeUriValidation_uriWithDirectoryChange_statusForbidden() throws Exception { // open a view and wait till the expected label is displayed open(); - waitUntil(input -> $(LabelElement.class).id("elementId").isDisplayed()); + waitUntil(input -> $(NativeLabelElement.class).id("elementId") + .isDisplayed()); // check the forbidden url sendRequestAndValidateResponseStatusBadRequest( "/VAADIN/build/%252E%252E"); @@ -47,7 +48,8 @@ public void staticResourceUriValidation_uriWithDirectoryChange_statusForbidden() throws Exception { // open a view and wait till the expected label is displayed open(); - waitUntil(input -> $(LabelElement.class).id("elementId").isDisplayed()); + waitUntil(input -> $(NativeLabelElement.class).id("elementId") + .isDisplayed()); // check the forbidden url sendRequestAndValidateResponseStatusBadRequest( "/VAADIN/build/%252E%252E/some-resource.css"); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachExistingElementView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachExistingElementView.java index 6c773ac4fbb..34feb6faaf4 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachExistingElementView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachExistingElementView.java @@ -19,7 +19,7 @@ import com.vaadin.flow.component.Component; import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.H1; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.dom.ChildElementConsumer; import com.vaadin.flow.dom.Element; import com.vaadin.flow.dom.Node; @@ -30,7 +30,7 @@ @Route(value = "com.vaadin.flow.uitest.ui.AttachExistingElementView", layout = ViewTestLayout.class) public class AttachExistingElementView extends AbstractDivView { - private Label attachedLabel; + private NativeLabel attachedLabel; private class NonExistingElementCallback implements ChildElementConsumer { @@ -87,7 +87,7 @@ protected void onShow() { } private void handleLabel(Element label) { - attachedLabel = Component.from(label, Label.class); + attachedLabel = Component.from(label, NativeLabel.class); attachedLabel.setText("Client side label"); attachedLabel.setId("label"); @@ -120,7 +120,7 @@ private void handleHeader(Element header) { } private void handleLabelInShadow(Element label) { - Label lbl = Component.from(label, Label.class); + NativeLabel lbl = Component.from(label, NativeLabel.class); lbl.setText("Client side label in shadow root"); lbl.setId("label-in-shadow"); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachListenerView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachListenerView.java index 41d0272b4d2..1d697fbfd6b 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachListenerView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/AttachListenerView.java @@ -21,7 +21,7 @@ import com.vaadin.flow.component.HasComponents; import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.Input; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.Span; import com.vaadin.flow.router.Route; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -146,7 +146,7 @@ private Input createRadioButton(HasComponents parent, String id, input.setId(id); radioButtons.put(id, input); - Label label = new Label(text); + NativeLabel label = new NativeLabel(text); label.setFor(id); parent.add(input, label); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BackButtonServerRoundTripView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BackButtonServerRoundTripView.java index 189a73888fa..c56dac5aa59 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BackButtonServerRoundTripView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BackButtonServerRoundTripView.java @@ -4,7 +4,7 @@ import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.BeforeEvent; import com.vaadin.flow.router.HasUrlParameter; @@ -20,10 +20,10 @@ public class BackButtonServerRoundTripView extends Div static final String BUTTON_ID = "button"; static final String QUERY_LABEL_ID = "query"; - private final Label queryLabel; + private final NativeLabel queryLabel; public BackButtonServerRoundTripView() { - queryLabel = new Label(); + queryLabel = new NativeLabel(); queryLabel.setId(QUERY_LABEL_ID); add(queryLabel); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BodyScrollView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BodyScrollView.java index cb8be57123f..6fa9c4131c2 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BodyScrollView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/BodyScrollView.java @@ -15,7 +15,7 @@ */ package com.vaadin.flow.uitest.ui; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.Route; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -23,7 +23,7 @@ public class BodyScrollView extends AbstractDivView { public BodyScrollView() { - add(new Label("Check scroll attribute")); + add(new NativeLabel("Check scroll attribute")); } } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/DebounceSynchronizePropertyView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/DebounceSynchronizePropertyView.java index 169160588fb..be8fd7f5bb9 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/DebounceSynchronizePropertyView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/DebounceSynchronizePropertyView.java @@ -19,7 +19,7 @@ import com.vaadin.flow.component.Component; import com.vaadin.flow.component.HtmlComponent; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.dom.DomEvent; import com.vaadin.flow.dom.DomEventListener; import com.vaadin.flow.dom.DomListenerRegistration; @@ -79,7 +79,7 @@ public void handleEvent(DomEvent event) { } }).addEventData("element.checked"); - Label label = new Label(caption); + NativeLabel label = new NativeLabel(caption); label.getElement().insertChild(0, checkbox); label.getElement().getStyle().set("display", "block"); return label; diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ElementRemoveItselfView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ElementRemoveItselfView.java index 87cf289f762..52747fee0d5 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ElementRemoveItselfView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ElementRemoveItselfView.java @@ -15,7 +15,7 @@ */ package com.vaadin.flow.uitest.ui; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.dom.Element; import com.vaadin.flow.uitest.servlet.ViewTestLayout; import com.vaadin.flow.router.Route; @@ -33,7 +33,7 @@ public ElementRemoveItselfView() { layout.appendChild(button); button.addEventListener("click", evt -> { layout.removeAllChildren(); - Label label = new Label("All removed!"); + NativeLabel label = new NativeLabel("All removed!"); label.setId("all-removed"); add(label); }); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EnabledView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EnabledView.java index 23ff37cfb1b..a9fac53f4ef 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EnabledView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EnabledView.java @@ -16,7 +16,7 @@ package com.vaadin.flow.uitest.ui; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.Route; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -32,7 +32,7 @@ public EnabledView() { div.setId("enabled"); div.getElement().setEnabled(false); - Label label = new Label("Nested element"); + NativeLabel label = new NativeLabel("Nested element"); label.setId("nested-label"); div.add(label); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EventListenersView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EventListenersView.java index f5a4e18ff71..9fe26b76670 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EventListenersView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/EventListenersView.java @@ -17,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.uitest.servlet.ViewTestLayout; import com.vaadin.flow.router.Route; @@ -32,7 +32,7 @@ protected void onShow() { button.setId("click"); button.addClickListener(evt -> { int value = count.incrementAndGet(); - Label label = new Label(String.valueOf(value)); + NativeLabel label = new NativeLabel(String.valueOf(value)); label.addClassName("count"); add(label); add(button); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/InMemoryChildrenView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/InMemoryChildrenView.java index a057b134333..673dbfdecf9 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/InMemoryChildrenView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/InMemoryChildrenView.java @@ -17,7 +17,7 @@ import com.vaadin.flow.component.dependency.JavaScript; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.Route; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -27,7 +27,7 @@ public class InMemoryChildrenView extends AbstractDivView { @Override protected void onShow() { - Label label = new Label(); + NativeLabel label = new NativeLabel(); label.setId("in-memory"); label.setText("In memory element"); getElement().appendVirtualChild(label.getElement()); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JavaScriptReturnValueView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JavaScriptReturnValueView.java index 1d1807b8e50..3f3d7ad9eb0 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JavaScriptReturnValueView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JavaScriptReturnValueView.java @@ -23,7 +23,7 @@ import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.Input; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.component.page.PendingJavaScriptResult; import com.vaadin.flow.router.Route; @@ -140,7 +140,7 @@ public Input addOption(String caption, T value, String id) { input.getElement().setAttribute("checked", true); } - Label label = new Label(caption); + NativeLabel label = new NativeLabel(caption); label.setFor(input); getContent().add(new Div(input, label)); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JsApiGetByIdView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JsApiGetByIdView.java index b8cdb4fa48b..536624bc1c7 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JsApiGetByIdView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/JsApiGetByIdView.java @@ -16,7 +16,7 @@ package com.vaadin.flow.uitest.ui; import com.vaadin.flow.component.dependency.JavaScript; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.Route; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -25,11 +25,11 @@ public class JsApiGetByIdView extends AbstractDivView { public JsApiGetByIdView() { - Label label = new Label("Original label"); + NativeLabel label = new NativeLabel("Original label"); label.setId("source"); add(label); - Label target = new Label(); + NativeLabel target = new NativeLabel(); target.setId("target"); add(target); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/MyExceptionHandler.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/MyExceptionHandler.java index 5dc7d24f785..85f222677f9 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/MyExceptionHandler.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/MyExceptionHandler.java @@ -16,7 +16,7 @@ package com.vaadin.flow.uitest.ui; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.ErrorParameter; import com.vaadin.flow.router.HasErrorParameter; @@ -31,7 +31,7 @@ public class MyExceptionHandler extends Div implements HasErrorParameter { public MyExceptionHandler() { - Label label = new Label("My exception handler."); + NativeLabel label = new NativeLabel("My exception handler."); label.setId("custom-exception"); add(label); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PageView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PageView.java index 92cf60223ba..61ec9e85d3e 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PageView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PageView.java @@ -4,7 +4,7 @@ import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.IFrame; import com.vaadin.flow.component.html.Input; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.Route; @@ -81,7 +81,7 @@ public void beforeEnter(BeforeEnterEvent event) { })); })); - Label directionLbl = new Label(); + NativeLabel directionLbl = new NativeLabel(); directionLbl.setId("direction-value"); add(directionLbl); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PostponeProceedView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PostponeProceedView.java index 52ca61df50d..d555259db15 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PostponeProceedView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/PostponeProceedView.java @@ -17,7 +17,7 @@ import com.vaadin.flow.component.UI; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.component.html.Paragraph; import com.vaadin.flow.router.BeforeLeaveEvent; @@ -34,7 +34,7 @@ public class PostponeProceedView extends Div implements BeforeLeaveObserver { @Route(value = "com.vaadin.flow.uitest.ui.PostponeProceedView.ProceedResultView", layout = ViewTestLayout.class) public static class ProceedResultView extends Div { public ProceedResultView() { - Label label = new Label("Another view"); + NativeLabel label = new NativeLabel("Another view"); label.setId("target"); add(label); } @@ -43,7 +43,7 @@ public ProceedResultView() { @Route(value = "com.vaadin.flow.uitest.ui.PostponeProceedView.DelayedProceedTargetView", layout = ViewTestLayout.class) public static class DelayedProceedTargetView extends Div { public DelayedProceedTargetView() { - Label label = new Label("Delayed Proceed Target View"); + NativeLabel label = new NativeLabel("Delayed Proceed Target View"); label.setId("target"); add(label); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersHistoryView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersHistoryView.java index 50c2e3c072c..15f9822d242 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersHistoryView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersHistoryView.java @@ -17,7 +17,7 @@ import java.util.List; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.AfterNavigationEvent; import com.vaadin.flow.router.AfterNavigationObserver; @@ -36,12 +36,12 @@ public class RequestParametersHistoryView extends AbstractDivView static final String REQUEST_PARAM_ID = "requestParamDisplayLabel"; static final String BACK_BUTTON_ID = "backButton"; - private final Label requestParamLabel; + private final NativeLabel requestParamLabel; public RequestParametersHistoryView() { NativeButton backwardButton = createButton("Go back", BACK_BUTTON_ID, event -> getPage().getHistory().back()); - requestParamLabel = new Label(NO_INPUT_TEXT); + requestParamLabel = new NativeLabel(NO_INPUT_TEXT); requestParamLabel.setId(REQUEST_PARAM_ID); add(requestParamLabel, backwardButton); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersView.java index dd390bc84ab..cf0cf9e047f 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RequestParametersView.java @@ -19,7 +19,7 @@ import java.util.Collections; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.BeforeEnterObserver; import com.vaadin.flow.router.Route; @@ -31,10 +31,10 @@ public class RequestParametersView extends Div implements BeforeEnterObserver { static final String NO_INPUT_TEXT = "No input"; static final String REQUEST_PARAM_ID = "requestParamDisplayLabel"; - private final Label requestParamLabel; + private final NativeLabel requestParamLabel; public RequestParametersView() { - requestParamLabel = new Label(NO_INPUT_TEXT); + requestParamLabel = new NativeLabel(NO_INPUT_TEXT); requestParamLabel.setId(REQUEST_PARAM_ID); add(requestParamLabel); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RerouteView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RerouteView.java index 9034930dfef..3fd2ee9a16e 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RerouteView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/RerouteView.java @@ -20,7 +20,7 @@ import com.vaadin.flow.component.HtmlContainer; import com.vaadin.flow.component.Tag; import com.vaadin.flow.component.html.Input; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.BeforeEnterEvent; import com.vaadin.flow.router.NotFoundException; @@ -68,7 +68,7 @@ public void beforeEnter(BeforeEnterEvent event) { public class CheckBox extends HtmlContainer { Input input; - Label captionLabel; + NativeLabel captionLabel; public CheckBox() { input = new Input(); @@ -81,7 +81,7 @@ public CheckBox() { public CheckBox(String caption) { this(); - captionLabel = new Label(caption); + captionLabel = new NativeLabel(caption); add(captionLabel); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ServiceInitListenersView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ServiceInitListenersView.java index d102160828a..c8afea37554 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ServiceInitListenersView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/ServiceInitListenersView.java @@ -16,7 +16,7 @@ package com.vaadin.flow.uitest.ui; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.BeforeEvent; import com.vaadin.flow.router.HasUrlParameter; import com.vaadin.flow.router.OptionalParameter; @@ -27,14 +27,14 @@ public class ServiceInitListenersView extends Div implements HasUrlParameter { private static final String OPTIONAL_PARAMETER_LABEL_TEXT_PREFIX = "Before init count: "; - private final Label optionalParameterLabel; + private final NativeLabel optionalParameterLabel; public ServiceInitListenersView() { - optionalParameterLabel = new Label(); + optionalParameterLabel = new NativeLabel(); add(optionalParameterLabel); - add(new Label( + add(new NativeLabel( "Init count: " + TestingServiceInitListener.getInitCount())); - add(new Label("Request count: " + add(new NativeLabel("Request count: " + TestingServiceInitListener.getRequestCount())); } diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/VisibilityView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/VisibilityView.java index 5f20faacb3a..7110841603b 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/VisibilityView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/VisibilityView.java @@ -16,7 +16,7 @@ package com.vaadin.flow.uitest.ui; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.Route; import com.vaadin.flow.uitest.servlet.ViewTestLayout; @@ -32,7 +32,7 @@ public VisibilityView() { div.setId("visibility"); div.setVisible(false); - Label label = new Label("Nested element"); + NativeLabel label = new NativeLabel("Nested element"); label.setId("nested-label"); div.add(label); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/PushConfiguration.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/PushConfiguration.java index 90fae1fe24b..4cd9753d19f 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/PushConfiguration.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/PushConfiguration.java @@ -8,7 +8,7 @@ import com.vaadin.flow.component.DetachEvent; import com.vaadin.flow.component.Html; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.router.Route; @@ -43,7 +43,7 @@ protected void onAttach(AttachEvent attachEvent) { Div clientCounterLabel = new Div(); clientCounterLabel.setText("0"); clientCounterLabel.setId("client-counter"); - Label label = new Label( + NativeLabel label = new NativeLabel( "Client counter (click 'increment' to update):"); label.setFor(clientCounterLabel); add(label, clientCounterLabel); @@ -58,7 +58,7 @@ protected void onAttach(AttachEvent attachEvent) { serverCounterLabel = new Div(); serverCounterLabel.setId("server-counter"); serverCounterLabel.setText(String.valueOf(counter2)); - label = new Label( + label = new NativeLabel( "Server counter (updates each 1s by server thread) :"); label.setFor(serverCounterLabel); add(label, serverCounterLabel); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/components/NativeRadioButtonGroup.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/components/NativeRadioButtonGroup.java index 69ac28d475b..2160f50da33 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/components/NativeRadioButtonGroup.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/push/components/NativeRadioButtonGroup.java @@ -8,7 +8,7 @@ import com.vaadin.flow.component.Text; import com.vaadin.flow.component.html.Div; import com.vaadin.flow.component.html.Input; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; public class NativeRadioButtonGroup extends Composite

{ private final String group; @@ -43,7 +43,7 @@ public Input addOption(String caption, T value) { input.getElement().setAttribute("checked", true); } - Label label = new Label(caption); + NativeLabel label = new NativeLabel(caption); label.setFor(input); getContent().add(new Div(input, label)); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/RestoreViewWithAttachedByIdView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/RestoreViewWithAttachedByIdView.java index 0463a1e259a..036e1e6dd04 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/RestoreViewWithAttachedByIdView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/RestoreViewWithAttachedByIdView.java @@ -19,7 +19,7 @@ import com.vaadin.flow.component.Tag; import com.vaadin.flow.component.dependency.JsModule; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.component.polymertemplate.PolymerTemplate; import com.vaadin.flow.component.template.Id; @@ -32,7 +32,7 @@ public class RestoreViewWithAttachedByIdView extends AbstractDivView { private TemplateWithInjectedId template; - private Label label; + private NativeLabel label; private Component current; @@ -54,7 +54,7 @@ public TemplateWithInjectedId() { public RestoreViewWithAttachedByIdView() { template = new TemplateWithInjectedId(); - label = new Label("Switched component"); + label = new NativeLabel("Switched component"); label.setId("info"); template.setId("template"); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpdatableModelPropertiesView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpdatableModelPropertiesView.java index 79fcb4982f1..5a2b619aac3 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpdatableModelPropertiesView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpdatableModelPropertiesView.java @@ -21,7 +21,7 @@ import com.vaadin.flow.component.HasComponents; import com.vaadin.flow.component.Tag; import com.vaadin.flow.component.dependency.JsModule; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.polymertemplate.EventHandler; import com.vaadin.flow.component.polymertemplate.PolymerTemplate; import com.vaadin.flow.router.Route; @@ -55,7 +55,7 @@ public interface UpdatablePropertiesModel extends TemplateModel { public UpdatableModelPropertiesView() { setId("template"); - Label label = new Label(); + NativeLabel label = new NativeLabel(); label.setId("property-value"); add(label); diff --git a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpgradeElementView.java b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpgradeElementView.java index d84c957090e..44d984a0673 100644 --- a/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpgradeElementView.java +++ b/flow-tests/test-root-context/src/main/java/com/vaadin/flow/uitest/ui/template/UpgradeElementView.java @@ -17,7 +17,7 @@ import com.vaadin.flow.component.Tag; import com.vaadin.flow.component.dependency.JsModule; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.component.polymertemplate.EventHandler; import com.vaadin.flow.component.polymertemplate.PolymerTemplate; @@ -33,7 +33,7 @@ public static class UpgradeElement extends PolymerTemplate { @EventHandler private void valueUpdated() { - Label label = new Label(getModel().getText()); + NativeLabel label = new NativeLabel(getModel().getText()); label.setId("text-update"); getUI().get().add(label); } diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/AttachExistingElementIT.java b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/AttachExistingElementIT.java index e6703dd3b73..dcbf26bcafc 100644 --- a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/AttachExistingElementIT.java +++ b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/AttachExistingElementIT.java @@ -25,7 +25,7 @@ import org.openqa.selenium.WebElement; import com.vaadin.flow.component.html.testbench.DivElement; -import com.vaadin.flow.component.html.testbench.LabelElement; +import com.vaadin.flow.component.html.testbench.NativeLabelElement; import com.vaadin.flow.testcategory.IgnoreOSGi; import com.vaadin.flow.testutil.ChromeBrowserTest; @@ -87,8 +87,8 @@ public void attachExistingElement() { // attach a child in the shadow root of the div findElement(By.id("attach-label-inshadow")).click(); - LabelElement labelInShadow = $(DivElement.class) - .id("element-with-shadow").$(LabelElement.class) + NativeLabelElement labelInShadow = $(DivElement.class) + .id("element-with-shadow").$(NativeLabelElement.class) .id("label-in-shadow"); Assert.assertEquals("label", labelInShadow.getTagName().toLowerCase(Locale.ENGLISH)); diff --git a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ShadowRootIT.java b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ShadowRootIT.java index 2f67348c5b3..9dfafb3b87e 100644 --- a/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ShadowRootIT.java +++ b/flow-tests/test-root-context/src/test/java/com/vaadin/flow/uitest/ui/ShadowRootIT.java @@ -21,7 +21,7 @@ import org.openqa.selenium.WebElement; import com.vaadin.flow.component.html.testbench.DivElement; -import com.vaadin.flow.component.html.testbench.LabelElement; +import com.vaadin.flow.component.html.testbench.NativeLabelElement; import com.vaadin.flow.testutil.ChromeBrowserTest; public class ShadowRootIT extends ChromeBrowserTest { @@ -35,7 +35,8 @@ public void checkShadowRoot() { WebElement shadowDiv = div.$(DivElement.class).id("shadow-div"); Assert.assertEquals("Div inside shadow DOM", shadowDiv.getText()); - WebElement shadowLabel = div.$(LabelElement.class).id("shadow-label"); + WebElement shadowLabel = div.$(NativeLabelElement.class) + .id("shadow-label"); Assert.assertEquals("Label inside shadow DOM", shadowLabel.getText()); findElement(By.id("remove")).click(); diff --git a/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/RootNavigationTarget.java b/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/RootNavigationTarget.java index 3655399381a..311b157a6d6 100644 --- a/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/RootNavigationTarget.java +++ b/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/RootNavigationTarget.java @@ -19,7 +19,7 @@ import com.vaadin.flow.component.AttachEvent; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.Route; import com.vaadin.flow.router.RouterLink; @@ -29,7 +29,7 @@ public class RootNavigationTarget extends Div { public RootNavigationTarget(@Autowired DataBean dataBean, @Autowired FooNavigationTarget section) { setId("main"); - Label label = new Label(dataBean.getMessage()); + NativeLabel label = new NativeLabel(dataBean.getMessage()); label.setId("message"); add(label); @@ -41,7 +41,8 @@ public RootNavigationTarget(@Autowired DataBean dataBean, @Override protected void onAttach(AttachEvent attachEvent) { - Label label = new Label(String.valueOf(getUI().get().getUIId())); + NativeLabel label = new NativeLabel( + String.valueOf(getUI().get().getUIId())); label.setId("ui-id"); add(label); diff --git a/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/TemplatePushView.java b/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/TemplatePushView.java index 1d0a401a75f..f3a0d5ff845 100644 --- a/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/TemplatePushView.java +++ b/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/TemplatePushView.java @@ -6,7 +6,7 @@ import com.vaadin.flow.component.Tag; import com.vaadin.flow.component.UI; import com.vaadin.flow.component.dependency.JsModule; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.component.html.NativeButton; import com.vaadin.flow.component.polymertemplate.Id; import com.vaadin.flow.component.polymertemplate.PolymerTemplate; @@ -21,7 +21,7 @@ public class TemplatePushView extends PolymerTemplate { @Id - private Label label; + private NativeLabel label; @Id private NativeButton elementTest; diff --git a/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/UIScopeTarget.java b/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/UIScopeTarget.java index c51272060e7..480a87dc3f8 100644 --- a/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/UIScopeTarget.java +++ b/flow-tests/vaadin-spring-tests/test-spring-common/src/main/java/com/vaadin/flow/spring/test/UIScopeTarget.java @@ -22,7 +22,7 @@ import com.vaadin.flow.component.AttachEvent; import com.vaadin.flow.component.html.Div; -import com.vaadin.flow.component.html.Label; +import com.vaadin.flow.component.html.NativeLabel; import com.vaadin.flow.router.Route; @Route("ui-scope") @@ -37,7 +37,7 @@ public static class InnerComponent extends Div { @Override protected void onAttach(AttachEvent attachEvent) { - Label label = new Label(String.valueOf(bean.getUid())); + NativeLabel label = new NativeLabel(String.valueOf(bean.getUid())); label.setId("inner"); add(label); } @@ -45,7 +45,7 @@ protected void onAttach(AttachEvent attachEvent) { public UIScopeTarget(@Autowired UIScopedBean bean, @Autowired InnerComponent component) { - Label label = new Label(String.valueOf(bean.getUid())); + NativeLabel label = new NativeLabel(String.valueOf(bean.getUid())); label.setId("main"); add(label);