Author: johnnyoffline
Date: 2010-01-28 00:12:44 +0100 (Thu, 28 Jan 2010)
New Revision: 27261

Added:
   plugins/pkToolkitPlugin/trunk/web/js/jquery.timer-1.2.js
Log:
fixed Breadcrumb Rename button failure

Added: plugins/pkToolkitPlugin/trunk/web/js/jquery.timer-1.2.js
===================================================================
--- plugins/pkToolkitPlugin/trunk/web/js/jquery.timer-1.2.js                    
        (rev 0)
+++ plugins/pkToolkitPlugin/trunk/web/js/jquery.timer-1.2.js    2010-01-27 
23:12:44 UTC (rev 27261)
@@ -0,0 +1,138 @@
+/**
+ * jQuery.timers - Timer abstractions for jQuery
+ * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
+ * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
+ * Date: 2009/10/16
+ *
+ * @author Blair Mitchelmore
+ * @version 1.2
+ *
+ **/
+
+jQuery.fn.extend({
+       everyTime: function(interval, label, fn, times) {
+               return this.each(function() {
+                       jQuery.timer.add(this, interval, label, fn, times);
+               });
+       },
+       oneTime: function(interval, label, fn) {
+               return this.each(function() {
+                       jQuery.timer.add(this, interval, label, fn, 1);
+               });
+       },
+       stopTime: function(label, fn) {
+               return this.each(function() {
+                       jQuery.timer.remove(this, label, fn);
+               });
+       }
+});
+
+jQuery.extend({
+       timer: {
+               global: [],
+               guid: 1,
+               dataKey: "jQuery.timer",
+               regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
+               powers: {
+                       // Yeah this is major overkill...
+                       'ms': 1,
+                       'cs': 10,
+                       'ds': 100,
+                       's': 1000,
+                       'das': 10000,
+                       'hs': 100000,
+                       'ks': 1000000
+               },
+               timeParse: function(value) {
+                       if (value == undefined || value == null)
+                               return null;
+                       var result = 
this.regex.exec(jQuery.trim(value.toString()));
+                       if (result[2]) {
+                               var num = parseFloat(result[1]);
+                               var mult = this.powers[result[2]] || 1;
+                               return num * mult;
+                       } else {
+                               return value;
+                       }
+               },
+               add: function(element, interval, label, fn, times) {
+                       var counter = 0;
+                       
+                       if (jQuery.isFunction(label)) {
+                               if (!times) 
+                                       times = fn;
+                               fn = label;
+                               label = interval;
+                       }
+                       
+                       interval = jQuery.timer.timeParse(interval);
+
+                       if (typeof interval != 'number' || isNaN(interval) || 
interval < 0)
+                               return;
+
+                       if (typeof times != 'number' || isNaN(times) || times < 
0) 
+                               times = 0;
+                       
+                       times = times || 0;
+                       
+                       var timers = jQuery.data(element, this.dataKey) || 
jQuery.data(element, this.dataKey, {});
+                       
+                       if (!timers[label])
+                               timers[label] = {};
+                       
+                       fn.timerID = fn.timerID || this.guid++;
+                       
+                       var handler = function() {
+                               if ((++counter > times && times !== 0) || 
fn.call(element, counter) === false)
+                                       jQuery.timer.remove(element, label, fn);
+                       };
+                       
+                       handler.timerID = fn.timerID;
+                       
+                       if (!timers[label][fn.timerID])
+                               timers[label][fn.timerID] = 
window.setInterval(handler,interval);
+                       
+                       this.global.push( element );
+                       
+               },
+               remove: function(element, label, fn) {
+                       var timers = jQuery.data(element, this.dataKey), ret;
+                       
+                       if ( timers ) {
+                               
+                               if (!label) {
+                                       for ( label in timers )
+                                               this.remove(element, label, fn);
+                               } else if ( timers[label] ) {
+                                       if ( fn ) {
+                                               if ( fn.timerID ) {
+                                                       
window.clearInterval(timers[label][fn.timerID]);
+                                                       delete 
timers[label][fn.timerID];
+                                               }
+                                       } else {
+                                               for ( var fn in timers[label] ) 
{
+                                                       
window.clearInterval(timers[label][fn]);
+                                                       delete 
timers[label][fn];
+                                               }
+                                       }
+                                       
+                                       for ( ret in timers[label] ) break;
+                                       if ( !ret ) {
+                                               ret = null;
+                                               delete timers[label];
+                                       }
+                               }
+                               
+                               for ( ret in timers ) break;
+                               if ( !ret ) 
+                                       jQuery.removeData(element, 
this.dataKey);
+                       }
+               }
+       }
+});
+
+jQuery(window).bind("unload", function() {
+       jQuery.each(jQuery.timer.global, function(index, item) {
+               jQuery.timer.remove(item);
+       });
+});
\ No newline at end of file

-- 
You received this message because you are subscribed to the Google Groups 
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/symfony-svn?hl=en.

Reply via email to