Agreed. The port to Trinidad did _not_ cause this problem. My initial
diagnosis was incorrect and your point on Tiles demonstrating the
problem is the correct diagnosis.
Are you in a position to say if this fix will make it into 1.2.2?
-=> Gregg <=-
Adam Winer wrote:
Oh, absolutely, it's a bug, and we'll apply the fix you've
provided.
I'm just pointing out that it's a really long-standing one, and that:
'This worked fine in ADF Faces before
porting to Trinidad where the listName was just "shuttle1:leading".
Note, however, that Trinidad now adds an additional "content" prefix'
... isn't quite right, since the bug existed in ADF Faces too,
and Trinidad doesn't add the "content" prefix itself.
-- Adam
On 9/4/07, Gregg
Leichtman <[EMAIL PROTECTED]>
wrote:
Having
thought about this following your FYI (thank you for the hint), I
realized that Tiles must indeed be adding a tiles name prefix to the
name and ID attributes. The shuttle component is in a tile whose
definition name is, not surprisingly, "content".
Given this, however, I still would classify this behavior in Trinidad as
a bug based on the following reasoning. The component code that is
generating the _javascript_ variables:
content_shuttle1_leading_desc
content_shuttle1_trailing_desc
appears to use a global replace of underscore for colon (I didn't check
the Java code for this, but it seems reasonable based upon the generated
ID); however, the code in the generated _javascript_ function
TrShuttleProxy._getDescArray that searches for an element match via ID
uses a single or first replace of underscore for colon. This
inconsistency in the handling of the modification of element IDs will
always cause a problem for any code, Tiles or otherwise that adds
something with a colon to the ID.
Therefore, I would re-categorize this as an integration bug instead of a
general Trinidad bug, but I would suggest that it is still a bug in
Trinidad that should be fixed. If nothing else, I will need to,
hopefully temporarily, create a duplicate TrShuttleProxy._getDescArray
function with the suggested patch in order to get this functionality to
work with Tiles or alternatively modify the Java generation code,
something I would rather not do, since the latter interferes with easy
upgrades.
Do you agree that this is a bug and that it should be fixed?
-=>
Gregg <=-
Adam Winer wrote:
> Gregg,
>
> FYI, I don't think Trinidad is adding the "content:". Perhaps
> Tiles 2.0 is (I've not looked at the newer version).
>
> -- Adam
>
>
> On 9/3/07, Gregg Leichtman <[EMAIL PROTECTED]>
wrote:
>
>> I have found a bug in the generated _javascript_ for the
Select*Shuttle
>> components. A patch follows:
>>
>> TrShuttleProxy._getDescArray = function(listName) {
>> // var descArray = window[listName.replace(':','_') +
'_desc'];
>> var descArray = window[listName.replace
(/:/g,'_') + '_desc']; // gsl fix
>> return descArray;
>> }
>>
>> where listName is content:shuttle1:leading.
>>
>> The problem is that the listName is not using a global
replace; therefore
>> only the first ':' is being replaced. This worked fine in ADF
Faces before
>> porting to Trinidad where the listName was just
"shuttle1:leading". Note,
>> however, that Trinidad now adds an additional "content" prefix
to the
>> generated inline _javascript_ variables:
>>
>> content_shuttle1_leading_desc=new Array('The First Item
>> Desc',
>> 'The Second Item Desc',
>> 'The Third Item Desc','');
>> content_shuttle1_trailing_desc=new Array('');
>>
>> This means that a global replace needs to be done to create
the proper
>> variable name for matching in the _javascript_ code. I will
report this on
>> Jira for the Trinidad project.
>>
>> I don't have access to the latest snapshots. The last one I
see is from
>> July 11th at:
>>
>>
>>
http://people.apache.org/repo/m2-snapshot-repository/org/apache/myfaces/trinidad/trinidad-impl/1.2.1-SNAPSHOT/
>>
>> If this has been fixed already, then please clear my bug
report which
>> should have the side benefit of letting people know that the
bug has been
>> found and fixed already.
>>
>> -=> Gregg <=-
>>
|