Hi all,

Thanks for all the help.  Adding a binding "fullSubmit = true;" to my
AjaxObserveField did the trick.  Thanks again to everyone who helped me out.

Regards,

Joe

On Sat, May 29, 2010 at 9:57 PM, Joe Kramer <[email protected]> wrote:

> Hi Chuck,
>
> Honestly, I'm not sure.  I was just following the "Live Search" example
> from the ajax examples in Project Wonder.  How would I tell?
>
> Thanks,
>
> Joe
>
>
> On Sat, May 29, 2010 at 7:43 PM, Chuck Hill <[email protected]>wrote:
>
>> On May 29, 2010, at 6:09 PM, Joe Kramer wrote:
>>
>>  Hi all,
>>>
>>> Spoke to soon...  This all works if I am doing a full Wonder app, but
>>> unfortunately I am not extending ERXApplication, ERXSession, and
>>> ERXComponent in my application.  Is there a way to get this to work without
>>> going fully Wonder?
>>>
>>
>> That should work.  Are you doing a full or partial Ajax submit?
>>
>>
>> Chuck
>>
>>
>>  On Sat, May 29, 2010 at 5:44 PM, Joe Kramer <[email protected]>
>>> wrote:
>>> 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/chill%40global-village.net
>>>
>>> This email sent to [email protected]
>>>
>>
>> --
>> Chuck Hill             Senior Consultant / VP Development
>>
>> Practical WebObjects - for developers who want to increase their overall
>> knowledge of WebObjects or who are trying to solve specific problems.
>> http://www.global-village.net/products/practical_webobjects
>>
>>
>>
>>
>>
>>
>>
>>
>
 _______________________________________________
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