Package

Source Code of AjaxTabbedPanelDemo

import com.webobjects.appserver.WOComponent;
import com.webobjects.appserver.WOContext;
import com.webobjects.appserver.WOResponse;
import com.webobjects.foundation.NSTimestamp;

import er.ajax.AjaxUtils;

public class AjaxTabbedPanelDemo extends WOComponent {

    private boolean _isRefreshingContentSelected;
    public String formValueA;
    public String formValueB;
    public String formValueC;
   
  public AjaxTabbedPanelDemo(WOContext context) {
        super(context);
    }


    public boolean isSlowLoadingContentSelected() {
      return "SlowLoadingContent".equals(theSession().selectedTab);
    }

    public void setIsSlowLoadingContentSelected(boolean isSelected) {
      if (isSelected) theSession().selectedTab = "SlowLoadingContent";
    }

    public boolean isInlineContentSelected() {
      return "InlineContent".equals(theSession().selectedTab);
    }

    public void setIsInlineContentSelected(boolean isSelected) {
      if (isSelected) theSession().selectedTab = "InlineContent";
    }


    public boolean isRefreshingContentSelected() {
      return "RefreshingContent".equals(theSession().selectedTab);
    }

    public void setIsRefreshingContentSelected(boolean isSelected) {
      if (isSelected) theSession().selectedTab = "RefreshingContent";
    }

    public Session theSession() {
      return (Session)session();
    }

    /**
     * Add script used in component used on tab to page.  If only there was a better way to do this.
     *
     * @see com.webobjects.appserver.WOComponent#appendToResponse(com.webobjects.appserver.WOResponse, com.webobjects.appserver.WOContext)
     *
     * @param response {@link WOResponse} being appended to
     * @param context {@link WOContext} of the response
     */
    @Override
    public void appendToResponse(WOResponse response, WOContext context) {
      // effects.js and dragdrop.js are not used by AjaxTabbedPanel but are used by the components on SlowLoadingComponent
      // BUT as SlowLoadingComponent is not rendered when the page is first shown, the Ajax framework has no
      // way to know that the scripts for the Ajax components that will be used on that tab need to be loaded.
      // Those objects don't even exist yet, so there is no way for them to tell what is needed.
      // Note also that only dragging works, I am not sure yet what is wrong with the dropping.
      AjaxUtils.addScriptResourceInHead(context, response, "effects.js");
      AjaxUtils.addScriptResourceInHead(context, response, "dragdrop.js");

      super.appendToResponse(response, context);
    }

    public NSTimestamp now() {
      return new NSTimestamp();
    }

    public WOComponent save() {
      System.out.println("formValueA " + formValueA);
      System.out.println("formValueB " + formValueB);
      System.out.println("formValueB " + formValueC);
      return context().page();
    }
}
TOP

Related Classes of AjaxTabbedPanelDemo

TOP
Copyright © 2018 www.massapi.com. 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.