Submit Button missing context and image support
-----------------------------------------------

                 Key: TAPESTRY-2434
                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2434
             Project: Tapestry
          Issue Type: Improvement
          Components: tapestry-core
    Affects Versions: 5.0
            Reporter: Cherry Development


The Submit component has two major deficiencies:
1) You cannot use an image submit ( <input type="image" /> )
2) You cannot pass any context into the button's "selected" event handler.

Issue 1 currently requires you to create your own submit button type, though 
this is simple if you don't mind copy/pasting the current Submit class and 
changing one line.

Issue 2 is a much bigger problem.  If you have a submit button in a loop and 
need to know (for example) which item was current in the loop when it was 
rendered, you have to set "defer" to false, then record the context information 
in your onSelected handler.  You often can't perform a useful action directly 
in your deferred onSelected handler because you shouldn't change the structure 
of your bound data in the middle of a form submit, or because you should not 
perform your action until you're assured the form has validated.
So, you now have to record the context that you need to perform the action, 
PLUS the action that needs to be performed, and then perform it all inside of 
your onSuccess handler!  Frankly, this seems so inelegant as to have been an 
oversight.

On the Tapestry Wiki, at 
http://wiki.apache.org/tapestry/Tapestry5SubmitContextComponent there is a 
basic implementation, though it has several weaknesses:
1) It was written for 5.0.4 and doesn't compile without changing a few minor 
things, nor does it support RenderDisabled.
2) It only supports a single context parameter and it makes no effort to 
properly encode it when rendered to the client.

So, based on the concept used on the wiki code (namely, using a <hidden> field 
to store the context) I made a few small modifications to the Tapestry 5.0.11 
Submit.java class that I will attach to this issue.

I grant ownership of the attached code to the Apache Software Foundation.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to