myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Lubke <Ryan.Lu...@Sun.COM>
Subject Re: dataScroller onclick with Sun RI
Date Fri, 02 Nov 2007 18:17:28 GMT
Mike Kienenberger wrote:
> That'd be my suggestion.   File it against Tomahawk.   I'd think the
> patch would be pretty simple to create, but you're probably in a
> better position to judge that than I am.
>
> I just compared the tlds for MyFaces Core and JSF RI 1.1.
>
> Apparently RI 1.1 doesn't support onclick, but MyFaces does.   That
> seems like a bug as well.
>
> http://myfaces.apache.org/impl/tlddoc/h/commandLink.html
> http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/tlddocs/h/tld-summary.html
> http://java.sun.com/javaee/javaserverfaces/1.1_01/docs/api/
>
> Ryan,
>
> Do you know if this is a MyFaces Core bug, a JSF RI bug, or a JSF 1.1
> spec issue?   
Yeah, it was a conscience decision in 1.1.  onclick wasn't exposed
to prevent users from overwriting the generated onclick from the renderer.

This was resolved in 1.2 by wrapping the user specified content and invoking
both.
> The RI 1.1 tld page seems to indicate that an onclick
> attribute isn't supported (nothing explicitly says it is not, though),
>   
It's best to treat the TLD docs the same as signature tests.  Exposing 
the attribute
when not defined in the TLD docs breaks portability between implementations.
> but the RI 1.1 api docs do contain setOnClick() and getOnClick(),
> which indicates that one could programmically set the values even if
> the tag doesn't provide it!
>   
Yep, they do.  I'm pretty sure though, the renderer doesn't call call 
those methods (at least
in the 1.1 RI).






>
> On 11/2/07, Stewart Cambridge <stewart.cambridge@gmail.com> wrote:
>   
>> Ok. Should I file a bug report then?
>>
>> On 02/11/2007, Mike Kienenberger <mkienenb@gmail.com> wrote:
>>     
>>> That seems pretty likely, then.
>>>
>>> The patch would be to change the kind of link created to specifically
>>> be a Tomahawk command link.
>>>
>>> Also, depending on how the onClick value is being set, there may not
>>> be explicit support for it in Sun RI.   It may be that dataScroller is
>>> setting it as a generic attribute.
>>>
>>> On 11/2/07, Stewart Cambridge <stewart.cambridge@gmail.com> wrote:
>>>       
>>>> No, I'm not very sure. However, my reasons for thinking so are:
>>>> (1) The CommandLink is created using:
>>>> HtmlCommandLink link = (HtmlCommandLink) application
>>>>                         .createComponent(HtmlCommandLink.COMPONENT_TYPE);
>>>> where the application object is a Sun RI object,
>>>> and
>>>> (2) the HTML rendered to the browser looks like a Sun RI rendering and
>>>> looks different from a MyFaces rendering of CommandLink.
>>>>
>>>> In my debugger the class of the link is simply reported as a
>>>> javax.faces.component.html.HtmlCommandLink.
>>>>
>>>> What's interesting is that the Sun RI v1.1 CommandLink component has a
>>>> setOnclick() method, even though the <h:commandLink/> tag does not.
>>>> Otherwise I'm sure it would be throwing some kind of exception...
>>>>
>>>> On 02/11/2007, Mike Kienenberger <mkienenb@gmail.com> wrote:
>>>>         
>>>>> If t:dataScroller is trying to use a nonstandard attribute with
>>>>> h:commandLink rather than t:commandLink, that would be a bug.
>>>>>
>>>>> Are you sure that it's using the core commandLink component rather
>>>>> than the Tomahawk commandLink component?
>>>>>
>>>>> On 11/2/07, Stewart Cambridge <stewart.cambridge@gmail.com> wrote:
>>>>>           
>>>>>> tomahawk 1.1.6
>>>>>> Sun RI 1.1_01
>>>>>>
>>>>>> I realise that both MyFaces CommandLInk and Sun RI 1.2 CommandLink
can
>>>>>> handle the onclick attribute nicely, and I'll be upgrading ASAP,
but
>>>>>> meanwhile I need to workaround it.
>>>>>>
>>>>>> What I've done is augmented the Tomahawk DataScroller to pass through
>>>>>> onkeypress and onmousedown and I'm using these attributes instead.
>>>>>>
>>>>>> On 02/11/2007, rlubke <Ryan.Lubke@sun.com> wrote:
>>>>>>             
>>>>>>> What version of the RI and what version of Tomahawk?
>>>>>>>
>>>>>>>
>>>>>>> Stewart Cambridge wrote:
>>>>>>>               
>>>>>>>> Hi Myfaces Users,
>>>>>>>>
>>>>>>>> I'm using a Tomahawk dataScroller component with a Tomahawk
dataTable on a
>>>>>>>> page.
>>>>>>>> I have the onclick attribute set on the dataScroller, with
the idea
>>>>>>>> that each rendered link for first, last, previous, next,
etc would
>>>>>>>> have its onclick attribute set.
>>>>>>>>
>>>>>>>> Unfortunately, the onclick is not being rendered and I wondered
if (a)
>>>>>>>> it was because I was using the Sun RI rather than MyFaces,
and Sun's
>>>>>>>> CommandLink doesn't support onclick, or if (b) I was just
using it
>>>>>>>> incorrectly. Could someone enlighten me please?
>>>>>>>>
>>>>>>>> Tracing through in a debugger seems to show the DataScroller
setting
>>>>>>>> onclick on the CommandLink each facet (link.setOnclick()),
so I
>>>>>>>> thought that it was using Tomahawk's CommandLink quite happily.
But
>>>>>>>> it's rendering as though it were a Sun RI CommandLink.
>>>>>>>>
>>>>>>>> Any advise please?
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>>
>>>>>>>> Stewart
>>>>>>>>
>>>>>>>>
>>>>>>>>                 
>>>>>>> --
>>>>>>> View this message in context: http://www.nabble.com/dataScroller-onclick-with-Sun-RI-tf4737384.html#a13551129
>>>>>>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>>               


Mime
View raw message