aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeemu Suo-Anttila <tsuoanttila@users.noreply.github.com>2018-04-17 17:40:59 +0300
committerIlia Motornyi <elmot@vaadin.com>2018-04-17 17:40:59 +0300
commit7c662a179ff996ad244eaf17ce19a84ac8ae5095 (patch)
tree257600b0f8b2c4dda1ebaf6cbc89fac7a8506bd8
parent17aaea62289540c3315aec88b71428ecf18ea7e9 (diff)
downloadvaadin-framework-7c662a179ff996ad244eaf17ce19a84ac8ae5095.tar.gz
vaadin-framework-7c662a179ff996ad244eaf17ce19a84ac8ae5095.zip
Fix using ConnectorResource icons before attaching ComboBox (#10810)
* Fix using ConnectorResource icons before attaching ComboBox * Update Chrome and PhantomJS screenshots
-rw-r--r--server/src/main/java/com/vaadin/ui/ComboBox.java11
-rw-r--r--uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_ANY_Chrome__third-combobox-open.pngbin2217 -> 2326 bytes
-rw-r--r--uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_LINUX_PhantomJS_1_third-combobox-open.pngbin2131 -> 2196 bytes
-rw-r--r--uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxItemIcon.java3
4 files changed, 12 insertions, 2 deletions
diff --git a/server/src/main/java/com/vaadin/ui/ComboBox.java b/server/src/main/java/com/vaadin/ui/ComboBox.java
index ef1e7cfa84..107e503256 100644
--- a/server/src/main/java/com/vaadin/ui/ComboBox.java
+++ b/server/src/main/java/com/vaadin/ui/ComboBox.java
@@ -842,6 +842,10 @@ public class ComboBox<T> extends AbstractSingleSelect<T>
Resource icon = getItemIconGenerator().apply(value);
if (icon != null) {
if (icon instanceof ConnectorResource) {
+ if (!isAttached()) {
+ // Deferred resource generation.
+ return;
+ }
setResource("selected", icon);
}
selectedItemIcon = ResourceReference
@@ -852,6 +856,13 @@ public class ComboBox<T> extends AbstractSingleSelect<T>
}
@Override
+ public void attach() {
+ super.attach();
+
+ updateSelectedItemIcon();
+ }
+
+ @Override
protected Element writeItem(Element design, T item, DesignContext context) {
Element element = design.appendElement("option");
diff --git a/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_ANY_Chrome__third-combobox-open.png b/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_ANY_Chrome__third-combobox-open.png
index 00cf570643..dfc0d3ee00 100644
--- a/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_ANY_Chrome__third-combobox-open.png
+++ b/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_ANY_Chrome__third-combobox-open.png
Binary files differ
diff --git a/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_LINUX_PhantomJS_1_third-combobox-open.png b/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_LINUX_PhantomJS_1_third-combobox-open.png
index 6c2555c5fb..6e8d972046 100644
--- a/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_LINUX_PhantomJS_1_third-combobox-open.png
+++ b/uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_LINUX_PhantomJS_1_third-combobox-open.png
Binary files differ
diff --git a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxItemIcon.java b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxItemIcon.java
index c12ef2878f..0eb3d7c97f 100644
--- a/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxItemIcon.java
+++ b/uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxItemIcon.java
@@ -72,8 +72,7 @@ public class ComboBoxItemIcon extends TestBase {
cb.setItems(IntStream.range(0, 3).boxed());
cb.setItemIconGenerator(iconGenerator);
- // FIXME: Selecting ConnectorResource on init does not work.
- // cb.setValue(2);
+ cb.setValue(1);
addComponent(cb);
}
}