You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Joseph Hannon <ja...@gmail.com> on 2005/08/30 16:21:24 UTC

Multi-page form design question

I am beginning to design a multi-page form piece in my application and would 
like input on ways to do this in Tapestry and if there is already built in 
stuff I can use or add.

The top part of each page will have a contrib:table displaying the same 
shared List of objects across all pages. The bottom part of each page will 
be a tab control I will write, each tab containing it's own form of 
controls. Clicking through the tabs will show each tab's form contents based 
on the item selected in the table. Staying on a tab and changing the 
selection in the table will update the tab form with the new table object's 
attributes. I was thinking of creating a template, class, and page for each 
tab so that all would not be in a single template, class, page making it 
potentially large. I am also thinking of making the top part of the pages 
(contrib:table) a component so that I don't duplicate code and get some 
reuse.

Does this sound like a reasonable approach? Does it make sense when clicking 
a tab to route to a separate class for that tab (each tab having it's own 
class)? Have you done this and have experiences you would share? Is there 
some way to do this that makes sense in Tapestry or is there something I can 
grab and add to the mix? Would you handle this situation differently? I 
would like to hear what you think.

Thanks!
Joseph

Re: Multi-page form design question

Posted by Tomáš Drenčák <to...@gmail.com>.
I think it's good to use some AJAX components from Tacos library to do
better UI. It's easy to make conditional blocks, then refresh them
asynchronous on the server and finally post it back to page.
Everything without page reloading.


2005/8/30, Darío Vasconcelos <da...@gmail.com>:
> For complicated input sequences that would use several pages
> otherwise, I prefer using only one page and creating a rather
> complicated .html with lots of conditionals that display the part of
> the process that corresponds to the "state" of the page. This helps me
> wiring complicated logic -when one form would have several different
> exit and "back" options- and keep all my logic in the same .java.
> Additionally, this makes it somewhat easier to create stateless pages
> -by keeping track of properties- and definitely saves you a lot of
> typing (especially creating all those abstract methods)
> 
> Of course, I do all this while trying hard to componentize the .html,
> so it doesn't grow too large.
> 
> Regards,
> 
> 
> Dario
> 
> On 8/30/05, Joseph Hannon <ja...@gmail.com> wrote:
> > I am beginning to design a multi-page form piece in my application and would
> > like input on ways to do this in Tapestry and if there is already built in
> > stuff I can use or add.
> >
> > The top part of each page will have a contrib:table displaying the same
> > shared List of objects across all pages. The bottom part of each page will
> > be a tab control I will write, each tab containing it's own form of
> > controls. Clicking through the tabs will show each tab's form contents based
> > on the item selected in the table. Staying on a tab and changing the
> > selection in the table will update the tab form with the new table object's
> > attributes. I was thinking of creating a template, class, and page for each
> > tab so that all would not be in a single template, class, page making it
> > potentially large. I am also thinking of making the top part of the pages
> > (contrib:table) a component so that I don't duplicate code and get some
> > reuse.
> >
> > Does this sound like a reasonable approach? Does it make sense when clicking
> > a tab to route to a separate class for that tab (each tab having it's own
> > class)? Have you done this and have experiences you would share? Is there
> > some way to do this that makes sense in Tapestry or is there something I can
> > grab and add to the mix? Would you handle this situation differently? I
> > would like to hear what you think.
> >
> > Thanks!
> > Joseph
> >
> >
> 
> 
> --
> I have enough money to last me the rest of my life, unless I buy something.
>    Jackie Mason
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


Re: Multi-page form design question

Posted by Darío Vasconcelos <da...@gmail.com>.
For complicated input sequences that would use several pages
otherwise, I prefer using only one page and creating a rather
complicated .html with lots of conditionals that display the part of
the process that corresponds to the "state" of the page. This helps me
wiring complicated logic -when one form would have several different
exit and "back" options- and keep all my logic in the same .java.
Additionally, this makes it somewhat easier to create stateless pages
-by keeping track of properties- and definitely saves you a lot of
typing (especially creating all those abstract methods)

Of course, I do all this while trying hard to componentize the .html,
so it doesn't grow too large.

Regards,


Dario

On 8/30/05, Joseph Hannon <ja...@gmail.com> wrote:
> I am beginning to design a multi-page form piece in my application and would
> like input on ways to do this in Tapestry and if there is already built in
> stuff I can use or add.
> 
> The top part of each page will have a contrib:table displaying the same
> shared List of objects across all pages. The bottom part of each page will
> be a tab control I will write, each tab containing it's own form of
> controls. Clicking through the tabs will show each tab's form contents based
> on the item selected in the table. Staying on a tab and changing the
> selection in the table will update the tab form with the new table object's
> attributes. I was thinking of creating a template, class, and page for each
> tab so that all would not be in a single template, class, page making it
> potentially large. I am also thinking of making the top part of the pages
> (contrib:table) a component so that I don't duplicate code and get some
> reuse.
> 
> Does this sound like a reasonable approach? Does it make sense when clicking
> a tab to route to a separate class for that tab (each tab having it's own
> class)? Have you done this and have experiences you would share? Is there
> some way to do this that makes sense in Tapestry or is there something I can
> grab and add to the mix? Would you handle this situation differently? I
> would like to hear what you think.
> 
> Thanks!
> Joseph
> 
> 


-- 
I have enough money to last me the rest of my life, unless I buy something.
    Jackie Mason

---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org


RE: Multi-page form design question

Posted by Patrick Casey <pa...@adelphia.net>.
	Joseph,

	I'd offer two suggestions:

	1) You'll save yourself a lot of trouble if you use an approach
similar to @Border and have your table form "wrap" an edit area. Then you
can embed different edit areas as you see fit and keep the table in place.
Check out the doc on @Border to give you an idea of how to do it, although
you don't have to do it with an @Border component.

	2) You can usually get a more responsive UI if, instead of each tab
being a different form, each tab is a different div and you just hide/unhide
them (a client side operation) in response to user activity. Robert was
going to package up a Tab Control of mine that did just that when he has
some spare time, so you might want to touch base with him and see if he's
gotten that put together yet; it may help you out some.

	--- Pat

> -----Original Message-----
> From: Joseph Hannon [mailto:jah.volcano@gmail.com]
> Sent: Tuesday, August 30, 2005 7:21 AM
> To: tapestry-user@jakarta.apache.org
> Subject: Multi-page form design question
> 
> I am beginning to design a multi-page form piece in my application and
> would
> like input on ways to do this in Tapestry and if there is already built in
> stuff I can use or add.
> 
> The top part of each page will have a contrib:table displaying the same
> shared List of objects across all pages. The bottom part of each page will
> be a tab control I will write, each tab containing it's own form of
> controls. Clicking through the tabs will show each tab's form contents
> based
> on the item selected in the table. Staying on a tab and changing the
> selection in the table will update the tab form with the new table
> object's
> attributes. I was thinking of creating a template, class, and page for
> each
> tab so that all would not be in a single template, class, page making it
> potentially large. I am also thinking of making the top part of the pages
> (contrib:table) a component so that I don't duplicate code and get some
> reuse.
> 
> Does this sound like a reasonable approach? Does it make sense when
> clicking
> a tab to route to a separate class for that tab (each tab having it's own
> class)? Have you done this and have experiences you would share? Is there
> some way to do this that makes sense in Tapestry or is there something I
> can
> grab and add to the mix? Would you handle this situation differently? I
> would like to hear what you think.
> 
> Thanks!
> Joseph



---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org