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 <=- > >> > > >