public AjaxRequestBuilder partialSubmit(boolean value, boolean partialSubmitSet, String partialSubmitFilter) { PrimeConfiguration config = RequestContext.getCurrentInstance(context).getApplicationContext().getConfig(); //component can override global setting boolean partialSubmit = partialSubmitSet ? value : config.isPartialSubmitEnabled(); if (partialSubmit) { buffer.append(",ps:true"); if (partialSubmitFilter != null) { buffer.append(",psf:\"").append(partialSubmitFilter).append("\""); } } return this; }
@Deprecated public AjaxRequestBuilder partialSubmit(boolean value, boolean partialSubmitSet) { PrimeConfiguration config = RequestContext.getCurrentInstance(context).getApplicationContext().getConfig(); //component can override global setting boolean partialSubmit = partialSubmitSet ? value : config.isPartialSubmitEnabled(); if (partialSubmit) { buffer.append(",ps:true"); } return this; }
protected void addAttachedObjectHandlerToMojarra(UIComponent component) { String key = MOJARRA_ATTACHED_OBJECT_HANDLERS_KEY; if (RequestContext.getCurrentInstance().getApplicationContext().getConfig().isAtLeastJSF22()) { key = MOJARRA_22_ATTACHED_OBJECT_HANDLERS_KEY; } Map<String, Object> attrs = component.getAttributes(); List<AttachedObjectHandler> result = (List<AttachedObjectHandler>) attrs.get(key); if (result == null) { result = new ArrayList<AttachedObjectHandler>(); attrs.put(key, result); } result.add(this); }
@Override public WidgetBuilder getWidgetBuilder() { if (this.widgetBuilder == null) { this.widgetBuilder = new WidgetBuilder(context, getApplicationContext().getConfig()); } return widgetBuilder; }
public AjaxRequestBuilder resetValues(boolean value, boolean resetValuesSet) { PrimeConfiguration config = RequestContext.getCurrentInstance(context).getApplicationContext().getConfig(); //component can override global setting boolean resetValues = resetValuesSet ? value : config.isResetValuesEnabled(); if (resetValues) { buffer.append(",rv:true"); } return this; }
protected String resolveTheme(FacesContext context) { String theme = null; String themeConfigValue = RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().getMobileTheme(); if (themeConfigValue != null) { ELContext elContext = context.getELContext(); ExpressionFactory expressionFactory = context.getApplication().getExpressionFactory(); ValueExpression ve = expressionFactory.createValueExpression(elContext, themeConfigValue, String.class); theme = ve.isLiteralText() ? themeConfigValue : (String) ve.getValue(elContext); } return theme; }
public PrimeResource(final Resource resource) { super(); wrapped = resource; version = "&v=" + RequestContext.getCurrentInstance().getApplicationContext().getConfig().getBuildVersion(); }
public static boolean isSkipIteration(VisitContext visitContext, FacesContext context) { if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isAtLeastJSF21()) { return visitContext.getHints().contains(VisitHint.SKIP_ITERATION); } else { Boolean skipIterationHint = (Boolean) visitContext.getFacesContext().getAttributes().get(SKIP_ITERATION_HINT); return skipIterationHint != null && skipIterationHint.booleanValue() == true; } }
@Override public StringEncrypter getEncrypter() { // lazy init, it's not required for all pages if (encrypter == null) { // we can't store it in the ApplicationMap, as Cipher isn't thread safe encrypter = new StringEncrypter(getApplicationContext().getConfig().getSecretKey()); } return encrypter; }
protected void renderDynamicPassThruAttributes(FacesContext context, UIComponent component) throws IOException { if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isAtLeastJSF22()) { Jsf22Helper.renderPassThroughAttributes(context, component); } }
protected NavigationCase findNavigationCase(FacesContext context, UIOutcomeTarget outcomeTarget) { ConfigurableNavigationHandler navigationHandler = (ConfigurableNavigationHandler) context.getApplication().getNavigationHandler(); String outcome = outcomeTarget.getOutcome(); if (outcome == null) { outcome = context.getViewRoot().getViewId(); } if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isAtLeastJSF22()) { if (outcomeTarget instanceof UIComponent) { String toFlowDocumentId = (String) ((UIComponent) outcomeTarget).getAttributes().get(ActionListener.TO_FLOW_DOCUMENT_ID_ATTR_NAME); if (toFlowDocumentId != null) { return navigationHandler.getNavigationCase(context, null, outcome, toFlowDocumentId); } } } return navigationHandler.getNavigationCase(context, null, outcome); }
public PrimeFacesContext(FacesContext wrapped) { this.wrapped = wrapped; RequestContext requestContext = new DefaultRequestContext(wrapped); RequestContext.setCurrentInstance(requestContext, wrapped); moveScriptsToBottom = requestContext.getApplicationContext().getConfig().isMoveScriptsToBottom(); if (moveScriptsToBottom) { moveScriptsToBottomState = new MoveScriptsToBottomState(); } }
@Override public void processEvent(SystemEvent event) throws AbortProcessingException { try { if (event instanceof PreRenderComponentEvent) { PreRenderComponentEvent preRenderComponentEvent = (PreRenderComponentEvent) event; execute(RequestContext.getCurrentInstance().getApplicationContext().getConfig(), preRenderComponentEvent.getComponent()); } } catch (IOException e) { throw new FacesException(e); } }
protected void renderPassThruAttributes(FacesContext context, UIComponent component, String[] attrs, String[] ignoredAttrs) throws IOException { ResponseWriter writer = context.getResponseWriter(); //pre-defined attributes for (String attribute : attrs) { if (isIgnoredAttribute(attribute, ignoredAttrs)) { continue; } Object value = component.getAttributes().get(attribute); if (shouldRenderAttribute(value)) { writer.writeAttribute(attribute, value.toString(), attribute); } } //dynamic attributes if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isAtLeastJSF22()) { Jsf22Helper.renderPassThroughAttributes(context, component); } }
@Override public Converter getConverter() { Converter converter = super.getConverter(); if(converter == null && RequestContext.getCurrentInstance(getFacesContext()).getApplicationContext().getConfig().isClientSideValidationEnabled()) { DateTimeConverter con = new DateTimeConverter(); con.setPattern(this.calculatePattern()); con.setTimeZone(this.calculateTimeZone()); con.setLocale(this.calculateLocale(getFacesContext())); return con; } return converter; }
protected void encodeInput(FacesContext context, Password password, String clientId) throws IOException { ResponseWriter writer = context.getResponseWriter(); String valueToRender = ComponentUtils.getValueToRender(context, password); String inputId = clientId + "_input"; writer.startElement("input", password); writer.writeAttribute("data-role", "none", null); writer.writeAttribute("id", inputId, null); writer.writeAttribute("name", inputId, null); writer.writeAttribute("type", "password", null); if (password.isDisabled()) writer.writeAttribute("disabled", "disabled", null); if (password.isReadonly()) writer.writeAttribute("readonly", "readonly", null); if (valueToRender != null) writer.writeAttribute("value", valueToRender , null); renderPassThruAttributes(context, password, HTML.INPUT_TEXT_ATTRS_WITHOUT_EVENTS); renderDomEvents(context, password, HTML.INPUT_TEXT_EVENTS); if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isClientSideValidationEnabled()) { renderValidationMetadata(context, password); } writer.endElement("input"); }
protected String buildRequest(FacesContext context, CommandButton button, String clientId) throws FacesException { RequestContext requestContext = RequestContext.getCurrentInstance(context); boolean csvEnabled = requestContext.getApplicationContext().getConfig().isClientSideValidationEnabled() && button.isValidateClient(); String request = null; boolean ajax = button.isAjax(); if (ajax) { request = buildAjaxRequest(context, button, null); } else { UIComponent form = ComponentTraversalUtils.closestForm(context, button); if (form == null) { throw new FacesException("CommandButton : \"" + clientId + "\" must be inside a form element"); } request = buildNonAjaxRequest(context, button, form, null, false); } if (csvEnabled) { CSVBuilder csvb = requestContext.getCSVBuilder(); request = csvb.init().source("this").ajax(ajax).process(button, button.getProcess()).update(button, button.getUpdate()).command(request).build(); } return request; }
protected void encodeInput(FacesContext context, InputSwitch inputSwitch, String clientId, boolean checked, boolean disabled) throws IOException { ResponseWriter writer = context.getResponseWriter(); String inputId = clientId + "_input"; writer.startElement("div", inputSwitch); writer.writeAttribute("class", "ui-helper-hidden-accessible", null); writer.startElement("input", null); writer.writeAttribute("id", inputId, "id"); writer.writeAttribute("name", inputId, null); writer.writeAttribute("type", "checkbox", null); if (checked) writer.writeAttribute("checked", "checked", null); if (disabled) writer.writeAttribute("disabled", "disabled", null); if (inputSwitch.getTabindex() != null) writer.writeAttribute("tabindex", inputSwitch.getTabindex(), null); if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isClientSideValidationEnabled()) { renderValidationMetadata(context, inputSwitch); } renderOnchange(context, inputSwitch); renderDomEvents(context, inputSwitch, HTML.BLUR_FOCUS_EVENTS); writer.endElement("input"); writer.endElement("div"); }
protected void encodeHiddenInput(FacesContext context, InputNumber inputNumber, String clientId) throws IOException { ResponseWriter writer = context.getResponseWriter(); String inputId = clientId + "_hinput"; writer.startElement("input", null); writer.writeAttribute("id", inputId, null); writer.writeAttribute("name", inputId, null); writer.writeAttribute("type", "hidden", null); writer.writeAttribute("autocomplete", "off", null); if (inputNumber.getOnchange() != null) { writer.writeAttribute("onchange", inputNumber.getOnchange(), null); } if (inputNumber.getOnkeydown() != null) { writer.writeAttribute("onkeydown", inputNumber.getOnkeydown(), null); } if (inputNumber.getOnkeyup() != null) { writer.writeAttribute("onkeyup", inputNumber.getOnkeyup(), null); } if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isClientSideValidationEnabled()) { renderValidationMetadata(context, inputNumber); } writer.endElement("input"); }
protected void encodeHiddenSelect(FacesContext context, SelectOneMenu menu, String clientId, List<SelectItem> selectItems, Object values, Object submittedValues, Converter converter) throws IOException { ResponseWriter writer = context.getResponseWriter(); String inputId = clientId + "_input"; writer.startElement("select", null); writer.writeAttribute("id", inputId, "id"); writer.writeAttribute("name", inputId, null); writer.writeAttribute("tabindex", "-1", null); writer.writeAttribute("aria-hidden", "true", null); if (menu.isDisabled()) writer.writeAttribute("disabled", "disabled", null); if (menu.getOnkeydown() != null) writer.writeAttribute("onkeydown", menu.getOnkeydown(), null); if (menu.getOnkeyup() != null) writer.writeAttribute("onkeyup", menu.getOnkeyup(), null); renderOnchange(context, menu); if (RequestContext.getCurrentInstance(context).getApplicationContext().getConfig().isClientSideValidationEnabled()) { renderValidationMetadata(context, menu); } encodeSelectItems(context, menu, selectItems, values, submittedValues, converter); writer.endElement("select"); }