You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ta...@jakarta.apache.org> on 2005/11/11 23:39:06 UTC

[jira] Closed: (TAPESTRY-669) DatePicker.js line 781 javascript error when Array is customized using Prototype.js from http://prototype.conio.net/

     [ http://issues.apache.org/jira/browse/TAPESTRY-669?page=all ]
     
Howard M. Lewis Ship closed TAPESTRY-669:
-----------------------------------------

    Fix Version: 4.0
     Resolution: Fixed

> DatePicker.js line 781 javascript error when Array is customized using Prototype.js from http://prototype.conio.net/
> --------------------------------------------------------------------------------------------------------------------
>
>          Key: TAPESTRY-669
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-669
>      Project: Tapestry
>         Type: Bug
>   Components: Framework
>     Versions: 4.0
>  Environment: Windows XP, Internet Explorer 6
>     Reporter: Herbert Hui
>     Assignee: Howard M. Lewis Ship
>     Priority: Minor
>      Fix For: 4.0

>
> Line 781 in DatePicker.js fails when thirdparty methods are added to Array using Prototype.js from http://prototype.conio.net/
> For example if you add the flatten method from http://www.schuerig.de/michael/javascript/stdext.js
> then line 781 will attempt to execute the "frm.replace(/\bflatten\b/,'function(excludeUndefined) {return Array.flatten(this, excludeUndefined);}');"
> Suggested modification to DatePicker.js:
>     var keys = new Array('d','dd','ddd','dddd','M','MM','MMM','MMMM','yyyy','yy');
>     for (var i = 0; i < keys.length; i++) {
>       frm = eval("frm.replace(/\\b" + keys[i] + "\\b/,'" + bits[keys[i]] + "');");
>     }
> // borrowed from http://www.schuerig.de/michael/javascript/stdext.js
> // Copyright (c) 2005, Michael Schuerig, michael@schuerig.de
> Array.flatten = function(array, excludeUndefined) {
>   if (excludeUndefined === undefined) {
>     excludeUndefined = false;
>   }
>   var result = [];
>   var len = array.length;
>   for (var i = 0; i < len; i++) {
>     var el = array[i];
>     if (el instanceof Array) {
>       var flat = el.flatten(excludeUndefined);
>       result = result.concat(flat);
>     } else if (!excludeUndefined || el != undefined) {
>       result.push(el);
>     }
>   }
>   return result;
> };
> if (!Array.prototype.flatten) {
>   Array.prototype.flatten = function(excludeUndefined) {
>     return Array.flatten(this, excludeUndefined);
>   }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org