Package org.ajax4jsf.context

Examples of org.ajax4jsf.context.AjaxContext


   
   
   
    ScrollableDataTableRendererState state = ScrollableDataTableRendererState.createState(context, grid);
       
    AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
    String client_id = grid.getClientId(context);
   
    state.setClientId(client_id);
    state.setAjaxContext(ajaxContext);
    state.setRowIndex(ScrollableDataTableUtils.getClientRowIndex(grid));
   
    if (log.isDebugEnabled()) {
      log.debug("ScrollableDataTableBaseRenderer.renderAjaxChildren()");
    }
   
    grid.getResponseData().clear();
   
    ResponseWriter writer = context.getResponseWriter();
    writer.startElement("table", grid);
    writer.startElement("tbody", grid);
   
    grid.walk(context, ajaxRowsRenderer, state);
    int fakeRowsCount = grid.getRows() - grid.getRowCount();
    ScrollableDataTableRendererState.restoreState(context);
    grid.setRowKey(null);
    state.setFake(true);
    for (int i = 0; i < fakeRowsCount; i++) {
      ajaxRowsRenderer.process(context, null, state)
    }
   
    state.setFake(false);
   
    writer.endElement("tbody");
    writer.endElement("table");
    String id = client_id+"_rows_input";
    writer.startElement(HTML.INPUT_ELEM, grid);
    writer.writeAttribute(HTML.TYPE_ATTR, "hidden", null);
    writer.writeAttribute(HTML.id_ATTRIBUTE, id, null);
    writer.writeAttribute(HTML.NAME_ATTRIBUTE, id, null);
    writer.writeAttribute(HTML.value_ATTRIBUTE, grid.getRowCount(), null);
    writer.endElement(HTML.INPUT_ELEM);
    ajaxContext.addRenderedArea(id);

    renderHiddenScrollInput(context, grid);
    ajaxContext.addRenderedArea(client_id+":si");
   
    ajaxContext.setResponseData(grid.getResponseData());
   
    ajaxContext.getAjaxRenderedAreas().remove(grid.getClientId(context));
    ScrollableDataTableScrollData options = createOptions(grid);
    ajaxContext.getResponseDataMap().put("options", options);
   
    //Then call contributors to write additional HTML content
    contributorsEncodeHere(context, grid);
 
    if (shouldUpdateHeader(component)) {
View Full Code Here


     */
    public void encodeChildren(final FacesContext context,
                               final UIComponent component)
            throws IOException {
        UISuggestionBox suggestionBox = (UISuggestionBox) component;
        AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
        Set<String> ajaxRenderedAreas = ajaxContext.getAjaxRenderedAreas();
        String clientId = component.getClientId(context);
       
        if (suggestionBox.isSubmitted()) {
            body.encode(getTemplateContext(context, suggestionBox));
            // Replace rendered area ID from component to suggestion table
            suggestionBox.setRowIndex(-1);
            ajaxContext.removeRenderedArea(clientId);
            ajaxContext.addRenderedArea(getContentId(context, component));
        }
        else if (ajaxContext.isAjaxRequest() && ajaxRenderedAreas.contains(clientId))
        {
          ajaxRenderedAreas.add(clientId + "_script");
        }
    }
View Full Code Here

     ResponseWriter responseWriter = context.getResponseWriter();
     responseWriter.startElement(component.getUsedElementType(), component);
     responseWriter.writeAttribute("id", component.getClientId(context) + "content", null);
     if("ajax".equals(component.getMode())){
       // we want to avoid rendering toolTip content during initialy page displaying
       AjaxContext ajaxContext = AjaxContext.getCurrentInstance();
       if(ajaxContext != null && ajaxContext.getAjaxAreasToRender().contains(component.getClientId(context) + "content")){
          responseWriter.write(component.getValue() != null ? component.getValue().toString() : "");
         super.renderChildren(context, component);
       }
     } else {
       // client mode
View Full Code Here

            ExternalContext externalContext = facesContext.getExternalContext();
            Map<String, String> requestParameterMap = externalContext.getRequestParameterMap();
      if ("progress".equals(requestParameterMap.get("action"))
        && requestParameterMap.containsKey(
          this.getClientId(facesContext))) {
                AjaxContext ajaxContext = AjaxContextImpl.getCurrentInstance(facesContext);
                String uid = requestParameterMap.get(Filter.UPLOAD_FILES_ID);

                Map<String, Object> sessionMap = externalContext.getSessionMap();

                Map<String, MultipartRequest> sessions = (Map<String, MultipartRequest>) sessionMap
                        .get(Filter.REQUESTS_SESSIONS_BEAN_NAME);
                if (sessions != null) {
                    MultipartRequest multipartRequest = sessions.get(uid);
                    if (multipartRequest != null) {
                  setupProgressBarValueExpression(facesContext, uid);
                        ajaxContext.setResponseData(multipartRequest.getSize());
                    }
                }
            }
        }
View Full Code Here

   */
  private void onUploadComplete(FacesContext context, List<UploadItem> fileList,
      UIFileUpload fileUpload, boolean formUpload) {
    storeData(context, fileUpload, fileList);
    try {
      AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
      if ((Boolean)fileUpload.getAttributes().get(AjaxRendererUtils.AJAX_SINGLE_ATTR)) {
        ajaxContext.setAjaxSingleClientId(fileUpload.getClientId(context));
      }
     
      ajaxContext.setAjaxRequest(!formUpload);
    } catch (Exception e) {
      e.getMessage();
    }
  }
View Full Code Here

  public void encodeAjax(FacesContext context, UIComponent component)
      throws IOException {
    UIComponent root ;
    // Iterate over all childrens, render it if nessesary...
    log.debug(Messages.getMessage(Messages.RENDER_CHILDREN_AJAX_INFO));
    AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
    Set ids = ajaxContext.getAjaxAreasToRender();
    Set renderedAreas = ajaxContext.getAjaxRenderedAreas();
    if (((AjaxContainer) component).isRenderRegionOnly()) {
      root = component;
    } else {
      root = context.getViewRoot();     
    }
View Full Code Here

  protected void restoreAdditionalState(FacesContext context, Object state) {

  }

  protected Object getNextViewId(FacesContext context) {
    AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
    if (ajaxContext.isAjaxRequest(context)) {
      Object id = context.getExternalContext().getRequestMap().get(
          VIEW_SEQUENCE);
      if (null != id) {
        return id;
      }
View Full Code Here

   *
   * @see javax.faces.application.ViewHandler#createView(javax.faces.context.FacesContext,
   *      java.lang.String)
   */
  public UIViewRoot createView(FacesContext facesContext, String viewId) {
    AjaxContext ajaxContext = AjaxContext.getCurrentInstance(facesContext);
    // Check for simple keep new ViewId in navigation cases.
    ViewIdHolder viewIdHolder = ajaxContext.getViewIdHolder();
    UIViewRoot riRoot;
    if (null != viewIdHolder && viewIdHolder.skipNavigation(viewId)) {
      viewIdHolder.setViewId(viewId);
      riRoot = facesContext.getViewRoot();
    } else {
      UIViewRoot root = super.createView(facesContext, viewId);
      // TODO -setup render-kit where instead of Listener ?
      if (null == root || root instanceof AjaxViewRoot) {
        riRoot = root;
      } else {
        // HACK - since only RI 1.1 use new for create ViewRoot instead
        // of Application.createComponent,
        // we can use it as flag for custom creation.
        riRoot = (UIViewRoot) facesContext.getApplication()
            .createComponent(UIViewRoot.COMPONENT_TYPE);
        // fill properties from default.
        riRoot.setViewId(root.getViewId());
        riRoot.setLocale(root.getLocale());
        String renderKitId = root.getRenderKitId();
        // Fix facelets bug - for debug requests renderKitId is null !
        if (null == renderKitId) {
          renderKitId = calculateRenderKitId(facesContext);
        }
        riRoot.setRenderKitId(renderKitId);
      }
      // if (null ==
      // facesContext.getExternalContext().getRequestMap().get(VIEW_EXPIRED))
      // {
      // Clear ajax request flag ( except new view creation )- for navigation states, full page will be
      // send.
      if(null != facesContext.getViewRoot()){
        ajaxContext.setAjaxRequest(false);
      }
      // }
    }
    return riRoot;
  }
View Full Code Here

   * (non-Javadoc)
   *
   * @see org.ajax4jsf.framework.ViewHandlerWrapper#writeState(javax.faces.context.FacesContext)
   */
  public void writeState(FacesContext context) throws IOException {
    AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
    if (ajaxContext.isAjaxRequest(context)) {
      // TODO - detect case of JSF 1.1 + JSP. for all other we need own
      // state marker for
      // self-rendered regions only.
      // write marker html element - input field. Will be parsed in filter
      // and
      // replaced with real state.
      ResponseWriter writer = context.getResponseWriter();
      writer.startElement(HTML.SPAN_ELEM, null);
      writer.writeAttribute(HTML.id_ATTRIBUTE, STATE_MARKER_KEY, null);
      writer.writeAttribute(HTML.NAME_ATTRIBUTE, STATE_MARKER_KEY, null);
      // writer.writeAttribute("style", "display:none;", null);
      if (!ajaxContext.isSelfRender()) {
        super.writeState(context);
      }
      writer.endElement(HTML.SPAN_ELEM);
    } else {
      super.writeState(context);
View Full Code Here

   * @see org.ajax4jsf.framework.ViewHandlerWrapper#renderView(javax.faces.context.FacesContext,
   *      javax.faces.component.UIViewRoot)
   */
  public void renderView(FacesContext context, UIViewRoot root)
      throws IOException, FacesException {
    AjaxContext ajaxContext = AjaxContext.getCurrentInstance(context);
    // Broadcast Ajax events before rendering, to setup areas to update.
    if (root instanceof AjaxViewRoot) {
      AjaxViewRoot ajaxRoot = (AjaxViewRoot) root;
      Map requestMap = context.getExternalContext().getRequestMap();
      // broadcast ajax events before render response.
      if (ajaxContext.isAjaxRequest(context)
          && null == requestMap
              .get(AjaxRendererUtils.AJAX_AREAS_RENDERED)) {
        processAjaxEvents(context, ajaxRoot);
      }
      if (!context.getResponseComplete()) {
        super.renderView(context, root);
        if (ajaxContext.isAjaxRequest(context)
            && null == requestMap
                .get(AjaxRendererUtils.AJAX_AREAS_RENDERED)) {
          // HACK for MyFaces ( <f:view> tag not call renderers )
          if (_log.isDebugEnabled()) {
            _log
                .debug(Messages
                    .getMessage(Messages.AJAX_RESPONSE_NOT_RENDERED_INFO));
          }
          ajaxContext.setSelfRender(true);
          // ServletResponse response = (ServletResponse) context
          // .getExternalContext().getResponse();
          Object response = (Object) context.getExternalContext()
              .getResponse();
          try {
            response.getClass().getDeclaredMethod("reset",
                new Class[0]).invoke(response, new Object[0]);
            // response.reset();
          } catch (Exception e) {
            // Do nothing - we will use directly and reset
            // wrapper
          }
          ajaxContext.renderSubmittedAjaxRegion(context, true);
        }
      }
    } else {
      super.renderView(context, root);
    }
    ajaxContext.processHeadResources(context);
  }
View Full Code Here

TOP

Related Classes of org.ajax4jsf.context.AjaxContext

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.