jquery/jquery.fixes.diff
Index: jquery/version.txt
===================================================================
--- jquery/version.txt (revision 1611)
+++ jquery/version.txt (working copy)
@@ -1 +1 @@
-1.1.2
+1.1.2+RSE
Index: jquery/src/jquery/jquery.js
===================================================================
--- jquery/src/jquery/jquery.js (revision 1611)
+++ jquery/src/jquery/jquery.js (working copy)
@@ -1043,6 +1043,18 @@
is: function(expr) {
return expr ? jQuery.multiFilter(expr,this).length > 0 : false;
},
+
+ /**
+ * Sort and reverse the nodes in an jQuery object
+ * (see http://dev.jquery.com/ticket/255)
+ */
+ sort: function () {
+ return this.pushStack(jQuery.makeArray([].sort.apply(this, arguments)));
+ },
+
+ reverse: function () {
+ return this.pushStack(this.get().reverse(), arguments);
+ },
/**
* Get the content of the value attribute of the first matched element.
@@ -1453,7 +1465,7 @@
if ( arg.constructor == Number )
arg = arg.toString();
- // Convert html string into DOM nodes
+ // Convert html string into DOM nodes
if ( typeof arg == "string" ) {
// Trim whitespace, otherwise indexOf won't work as expected
var s = jQuery.trim(arg), div = doc.createElement("div"), tb = [];
Index: jquery/src/selector/selector.js
===================================================================
--- jquery/src/selector/selector.js (revision 1611)
+++ jquery/src/selector/selector.js (working copy)
@@ -52,6 +52,8 @@
"@": {
"=": "z==m[4]",
"!=": "z!=m[4]",
+ "=~": "z.match(RegExp(m[4]))!=null",
+ "!~": "z.match(RegExp(m[4]))==null",
"^=": "z&&!z.indexOf(m[4])",
"$=": "z&&z.substr(z.length - m[4].length,m[4].length)==m[4]",
"*=": "z&&z.indexOf(m[4])>=0",
@@ -67,7 +69,7 @@
// The regular expressions that power the parsing engine
parse: [
// Match: [@value='test'], [@foo]
- /^\[ *(@)([\w-]+) *([!*$^=]*) *('?"?)(.*?)\4 *\]/,
+ /^\[ *(@)([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,
// Match: [div], [div p]
/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,
Index: jquery/src/event/event.js
===================================================================
--- jquery/src/event/event.js (revision 1611)
+++ jquery/src/event/event.js (working copy)
@@ -264,7 +264,7 @@
* Binds a handler to a particular event (like click) for each matched element.
* The handler is executed only once for each element. Otherwise, the same rules
* as described in bind() apply.
- The event handler is passed an event object that you can use to prevent
+ * The event handler is passed an event object that you can use to prevent
* default behaviour. To stop both default action and event bubbling, your handler
* has to return false.
*
@@ -545,6 +545,7 @@
*
* @name scroll
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the scroll event on each of the matched elements.
* @cat Events
*/
@@ -560,6 +561,7 @@
*
* @name submit
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the submit event on each of the matched elements.
* @cat Events
*/
@@ -590,6 +592,7 @@
*
* @name focus
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the focus event on each of the matched elements.
* @cat Events
*/
@@ -619,6 +622,7 @@
*
* @name keydown
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the keydown event on each of the matched elements.
* @cat Events
*/
@@ -632,6 +636,7 @@
*
* @name dblclick
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the dblclick event on each of the matched elements.
* @cat Events
*/
@@ -645,6 +650,7 @@
*
* @name keypress
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the keypress event on each of the matched elements.
* @cat Events
*/
@@ -658,6 +664,7 @@
*
* @name error
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the error event on each of the matched elements.
* @cat Events
*/
@@ -671,6 +678,7 @@
*
* @name blur
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the blur event on each of the matched elements.
* @cat Events
*/
@@ -702,6 +710,7 @@
*
* @name load
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the load event on each of the matched elements.
* @cat Events
*/
@@ -715,6 +724,7 @@
*
* @name select
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the select event on each of the matched elements.
* @cat Events
*/
@@ -743,6 +753,7 @@
*
* @name mouseup
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the mouseup event on each of the matched elements.
* @cat Events
*/
@@ -756,6 +767,7 @@
*
* @name unload
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the unload event on each of the matched elements.
* @cat Events
*/
@@ -769,6 +781,7 @@
*
* @name change
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the change event on each of the matched elements.
* @cat Events
*/
@@ -782,6 +795,7 @@
*
* @name mouseout
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the mouseout event on each of the matched elements.
* @cat Events
*/
@@ -795,6 +809,7 @@
*
* @name keyup
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the keyup event on each of the matched elements.
* @cat Events
*/
@@ -808,6 +823,7 @@
*
* @name click
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the click event on each of the matched elements.
* @cat Events
*/
@@ -834,6 +850,7 @@
*
* @name resize
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the resize event on each of the matched elements.
* @cat Events
*/
@@ -847,6 +864,7 @@
*
* @name mousemove
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the mousemove event on each of the matched elements.
* @cat Events
*/
@@ -860,6 +878,7 @@
*
* @name mousedown
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the mousedown event on each of the matched elements.
* @cat Events
*/
@@ -873,6 +892,7 @@
*
* @name mouseover
* @type jQuery
+ * @param Object data (optional) Additional data passed to the event handler as event.data
* @param Function fn A function to bind to the mousedown event on each of the matched elements.
* @cat Events
*/
@@ -881,8 +901,8 @@
"submit,keydown,keypress,keyup,error").split(","), function(i,o){
// Handle event binding
- jQuery.fn[o] = function(f){
- return f ? this.bind(o, f) : this.trigger(o);
+ jQuery.fn[o] = function(d,f){
+ return (f || d) ? this.bind(o, d, f) : this.trigger(o);
};
});
Index: jquery/src/fx/fx.js
===================================================================
--- jquery/src/fx/fx.js (revision 1611)
+++ jquery/src/fx/fx.js (working copy)
@@ -304,7 +304,7 @@
* @example $("p").animate({
* opacity: 'show'
* }, "slow", "easein");
- * @desc An example of using an 'easing' function to provide a different style of animation. This will only work if you have a plugin that provides this easing function (Only 'linear' is provided by default, with jQuery).
+ * @desc An example of using an 'easing' function to provide a different style of animation. This will only work if you have a plugin that provides this easing function (Only 'swing' and 'linear' are provided by default, with jQuery).
*
* @name animate
* @type jQuery
Index: plugins/validate/jquery.validate.js
===================================================================
--- plugins/validate/jquery.validate.js (revision 1611)
+++ plugins/validate/jquery.validate.js (working copy)
@@ -756,6 +756,17 @@
return value.length > 0;
}
},
+
+ /**
+ * Return true, if the value matches a regex.
+ *
+ * @name jQuery.validator.methods.regex
+ * @type Boolean
+ * @cat Plugins/Validate/Methods
+ */
+ regex: function(value, element, param) {
+ return !jQuery.validator.methods.required(value, element) || param.test(value);
+ },
/**
* Return false, if the element is
@@ -1115,8 +1126,8 @@
* Add a new validation method. It must consist of a name (must be a legal
* javascript identifier), a function and a default message.
*
- * Please note: While the temptation is great to
- * add a regex method that checks it's paramter against the value,
+ * Please note: While the "regex" method above can be used
+ * to checks it's paramter against the value,
* it is much cleaner to encapsulate those regular expressions
* inside their own method. If you need lots of slightly different
* expressions, try to extract a common parameter.
Index: plugins/methods/string.js
===================================================================
--- plugins/methods/string.js (revision 1611)
+++ plugins/methods/string.js (working copy)
@@ -16,7 +16,7 @@
/**
* Adds a given method under the given name
- * to the Date prototype if it doesn't
+ * to the String prototype if it doesn't
* currently exist.
*
* @private
@@ -147,7 +147,7 @@
* @cat Plugins/Methods/String
*/
add("stripTags", function() {
- return this.replace(/<\/?[^>]+>/gi, '');
+ return this.replace(/<([a-zA-Z][a-zA-Z0-9:_-]*(\s+[a-zA-Z][a-zA-Z0-9:_-]*=("[^"]*"|'[^']*'))*|\/?[a-zA-Z][a-zA-Z0-9:_-])>/gi, '');
});
-})();
\ No newline at end of file
+})();
Index: plugins/methods/array.js
===================================================================
--- plugins/methods/array.js (revision 1611)
+++ plugins/methods/array.js (working copy)
@@ -16,7 +16,7 @@
/**
* Adds a given method under the given name
- * to the Date prototype if it doesn't
+ * to the Array prototype if it doesn't
* currently exist.
*
* @private
@@ -47,7 +47,7 @@
for( var i = 0; i < this.length; i++)
handler.call(scope, this[i], i, this);
});
-
+
/**
* Tests whether all elements in the array pass the test
* implemented by the provided function.
@@ -194,4 +194,4 @@
});
});
-})();
\ No newline at end of file
+})();
Index: plugins/cookie/jquery.cookie.js
===================================================================
--- plugins/cookie/jquery.cookie.js (revision 1611)
+++ plugins/cookie/jquery.cookie.js (working copy)
@@ -17,6 +17,8 @@
* @desc Create a cookie with all available options.
* @example $.cookie('the_cookie', 'the_value');
* @desc Create a session cookie.
+ * @example $.cookie('the_cookie', null);
+ * @desc Delete a cookie by passing a null value.
* @example $.cookie('the_cookie', '', {expires: -1});
* @desc Delete a cookie by setting a date in the past.
*
@@ -55,15 +57,35 @@
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
+ if (value === null) {
+ value = "";
+ options.expires = -1;
+ }
var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toGMTString)) {
+ if (options.expires) {
var date;
- if (typeof options.expires == 'number') {
+ if (typeof options.expires == 'string' && options.expires.match(/^[+-]?[0-9]+[YMWDhms]$/) !== null) {
+ var match = options.expires.match(/^([+-]?[0-9]+)([YMDWhms])$/);
+ options.expires = parseInt(match[0], 10) * (({
+ "Y": (60 * 60 * 24 * 365),
+ "M": (60 * 60 * 24 * 365/12),
+ "W": (60 * 60 * 24 * 7),
+ "D": (60 * 60 * 24),
+ "h": (60 * 60),
+ "m": (60),
+ "s": (1)
+ }[match[1]]) || 0);
date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- } else {
+ date.setTime(date.getTime() + options.expires * 1000);
+ }
+ else if (typeof options.expires == 'number') {
+ date = new Date();
+ date.setTime(date.getTime() + options.expires * 24 * 60 * 60 * 1000);
+ }
+ else if (typeof options.expires.toGMTString != 'undefined')
date = options.expires;
- }
+ else
+ throw "invalid \"expires\" option";
expires = '; expires=' + date.toGMTString(); // use expires attribute, max-age is not supported by IE
}
var path = options.path ? '; path=' + options.path : '';
@@ -85,4 +107,4 @@
}
return cookieValue;
}
-};
\ No newline at end of file
+};
Index: plugins/squeezebox/index.html
===================================================================
--- plugins/squeezebox/index.html (revision 1611)
+++ plugins/squeezebox/index.html (working copy)
@@ -8,7 +8,7 @@
<link rel="stylesheet" href="squeezebox.css" />
- <script type="text/javascript" src="../../jquery/dist/jquery.js"></script>
+ <script type="text/javascript" src="http://jquery.com/src/jquery-latest.pack.js"></script>
<script type="text/javascript" src="jquery.squeezebox.js"></script>
<script type="text/javascript">
@@ -233,4 +233,4 @@
<div id="log"><div><strong>Log of the 2nd accordion</strong></div></div>
</body>
-</html>
\ No newline at end of file
+</html>
Index: plugins/interface/easing.js
===================================================================
--- plugins/interface/easing.js (revision 1611)
+++ plugins/interface/easing.js (working copy)
@@ -24,6 +24,10 @@
*/
easing : {
linear: function(p, n, firstNum, delta, duration) {
+ return p * delta + firstNum;
+ },
+
+ swing: function(p, n, firstNum, delta, duration) {
return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum;
},
@@ -121,4 +125,4 @@
return a*Math.pow(2,-10*(n-=1)) * Math.sin( (n*duration-s)*(2*Math.PI)/p )*.5 + delta + firstNum;
}
}
-});
\ No newline at end of file
+});
Index: plugins/interface/ifx.js
===================================================================
--- plugins/interface/ifx.js (revision 1611)
+++ plugins/interface/ifx.js (working copy)
@@ -288,7 +288,7 @@
}
});
/**
- * Improved FX function that aniamtes collection of properties per timer. Accepts inline styles and class names to animate
+ * Improved FX function that animates collection of properties per timer. Accepts inline styles and class names to animate
*/
jQuery.extend({
pause: function(elem, options)
@@ -304,6 +304,9 @@
},
easing : {
linear: function(p, n, firstNum, delta, duration) {
+ return p * delta + firstNum;
+ },
+ swing: function(p, n, firstNum, delta, duration) {
return ((-Math.cos(p*Math.PI)/2) + 0.5) * delta + firstNum;
}
},
@@ -485,4 +488,4 @@
}
}
return newStyles;
-};
\ No newline at end of file
+};