Refine search
public AjaxRequestBuilder form(AjaxSource source, UIComponent component, UIForm formComponent) { String result = null; String form = source.getForm(); if (LangUtils.isValueBlank(form)) { if (formComponent == null) { formComponent = ComponentTraversalUtils.closestForm(context, component); } if (formComponent == null) { if (context.isProjectStage(ProjectStage.Development)) { String message = "Component '" + component.getClientId(context) + "' should be inside a form or should reference a form via its form attribute." + " We will try to find a fallback form on the client side."; LOG.info(message); } } else { result = formComponent.getClientId(context); } } else { result = SearchExpressionFacade.resolveClientId(context, component, source.getForm()); } if (result != null) { buffer.append(",f:\"").append(result).append("\""); } return this; }
protected void restoreDescendantState(UIComponent component, FacesContext context) { String id = component.getId(); component.setId(id); //reset the client id Map<String, SavedState> saved = (Map<String, SavedState>) getStateHelper().get(PropertyKeys.saved); String componentClientId = component.getClientId(context); form.setSubmitted(state.getSubmitted()); state.setSubmitted(form.isSubmitted());
public void decode(FacesContext facesContext, UIComponent component) { org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.checkParamValidity(facesContext, component, UIForm.class); /* if (HTMLUtil.isDisabled(component)) { return; } */ UIForm htmlForm = (UIForm) component; Map paramMap = facesContext.getExternalContext().getRequestParameterMap(); String submittedValue = (String) paramMap.get(component.getClientId(facesContext) + HIDDEN_SUBMIT_INPUT_SUFFIX); if (submittedValue != null && submittedValue.equals(HIDDEN_SUBMIT_INPUT_VALUE)) { htmlForm.setSubmitted(true); } else { htmlForm.setSubmitted(false); } }
facesContext.getExternalContext().getRequestMap().put(FORM_CLIENT_ID_ATTR, component.getClientId(facesContext)); if ("true".equals(facesContext.getExternalContext().getInitParameter(VALIDATE_CONTEXT_PARAM))) { //todo: should go to MyfacesConfig class! FormInfo info = RendererUtils.findNestingForm(component, facesContext); ResponseWriter writer = facesContext.getResponseWriter(); String clientId = htmlForm.getClientId(facesContext); String actionURL = getActionUrl(facesContext, htmlForm); String method = getMethod(facesContext, htmlForm); String acceptCharset = getAcceptCharset(facesContext, htmlForm); writer.startElement(HTML.FORM_ELEM, htmlForm); writer.writeAttribute(HTML.ID_ATTR, clientId, null); writer.writeAttribute(HTML.NAME_ATTR, clientId, null); writer.writeAttribute(HTML.METHOD_ATTR, method, null); if((acceptCharset != null) && (acceptCharset.compareTo("")!=0)) writer.writeAttribute(HTML.ACCEPT_CHARSET_ATTR, acceptCharset, null); writer.writeURIAttribute(HTML.ACTION_ATTR, facesContext.getExternalContext().encodeActionURL(actionURL), null);
/** * Determines whenever given form has been submitted */ public boolean isFormSubmitted(FacesContext context, UIForm form) { if (form != null) { String clientId = form.getClientId(context); String formRequestParam = context.getExternalContext().getRequestParameterMap().get(clientId); return isFormValueSubmitted(clientId, formRequestParam); } return false; }
private void writeActionScript(final ResponseWriter responseWriter, final UIForm form, final String actionComponentId) throws IOException { responseWriter.startElement(SCRIPT_ELEMENT, this); responseWriter.writeAttribute(SCRIPT_LANGUAGE_ATTRIBUTE, SCRIPT_LANGUAGE_JAVASCRIPT, SCRIPT_LANGUAGE_ATTRIBUTE); responseWriter.writeAttribute(SCRIPT_TYPE_ATTRIBUTE, SCRIPT_TYPE_TEXT_JAVASCRIPT, SCRIPT_TYPE_ATTRIBUTE); responseWriter.write(createFunctionCode(form.getClientId(), actionComponentId)); responseWriter.endElement(SCRIPT_ELEMENT); }
public void encodeBegin(FacesContext facesContext, UIComponent component) throws IOException { org.apache.myfaces.shared_impl.renderkit.RendererUtils.checkParamValidity(facesContext, component, UIForm.class); UIForm htmlForm = (UIForm)component; ResponseWriter writer = facesContext.getResponseWriter(); String clientId = htmlForm.getClientId(facesContext); String acceptCharset = getAcceptCharset(htmlForm); String actionURL = getActionUrl(facesContext); writer.startElement(HTML.FORM_ELEM, htmlForm); writer.writeAttribute(HTML.ID_ATTR, clientId, null); writer.writeAttribute(HTML.NAME_ATTR, clientId, null); writer.writeAttribute(HTML.METHOD_ATTR, "post", null); if (acceptCharset != null) { writer.writeAttribute(HTML.ACCEPT_CHARSET_ATTR, acceptCharset, null); } writer.writeURIAttribute(HTML.ACTION_ATTR, facesContext.getExternalContext().encodeActionURL(actionURL), null); HtmlRendererUtils.renderHTMLAttributes(writer, htmlForm, HTML.FORM_PASSTHROUGH_ATTRIBUTES); writer.write(""); // force start element tag to be closed // not needed in this version as nothing is written to the form tag, but // included for backward compatibility to the 1.1.1 patch (JIRA MYFACES-1276) // However, might be needed in the future beforeFormElementsStart(facesContext, component); afterFormElementsStart(facesContext, component); }
public void decode(FacesContext facesContext, UIComponent uiComponent) { validateParameters(facesContext, uiComponent, UIForm.class); UIForm uiForm = (UIForm) uiComponent; Map requestParameterMap = facesContext.getExternalContext().getRequestParameterMap(); String formClientId = uiForm.getClientId(facesContext); if (requestParameterMap.containsKey(formClientId) || uiComponent.getAttributes().containsKey("fileUploaded")) { uiForm.setSubmitted(true); } else { uiForm.setSubmitted(false); } }
public static void addHiddenFieldsForParametersIfNotExists(FacesContext context, UIComponent parentComponent, List<UIParameter> uiParameters) throws IOException { UIForm parentForm = findForm(parentComponent); String parentFormClientId = parentForm.getClientId(context); ResponseWriter writer = context.getResponseWriter(); HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest(); for (int i = 0; i < uiParameters.size(); i++) { UIParameter parameter = uiParameters.get(i); addHiddenFieldForParameterIfNotExists(parentFormClientId, request, writer, parameter.getName()); } }
private static void encodeFormSubmit(UIComponent component, ResponseWriter rw, boolean evenWithoutParameters) throws IOException { String parameterList = ""; List<UIComponent> children = component.getChildren(); for (UIComponent parameter : children) { if (parameter instanceof UIParameter) { String value = String.valueOf(((UIParameter) parameter).getValue()); String name = ((UIParameter) parameter).getName(); if (null != value) { parameterList += ",'" + name + "':'" + value + "'"; } } } if (evenWithoutParameters || parameterList.length() > 0) { UIForm currentForm = getSurroundingForm((UIComponent) component, false); parameterList = "'" + currentForm.getClientId() + "',{'" + component.getClientId() + "':'" + component.getClientId() + "'" + parameterList + "}"; rw.writeAttribute("onclick", encodeClick((UIComponent) component) + "BsF.submitForm(" + parameterList + ");return false;", null); } }
public void encode(ResponseWriter writer, FacesContext context) throws IOException { UIForm form = AjaxDisabledList.getContainingForm(this); //consume with remove to reset the list each time String value = (String) form.getAttributes() .remove(AjaxDisabledList.DISABLED_LIST); if (null == value) { return; } writer.startElement("input", this); writer.writeAttribute("type", "hidden", "type"); writer.writeAttribute("autocomplete", "off", null); writer.writeAttribute("id", getClientId(context), "id"); writer.writeAttribute("disabled", "true", "disabled"); writer.writeAttribute("value", value, "value"); writer.endElement("input"); }
public void encodeBegin(FacesContext context) throws IOException { //TODO render into javascript. Probably have to scrape out notion of MessageFormat. String clientId = getClientId(context); String progressResourcePath = ""; String progressPushId = ""; if (PushUtils.isPushPresent()) { progressResourcePath = PushUtils.getProgressResourcePath(context, form); final Map<String, Object> windowMap = WindowScopeManager.lookupWindowScope(context); progressPushId = (String) windowMap.get(FileEntryFormSubmit.class.getName()); if (progressPushId == null) { progressPushId = PushUtils.getPushId(context, form); windowMap.put(FileEntryFormSubmit.class.getName(), progressPushId); } else { //register the pushID with the upload progress group in case window scope is not enabled for //the application and a window scope map is reused for all windows String groupName = PushUtils.getPushGroupName(context, form); PushUtils.addPushGroupMember(groupName, progressPushId); } } String script = "ice.ace.fileentry.captureFormOnsubmit('" + form.getClientId() + "', '" + clientId + "', '" + progressPushId + "', '" + progressResourcePath + "');"; ScriptWriter.insertScript(context, this, script); ResponseWriter writer = context.getResponseWriter(); writer.startElement("iframe", this); writer.writeAttribute("id", clientId, "clientId"); writer.writeAttribute("name", clientId, "clientId"); writer.writeAttribute("style", "display:none;", "style"); writer.writeAttribute("src", "about:blank", "src"); writer.endElement("iframe"); }
EditableValueHolder input = (EditableValueHolder) component; SavedState state = null; String componentClientId = component.getClientId(context); String componentClientId = component.getClientId(context); SavedState state = null; if (saved == null) { state.setSubmitted(form.isSubmitted()); if (component.getChildCount() > 0) { for (UIComponent kid : component.getChildren()) { saveDescendantState(kid, context);
public boolean isListenerForSource(final Object source) { if (EnvUtils.isICEfacesView(FacesContext.getCurrentInstance()) && (source instanceof UIForm)) { UIForm form = (UIForm) source; String componentId = form.getId() + ID_SUFFIX; // Guard against duplicates within the same JSF lifecycle for (UIComponent comp : form.getParent().getChildren()) { if (componentId.equals(comp.getId())) { return false; } } return true; } else { return false; } } }
/** * <p>Override the {@link UIComponent#getContainerClientId} to allow * users to disable this form from prepending its <code>clientId</code> to * its descendent's <code>clientIds</code> depending on the value of * this form's {@link #isPrependId} property.</p> */ public String getContainerClientId(FacesContext context) { if (this.isPrependId()) { return super.getContainerClientId(context); } else { UIComponent parent = this.getParent(); while (parent != null) { if (parent instanceof NamingContainer) { return parent.getContainerClientId(context); } parent = parent.getParent(); } } return null; }
public static void addForm(final FacesContext context, final UIForm form) { final Map map = context.getExternalContext().getRequestMap(); List forms = (List) map.get(KEY); if (forms == null) { forms = new ArrayList(); map.put(KEY, forms); registerRendererListener(form.getParent()); } forms.add(form.getId()); }
public void processDecodes(javax.faces.context.FacesContext context) { if (context == null) throw new NullPointerException("context"); decode(context); if (!isSubmitted()) return; for (Iterator it = getFacetsAndChildren(); it.hasNext(); ) { UIComponent childOrFacet = (UIComponent)it.next(); childOrFacet.processDecodes(context); } }
public static String getSubmitJavaScript(FacesContext context, UIComponent component) { UIForm parentForm = findForm(component); String parentFormClientId = parentForm.getClientId(context); String componentClientId = component.getClientId(context); String eventSenderHiddenFieldId = getEventSenderHiddenFieldId(parentFormClientId); StringBuilder onClickEvent = new StringBuilder(); onClickEvent.append("document.forms['").append(parentFormClientId).append("'].elements['"); onClickEvent.append(eventSenderHiddenFieldId).append("'].value='").append(componentClientId); onClickEvent.append("';document.forms['").append(parentFormClientId).append("'].submit();"); return onClickEvent.toString(); }
private static void addNewTransientForm(String id, UIComponent parent) { if( parent.findComponent(id) == null ){ UIForm uiForm = new ShortIdForm(); uiForm.setTransient(true); uiForm.setId(id); //disable capture submit for this form uiForm.getAttributes().put(FormSubmit.DISABLE_CAPTURE_SUBMIT, FormSubmit.DISABLE_CAPTURE_SUBMIT); parent.setInView(false); parent.getChildren().add(uiForm); parent.setInView(true); } }
private static int getComponentIndex(UIForm component) { if (component.getParent() == null) return -1; List<UIComponent> children = component.getParent().getChildren(); for (int i = 0; i < children.size(); i++) { if (children.get(i) == component) return i; } throw new IllegalStateException("Unable to determine index of component " + component); } }