Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.gwtbootstrap3.extras.select.client.ui;
  
  /*
   * #%L
   * GwtBootstrap3
   * %%
   * Copyright (C) 2013 - 2014 GwtBootstrap3
   * %%
   * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  * 
  *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * #L%
  */
 
 
 import java.util.List;
 
 import static org.gwtbootstrap3.extras.select.client.constants.DataAttributes.*;

Author(s):
godi
 
 public class Select extends ComplexWidget implements FocusableHasEnabled {
     private static final String REFRESH = "refresh";
     private static final String RENDER = "render";
     private static final String SHOW = "show";
     private static final String HIDE = "hide";
     private static final String SELECT_ALL = "selectAll";
     private static final String DESELECT_ALL = "deselectAll";
     private static final String TRUE = "true";
 
     private final AttributeMixin<SelectattributeMixin = new AttributeMixin<Select>(this);
     private final FocusableMixin<SelectfocusableMixin = new FocusableMixin<Select>(this);
     private final EnabledMixin<SelectenabledMixin = new EnabledMixin<Select>(this);
 
     public Select() {
         setElement(Document.get().createSelectElement());
     }
 
     @Override
     protected void onLoad() {
         super.onLoad();
 
         initialize();
     }
 
     public HandlerRegistration addChangeHandler(final ChangeHandler handler) {
         return addDomHandler(handler, ChangeEvent.getType());
     }
 
     public void setHeader(final String header) {
         .setAttribute(header);
     }
 
     public String getHeader() {
         return .getAttribute();
     }
 
     public void clearHeader() {
     }
 
     public void setShowSubtext(final boolean showSubtext) {
         if (showSubtext) {
             .setAttribute(, Boolean.toString(true));
         } else {
         }
     }
 
    public boolean getShowSubtext() {
        return .getAttribute() != null;
    }

    
    @Override
    public void setEnabled(final boolean enabled) {
        .setEnabled(enabled);
    }

    
    @Override
    public boolean isEnabled() {
        return .isEnabled();
    }

    
Sets the number of lines to show before scrolling

Values:

(1) auto - (default) shows them all (2) x - shows x number of entries before scrolling

Parameters:
size String visible size
    public void setVisibleSize(final String size) {
        .setAttribute(size);
    }
    public String getVisibleSize() {
        return .getAttribute();
    }
    public void clearVisibleSize() {
    }

    
Sets the width of the select

!! use 'auto' to automatically adjust the width of the select to its widest option, or just use specific values (50px, 50%, etc...)

    public void setWidth(final String width) {
        .setAttribute(width);
    }
    public String getWidth() {
        return .getAttribute();
    }
    public void setShowMenuArrow(final boolean showMenuArrow) {
        if (showMenuArrow) {
            addStyleName(.);
        } else {
            removeStyleName(.);
        }
    }
    public boolean getShowMenuArrow() {
        return StyleHelper.containsStyle(getStyleName(), .);
    }
    public void setShowTick(final boolean showTick) {
        if (showTick) {
            addStyleName(.);
        } else {
            removeStyleName(.);
        }
    }
    public boolean getShowTick() {
        return StyleHelper.containsStyle(getStyleName(), .);
    }

    
Supported Values:

(1) values - default, comma delimited list (2) count - If one item is selected, then the value is shown, if more than one is selected then the number of selected items is displayed, eg 2 of 6 selected (3) count greater than x - Where X is the number of items selected when the display format changes from values to count

Parameters:
format selected text format
    public void setSelectedTextFormat(final String format) {
    }
    public String getSelectedTextFormat() {
    }
    public void clearSelectedTextFormat() {
    }
    public void setMultiple(final boolean multiple) {
        if (multiple) {
            .setAttribute("");
        } else {
            .removeAttribute();
        }
    }
    public boolean isMultiple() {
        return .hasAttribute();
    }
    public void setLiveSearch(final boolean liveSearch) {
        if (liveSearch) {
            .setAttribute(, Boolean.toString(true));
        } else {
        }
    }
    public boolean isLiveSearch() {
    }
    public void setStyle(final ButtonType style) {
    }
    public void clearStyle() {
    }
    public String getStyle() {
        return .getAttribute();
    }
    public void setValue(final String value) {
        // Need to defer the setValue to make sure the element is actually in the DOM to manipulate
        Scheduler.get().scheduleDeferred(new Command() {
            @Override
            public void execute() {
                setValue(getElement(), value);
            }
        });
    }
    public void setValues(final String... values) {
        final JsArrayString array = JavaScriptObject.createArray().cast();
        for (final String value : values) {
            array.push(value);
        }
        // Need to defer the setValue to make sure the element is actually in the DOM to manipulate
        Scheduler.get().scheduleDeferred(new Command() {
            @Override
            public void execute() {
                setValue(getElement(), array);
            }
        });
    }
    public void setValue(final Option opt) {
        setValue(opt.getText());
    }
    public void setValues(final Option... opts) {
        final String[] values = new String[opts.length];
        for (int i = 0; i < opts.lengthi++) {
            values[i] = opts[i].getText();
        }
        setValues(values);
    }

    

Returns:
the selected value, if multiple it will return the first selected item see isItemSelected(int) and getValue(int) for getting all the values selected or getAllSelectedValues()
    public String getValue() {
    }
    public List<StringgetAllSelectedValues() {
        final List<StringallSelected = new ArrayList<String>();
        for (int i = 0; i < getItemCount(); i++) {
            if (isItemSelected(i)) {
                allSelected.add(getValue(i));
            }
        }
        return allSelected;
    }
    public boolean isItemSelected(final int index) {
        checkIndex(index);
        return getSelectElement().getOptions().getItem(index).isSelected();
    }
    public String getValue(final int index) {
        checkIndex(index);
        return getSelectElement().getOptions().getItem(index).getValue();
    }
    public void selectAll() {
        command(getElement(), );
    }
    public void deselectAll() {
        command(getElement(), );
    }
    public void render() {
        command(getElement(), );
    }

    
WHEN CHANGING ANY SETTINGS CALL REFRESH AFTER!!
    public void refresh() {
        command(getElement(), );
    }
    public void hide() {
        command(getElement(), );
    }
    public void show() {
        command(getElement(), );
    }
    private void initialize() {
        initialize(getElement());
    }
    private void checkIndex(final int index) {
        if (index < 0 || index >= getItemCount()) {
            throw new IndexOutOfBoundsException();
        }
    }
    protected SelectElement getSelectElement() {
        return getElement().cast();
    }

    
    @Override
    public int getTabIndex() {
        return .getTabIndex();
    }

    
    @Override
    public void setAccessKey(final char c) {
        .setAccessKey(c);
    }

    
    @Override
    public void setFocus(final boolean b) {
        .setFocus(b);
    }

    
    @Override
    public void setTabIndex(final int i) {
        .setTabIndex(i);
    }

    
Gets the number of items present in the list box.

Returns:
the number of items
    public int getItemCount() {
        return getSelectElement().getOptions().getLength();
    }
    private native void initialize(Element e/*-{
        $wnd.jQuery(e).selectpicker({
            iconBase: 'fa',
            tickIcon: 'fa-check'
        });
    }-*/;
    private native void setValue(Element eJsArrayString value/*-{
        $wnd.jQuery(e).selectpicker('val', value);
    }-*/;
    private native void setValue(Element eString value/*-{
        $wnd.jQuery(e).selectpicker('val', value);
    }-*/;
    private native void command(Element eString command/*-{
        $wnd.jQuery(e).selectpicker(command);
    }-*/;
New to GrepCode? Check out our FAQ X