Ulrich Stärk schrieb:
> This is the rendered code, could you please provide the corresponding
> template and page class code?
>




There's almost no difference beetwenn the source of the TimeTracker demo and mine:



<span jwcid="@DemoBorder">

<style type="text/css">
        div.autocomplete {
            position:absolute;
            width:250px;
            background-color:white;
            border:1px solid #888;
            margin:0px;
            padding:0px;
        }
        div.autocomplete ul {
            list-style-type:none;
            margin:0px;
            padding:0px;
        }
        div.autocomplete ul li.selected { background-color: #ffb;}
        div.autocomplete ul li {
            list-style-type:none;
            display:block;
            margin:0;
            padding:4px 0 4px 4px;
            cursor:pointer;
        }
div.autocomplete ul li img { border:none; margin-right: 10px; vertical-align:middle;}
</style>


<h2>Suggest Demo (Script.aculo.us)</h2>
<form jwcid="@Form" class="container">
    <table width="90%" class="form" cellpadding="2" cellspacing="0" >
        <tbody>
            <tr>
<td><label jwcid="@FieldLabel" field="component:suggest" /></td>
                <td><input jwcid="suggest" size="60" /></td>
            </tr>
        </tbody>
    </table>

</form>











    @Component(bindings = {"value=inputLocale",
            "displayName=literal:Locale",
            "listSource=localeList",
            "listener=listener:suggestLocale",
            "listItemRenderer=itemRenderer"})
    public abstract Suggest getSuggest();

    /**
     * listSource
     */
    public List<Locale> getLocaleList() {

        LOG.info("listSource was called");

        String filter = getFilterString();
        Locale[] locales = Locale.getAvailableLocales();

        if (filter == null || filter.length() < 1) {
            return Arrays.asList(locales);
        }

        filter = filter.toUpperCase();

        List<Locale> ret = new ArrayList<Locale>();
        // used to ensure no duplicates are stored in the list as
        // java.util.Locale doesn't
        // provde an equals() method.
        List<String> temp = new ArrayList<String>();

        for (Locale locale : locales) {
if (locale.getDisplayCountry().toUpperCase().indexOf(filter) > -1
                    && !temp.contains(locale.getDisplayCountry())) {
                ret.add(locale);
                temp.add(locale.getDisplayCountry());
            }
        }

        LOG.info("List contains " + ret.size() + " items, filter is '"
            + getFilterString() + "'");
        return ret;
    }

    /**
     * listener
     * <p>
* Invoked dynamically via XHR whenever input changes in the form input field. The method above - getLocaleList() - * is what actually filters the list of suggested options displayed based on the characters they typed in to the input field.
     */
    public void suggestLocale(String filter) {
        LOG.info("Suggest Listener was called. Filter is '"+filter+"'");
        setFilterString(filter);
    }

    /** value */
    public abstract String getInputLocale();

    public abstract String getFilterString();
    public abstract void setFilterString(String filter);

    static ListItemRenderer ITEM_RENDERER = new LocaleListItemRenderer();
    public ListItemRenderer getItemRenderer()
    {
        return ITEM_RENDERER;
    }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to