• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ajaxtabbedpanel ??
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ajaxtabbedpanel ??


  • Subject: Re: ajaxtabbedpanel ??
  • From: Theodore Petrosky <email@hidden>
  • Date: Fri, 14 Jan 2011 03:56:16 -0800 (PST)


--- On Fri, 1/14/11, Michael Sharp <email@hidden> wrote:


> I do use TabbedPanel in an AMD so
> I'll try.
>
> Any errors in eclipse console or javascript errors in the
> browser?

No errors

WOD and java for AMD

EditUserModalDialog : AjaxModalDialog {
	id = "editUserDialog";
	showOpener = false;
	locked = true;
	slideDownDuration = "0.2";
	slideUpDuration = "0.2";
	action = editUserMeta;
	onClose = refreshUserList;
	closeUpdateContainerID ="tableBody";
	transitions=true;
}

AMD is called from an opener:

EditUserOpener: AjaxModalDialogOpener {
	label = current.fullNameString;
	dialogId = "editUserDialog";
	action = selectUserToEdit;
	title = EditUserMDTitle;
}

public WOActionResults editUserMeta() {
	TWTUser_EditMetaComponent nextPage = (TWTUser_EditMetaComponent)pageWithName(TWTUser_EditMetaComponent.class.getName());
	nextPage.setTheUser(aUserToEdit);

	return nextPage;
}


>
> Is it a problem with Tab2 or with any tab after the initial
> tab is displayed. If you give Tab2 the binding of
> "isSelected = true;" does it display the correct behaviour?
>
> > the tabpanel is on an AjaxModalDialog, when I create
> the modal dialog, I pass in a user object. user has a to one
> relationship with securitySettings.
>
> So when you say pass in an object, you mean supplied as a
> binding to the component where the AMD is declared?
>
> I can't reproduce the problem, maybe the contents of your
> .wod for TabbedPanel, Tab1 & Tab2 might help..

Here is all the code:


<style>
  .ajaxTabbedPanel {
    width: auto;
    border-bottom: 1px solid #c0c0c0;
    padding: 10px 0 0 20px;
  }

  .ajaxTabbedPanelTab-selected {
    display: inline;
    padding: 3px 7px 1px 7px;
    background: #ffffff;
    border: 1px solid #c0c0c0;
    border-bottom: 0;
  }

  .ajaxTabbedPanelTab-unselected {
    display: inline;
    padding: 2px 7px 0 7px;
    background: #f0f0f0;
    border: 1px solid #c0c0c0;
    border-bottom: 0;
    color: #c0c0c0;
  }

  .ajaxTabbedPanelTab-selected a {
    font-weight: bold;
    font-size: 12pt;
    color: #0066CC;
    padding: 6px;
  }

  .ajaxTabbedPanelTab-unselected a {
    font-size: 10pt;
    padding: 6px;
    color: #a0a0a0;
  }

  .ajaxTabbedPanelPanes {
    width:97%;
    padding-left: 0px;
    margin: 2%;
    min-height: 300px;
    overflow: auto;
  }

  .ajaxTabbedPanelPane-selected {
    list-style-type: none;
    display: block;
    padding: 10px;
  }

  .ajaxTabbedPanelPane-unselected {
    list-style-type: none;
    display: none;
  }

  .tabBox {
    border: 1px solid #c0c0c0;
    height: 400px;
    width: 620px;
    overflow: auto;
  }

  tr.meta1 {
  height:30px
  }
</style>
<wo:WOForm multipleSubmit = true>
  <div class = "tabBox">
    <webObject name = "TabbedPanel">
      <webObject name = "Tab1">
        <table class = "tableDefs" width = "550">
          <tr class = "meta1">
            <td width = "110">First Name</td>
            <td><wo:WOTextField value = "$theUser.firstName" size = "65" /></td>
          </tr>
           <tr class = "meta1">
            <td width="35%">Last Name</td>
            <td><wo:WOTextField value = "$theUser.lastName" size = "65" /></td>
          </tr>
           <tr class = "meta1">
            <td>Title</td>
            <td><webobject name = "EmployeeTitlePopUp" /></td>
          </tr>
        </table>

      </webObject>
      <webObject name = "Tab2">

<table width = "250">
          <tr>
            <td>
              <div>Sees Employee Management:
                <wo:WOCheckBox checked = "$theSecuritySettings.seesUserManagement" />
                <br />
                <br />
                Sees Client Management:
                <wo:WOCheckBox checked = "$theSecuritySettings.seesClientManagement" />
                <br />
                <br />
                Sees Settings Management:
                <wo:WOCheckBox checked = "$theUser.securitySettings.seesSettingsManagement" />
                <br />
                <br />
                Sees Work Management:
                <wo:WOCheckBox checked = "$theUser.securitySettings.seesWorkManagement" />
                <br />
                <br />
                Sees Billing Management:
                <wo:WOCheckBox checked = "$theUser.securitySettings.seesBillingManagement" />
                <br />
                <br />
                Sees Time Management:
                <wo:WOCheckBox disabled = application.noTimeTracking checked = "$theUser.securitySettings.seesTimeManagement" />
                <br />
                <br />
                Sees Task Management:
                <wo:WOCheckBox disabled = application.noTimeTracking checked = "$theUser.securitySettings.seesTaskManagement" />
              </div>
              <br />
            </td>
          </tr>
        </table>

 </webObject>
    </webObject>
  </div>
  <br />
  <wo:AjaxSubmitButton action = "$save" value = "Save" /><wo:AjaxSubmitButton action = "$cancelEdits" value = "Cancel" />
