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?

Thanks,

Joe Kramer

CyberApps, Inc.

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/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to