[ http://issues.apache.org/jira/browse/TAPESTRY-669?page=comments#action_12356850 ]
Mario Siegenthaler commented on TAPESTRY-669: --------------------------------------------- IMO it would still be nice if the DatePicker could be modified to work if prototype is loaded, esp. since you cannot always control whether prototype is active (f.e. if developing a component). > 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 > > 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, [EMAIL PROTECTED] > 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