</wo:WOForm>
<div id = "busydiv" style = "display: none;"> <webobject name = "BusyImage" /> Loading... </div>
<p style = "width: 600px;"> </p>

WOD


TabbedPanel: AjaxTabbedPanel {
	id = "tabbedPanel";
	busyDiv = "busydiv";
}

Tab1: AjaxTabbedPanelTab {
	id = "tab1";
	name = "Employee";
	isSelected = true;
}

Tab2: AjaxTabbedPanelTab {
	name = "Menus";
	refreshOnSelect=true;

}

BusyImage : WOImage {
  framework = "Ajax";
  filename = "wait30.gif";
}

EmployeeTitlePopUp : WOPopUpButton {
	list = eTitleList;
	selection = theUser.employeeTitle;
	displayString = theUser.employeeTitle.eTitleTitle;
	item = theUser.employeeTitle;

}

JAVA

package com.eltek.components;

import com.eltek.model.EmployeeTitle;
import com.eltek.model.SecuritySettings;
import com.eltek.model.User;
import com.webobjects.appserver.WOContext;
import com.webobjects.appserver.WOResponse;

import er.ajax.AjaxModalDialog;
import er.extensions.components.ERXComponent;
import com.webobjects.appserver.WOActionResults;
import com.webobjects.eoaccess.EOGeneralAdaptorException;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSLog;
import com.webobjects.foundation.NSValidation.ValidationException;

public class EditUserMeta extends ERXComponent {
    public String formValueA;
	public String formValueB;
	public String formValueC;
	private User theUser;
	public NSArray<EmployeeTitle> eTitleList;
	private SecuritySettings theSecuritySettings;


	public EditUserMeta(WOContext context) {
        super(context);
    }

	public void appendToResponse(WOResponse response, WOContext context) {

	eTitleList = EmployeeTitle.fetchEmployeeTitles(theUser().editingContext(), EmployeeTitle.IS_ACTIVE.eq(true), EmployeeTitle.E_TITLE_TITLE.ascs());

	super.appendToResponse(response, context);
	}

	public WOActionResults save() {

		try {
			theUser().editingContext().saveChanges();
		} catch (ValidationException e) {
			NSLog.out.appendln("ValidationException e = " + e.getMessage());

		} catch (EOGeneralAdaptorException e) {
			NSLog.out.appendln("EOGeneralAdaptorException e = "
					+ e.getMessage());
		}

		theUser().editingContext().revert();

		AjaxModalDialog.close(context());
		return null;
	}

	public void setTheUser(User theUser) {
		this.theUser = theUser;

		//experiment with new accessor for the security settings

		this.setTheSecuritySettings(theUser.securitySettings());
	}

	public User theUser() {
		return theUser;
	}

	public WOActionResults cancelEdits() {

		theUser().editingContext().revert();

		AjaxModalDialog.close(context());
		return null;
	}

	public void setTheSecuritySettings(SecuritySettings theSecuritySettings) {
		this.theSecuritySettings = theSecuritySettings;
	}

	public SecuritySettings theSecuritySettings() {
		return theSecuritySettings;
	}
}


>
> Sharpy..
>
> >
> > on panel one, I am displaying and editing user
> metadata. on panel two, I want to edit some security
> settings.
> >
> > if i put on tab one:
> > see user area <wo:WOCheckBox checked =
> "$theUser.securitySettings.seesUserManagement" />
> >
> > I get the checkbox with this user seesUserManagement
> setting.
> >
> > However, if this same code is on tab two, there is no
> connection to the object.
> >
> >
> > <wo:WOForm multipleSubmit = true;>
> >  <div class = "tabBox">
> >    <webObject name = "TabbedPanel">
> >      <webObject name = "Tab1">
> >        <table class =
> "tableDefs" width = "550">
> >          <tr class =
> "meta1">
> >            <td width
> = "110">First Name</td>
> >           
> <td><wo:WOTextField value = "$theUser.firstName"
> size = "65" /></td>
> >          </tr>
> >
> >        </table>
> > <br/><br/>
> >
> > see user area <wo:WOCheckBox checked =
> "$theUser.securitySettings.seesUserManagement" />
> >
> > </webObject  name = "Tab1">
> >
> > <webObject name = "Tab2">
> >
> > <wo:WOCheckBox checked =
> "$theUser.securitySettings.seesUserManagement" />
> >
> > </webObject name = "Tab2">
> > </webObject name = "TabbedPanel">
> > </div>     
> > <wo:AjaxSubmitButton action = "$cancelEdits" value
> = "Cancel" /><wo:AjaxSubmitButton action = "$save"
> value = "Save" />
> > </wo:WOForm>
> >
> >
> > why doesn't tab2 connect to
> "$theUser.securitySettings.seesUserManagement"
> >
> > on tab1 the checkbox is checked (correct) however on
> tab2 no check.
> >
> > I don't even know if I am explaining this clearly
> enough.
> >
> > Help, please.
> >
> > Ted
> >
> >
> >
> >
> > _______________________________________________
>

Any help would be appreciated


Ted





 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: ajaxtabbedpanel ??
      • From: Michael Sharp <email@hidden>
References: 
 >Re: ajaxtabbedpanel ?? (From: Michael Sharp <email@hidden>)

  • Prev by Date: Re: OGNL binding failing for WOImageButton
  • Next by Date: Hudson and frameworks reference
  • Previous by thread: Re: ajaxtabbedpanel ??
  • Next by thread: Re: ajaxtabbedpanel ??
  • Index(es):
    • Date
    • Thread