public static Object getLabel(FacesContext facesContext, UIComponent component) { String label = (String) component.getAttributes().get("label"); if (label == null) { label = component.getClientId(facesContext); } return label; }
@Override public void encodeBegin(FacesContext context, UIComponent component) throws IOException { ResponseWriter writer = context.getResponseWriter(); String clientId = component.getClientId(context); writer.startElement("body", component); if (shouldWriteId(component)) { writer.writeAttribute("id", clientId, "id"); } String styleClass = (String) component.getAttributes().get("styleClass"); if (styleClass != null && styleClass.length() != 0) { writer.writeAttribute("class", styleClass, "styleClass"); } renderPassThruAttributes(context, component, HTML.BODY_ATTRS); }
public static boolean isRequestSource(UIComponent component, FacesContext context) { return component.getClientId(context).equals(context.getExternalContext().getRequestParameterMap().get(Constants.RequestParams.PARTIAL_SOURCE_PARAM)); }
protected String getEventBehaviors(FacesContext context, ClientBehaviorHolder cbh, String event, List<ClientBehaviorContext.Parameter> parameters) { List<ClientBehavior> behaviors = cbh.getClientBehaviors().get(event); StringBuilder sb = SharedStringBuilder.get(context, SB_GET_EVENT_BEHAVIORS); if (behaviors != null && !behaviors.isEmpty()) { UIComponent component = (UIComponent) cbh; String clientId = component.getClientId(context); List<ClientBehaviorContext.Parameter> params; if (parameters != null && !parameters.isEmpty()) { params = parameters; } else { params = Collections.emptyList(); } for (int i = 0; i < behaviors.size(); i++) { ClientBehavior behavior = behaviors.get(i); ClientBehaviorContext cbc = ClientBehaviorContext.createClientBehaviorContext( context, component, event, clientId, params); String script = behavior.getScript(cbc); if (script != null) { sb.append(script).append(";"); } } } return sb.length() == 0 ? null : sb.toString(); }
protected void encodeClientBehaviors(FacesContext context, ClientBehaviorHolder component) throws IOException { ResponseWriter writer = context.getResponseWriter(); Map<String, List<ClientBehavior>> clientBehaviors = component.getClientBehaviors(); Collection<String> eventNames = (component instanceof MixedClientBehaviorHolder) ? ((MixedClientBehaviorHolder) component).getUnobstrusiveEventNames() : clientBehaviors.keySet(); String clientId = ((UIComponent) component).getClientId(context); List<ClientBehaviorContext.Parameter> params = new ArrayList<>(); params.add(new ClientBehaviorContext.Parameter(Constants.CLIENT_BEHAVIOR_RENDERING_MODE, ClientBehaviorRenderingMode.UNOBSTRUSIVE)); for (Iterator<String> eventNameIterator = eventNames.iterator(); eventNameIterator.hasNext();) { String eventName = eventNameIterator.next(); List<ClientBehavior> eventBehaviors = clientBehaviors.get(eventName);
@Override protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException { encodeContentEnd(writer, context, component); writer.endElement(DIV_ELEM); Map<String, String> requestMap = context.getExternalContext().getRequestParameterMap(); String clientId = component.getClientId(context); if (requestMap.get(clientId) != null) { addOnCompleteParam(context, clientId); } }
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { ResponseWriter writer = context.getResponseWriter(); RowEditor rowEditor = (RowEditor) component; String style = rowEditor.getStyle(); String styleClass = rowEditor.getStyleClass(); styleClass = (styleClass == null) ? DataTable.ROW_EDITOR_CLASS : DataTable.ROW_EDITOR_CLASS + " " + styleClass; writer.startElement("div", null); writer.writeAttribute("id", component.getClientId(context), null); writer.writeAttribute("class", styleClass, null); if (style != null) { writer.writeAttribute("style", style, null); } encodeIcon(writer, "pencil", rowEditor.getEditTitle()); encodeIcon(writer, "check", rowEditor.getSaveTitle()); encodeIcon(writer, "close", rowEditor.getCancelTitle()); writer.endElement("div"); }
protected void encodeExplicitFocus(FacesContext context, Focus focus) throws IOException { ResponseWriter writer = context.getResponseWriter(); UIComponent forComponent = SearchExpressionFacade.resolveComponent( context, focus, focus.getFor()); String clientId = forComponent.getClientId(context); writer.write("$(function(){"); writer.write("PrimeFaces.focus('" + clientId + "');"); writer.write("});"); }
protected void decodeBehaviors(FacesContext context, UIComponent component) { if (!(component instanceof ClientBehaviorHolder)) { return; } Map<String, List<ClientBehavior>> behaviors = ((ClientBehaviorHolder) component).getClientBehaviors(); if (behaviors.isEmpty()) { return; } Map<String, String> params = context.getExternalContext().getRequestParameterMap(); String behaviorEvent = params.get("javax.faces.behavior.event"); if (null != behaviorEvent) { List<ClientBehavior> behaviorsForEvent = behaviors.get(behaviorEvent); if (behaviorsForEvent != null && !behaviorsForEvent.isEmpty()) { String behaviorSource = params.get("javax.faces.source"); String clientId = component.getClientId(context); if (behaviorSource != null && clientId.equals(behaviorSource)) { for (ClientBehavior behavior : behaviorsForEvent) { behavior.decode(context, component); } } } } }
public static String resolveWidgetVar(FacesContext context, Widget widget) { UIComponent component = (UIComponent) widget; String userWidgetVar = (String) component.getAttributes().get("widgetVar"); if (!LangUtils.isValueBlank(userWidgetVar)) { return userWidgetVar; } else { return "widget_" + component.getClientId(context).replaceAll("-|" + UINamingContainer.getSeparatorChar(context), "_"); } }
String formId = form.getClientId(context); Map<String, Object> params = new HashMap<>(); for (Iterator<String> it = parameters.keySet().iterator(); it.hasNext();) { String paramName = it.next(); params.put(paramName, parameters.get(paramName).get(0)); Object value = params.get(key);
private void renderDomEvents(FacesContext context, UIComponent component, String[] eventAttrs, Map<String, List<ClientBehavior>> behaviors) throws IOException { ResponseWriter writer = context.getResponseWriter(); StringBuilder builder = null; Object eventValue = component.getAttributes().get(domEvent); String behaviorEvent = domEvent.substring(2, domEvent.length()); List<ClientBehavior> eventBehaviors = behaviors.get(behaviorEvent); boolean hasEventValue = (eventValue != null); boolean hasEventBehaviors = (eventBehaviors != null && !eventBehaviors.isEmpty()); eventBehaviors = behaviors.get("valueChange"); hasEventBehaviors = (eventBehaviors != null && !eventBehaviors.isEmpty()); if (hasEventBehaviors) { String clientId = component.getClientId(context); writer.writeAttribute(domEvent, builder.toString(), domEvent); builder.setLength(0);
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { ResponseWriter writer = context.getResponseWriter(); LayoutUnit unit = (LayoutUnit) component; boolean nesting = unit.isNesting(); String defaultStyleClass = Layout.UNIT_CLASS + " ui-layout-" + unit.getPosition(); String styleClass = unit.getStyleClass(); styleClass = styleClass == null ? defaultStyleClass : defaultStyleClass + " " + styleClass; writer.startElement("div", component); writer.writeAttribute("id", component.getClientId(context), "id"); writer.writeAttribute("class", styleClass, "styleClass"); if (unit.getStyle() != null) { writer.writeAttribute("style", unit.getStyle(), "style"); } encodeHeader(context, unit); if (!nesting) { writer.startElement("div", null); writer.writeAttribute("class", Layout.UNIT_CONTENT_CLASS, null); } renderChildren(context, unit); if (!nesting) { writer.endElement("div"); } encodeFooter(context, unit); writer.endElement("div"); }
protected void encodeImplicitFocus(FacesContext context, Focus focus) throws IOException { ResponseWriter writer = context.getResponseWriter(); String invalidClientId = findFirstInvalidComponentClientId(context, focus); writer.write("$(function(){"); if (invalidClientId != null) { writer.write("PrimeFaces.focus('" + invalidClientId + "');"); } else if (focus.getContext() != null) { UIComponent focusContext = SearchExpressionFacade.resolveComponent( context, focus, focus.getContext()); writer.write("PrimeFaces.focus(null, '" + focusContext.getClientId(context) + "');"); } else { writer.write("PrimeFaces.focus();"); } writer.write("});"); }
@Override public void decode(FacesContext context, UIComponent component) { decodeBehaviors(context, component); String submittedValue = context.getExternalContext().getRequestParameterMap().get(component.getClientId(context) + "_hidden"); Knob knob = (Knob) component; if (!LangUtils.isValueEmpty(submittedValue)) { int submittedInt = Integer.parseInt(submittedValue); if (submittedInt < knob.getMin() || submittedInt > knob.getMax()) { return; } } knob.setSubmittedValue(submittedValue); }
protected String buildNonAjaxRequest(FacesContext context, UIComponent component, UIComponent form, String decodeParam, boolean submit) { StringBuilder request = SharedStringBuilder.get(context, SB_BUILD_NON_AJAX_REQUEST); String formId = form.getClientId(context); Map<String, Object> params = new HashMap<>(); String value = EscapeUtils.forJavaScript(String.valueOf(params.get(key))) ; Object target = component.getAttributes().get("target"); request.append(".submit('").append(formId).append("'");
String formId = form.getClientId(context); Map<String, Object> params = new HashMap<>(); for (Iterator<String> it = parameters.keySet().iterator(); it.hasNext(); ) { String paramName = it.next(); params.put(paramName, parameters.get(paramName).get(0)); Object value = params.get(key); String valueStr = value == null ? null : EscapeUtils.forJavaScript(value.toString());
ResponseWriter writer = context.getResponseWriter(); UIComponent comp = (UIComponent) component; String message = "Skip rendering of CSV metadata for component \"" + comp.getClientId(context) + "\" because" + " the ValueExpression of the \"value\" attribute" + " isn't resolvable completely (e.g. a sub-expression returns null)"; Map<String, Object> attrs = comp.getAttributes(); Object label = attrs.get("label"); Object requiredMessage = attrs.get("requiredMessage"); Object validatorMessage = attrs.get("validatorMessage"); Object converterMessage = attrs.get("converterMessage"); List<String> validatorIds = null; if (label != null) writer.writeAttribute(HTML.VALIDATION_METADATA.LABEL, label, null); if (requiredMessage != null) writer.writeAttribute(HTML.VALIDATION_METADATA.REQUIRED_MESSAGE, requiredMessage, null); if (validatorMessage != null) writer.writeAttribute(HTML.VALIDATION_METADATA.VALIDATOR_MESSAGE, validatorMessage, null); if (converterMessage != null) writer.writeAttribute(HTML.VALIDATION_METADATA.CONVERTER_MESSAGE, converterMessage, null);
@Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { ResponseWriter writer = context.getResponseWriter(); CellEditor editor = (CellEditor) component; UIComponent parentTable = editor.getParentTable(context); writer.startElement("div", null); writer.writeAttribute("id", component.getClientId(context), null); writer.writeAttribute("class", DataTable.CELL_EDITOR_CLASS, null); writer.startElement("div", null); writer.writeAttribute("class", DataTable.CELL_EDITOR_OUTPUT_CLASS, null); editor.getFacet("output").encodeAll(context); writer.endElement("div"); writer.startElement("div", null); writer.writeAttribute("class", DataTable.CELL_EDITOR_INPUT_CLASS, null); editor.getFacet("input").encodeAll(context); writer.endElement("div"); writer.endElement("div");
@Override public void decode(final FacesContext facesContext, final UIComponent component) { final String sourceId = facesContext.getExternalContext().getRequestParameterMap().get("javax.faces.source"); final String clientId = component.getClientId(); if (clientId.equals(sourceId)) { // only decode and update layout at resize request // final Map<String, String> parameterMap = facesContext.getExternalContext().getRequestParameterMap(); // final String position = parameterMap.get(clientId + POSITION_ID_POSTFIX); LOG.warn("todo update layout"); // ((AbstractUISplitLayout) component).updateLayout(Integer.parseInt(position)); } }