+1 from me as well

Werner


Am 14.05.10 13:42, schrieb Martin Marinschek (JIRA):

     [ 
https://issues.apache.org/jira/browse/TOMAHAWK-1504?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12867481#action_12867481
 ]

Martin Marinschek commented on TOMAHAWK-1504:
---------------------------------------------

Hi Leonardo,

cool stuff - like your suggestion.

Question: t:autoScroll is a client-behaviour, and a normal tag, right? So I 
will just have to add it once to a page if I use Mojarra, right?

nice!

best regards,

Martin

Update autoscroll feature to JSF 2
----------------------------------

                 Key: TOMAHAWK-1504
                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-1504
             Project: MyFaces Tomahawk
          Issue Type: Improvement
          Components: JSF2
    Affects Versions: 1.1.9
            Reporter: Leonardo Uribe
            Assignee: Leonardo Uribe
         Attachments: TOMAHAWK-1504-1.patch


In jsf 1.1. and 1.2, autoscroll behavior had the following problems:
- It is myfaces specific feature, because requires add some code on renderers. 
In ri it will not work
- It only works for h:commandXXX and t:commandXXX components, so if you use 
trinidad (override h:commandXXX renderers) it will not work.
- Since it requires render some javascript at the end of<body>  tag, it requires use 
DefaultAddResource or<t:documentBody>
With jsf 2.0 we have the chance to get rid all this problems and make this 
feature work with other libraries.
First a short review about this feature. To make it work, it requires the 
following points:
- Render an<input type="hidden" name="autoScroll" />  that will contain the 
position on the page (x,y)
- Render a function called getScrolling() ant the end of the page that 
calculate the value and optionally render the command that scroll.
- Render the script on each link to call getScrolling() function and assign its 
value to the hidden field (using oamSetHiddenInput).
The idea include add the following code:
- Create a new client behavior tag called t:autoscroll that adds the script required on 
each "command" component.
- Create a new component that just render the hidden field. It will be added as 
a component resource.
- Create a new component that render autoScroll script. It will be added as a 
component resource.
- Add some code on ResourceViewHandler, to add the two previous components to 
the component tree as transient each time the view is rendered, but only if 
org.apache.myfaces.AUTO_SCROLL web param is true or t:autoscroll is used on the 
current page.
Now, the proposal will work in following scenarios like this:
- org.apache.myfaces.AUTO_SCROLL is enabled, myfaces core is used, so all 
h:commandXXX and t:commandXXX works like in jsf 1.1 and jsf 1.2.
- org.apache.myfaces.AUTO_SCROLL is disabled and myfaces core is used, hidden 
field and script will be added only if t:autoscroll is used. By default, 
h:commandXXX and t:commandXXX will not have autoscroll script, so t:autoscroll 
is required to add this script.
- RI (Mojarra) is used, hidden field and script will be added only if 
t:autoscroll is used. By default, h:commandXXX and t:commandXXX will not have 
autoscroll script, so t:autoscroll is required to add this script.



Reply via email to