diff options
author | Artur <artur@vaadin.com> | 2017-02-01 16:49:16 +0200 |
---|---|---|
committer | Pekka Hyvönen <pekka@vaadin.com> | 2017-02-01 16:49:16 +0200 |
commit | 697cfcf3d1720022d3b8ea1380ba76b50b2f8e3f (patch) | |
tree | 559f8dc6123fbb7999d5a8129267c1134d93075e /uitest/src/main/java/com/vaadin | |
parent | 32c3c84e8476955792d0e08965ccdd006d8f3a18 (diff) | |
download | vaadin-framework-697cfcf3d1720022d3b8ea1380ba76b50b2f8e3f.tar.gz vaadin-framework-697cfcf3d1720022d3b8ea1380ba76b50b2f8e3f.zip |
Call "destroy" instead of "destory" in JavaScriptRenders (#8263)
* Call "destroy" instead of "destory" in JavaScriptRenders
For backwards compatibility, calls "destory" if no "destroy" exists
Fixes #8162
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
* Merge branch '7.7' into _js-renderer-destory
Diffstat (limited to 'uitest/src/main/java/com/vaadin')
2 files changed, 58 insertions, 3 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptRenderers.java b/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptRenderers.java index bb7a93d378..d6a6373541 100644 --- a/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptRenderers.java +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptRenderers.java @@ -19,10 +19,16 @@ import com.vaadin.data.Item; import com.vaadin.data.util.IndexedContainer; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; import com.vaadin.ui.Grid; +import com.vaadin.ui.Label; public class JavaScriptRenderers extends AbstractTestUI { + private Grid grid; + public static class MyBean { private int integer; private String string; @@ -52,10 +58,11 @@ public class JavaScriptRenderers extends AbstractTestUI { @Override protected void setup(VaadinRequest request) { - IndexedContainer container = new IndexedContainer(); + final IndexedContainer container = new IndexedContainer(); container.addContainerProperty("id", Integer.class, Integer.valueOf(0)); container.addContainerProperty("bean", MyBean.class, null); container.addContainerProperty("string", String.class, ""); + container.addContainerProperty("string2", String.class, ""); for (int i = 0; i < 1000; i++) { Integer itemId = Integer.valueOf(i); @@ -65,15 +72,34 @@ public class JavaScriptRenderers extends AbstractTestUI { .setValue(new MyBean(i + 1, Integer.toString(i - 1))); item.getItemProperty("string").setValue("string" + i); } + Label clientLog = new Label(); + clientLog.setId("clientLog"); + addComponent(clientLog); + grid = createGrid(container); + addComponent(grid); + + addComponent(new Button("Recreate grid", new ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + Grid newGrid = createGrid(container); + replaceComponent(grid, newGrid); + grid = newGrid; + } + })); + } + + private Grid createGrid(IndexedContainer container) { Grid grid = new Grid(container); grid.getColumn("bean").setRenderer(new MyBeanJSRenderer()); grid.getColumn("bean").setWidth(250); grid.getColumn("string").setRenderer(new JavaScriptStringRenderer()); - - addComponent(grid); + grid.getColumn("string2") + .setRenderer(new JavaScriptStringRendererWithDestoryMethod()); + return grid; } } diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptStringRendererWithDestoryMethod.java b/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptStringRendererWithDestoryMethod.java new file mode 100644 index 0000000000..990a3617bd --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/JavaScriptStringRendererWithDestoryMethod.java @@ -0,0 +1,29 @@ +/* + * 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.components.grid; + +import com.vaadin.annotations.JavaScript; +import com.vaadin.ui.renderers.AbstractJavaScriptRenderer; + +@JavaScript("JavaScriptStringRendererWithDestoryMethod.js") +public class JavaScriptStringRendererWithDestoryMethod + extends AbstractJavaScriptRenderer<String> { + + protected JavaScriptStringRendererWithDestoryMethod() { + super(String.class); + } + +} |