diff options
author | Artur Signell <artur@vaadin.com> | 2015-02-04 23:25:47 +0200 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2015-02-05 13:34:41 +0000 |
commit | 9f5ee3273bef8143ac9d4a3ef4411efa48eaad1d (patch) | |
tree | 1a036c17a4c4fd5e0519bbacf88cc617893a788e /server | |
parent | 620658687ec206bd3a631132e512b3e307890374 (diff) | |
download | vaadin-framework-9f5ee3273bef8143ac9d4a3ef4411efa48eaad1d.tar.gz vaadin-framework-9f5ee3273bef8143ac9d4a3ef4411efa48eaad1d.zip |
Declarative support for RichTextArea (#16326)
Change-Id: I1e373124f371947eabbf330145fe507caf24fd62
Diffstat (limited to 'server')
-rw-r--r-- | server/src/com/vaadin/ui/RichTextArea.java | 14 | ||||
-rw-r--r-- | server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java | 59 |
2 files changed, 73 insertions, 0 deletions
diff --git a/server/src/com/vaadin/ui/RichTextArea.java b/server/src/com/vaadin/ui/RichTextArea.java index 31327b3a6f..763e42ad8b 100644 --- a/server/src/com/vaadin/ui/RichTextArea.java +++ b/server/src/com/vaadin/ui/RichTextArea.java @@ -18,9 +18,12 @@ package com.vaadin.ui; import java.util.Map; +import org.jsoup.nodes.Element; + import com.vaadin.data.Property; import com.vaadin.server.PaintException; import com.vaadin.server.PaintTarget; +import com.vaadin.ui.declarative.DesignContext; /** * A simple RichTextArea to edit HTML format text. @@ -289,4 +292,15 @@ public class RichTextArea extends AbstractField<String> implements return super.isEmpty() || getValue().length() == 0; } + @Override + public void readDesign(Element design, DesignContext designContext) { + super.readDesign(design, designContext); + setValue(design.html()); + } + + @Override + public void writeDesign(Element design, DesignContext designContext) { + super.writeDesign(design, designContext); + design.html(getValue()); + } } diff --git a/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java b/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java new file mode 100644 index 0000000000..9d61656801 --- /dev/null +++ b/server/tests/src/com/vaadin/tests/server/component/richtextarea/RichTextAreaDeclarativeTest.java @@ -0,0 +1,59 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.server.component.richtextarea; + +import org.junit.Test; + +import com.vaadin.tests.design.DeclarativeTestBase; +import com.vaadin.ui.RichTextArea; + +public class RichTextAreaDeclarativeTest extends + DeclarativeTestBase<RichTextArea> { + + private String getBasicDesign() { + return "<v-rich-text-area null-representation='' null-setting-allowed='true'>\n" + + "\n <b>Header</b> <br/>Some text\n " + + "</v-rich-text-area>"; + } + + private RichTextArea getBasicExpected() { + RichTextArea rta = new RichTextArea(); + rta.setNullRepresentation(""); + rta.setNullSettingAllowed(true); + rta.setValue("<b>Header</b> \n<br>Some text"); + return rta; + } + + @Test + public void testBasicRead() { + testRead(getBasicDesign(), getBasicExpected()); + } + + @Test + public void testBasicWrite() { + testWrite(getBasicDesign(), getBasicExpected()); + } + + @Test + public void testReadEmpty() { + testRead("<v-rich-text-area />", new RichTextArea()); + } + + @Test + public void testWriteEmpty() { + testWrite("<v-rich-text-area />", new RichTextArea()); + } +} |