using (Ajax.BeginForm("Action", "Controller", new AjaxOptions() { OnBegin = "alert('Replace with validation logic.')" }))
public Object getAjaxComponent() { return getParameter(AjaxConstants.AJAX_COMPONENT_ID_PARAMETER); }
private void appenAjaxBehaviorOptions(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior, AjaxOptions ajaxOptions) { ajaxOptions.setParameter(AjaxConstants.BEHAVIOR_EVENT_PARAMETER, behaviorContext.getEventName()); ajaxOptions.setBeforesubmitHandler(behavior.getOnbeforesubmit()); for (BehaviorOptionsData optionsData : BehaviorOptionsData.values()) { String optionValue = optionsData.getAttributeValue(behavior); if (!Strings.isNullOrEmpty(optionValue)) { ajaxOptions.set(optionsData.toString(), optionValue); } } }
public void setParameter(String parameterName, Object parameterValue) { getParameters().put(parameterName, parameterValue); }
private static AjaxOptions buildAjaxOptions(ClientBehaviorContext behaviorContext, AjaxClientBehavior ajaxBehavior) { FacesContext facesContext = behaviorContext.getFacesContext(); UIComponent component = behaviorContext.getComponent(); AjaxOptions ajaxOptions = new AjaxOptions(); Map<String, Object> parametersMap = RENDERER_UTILS.createParametersMap(facesContext, component); ajaxOptions.addParameters(parametersMap); String ajaxStatusName = ajaxBehavior.getStatus(); if (Strings.isNullOrEmpty(ajaxStatusName)) { ajaxStatusName = getAjaxStatus(component); } if (!Strings.isNullOrEmpty(ajaxStatusName)) { ajaxOptions.set(STATUS_ATTR_NAME, ajaxStatusName); } appenAjaxBehaviorOptions(behaviorContext, ajaxBehavior, ajaxOptions); return ajaxOptions; }
protected String getSubmitFunction(FacesContext facesContext, UIComponent component) { if (!isAjaxMode(component)) { return null; } AjaxFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(facesContext, component); AjaxOptions options = ajaxFunction.getOptions(); options.set("beforedomupdate", BEFORE_UPDATE_HANDLER); options.set("complete", AFTER_UPDATE_HANDLER); options.setClientParameters(PARAMS); return ajaxFunction.toScript(); }
public AjaxFunction buildAjaxFunction(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior) { Object source; AjaxOptions options = buildAjaxOptions(behaviorContext, behavior); if (behaviorContext.getSourceId() != null) { source = behaviorContext.getSourceId(); } else { source = JSReference.THIS; FacesContext facesContext = behaviorContext.getFacesContext(); UIComponent component = behaviorContext.getComponent(); options.setAjaxComponent(component.getClientId(facesContext)); options.set("sourceId", source); } if (behavior.isResetValues()) { options.setParameter(AjaxConstants.RESET_VALUES_PARAMETER, true); } return new AjaxFunction(source, options); }
public static AjaxFunction buildAjaxFunction(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior) { Object source; AjaxOptions options = buildAjaxOptions(behaviorContext, behavior); if (behaviorContext.getSourceId() != null) { source = behaviorContext.getSourceId(); } else { source = JSReference.THIS; FacesContext facesContext = behaviorContext.getFacesContext(); UIComponent component = behaviorContext.getComponent(); options.setAjaxComponent(component.getClientId(facesContext)); options.set("sourceId", source); } return new AjaxFunction(source, options); }
@Override public Map<String, Object> getOptions(FacesContext facesContext, UIComponent component) { Map<String, Object> options = new HashMap<String, Object>(); if (component instanceof AbstractDropTarget) { JSReference dragSourceId = new JSReference("dragSourceId"); JSFunctionDefinition function = new JSFunctionDefinition(JSReference.EVENT, dragSourceId); AjaxFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(facesContext, component); ajaxFunction.getOptions().setParameter("dragSource", dragSourceId); ajaxFunction.getOptions().setParameter(component.getClientId(facesContext), component.getClientId(facesContext)); ajaxFunction.setSource(new JSReference("event", "target")); ajaxFunction.getOptions().setAjaxComponent(component.getClientId(facesContext)); function.addToBody(ajaxFunction); AbstractDropTarget dropTarget = (AbstractDropTarget) component; Set<String> acceptedTypes = Sets.asSet(dropTarget.getAcceptedTypes()); if (acceptedTypes != null) { if (acceptedTypes.contains("@none")) { acceptedTypes = NONE_SET; } else if (acceptedTypes.contains("@all")) { acceptedTypes = ALL_SET; } } options.put("acceptedTypes", acceptedTypes); options.put("ajaxFunction", function); options.put("parentId", getParentClientId(facesContext, component)); } return options; }
public static AjaxOptions buildEventOptions(FacesContext facesContext, UIComponent component) { AjaxOptions ajaxOptions = new AjaxOptions(); appendComponentOptions(facesContext, component, ajaxOptions); Map<String, Object> parametersMap = RENDERER_UTILS.createParametersMap(facesContext, component); ajaxOptions.addParameters(parametersMap); if (component instanceof BasicActionComponent) { if (((BasicActionComponent) component).isResetValues()) { ajaxOptions.setParameter(AjaxConstants.RESET_VALUES_PARAMETER, true); } } return ajaxOptions; }
AjaxOptions options = ajaxFunction.getOptions(); if (options.hasParameters()) { Map<String, Object> parameters = options.getParameters();
public static AjaxOptions buildEventOptions(FacesContext facesContext, UIComponent component) { AjaxOptions ajaxOptions = new AjaxOptions(); appendComponentOptions(facesContext, component, ajaxOptions); Map<String, Object> parametersMap = RENDERER_UTILS.createParametersMap(facesContext, component); ajaxOptions.addParameters(parametersMap); return ajaxOptions; }
private static void appendComponentOptions(FacesContext facesContext, UIComponent component, AjaxOptions ajaxOptions) { String handlerScript = getHandlerScript(facesContext, component, ONBEGIN_ATTR_NAME, BEGIN_EVENT_NAME); if (!Strings.isNullOrEmpty(handlerScript)) { ajaxOptions.set(BEGIN_EVENT_NAME, handlerScript); } handlerScript = getHandlerScript(facesContext, component, ONERROR_ATTR_NAME, ERROR_EVENT_NAME); if (!Strings.isNullOrEmpty(handlerScript)) { ajaxOptions.set(ERROR_EVENT_NAME, handlerScript); } String queueId = getQueueId(component); if (!Strings.isNullOrEmpty(queueId)) { ajaxOptions.set(QUEUE_ID_ATTRIBUTE, queueId); } ajaxOptions.set("incId", "1"); String status = getAjaxStatus(component); if (!Strings.isNullOrEmpty(status)) { ajaxOptions.set(STATUS_ATTR_NAME, status); } }
private void appendAjaxFunctionCall(Appendable target) throws IOException { target.append(FUNCTION_NAME); target.append('('); ScriptUtils.appendScript(target, source); target.append(','); ScriptUtils.appendScript(target, event); if (!options.isEmpty()) { target.append(','); ScriptUtils.appendScript(target, options); } target.append(")"); }
public void appendScript(Appendable target) throws IOException { if (options.getBeforesubmitHandler() == null) { appendAjaxFunctionCall(target); } else { StringBuilder ajaxCall = new StringBuilder(); appendAjaxFunctionCall(ajaxCall); ScriptUtils.appendScript(target, new JSChainJSFFunction(options.getBeforesubmitHandler(), ajaxCall.toString())); } } }
private static void appenAjaxBehaviorOptions(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior, AjaxOptions ajaxOptions) { ajaxOptions.setParameter(AjaxConstants.BEHAVIOR_EVENT_PARAMETER, behaviorContext.getEventName()); ajaxOptions.setBeforesubmitHandler(behavior.getOnbeforesubmit()); for (BehaviorOptionsData optionsData : BehaviorOptionsData.values()) { String optionValue = optionsData.getAttributeValue(behavior); if (isNotEmpty(optionValue)) { ajaxOptions.set(optionsData.toString(), optionValue); } } }
public void setParameter(String parameterName, Object parameterValue) { getParameters().put(parameterName, parameterValue); }
private static AjaxOptions buildAjaxOptions(ClientBehaviorContext behaviorContext, AjaxClientBehavior ajaxBehavior) { FacesContext facesContext = behaviorContext.getFacesContext(); UIComponent component = behaviorContext.getComponent(); AjaxOptions ajaxOptions = new AjaxOptions(); Map<String, Object> parametersMap = RENDERER_UTILS.createParametersMap(facesContext, component); ajaxOptions.addParameters(parametersMap); String ajaxStatusName = ajaxBehavior.getStatus(); if (Strings.isNullOrEmpty(ajaxStatusName)) { ajaxStatusName = getAjaxStatus(component); } if (!Strings.isNullOrEmpty(ajaxStatusName)) { ajaxOptions.set(STATUS_ATTR_NAME, ajaxStatusName); } appenAjaxBehaviorOptions(behaviorContext, ajaxBehavior, ajaxOptions); return ajaxOptions; }
protected String getSubmitFunction(FacesContext facesContext, UIComponent component) { if (!isAjaxMode(component)) { return null; } AjaxFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(facesContext, component); AjaxOptions options = ajaxFunction.getOptions(); options.set("beforedomupdate", BEFORE_UPDATE_HANDLER); options.set("complete", AFTER_UPDATE_HANDLER); options.setClientParameters(PARAMS); return ajaxFunction.toScript(); }
public static AjaxFunction buildAjaxFunction(ClientBehaviorContext behaviorContext, AjaxClientBehavior behavior) { Object source; AjaxOptions options = buildAjaxOptions(behaviorContext, behavior); if (behaviorContext.getSourceId() != null) { source = behaviorContext.getSourceId(); } else { source = JSReference.THIS; FacesContext facesContext = behaviorContext.getFacesContext(); UIComponent component = behaviorContext.getComponent(); options.setAjaxComponent(component.getClientId(facesContext)); options.set("sourceId", source); } return new AjaxFunction(source, options); }