public void applyAttachedObject(FaceletContext faceletContext, UIComponent parent) { ClientBehaviorHolder holder = (ClientBehaviorHolder) parent; String eventName = getEventName(); if (null == eventName) { eventName = holder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = holder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, "Event:" + eventName + " is not supported."); } } ClientBehaviorBase behavior = createBehavior(faceletContext, eventName, parent); holder.addClientBehavior(eventName, behavior); }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } Map<String, List<ClientBehavior>> clientBehaviorsMap = behaviorHolder.getClientBehaviors(); List<ClientBehavior> clientBehaviors = clientBehaviorsMap.get(eventName); if (clientBehaviors == null || clientBehaviors.isEmpty()) { return true; } for (ClientBehavior behavior : clientBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } Map<String, List<ClientBehavior>> clientBehaviorsMap = behaviorHolder.getClientBehaviors(); List<ClientBehavior> clientBehaviors = clientBehaviorsMap.get(eventName); if (clientBehaviors == null || clientBehaviors.isEmpty()) { return true; } for (ClientBehavior behavior : clientBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } Map<String, List<ClientBehavior>> clientBehaviorsMap = behaviorHolder.getClientBehaviors(); List<ClientBehavior> clientBehaviors = clientBehaviorsMap.get(eventName); if (clientBehaviors == null || clientBehaviors.isEmpty()) { return true; } for (ClientBehavior behavior : clientBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { // First need to make sure that this ClientBehaviorHolder // supports the specified event type. if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } // Check for a submitting behavior already attached. // If we've already got one, we don't add another. Map<String,List<ClientBehavior>> allBehaviors = behaviorHolder.getClientBehaviors(); List<ClientBehavior> eventBehaviors = allBehaviors.get(eventName); if ((eventBehaviors == null) || (eventBehaviors.isEmpty())) { return true; } for (ClientBehavior behavior : eventBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { // First need to make sure that this ClientBehaviorHolder // supports the specified event type. if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } // Check for a submitting behavior already attached. // If we've already got one, we don't add another. Map<String,List<ClientBehavior>> allBehaviors = behaviorHolder.getClientBehaviors(); List<ClientBehavior> eventBehaviors = allBehaviors.get(eventName); if ((eventBehaviors == null) || (eventBehaviors.isEmpty())) { return true; } for (ClientBehavior behavior : eventBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { // First need to make sure that this ClientBehaviorHolder // supports the specified event type. if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } // Check for a submitting behavior already attached. // If we've already got one, we don't add another. Map<String,List<ClientBehavior>> allBehaviors = behaviorHolder.getClientBehaviors(); List<ClientBehavior> eventBehaviors = allBehaviors.get(eventName); if ((eventBehaviors == null) || (eventBehaviors.isEmpty())) { return true; } for (ClientBehavior behavior : eventBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { // First need to make sure that this ClientBehaviorHolder // supports the specified event type. if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } // Check for a submitting behavior already attached. // If we've already got one, we don't add another. Map<String,List<ClientBehavior>> allBehaviors = behaviorHolder.getClientBehaviors(); List<ClientBehavior> eventBehaviors = allBehaviors.get(eventName); if ((eventBehaviors == null) || (eventBehaviors.isEmpty())) { return true; } for (ClientBehavior behavior : eventBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private boolean shouldAddBehavior(ClientBehaviorHolder behaviorHolder, String eventName) { // First need to make sure that this ClientBehaviorHolder // supports the specified event type. if (!behaviorHolder.getEventNames().contains(eventName)) { return false; } // Check for a submitting behavior already attached. // If we've already got one, we don't add another. Map<String,List<ClientBehavior>> allBehaviors = behaviorHolder.getClientBehaviors(); List<ClientBehavior> eventBehaviors = allBehaviors.get(eventName); if ((eventBehaviors == null) || (eventBehaviors.isEmpty())) { return true; } for (ClientBehavior behavior : eventBehaviors) { Set<ClientBehaviorHint> hints = behavior.getHints(); if (hints.contains(ClientBehaviorHint.SUBMITTING)) { return false; } } return true; }
private String resolveEventName(ClientBehaviorHolder bHolder) { String eventName = getEventName(); if (null == eventName) { eventName = bHolder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = bHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, eventName + "event is not supported for the " + bHolder.getClass().getSimpleName()); } } return eventName; }
private String resolveEventName(ClientBehaviorHolder bHolder) { String eventName = getEventName(); if (null == eventName) { eventName = bHolder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = bHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, eventName + "event is not supported for the " + bHolder.getClass().getSimpleName()); } } return eventName; }
private String resolveEventName(ClientBehaviorHolder bHolder) { String eventName = getEventName(); if (null == eventName) { eventName = bHolder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = bHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, eventName + "event is not supported for the " + bHolder.getClass().getSimpleName()); } } return eventName; }
public void applyAttachedObject(FaceletContext faceletContext, UIComponent parent) { ClientBehaviorHolder holder = (ClientBehaviorHolder) parent; String eventName = getEventName(); if (null == eventName) { eventName = holder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = holder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, "Event:" + eventName + " is not supported."); } } ClientBehaviorBase behavior = createBehavior(faceletContext, eventName, parent); holder.addClientBehavior(eventName, behavior); }
public void apply(FaceletContext context, UIComponent parent) throws IOException { if (!ComponentHandler.isNew(parent)) { return; } if (!(parent instanceof ClientBehaviorHolder)) { throw new TagException(this.tag, "Effect behavior can not be attach to non clientBehaviorHolder parent"); } ClientBehaviorHolder clientBehaviorHolder = (ClientBehaviorHolder)parent; String eventName = getEventName(); if (eventName == null) { eventName = clientBehaviorHolder.getDefaultEventName(); if (eventName == null) { throw new TagException(this.tag, "Event attribute could not be determined " + eventName); } }else { Collection<String> eventNames = clientBehaviorHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag,"Event is not supported by this component "+ clientBehaviorHolder.getClass().getSimpleName()); } } AnimationBehavior effectBehavior = createEffectBehavior(context, eventName); clientBehaviorHolder.addClientBehavior(eventName, effectBehavior); }
/** * <p class="changed_added_2_0"></p> * @param ctx * @param parent * @param eventName */ private void applyAttachedObject(FaceletContext ctx, UIComponent parent, String eventName) { ClientBehaviorHolder bHolder = (ClientBehaviorHolder) parent; if (null == eventName) { eventName = bHolder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = bHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, getUnsupportedEventMessage(eventName, eventNames, parent)); } } AjaxBehavior ajaxBehavior = createAjaxBehavior(ctx, eventName); bHolder.addClientBehavior(eventName, ajaxBehavior); installAjaxResourceIfNecessary(); }
/** * <p class="changed_added_2_0"></p> * @param ctx * @param parent * @param eventName */ private void applyAttachedObject(FaceletContext ctx, UIComponent parent, String eventName) { ClientBehaviorHolder bHolder = (ClientBehaviorHolder) parent; if (null == eventName) { eventName = bHolder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = bHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, getUnsupportedEventMessage(eventName, eventNames, parent)); } } AjaxBehavior ajaxBehavior = createAjaxBehavior(ctx, eventName); bHolder.addClientBehavior(eventName, ajaxBehavior); RenderKitUtils.installJsfJsIfNecessary(ctx.getFacesContext()); }
private void encodeBehaviors(FacesContext context, ClientBehaviorHolder behaviorHolder, String defaultHtmlEventName, String[] attributesExclusions) throws IOException { // if (attributesExclusions != null && attributesExclusions.length != 0) { // assert false : "Not supported yet"; // } // TODO: disabled component check String defaultEventName = behaviorHolder.getDefaultEventName(); Collection<String> eventNames = behaviorHolder.getEventNames(); if (eventNames != null) { UIComponent component = (UIComponent) behaviorHolder; ResponseWriter writer = context.getResponseWriter(); Collection<Parameter> parametersList = HandlersChain.createParametersList(createParametersMap(context, component)); for (String behaviorEventName : eventNames) { if (behaviorEventName.equals(defaultEventName)) { continue; } String htmlEventName = "on" + behaviorEventName; if ((attributesExclusions == null) || (Arrays.binarySearch(attributesExclusions, htmlEventName) < 0)) { HandlersChain handlersChain = new HandlersChain(context, component, parametersList); handlersChain.addInlineHandlerFromAttribute(htmlEventName); handlersChain.addBehaviors(behaviorEventName); String handlerScript = handlersChain.toScript(); if (!isEmpty(handlerScript)) { writer.writeAttribute(htmlEventName, handlerScript, htmlEventName); } } } } }
/** * <p class="changed_added_2_0"></p> * @param ctx * @param parent * @param eventName */ private void applyAttachedObject(FaceletContext ctx, UIComponent parent, String eventName) { ClientBehaviorHolder bHolder = (ClientBehaviorHolder) parent; if (null == eventName) { eventName = bHolder.getDefaultEventName(); if (null == eventName) { throw new TagException(this.tag, "Event attribute could not be determined: " + eventName); } } else { Collection<String> eventNames = bHolder.getEventNames(); if (!eventNames.contains(eventName)) { throw new TagException(this.tag, getUnsupportedEventMessage(eventName, eventNames, parent)); } } AjaxBehavior ajaxBehavior = createAjaxBehavior(ctx, eventName); bHolder.addClientBehavior(eventName, ajaxBehavior); RenderKitUtils.installJsfJsIfNecessary(ctx.getFacesContext()); }
private void encodeBehaviors(FacesContext context, ClientBehaviorHolder behaviorHolder, String defaultHtmlEventName, String[] attributesExclusions) throws IOException { // if (attributesExclusions != null && attributesExclusions.length != 0) { // assert false : "Not supported yet"; // } // TODO: disabled component check String defaultEventName = behaviorHolder.getDefaultEventName(); Collection<String> eventNames = behaviorHolder.getEventNames(); if (eventNames != null) { UIComponent component = (UIComponent) behaviorHolder; ResponseWriter writer = context.getResponseWriter(); Collection<Parameter> parametersList = HandlersChain.createParametersList(createParametersMap(context, component)); for (String behaviorEventName : eventNames) { if (behaviorEventName.equals(defaultEventName)) { continue; } String htmlEventName = "on" + behaviorEventName; if ((attributesExclusions == null) || (Arrays.binarySearch(attributesExclusions, htmlEventName) < 0)) { HandlersChain handlersChain = new HandlersChain(context, component, parametersList); handlersChain.addInlineHandlerFromAttribute(htmlEventName); handlersChain.addBehaviors(behaviorEventName); String handlerScript = handlersChain.toScript(); if (!isEmpty(handlerScript)) { writer.writeAttribute(htmlEventName, handlerScript, htmlEventName); } } } } }
private void encodeBehaviors(FacesContext context, ClientBehaviorHolder behaviorHolder, String defaultHtmlEventName, String[] attributesExclusions) throws IOException { // if (attributesExclusions != null && attributesExclusions.length != 0) { // assert false : "Not supported yet"; // } // TODO: disabled component check String defaultEventName = behaviorHolder.getDefaultEventName(); Collection<String> eventNames = behaviorHolder.getEventNames(); if (eventNames != null) { UIComponent component = (UIComponent) behaviorHolder; ResponseWriter writer = context.getResponseWriter(); Collection<Parameter> parametersList = HandlersChain.createParametersList(createParametersMap(context, component)); for (String behaviorEventName : eventNames) { String htmlEventName = "on" + behaviorEventName; if ((attributesExclusions == null) || (Arrays.binarySearch(attributesExclusions, htmlEventName) < 0)) { HandlersChain handlersChain = new HandlersChain(context, component, parametersList); handlersChain.addInlineHandlerFromAttribute(htmlEventName); handlersChain.addBehaviors(behaviorEventName); String handlerScript = handlersChain.toScript(); if (!isEmpty(handlerScript)) { writer.writeAttribute(htmlEventName, handlerScript, htmlEventName); } } } } }