Timo,

Thanks for your response. Here's a practical example of how this component
will be used.

Let's say I have an employee table out in some database that has firstName,
lastName and department fields. I need to give HR a web page that allows
them to search for employees based on firstName, lastName and/or department.
Now I could easily design a page that has a search form with 3 TextField's
and a submit button to simply get the job done. But what if I have 30 or 40
tables and all of those tables require search pages....I don't want to
recreate the wheel each time if I can get away with it. So I design a
component (thanks to wicket) that accepts general search parameters and
handles the grunt work. Plus, I can make the search panel more powerful by
allowing the user to select how they want to search (using =, >, <, LIKE, IN
etc...).

Getting back to the employees example, I want the search form to look
something like this:

First Name: <SearchOperatorDropDown: =, LIKE, IN LIST> [Textfield to hold
search criteria entered by user]
Last Name: <SearchOperatorDropDown: =, LIKE, IN LIST> [Textfield to hold
search criteria entered by user]
Department: <SearchOperatorDropDown: =, LIKE, IN LIST> [Textfield to hold
search criteria entered by user]
[SearchButton]

Here is where I am stuck. If the user chooses to search by department using
the "in list" operator, I want to be able to replace, using AJAX, the
TextField component with a MultipleListChoice component so they can select 1
or more departments. I don't really need the form to be submitted every time
the search operator is changed but when I add the form to
AjaxRequestTarget.addComponent() the form is re-rendered and my changes are
lost.

Am I making any sense?

Thanks,
Jay

On Thu, Feb 14, 2008 at 3:12 PM, Timo Rantalaiho <[EMAIL PROTECTED]>
wrote:

> On Thu, 14 Feb 2008, Jay Hogan wrote:
> > Here's what I'm trying to do. I'm designing a SearchPanel component that
> > accepts a List<SearchField> and renders these items on a search form.
> The
> > SearchField object has properties for search field name, search operator
> (an
> > enum), search value and a list of allowed search operators. I am
> following
> > the dynamic form
> > elements<http://cwiki.apache.org/WICKET/forms-with-dynamic-elements.html
> >example
>
> Wow, that's a complicated search! I hope that you have a lot
> of data behind it.
>
> > This is where I run into problems. If I add the form component to the
> > AjaxRequestTarget provided by AjaxEditableChoiceLabel.onSubmit, any
> dirty
> > form components lose their values. I've tried to add a call to
>
> Hmm, so are you submitting the entire form when any
> AjaxEditableChoiceLabel is edited? Have you checked that it
> does submit the form? If not you might be better off by
> rolling your own component with AjaxFormSubmittingBehavior.
>
> > form.processin the
> > AjaxEditableChoiceLabel.onSubmit method in attempt to force the form to
> > update it's model, but that doesn't work. I also tried just adding the
> > ListItem to the AjaxRequestTarget but the component is not re-rendered
> by
> > the target.
>
> Have you tried adding a feedback panel to see if there are
> validation errors?
>
> I didn't understand very well what was the expected behavior
> of each input element and the form (a practical example would
> be handy).
>
> Best wishes,
> Timo
>
> --
> Timo Rantalaiho
> Reaktor Innovations Oy    <URL: http://www.ri.fi/ >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
============================================
Computer Science: solving today's problems tomorrow.

Reply via email to