diff options
author | Teemu Suo-Anttila <tsuoanttila@users.noreply.github.com> | 2018-04-17 17:40:59 +0300 |
---|---|---|
committer | Ilia Motornyi <elmot@vaadin.com> | 2018-04-17 17:40:59 +0300 |
commit | 7c662a179ff996ad244eaf17ce19a84ac8ae5095 (patch) | |
tree | 257600b0f8b2c4dda1ebaf6cbc89fac7a8506bd8 | |
parent | 17aaea62289540c3315aec88b71428ecf18ea7e9 (diff) | |
download | vaadin-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.java | 11 | ||||
-rw-r--r-- | uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_ANY_Chrome__third-combobox-open.png | bin | 2217 -> 2326 bytes | |||
-rw-r--r-- | uitest/reference-screenshots/ComboBoxItemIconTest-testIconsInComboBox_LINUX_PhantomJS_1_third-combobox-open.png | bin | 2131 -> 2196 bytes | |||
-rw-r--r-- | uitest/src/main/java/com/vaadin/tests/components/combobox/ComboBoxItemIcon.java | 3 |
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 Binary files differindex 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 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 Binary files differindex 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 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); } } |