Hi Ricardo,

I started a new project and just copied everything below and it works fine.
 So there is something screwy in my actual project.  I will have to figure
out what is causing the issue.

Thanks for all the help!

Joe Kramer

CyberApps, Inc.

On Sat, May 29, 2010 at 5:03 PM, Ricardo J. Parada <[email protected]> wrote:

>
>
> It seems to work for me.  I just took you code and typed it into the
> component editor.  Pasting it was giving me some errors, so I assume there
> were some weird control characters pasted or something.  That's why I typed
> it in.  It looks like this:
>
> .html
>
>
> <wo:form>
> <wo name="FormValuesObserveField">
>  First Name: <wo name="FirstNameFilterText"/>
>  Last Name: <wo name="LastNameFilterText"/>
> </wo>
>
> <wo name="ResultsContainer">
>  <p>Last: <wo:str value="$lastNameFilter"/></p>
>  <p>First: <wo:str value="$firstNameFilter"/></p>
> </wo>
> </wo:form>
>
> .wod
>
> FormValuesObserveField : AjaxObserveField {
>  observeFieldFrequency = "0.5";
>  observeDelay = "0.5";
>  updateContainerID = "results";
> }
>
>
> FirstNameFilterText : WOTextField {
>  value = firstNameFilter;
>  id = "firstNameFilter";
> }
>
> LastNameFilterText : WOTextField {
>  value = lastNameFilter;
>  id = "lastNameFilter";
> }
>
>
> ResultsContainer : AjaxUpdateContainer {
>  id = "results";
> }
>
>
> .java
>
>
>  public String firstNameFilter;
>  public String lastNameFilter;
>
>
>
>
>
>
>
> On May 29, 2010, at 1:52 PM, Joe Kramer wrote:
>
> I do have this whole component wrapped in a WOForm.  In addition to the
> fields I described there are a couple of WOSubmitButtons that submit the
> whole form (cancel and save type actions).
>
> Thanks,
>
> Joe Kramer
>
> CyberApps, Inc.
>
> On Sat, May 29, 2010 at 10:45 AM, Ricardo J. Parada <[email protected]>wrote:
>
>> Do you have a WOForm wrapping the text fields?
>>
>>
>> On May 29, 2010, at 12:56 PM, Joe Kramer wrote:
>>
>> Hi Farrukh,
>>
>> Thanks for your reply.  I moved the AjaxObserveField inside the
>> AjaxUpdateContainer, but I'm still getting the same behavior where values
>> that haven't just been set are set to null instead of maintaining their
>> previous values.  Any other ideas?
>>
>> I can hack a solution where I just won't do anything in the setter if the
>> value is being set to null, but the issue there is if the user deletes all
>> the text in an input field, then the result list will not get updated to
>> display all the values.
>>
>> Thanks again for any help,
>>
>> Joe Kramer
>>
>> CyberApps, Inc.
>>
>> On Sat, May 29, 2010 at 9:35 AM, Farrukh Ijaz <
>> [email protected]> wrote:
>>
>>> Try move the FormValuesObserveField component inside the ResultsContainer
>>> and test it.
>>>
>>> <webobject name = "ResultsContainer">
>>> <webobject name = "FormValuesObserveField">
>>>
>>> <div class="formInput">First Name: <webobject name =
>>> "FirstNameFilterText"/></div>
>>> <div class="formInput">Last Name: <webobject name = "LastNameFilterText"
>>> /></div>
>>>
>>> </webobject>
>>> ... (list of results)
>>> </webobject>
>>>
>>>
>>> On 2010-05-29, at 7:30 PM, Joe Kramer wrote:
>>>
>>> Hi everyone,
>>>
>>> Sorry to be a bother, but I was wondering if anyone had any ideas for me
>>> on this issue.  If it would help, I could attach a small example app that
>>> demonstrates this behavior.
>>>
>>>  Thanks for any help,
>>>
>>> Joe Kramer
>>>
>>> CyberApps, Inc.
>>>
>>> On Thu, May 27, 2010 at 8:00 AM, Joe Kramer <[email protected]>wrote:
>>>
>>>> Hi all,
>>>>
>>>> I am trying to create a component that displays a list of people and
>>>> then lets the user filter this list based on a few criteria (first name,
>>>> last name, etc.).  I haven't been using ajax until very recently, so I'm
>>>> sorry if this is an easy newbie question.  The setup I have is I am
>>>> observing multiple fields (first name input, last name input) with the same
>>>> AjaxObserveField component and the AjaxObserveField updates an
>>>> AjaxUpdateContainer (a repetition with the qualified result list).  When I
>>>> type something in just the last name input, everything works as expected.
>>>>  Same with just the first name input.  But if I've typed something in the
>>>> last name input and then I type something in the first name input, the
>>>> variable storing the last name in the component gets set to null (via a
>>>> setter method) and, as a consequence, the results are only qualified using
>>>> the first name input.  I have no idea why the value is getting set to null
>>>> and I'm hoping someone can shed some light on what's going on and how to 
>>>> fix
>>>> this issue.  I'm using Webobjects 5.4.3 and a version of Project WOnder 
>>>> that
>>>> is about a month old.  Here's the relevant stuff from the component:
>>>>
>>>> <webobject name = "FormValuesObserveField">
>>>>
>>>> <div class="formInput">First Name: <webobject name =
>>>> "FirstNameFilterText"/></div>
>>>> <div class="formInput">Last Name: <webobject name =
>>>> "LastNameFilterText"/></div>
>>>>
>>>> </webobject>
>>>>
>>>> <webobject name = "ResultsContainer">
>>>> ... (list of results)
>>>> </webobject>
>>>>
>>>>
>>>> FormValuesObserveField : AjaxObserveField {
>>>>   observeFieldFrequency = "0.5";
>>>>   observeDelay = "0.5";
>>>>   updateContainerID = "results";
>>>> }
>>>>
>>>> FirstNameFilterText : WOTextField {
>>>>   value = firstNameFilter;
>>>>   id = "firstNameFilter";
>>>> }
>>>>
>>>> LastNameFilterText : WOTextField {
>>>>   value = lastNameFilter;
>>>>   id = "lastNameFilter";
>>>> }
>>>>
>>>>  ResultsContainer : AjaxUpdateContainer {
>>>>   id = "results";
>>>> }
>>>>
>>>>
>>>> In the java file I have:
>>>>
>>>>  private String _firstNameFilter;
>>>>
>>>> private String _lastNameFilter;
>>>>
>>>> private NSArray _filteredArray;
>>>>
>>>> public String firstNameFilter() {
>>>>   return _firstNameFilter;
>>>> }
>>>>
>>>>  public void setFirstNameFilter(String value) {
>>>>   _firstNameFilter = value;
>>>>   _filteredArray = null;
>>>> }
>>>>
>>>>  public String lastNameFilter() {
>>>>   return _lastNameFilter;
>>>> }
>>>>
>>>>  public void setLastNameFilter(String value) {
>>>>   _lastNameFilter = value;
>>>>   _filteredArray = null;
>>>> }
>>>>
>>>>  public NSArray allClientsAfterFilter() {
>>>>   if (_filteredArray == null) {
>>>>     EOQualifier lastNameQual = null;
>>>>     if (_lastNameFilter != null) {
>>>>       lastNameQual = ERXQ.likeInsensitive("personInfo.lastName",
>>>> _lastNameFilter + "*");
>>>>     } else {
>>>>       lastNameQual = ERXQ.likeInsensitive("personInfo.lastName", "*");
>>>>     }
>>>>     EOQualifier firstNameQual = null;
>>>>     if (_firstNameFilter != null) {
>>>>       firstNameQual = ERXQ.likeInsensitive("personInfo.firstName",
>>>> _firstNameFilter + "*");
>>>>     } else {
>>>>       firstNameQual = ERXQ.likeInsensitive("personInfo.firstName", "*"
>>>> );
>>>>     }
>>>>
>>>>
>>>>
>>>>     EOQualifier qual = ERXQ.and(lastNameQual, firstNameQual);
>>>>     _filteredArray =
>>>> EOSortOrdering.sortedArrayUsingKeyOrderArray(EOQualifier.filteredArrayWithQualifier(allClients(),
>>>> qual), null);
>>>>   }
>>>>   return _filteredArray;
>>>> }
>>>>
>>>> Thanks for any help on this.
>>>>
>>>> Regards,
>>>>
>>>> Joe Kramer
>>>>
>>>> CyberApps, Inc.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Webobjects-dev mailing list      ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> http://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com
>>>
>>> This email sent to [email protected]
>>>
>>>
>>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> http://lists.apple.com/mailman/options/webobjects-dev/rparada%40mac.com
>>
>> This email sent to [email protected]
>>
>>
>>
>
>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to