Example usage for com.google.gwt.safecss.shared SafeStylesUtils forLeft

List of usage examples for com.google.gwt.safecss.shared SafeStylesUtils forLeft

Introduction

In this page you can find the example usage for com.google.gwt.safecss.shared SafeStylesUtils forLeft.

Prototype

public static SafeStyles forLeft(double value, Unit unit) 

Source Link

Document

Set the left css property.

Usage

From source file:org.otalo.ao.client.widget.chlist.client.ChosenImpl.java

License:Apache License

private void setup() {
    boolean isHidden = false;
    containerId = buildContainerId();/*  ww w.  j a  v  a2  s .  co m*/
    fWidth = $selectElement.outerWidth();

    //Temporary fix. IIf the select element is inside a hidden container
    //GQuery cannot get the size of the select element.
    if (fWidth == 0) {
        $("body").append("<div id='gwt_chosen_temp_div' style='display:block;position:absolute;"
                + (isRTL ? "right" : "left") + ":-9000px; visibility:hidden'> </div>");
        GQuery tempDiv = $("#gwt_chosen_temp_div");
        tempDiv.append($selectElement.clone());

        fWidth = tempDiv.children("select").outerWidth();

        tempDiv.remove();
        isHidden = fWidth > 0;

    }

    isRTL = LocaleInfo.getCurrentLocale().isRTL() || $selectElement.hasClass("chzn-rtl");

    String cssClasses = isRTL ? css.chznContainer() + " " + css.chznRtl() : css.chznContainer();

    GQuery containerTemp = $(ChozenTemplate.templates.container(containerId, cssClasses).asString())
            .width(fWidth);

    SafeStyles horizontalOffset = isRTL ? SafeStylesUtils.forRight(HORIZONTAL_OFFSET, Style.Unit.PX)
            : SafeStylesUtils.forLeft(HORIZONTAL_OFFSET, Style.Unit.PX);

    if (isMultiple) {
        containerTemp.html(
                ChozenTemplate.templates.contentMultiple(css.chznChoices(), css.searchField(), defaultText,
                        css.defaultClass(), css.chznDrop(), css.chznResults(), horizontalOffset).asString());
    } else {
        containerTemp.html(ChozenTemplate.templates.contentSingle(css.chznSingle(), css.chznDefault(),
                defaultText, css.chznDrop(), css.chznSearch(), css.chznResults(), horizontalOffset).asString());
    }

    // insert container after the select elements
    $selectElement.hide().after(containerTemp);
    container = $("#" + containerId);
    container.addClass(isMultiple ? css.chznContainerMulti() : css.chznContainerSingle());

    dropdown = container.find("div." + css.chznDrop()).first();
    int ddTop = container.height();
    int ddWidth = fWidth - getSideBorderPadding(dropdown, isHidden);
    dropdown.css(Properties.create("{\"width\": " + ddWidth + "px, \"top\": " + ddTop + "px}"));

    searchField = container.find("input").first();
    searchResults = container.find("ul." + css.chznResults()).first();
    searchFieldScale();

    if (isMultiple) {
        searchChoices = container.find("ul." + css.chznChoices()).first();
        searchContainer = container.find("li." + css.searchField()).first();
    } else {
        searchContainer = container.find("div." + css.chznSearch()).first();
        selectedItem = container.find("." + css.chznSingle()).first();
        int searchFieldWidth = ddWidth - getSideBorderPadding(searchContainer, isHidden)
                - getSideBorderPadding(searchField, isHidden);
        searchField.css("width", searchFieldWidth + "px");
    }

    resultsBuild();

    setTabIndex();

    fireEvent(new ReadyEvent(this));

}