final UISuggest suggest = (UISuggest) component;
final TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
final String id = suggest.getClientId(facesContext);
final UIIn in = (UIIn) suggest.getParent();
final MethodExpression suggestMethodExpression = suggest.getSuggestMethodExpression();
final AutoSuggestItems items
= createAutoSuggestItems(suggestMethodExpression.invoke(facesContext.getELContext(), new Object[]{in}));
// todo: declare unused/unsupported stuff deprecated
writer.startElement(HtmlElements.DIV, null);
writer.writeClassAttribute(Classes.create(suggest));
writer.writeIdAttribute(id);
writer.writeAttribute(DataAttributes.FOR, in.getClientId(facesContext), false);
writer.writeAttribute(DataAttributes.SUGGEST_MIN_CHARS, suggest.getMinimumCharacters());
writer.writeAttribute(DataAttributes.SUGGEST_DELAY, suggest.getDelay());
writer.writeAttribute(DataAttributes.SUGGEST_MAX_ITEMS, suggest.getMaximumItems());
writer.writeAttribute(DataAttributes.SUGGEST_UPDATE, Boolean.toString(suggest.isUpdate()), false);
int totalCount = suggest.getTotalCount();
if (totalCount == -1) {
totalCount = items.getItems().size();
}
writer.writeAttribute(DataAttributes.SUGGEST_TOTAL_COUNT, totalCount);
writer.startElement(HtmlElements.OL, null);
writer.writeClassAttribute("tobago-menuBar");
writer.startElement(HtmlElements.LI, null);
writer.writeClassAttribute("tobago-menu tobago-menu-markup-top");
writer.startElement(HtmlElements.A, null);
writer.writeAttribute(HtmlAttributes.HREF, "#", false);
writer.writeAttribute(HtmlAttributes.TABINDEX, -1);
writer.endElement(HtmlElements.A);
writer.startElement(HtmlElements.OL, null);
for (final AutoSuggestItem item : items.getItems()) {
writer.startElement(HtmlElements.LI, null);
writer.startElement(HtmlElements.A, null);
writer.writeAttribute(HtmlAttributes.HREF, "#", false);
writer.writeText(item.getLabel());
writer.endElement(HtmlElements.A);