@Override public void decode(FacesContext context, UIComponent component) { AutoComplete ac = (AutoComplete) component; String clientId = ac.getClientId(context); Map<String, String> params = context.getExternalContext().getRequestParameterMap(); if (!shouldDecode(ac)) { return; } if (ac.isMultiple()) { decodeMultiple(context, ac); } else { decodeSingle(context, ac); } decodeBehaviors(context, ac); // AutoComplete event String query = params.get(clientId + "_query"); if (query != null) { AutoCompleteEvent autoCompleteEvent = new AutoCompleteEvent(ac, query); autoCompleteEvent.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); ac.queueEvent(autoCompleteEvent); } }
Object submittedValue = ac.getSubmittedValue(); try { values = (List) getConvertedValue(context, ac, submittedValue); writer.writeAttribute("autocomplete", autocompleteProp, null); renderAccessibilityAttributes(context, ac); renderPassThruAttributes(context, ac, HTML.INPUT_TEXT_ATTRS_WITHOUT_EVENTS); renderDomEvents(context, ac, HTML.INPUT_TEXT_EVENTS); encodeDropDown(context, ac); encodePanel(context, ac); encodeHiddenSelect(context, ac, clientId, stringValues);
protected void encodeSingleMarkup(FacesContext context, AutoComplete ac) throws IOException { ResponseWriter writer = context.getResponseWriter(); String clientId = ac.getClientId(context); String styleClass = ac.getStyleClass(); styleClass = styleClass == null ? AutoComplete.STYLE_CLASS : AutoComplete.STYLE_CLASS + " " + styleClass; writer.startElement("span", null); writer.writeAttribute("id", clientId, null); writer.writeAttribute("class", styleClass, null); if (ac.getStyle() != null) { writer.writeAttribute("style", ac.getStyle(), null); } encodeInput(context, ac, clientId); if (ac.getVar() != null) { encodeHiddenInput(context, ac, clientId); } if (ac.isDropdown()) { encodeDropDown(context, ac); } if (!ac.isDynamic()) { encodePanel(context, ac); } writer.endElement("span"); }
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { AutoComplete autoComplete = (AutoComplete) component; Map<String, String> params = context.getExternalContext().getRequestParameterMap(); String query = params.get(autoComplete.getClientId(context) + "_query"); if (query != null) { if (autoComplete.isDynamicLoadRequest(context)) { encodePanel(context, autoComplete); } else { encodeResults(context, component, query); } } else { encodeMarkup(context, autoComplete); encodeScript(context, autoComplete); } }
@Override public void decode(FacesContext context, UIComponent component) { AutoComplete ac = (AutoComplete) component; String clientId = ac.getClientId(context); Map<String, String> params = context.getExternalContext().getRequestParameterMap(); if (ac.isDisabled() || ac.isReadonly()) { return; } if (ac.isMultiple()) { decodeMultiple(context, ac); } else { decodeSingle(context, ac); } decodeBehaviors(context, ac); // AutoComplete event String query = params.get(clientId + "_query"); if (query != null) { AutoCompleteEvent autoCompleteEvent = new AutoCompleteEvent(ac, query); autoCompleteEvent.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); ac.queueEvent(autoCompleteEvent); } }
protected void encodeScript(FacesContext context, AutoComplete ac) throws IOException { String clientId = ac.getClientId(context); WidgetBuilder wb = getWidgetBuilder(context); wb.init("AutoComplete", ac.resolveWidgetVar(), clientId); encodeClientBehaviors(context, ac);
encodeMoreText(context, ac);
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { AutoComplete autoComplete = (AutoComplete) component; Map<String, String> params = context.getExternalContext().getRequestParameterMap(); String query = params.get(autoComplete.getClientId(context) + "_query"); if (query != null) { if (autoComplete.isDynamicLoadRequest(context)) { encodePanel(context, autoComplete); } else { encodeResults(context, component, query); } } else { encodeMarkup(context, autoComplete); encodeScript(context, autoComplete); } }
protected void encodeScript(FacesContext context, AutoComplete ac) throws IOException { String clientId = ac.getClientId(context); WidgetBuilder wb = getWidgetBuilder(context); wb.initWithDomReady("AutoComplete", ac.resolveWidgetVar(), clientId); encodeClientBehaviors(context, ac);
encodeMoreText(context, ac);
Object submittedValue = ac.getSubmittedValue(); try { values = (List) getConvertedValue(context, ac, submittedValue); renderPassThruAttributes(context, ac, HTML.INPUT_TEXT_ATTRS_WITHOUT_EVENTS); renderDomEvents(context, ac, HTML.INPUT_TEXT_EVENTS); encodeDropDown(context, ac); encodePanel(context, ac); encodeHiddenSelect(context, ac, clientId, stringValues);
protected void encodeSingleMarkup(FacesContext context, AutoComplete ac) throws IOException { ResponseWriter writer = context.getResponseWriter(); String clientId = ac.getClientId(context); String styleClass = ac.getStyleClass(); styleClass = styleClass == null ? AutoComplete.STYLE_CLASS : AutoComplete.STYLE_CLASS + " " + styleClass; writer.startElement("span", null); writer.writeAttribute("id", clientId, null); writer.writeAttribute("class", styleClass, null); if (ac.getStyle() != null) { writer.writeAttribute("style", ac.getStyle(), null); } encodeInput(context, ac, clientId); if (ac.getVar() != null) { encodeHiddenInput(context, ac, clientId); } if (ac.isDropdown()) { encodeDropDown(context, ac); } if (!ac.isDynamic()) { encodePanel(context, ac); } writer.endElement("span"); }
encodeMoreText(context, ac);
encodeMoreText(context, ac);