浏览代码

Make it possible to use an extended ComboBox in declarative files (#8651)

tags/8.1.0.alpha1
Artur 7 年前
父节点
当前提交
1718666cd6

+ 3
- 2
server/src/main/java/com/vaadin/ui/declarative/DesignAttributeHandler.java 查看文件

@@ -176,8 +176,9 @@ public class DesignAttributeHandler implements Serializable {
.getPropertyDescriptors()) {
Method getter = descriptor.getReadMethod();
Method setter = descriptor.getWriteMethod();
if (getter != null && setter != null && getFormatter()
.canConvert(descriptor.getPropertyType())) {
Class<?> propertyType = descriptor.getPropertyType();
if (getter != null && setter != null && propertyType != null
&& getFormatter().canConvert(propertyType)) {
String attribute = toAttributeName(descriptor.getName());
entry.addAttribute(attribute, getter, setter);
}

+ 14
- 0
server/src/test/java/com/vaadin/tests/server/component/combobox/ComboBoxDeclarativeTest.java 查看文件

@@ -70,6 +70,20 @@ public class ComboBoxDeclarativeTest
testWrite(design, comboBox);
}

@Test
public void extendedComboBox() {
ExtendedComboBox combo = new ExtendedComboBox();
String design = "<html>" //
+ "<head>" //
+ "<meta name='package-mapping' content='com_vaadin_tests_server_component_combobox:com.vaadin.tests.server.component.combobox'>"
+ "</meta>" + "</head>" + "<body>"
+ "<com_vaadin_tests_server_component_combobox-extended-combo-box>"
+ "</com_vaadin_tests_server_component_combobox-extended-combo-box>"
+ "</body></html>";
testWrite(design, combo);
testRead(design, combo);
}

@Test
public void optionStylesSerialization() throws InstantiationException,
IllegalAccessException, InvocationTargetException {

+ 8
- 0
server/src/test/java/com/vaadin/tests/server/component/combobox/ExtendedComboBox.java 查看文件

@@ -0,0 +1,8 @@
package com.vaadin.tests.server.component.combobox;

import com.vaadin.tests.data.bean.Person;
import com.vaadin.ui.ComboBox;

public class ExtendedComboBox extends ComboBox<Person> {

}

正在加载...
取消
保存