diff options
author | Artur Signell <artur@vaadin.com> | 2016-08-25 19:37:57 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2016-08-26 19:49:06 +0300 |
commit | d13ca5506a2f7eb3dce75b98238bdb280ec7fa20 (patch) | |
tree | 02575981ecfeecd07561337e8f5e04ce8eca8236 /compatibility-client | |
parent | 818f7d1cb8a92473f685144fed55facdc960697d (diff) | |
download | vaadin-framework-d13ca5506a2f7eb3dce75b98238bdb280ec7fa20.tar.gz vaadin-framework-d13ca5506a2f7eb3dce75b98238bdb280ec7fa20.zip |
Implement new Label
Label does intentionally not implement HasValue as it
cannot provide a value to a model
Change-Id: I36b8e1794d64caf566fa802177051ae2eb637bf9
Diffstat (limited to 'compatibility-client')
-rw-r--r-- | compatibility-client/src/main/java/com/vaadin/v7/client/ui/label/LabelConnector.java | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/compatibility-client/src/main/java/com/vaadin/v7/client/ui/label/LabelConnector.java b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/label/LabelConnector.java new file mode 100644 index 0000000000..d8c35a275d --- /dev/null +++ b/compatibility-client/src/main/java/com/vaadin/v7/client/ui/label/LabelConnector.java @@ -0,0 +1,82 @@ +/* + * Copyright 2000-2016 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.v7.client.ui.label; + +import com.google.gwt.dom.client.Document; +import com.google.gwt.dom.client.PreElement; +import com.vaadin.client.Profiler; +import com.vaadin.client.WidgetUtil; +import com.vaadin.client.communication.StateChangeEvent; +import com.vaadin.client.ui.AbstractComponentConnector; +import com.vaadin.client.ui.VLabel; +import com.vaadin.shared.ui.Connect; +import com.vaadin.shared.ui.Connect.LoadStyle; +import com.vaadin.v7.shared.ui.label.LabelState; +import com.vaadin.v7.ui.Label; + +@Connect(value = Label.class, loadStyle = LoadStyle.EAGER) +public class LabelConnector extends AbstractComponentConnector { + + @Override + public LabelState getState() { + return (LabelState) super.getState(); + } + + @Override + public void onStateChanged(StateChangeEvent stateChangeEvent) { + super.onStateChanged(stateChangeEvent); + boolean sinkOnloads = false; + Profiler.enter("LabelConnector.onStateChanged update content"); + switch (getState().contentMode) { + case PREFORMATTED: + PreElement preElement = Document.get().createPreElement(); + preElement.setInnerText(getState().text); + // clear existing content + getWidget().setHTML(""); + // add preformatted text to dom + getWidget().getElement().appendChild(preElement); + break; + + case TEXT: + getWidget().setText(getState().text); + break; + + case HTML: + case RAW: + sinkOnloads = true; + case XML: + getWidget().setHTML(getState().text); + break; + default: + getWidget().setText(""); + break; + + } + Profiler.leave("LabelConnector.onStateChanged update content"); + + if (sinkOnloads) { + Profiler.enter("LabelConnector.onStateChanged sinkOnloads"); + WidgetUtil.sinkOnloadForImages(getWidget().getElement()); + Profiler.leave("LabelConnector.onStateChanged sinkOnloads"); + } + } + + @Override + public VLabel getWidget() { + return (VLabel) super.getWidget(); + } + +} |