Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Cannot get CanvasItem focus to behave as i want

    I am making a phonenumber-canvasitem with a country dropdown., see attached screenshot. It is now working as i want, except for one thing - Focus. Click image for larger version

Name:	Screen Shot 2017-06-17 at 13.43.50.png
Views:	100
Size:	3.7 KB
ID:	245133


    I have two problems:

    1. When editing or creating new, this item is the first item in the form, and thus gets focus. I want the textitem to get focus, but no matter what i do, the dropdown gets focus. I have tried setCanFocus, selectOnFocus, overriding FocusInItem etc. Nothing works.

    2. When it has focus, my dropdown shows no border or focus indication at all. It does per default, but if i call setShowPickerIcon(false) not only the picker icon disapperas (which i want), but all focus indicators vanish as well. Is this really intended bevavior?


    I would really appreciate some help on what i can do in order for the focus process to skip my country dropdown and/or how to make the selectitem to show focus.


    my code below for my country dropdown:

    Code:
    public class CountryCombobox extends SelectItem {
    
        public CountryCombobox() {
            setImageURLPrefix("flags/");
            setImageURLSuffix(".png");
            setValueIcons(CountryConstants.getIconMap());
    
            setAlign(Alignment.LEFT);
            //setValueMap(CountryConstants.getCountryMap());
    
            setDefaultToFirstOption(true);
            setValueIconWidth(15);
            setValueIconHeight(15);
            setShowTitle(false);
            setCanEdit(true);
            setAddUnknownValues(false);
            setCanSelectText(false);
            //setShowValueIconOnly(true);
            setShowFocusedIcons(true);
            setShowFocused(true);
            setShowPickerIcon(false);
            setCanFocus(false); ///IGNORED
            setSelectOnFocus(false);//IGNORED
            setWidth(60);
    
            setAutoFetchData(true);
            setOptionDataSource(CountryDatasource.getInstance());
            setValueField("id");
            setDisplayField("code");
    
            ListGridField countryCodeField = new ListGridField("id", "Flag");
            countryCodeField.setShowTitle(false);
            countryCodeField.setAlign(Alignment.CENTER);
            countryCodeField.setType(ListGridFieldType.IMAGE);
            countryCodeField.setImageHeight(15);
            countryCodeField.setImageWidth(15);
    
            ListGridField nameField = new ListGridField("name", null);
            nameField.setShowTitle(false);
    
    
            setPickListFields(countryCodeField, nameField);
            setPickListHeaderHeight(0);
            setPickListWidth(150);
            setPickListHeight(150);
        }
    
        public void setCountryFromMsisdn(String msisdn){
            setValue(CountryEnum.fromMsisdn(msisdn).getIso());
        }
    }
    Attached Files
Working...
X