fix autoselect for enumCombo elements
authorKatja Luther <k.luther@bgbm.org>
Fri, 1 Apr 2022 09:25:15 +0000 (11:25 +0200)
committerKatja Luther <k.luther@bgbm.org>
Fri, 1 Apr 2022 09:25:15 +0000 (11:25 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/combo/EnumComboElement.java

index 199b03229bb790b3464eeb57a49ecaf860db8ab0..cc84141ef834ef0ec688010f7d6551209afd0fad 100644 (file)
@@ -253,6 +253,7 @@ public class EnumComboElement<T extends IEnumTerm<T>>
             for(Entry<T, String> keyLabelPair : orderedTerms.entrySet()){
                 elementTypeList.add(keyLabelPair.getKey());
                 combo.add(keyLabelPair.getValue(), index);
+                combo.setData(keyLabelPair.getValue(), keyLabelPair.getKey());
                 index++;
             }
         }else if(enumType.equals(NomenclaturalCodeEdition.class)){
@@ -272,6 +273,7 @@ public class EnumComboElement<T extends IEnumTerm<T>>
             for (NomenclaturalCodeEdition codeEdition: elements){
                     elementTypeList.add((T)codeEdition);
                     combo.add(codeEdition.getLabel(), index);
+                    combo.setData(codeEdition.getLabel(), (T)codeEdition);
                     index++;
             }
         }
@@ -281,9 +283,11 @@ public class EnumComboElement<T extends IEnumTerm<T>>
                 elementTypeList.add(enumElement);
                 if (enumElement instanceof IEnumTerm)  {
                     combo.add(((IEnumTerm) enumElement).getLabel(), index);
+                    combo.setData(((IEnumTerm) enumElement).getLabel(), enumElement);
                     index++;
                 }else{
                     combo.add(((Enum) enumElement).name(), index);
+                    combo.setData(((Enum) enumElement).name(), enumElement);
                     index++;
                 }
             }