public Object getValueName(FacesContext context, UIComponent component) { UIInputListOfValues lov = (UIInputListOfValues) component; Object valueName = lov.getValueName(); if (valueName == null) return valueName; return InputUtils.getConvertedStringValue(context, component, String.valueOf(valueName)); }
@Override public void decode(FacesContext context, UIComponent component) { ExternalContext external = context.getExternalContext(); Map requestParams = external.getRequestParameterMap(); UIInputListOfValues inputLov = (UIInputListOfValues) component; String clientId = inputLov.getClientId(context); String id = (String) inputLov.getAttributes().get("objectName"); String nameId = clientId; if (id != null) { clientId = id + "Id"; nameId = id + "Name"; } String submittedValue = (String) requestParams.get(clientId); String nameValue = (String) requestParams.get(nameId); if (submittedValue != null) inputLov.setSubmittedValue(submittedValue); if (JSFUtil.isNotEmpty(submittedValue)) { inputLov.setValueName(nameValue); inputLov.setValueId(submittedValue); inputLov.setValid(true); } else { inputLov.setValueName(null); inputLov.setValueId(null); } }
@Override public Object getConvertedValue( FacesContext context, UIComponent component, Object submittedValue) throws ConverterException { UIInputListOfValues inputDate = (UIInputListOfValues) component; Converter converter = inputDate.getConverter(); if (converter != null) { return converter.getAsObject(context, component, String.valueOf(submittedValue)); } if (submittedValue != null && String.valueOf(submittedValue).trim().isEmpty()) return null; return submittedValue; }
public void initializeAutoNumeric(FacesContext context, UIInputListOfValues component) throws IOException { String type = (String) component.getAttributes().get("type"); Boolean autoNumeric = (Boolean) component.getAttributes().get("autoNumeric"); Object objectNameAttr = component.getObjectName(); if (type != null && "dialog".equalsIgnoreCase(type)) { if (autoNumeric) { String script = "jQuery(document).ready(function(){"; script += String.format( "jQuery('%s').autoNumeric('init', {aSep: ',', vMax: '999999999999999999999999999.99',vMin: '0000000000000000000000000.00'});", "#" + objectNameAttr + "Name"); script += "});"; getUtils().writeScript(context, component, script); } } }
public void initializeCloseLink(FacesContext context, UIInputListOfValues component) throws IOException { String type = (String) component.getAttributes().get("type"); Boolean srts = (Boolean) component.getAttributes().get("sendRequestToServer"); Object parentId = component.getAttributes().get("pid"); Object pValueText = component.getAttributes().get("pValueText"); String styleClass = (String) component.getAttributes().get("styleClass"); Object objectNameAttr = component.getObjectName(); Object extraInfo = component.getAttributes().get("extraInfo"); Boolean autoNumeric = (Boolean) component.getAttributes().get("autoNumeric"); Object data = component.getAttributes().get("data"); Object onCloseLink = component.getAttributes().get("onCloseLink"); extraInfo = extraInfo == null ? "" : extraInfo; if (type != null && "link".equalsIgnoreCase(type)) { ResponseWriter writer = context.getResponseWriter(); ExternalContext external = context.getExternalContext(); Map requestParams = external.getRequestParameterMap(); String objectName = (String) requestParams.get("objectName"); if (objectName == null) objectName = (String) objectNameAttr; if (srts != null && srts) { writer.startElement("a", component); String view = (String) component.getAttributes().get("view"); String onclick = String.format( "Richfaces.colorboxControl.extendedRequestClose(%s, '%s', '%s', '%s');", parentId, pValueText, objectName, view); getUtils().writeAttribute(writer, "onclick", onclick); getUtils().writeAttribute(writer, "style", "cursor:pointer;"); if (JSFUtil.isNotEmpty(styleClass)) getUtils().writeAttribute(writer, "class", styleClass); writer.write(String.valueOf(getSelectedTextConvertedValue(context, component))); writer.endElement("a"); } if (objectName != null && objectName.trim().length() > 0) { writer.startElement("a", component); String onclick = String.format( "Richfaces.colorboxControl.extendedClose(%s, '%s', '%s', '%s');", parentId, pValueText, objectName, extraInfo); if (autoNumeric) onclick += String.format("Richfaces.colorboxControl.applyAutoNumeric('%s');", objectNameAttr); onclick += "Richfaces.colorboxControl.extendedCloseBox();"; if (data != null && onCloseLink != null) onclick += onCloseLink + "('" + objectName + "','" + data + "');"; else if (onCloseLink != null) onclick += onCloseLink + "('" + objectName + "');"; getUtils().writeAttribute(writer, "onclick", onclick); getUtils().writeAttribute(writer, "style", "cursor:pointer;"); if (JSFUtil.isNotEmpty(styleClass)) getUtils().writeAttribute(writer, "class", styleClass); writer.write(String.valueOf(getSelectedTextConvertedValue(context, component))); writer.endElement("a"); } } }
public void initializeLovInput(FacesContext context, UIInputListOfValues component) throws IOException { String type = (String) component.getAttributes().get("type"); String styleClass = (String) component.getAttributes().get("styleClass"); String inputTextStyle = (String) component.getAttributes().get("inputTextStyle"); Object objectNameAttr = component.getObjectName(); Object autocompleteUrl = component.getAttributes().get("autocompleteUrl"); Object onchange = component.getAttributes().get("onchange"); Object title = component.getAttributes().get("title"); ComponentVariables variables = ComponentsVariableResolver.getVariables(this, component); if (type != null && "dialog".equalsIgnoreCase(type)) { ResponseWriter writer = context.getResponseWriter(); // <input type="hidden" name="#{objectName}Id" id="#{objectName}Id" // value="#{valueId}"/> writer.startElement("input", null); getUtils().writeAttribute(writer, "type", "hidden"); getUtils().writeAttribute(writer, "name", objectNameAttr + "Id"); getUtils().writeAttribute(writer, "id", objectNameAttr + "Id"); getUtils().writeAttribute(writer, "value", component.getValueId()); writer.endElement("input"); /* * <input readonly="readonly" onchange="#{onchange}" * class="#{objectName}Name" * title="#{component.attributes['title']}" type="text" * name="#{objectName}Name" id="#{objectName}Name" * value="#{this:getValueName(context, component)}"/> */ writer.startElement("input", null); if (autocompleteUrl == null) getUtils().writeAttribute(writer, "readonly", "readonly"); if (onchange != null) getUtils().writeAttribute(writer, "onchange", onchange); getUtils().writeAttribute(writer, "class", objectNameAttr + "Name"); if (title != null) getUtils().writeAttribute(writer, "title", title); getUtils().writeAttribute(writer, "type", "text"); getUtils().writeAttribute(writer, "style", inputTextStyle); getUtils().writeAttribute(writer, "name", objectNameAttr + "Name"); getUtils().writeAttribute(writer, "id", objectNameAttr + "Name"); getUtils().writeAttribute(writer, "value", getValueName(context, component)); writer.endElement("input"); // // <a rel="rel#{objectName}" class="#{objectName}lovClass" // href='#{this:getViewObjectName(context, component)}'> writer.startElement("a", null); getUtils().writeAttribute(writer, "rel", "rel" + objectNameAttr); getUtils().writeAttribute(writer, "class", objectNameAttr + "lovClass"); getUtils().writeAttribute(writer, "href", getViewObjectName(context, component)); // <img alt="Open Colorbox" src="#{icon}" // style="border: 0;vertical-align: middle;cursor: pointer;"/> writer.startElement("img", null); getUtils().writeAttribute(writer, "src", variables.getVariable("icon")); getUtils().writeAttribute(writer, "alt", "open"); getUtils() .writeAttribute(writer, "style", "border: 0;vertical-align: middle;cursor: pointer;"); writer.endElement("img"); writer.endElement("a"); /* * <img style="border: 0;vertical-align: middle;cursor: pointer;" * alt="clear" src="#{removeIcon}" * onclick="Richfaces.colorboxControl.removeValue('#{objectName}');" * /> */ writer.startElement("img", null); getUtils() .writeAttribute(writer, "style", "border: 0;vertical-align: middle;cursor: pointer;"); getUtils().writeAttribute(writer, "alt", "clear"); getUtils().writeAttribute(writer, "src", variables.getVariable("removeIcon")); getUtils() .writeAttribute( writer, "onclick", String.format("Richfaces.colorboxControl.removeValue('%s');", objectNameAttr)); writer.endElement("img"); } }