mirror of
				https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
				synced 2025-10-31 12:00:19 -04:00 
			
		
		
		
	jquerry deleted by mistake
This commit is contained in:
		
							parent
							
								
									e5907f91bb
								
							
						
					
					
						commit
						e2e4a9620b
					
				
							
								
								
									
										2
									
								
								js/vendor/jquery-3.5.1.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								js/vendor/jquery-3.5.1.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										311
									
								
								js/vendor/jquery.growl.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										311
									
								
								js/vendor/jquery.growl.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,311 @@ | |||||||
|  | var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||||||
|  | 
 | ||||||
|  | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } | ||||||
|  | 
 | ||||||
|  | // Generated by CoffeeScript 2.1.0
 | ||||||
|  | (function () { | ||||||
|  |   /* | ||||||
|  |   jQuery Growl | ||||||
|  |   Copyright 2015 Kevin Sylvestre | ||||||
|  |   1.3.5 | ||||||
|  |   */ | ||||||
|  |   "use strict"; | ||||||
|  | 
 | ||||||
|  |   var $, Animation, Growl; | ||||||
|  | 
 | ||||||
|  |   $ = jQuery; | ||||||
|  | 
 | ||||||
|  |   Animation = function () { | ||||||
|  |     var Animation = function () { | ||||||
|  |       function Animation() { | ||||||
|  |         _classCallCheck(this, Animation); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       _createClass(Animation, null, [{ | ||||||
|  |         key: "transition", | ||||||
|  |         value: function transition($el) { | ||||||
|  |           var el, ref, result, type; | ||||||
|  |           el = $el[0]; | ||||||
|  |           ref = this.transitions; | ||||||
|  |           for (type in ref) { | ||||||
|  |             result = ref[type]; | ||||||
|  |             if (el.style[type] != null) { | ||||||
|  |               return result; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       }]); | ||||||
|  | 
 | ||||||
|  |       return Animation; | ||||||
|  |     }(); | ||||||
|  | 
 | ||||||
|  |     ; | ||||||
|  | 
 | ||||||
|  |     Animation.transitions = { | ||||||
|  |       "webkitTransition": "webkitTransitionEnd", | ||||||
|  |       "mozTransition": "mozTransitionEnd", | ||||||
|  |       "oTransition": "oTransitionEnd", | ||||||
|  |       "transition": "transitionend" | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     return Animation; | ||||||
|  |   }(); | ||||||
|  | 
 | ||||||
|  |   Growl = function () { | ||||||
|  |     var Growl = function () { | ||||||
|  |       _createClass(Growl, null, [{ | ||||||
|  |         key: "growl", | ||||||
|  |         value: function growl() { | ||||||
|  |           var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||||||
|  | 
 | ||||||
|  |           return new Growl(settings); | ||||||
|  |         } | ||||||
|  |       }]); | ||||||
|  | 
 | ||||||
|  |       function Growl() { | ||||||
|  |         var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||||||
|  | 
 | ||||||
|  |         _classCallCheck(this, Growl); | ||||||
|  | 
 | ||||||
|  |         this.render = this.render.bind(this); | ||||||
|  |         this.bind = this.bind.bind(this); | ||||||
|  |         this.unbind = this.unbind.bind(this); | ||||||
|  |         this.mouseEnter = this.mouseEnter.bind(this); | ||||||
|  |         this.mouseLeave = this.mouseLeave.bind(this); | ||||||
|  |         this.click = this.click.bind(this); | ||||||
|  |         this.close = this.close.bind(this); | ||||||
|  |         this.cycle = this.cycle.bind(this); | ||||||
|  |         this.waitAndDismiss = this.waitAndDismiss.bind(this); | ||||||
|  |         this.present = this.present.bind(this); | ||||||
|  |         this.dismiss = this.dismiss.bind(this); | ||||||
|  |         this.remove = this.remove.bind(this); | ||||||
|  |         this.animate = this.animate.bind(this); | ||||||
|  |         this.$growls = this.$growls.bind(this); | ||||||
|  |         this.$growl = this.$growl.bind(this); | ||||||
|  |         this.html = this.html.bind(this); | ||||||
|  |         this.content = this.content.bind(this); | ||||||
|  |         this.container = this.container.bind(this); | ||||||
|  |         this.settings = $.extend({}, Growl.settings, settings); | ||||||
|  |         this.initialize(this.settings.location); | ||||||
|  |         this.render(); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       _createClass(Growl, [{ | ||||||
|  |         key: "initialize", | ||||||
|  |         value: function initialize(location) { | ||||||
|  |           var id; | ||||||
|  |           id = 'growls-' + location; | ||||||
|  |           return $('body:not(:has(#' + id + '))').append('<div id="' + id + '" />'); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "render", | ||||||
|  |         value: function render() { | ||||||
|  |           var $growl; | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           this.$growls(this.settings.location).append($growl); | ||||||
|  |           if (this.settings.fixed) { | ||||||
|  |             this.present(); | ||||||
|  |           } else { | ||||||
|  |             this.cycle(); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "bind", | ||||||
|  |         value: function bind() { | ||||||
|  |           var $growl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.$growl(); | ||||||
|  | 
 | ||||||
|  |           $growl.on("click", this.click); | ||||||
|  |           if (this.settings.delayOnHover) { | ||||||
|  |             $growl.on("mouseenter", this.mouseEnter); | ||||||
|  |             $growl.on("mouseleave", this.mouseLeave); | ||||||
|  |           } | ||||||
|  |           return $growl.on("contextmenu", this.close).find("." + this.settings.namespace + "-close").on("click", this.close); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "unbind", | ||||||
|  |         value: function unbind() { | ||||||
|  |           var $growl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.$growl(); | ||||||
|  | 
 | ||||||
|  |           $growl.off("click", this.click); | ||||||
|  |           if (this.settings.delayOnHover) { | ||||||
|  |             $growl.off("mouseenter", this.mouseEnter); | ||||||
|  |             $growl.off("mouseleave", this.mouseLeave); | ||||||
|  |           } | ||||||
|  |           return $growl.off("contextmenu", this.close).find("." + this.settings.namespace + "-close").off("click", this.close); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "mouseEnter", | ||||||
|  |         value: function mouseEnter(event) { | ||||||
|  |           var $growl; | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           return $growl.stop(true, true); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "mouseLeave", | ||||||
|  |         value: function mouseLeave(event) { | ||||||
|  |           return this.waitAndDismiss(); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "click", | ||||||
|  |         value: function click(event) { | ||||||
|  |           if (this.settings.url != null) { | ||||||
|  |             event.preventDefault(); | ||||||
|  |             event.stopPropagation(); | ||||||
|  |             return window.open(this.settings.url); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "close", | ||||||
|  |         value: function close(event) { | ||||||
|  |           var $growl; | ||||||
|  |           event.preventDefault(); | ||||||
|  |           event.stopPropagation(); | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           return $growl.stop().queue(this.dismiss).queue(this.remove); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "cycle", | ||||||
|  |         value: function cycle() { | ||||||
|  |           var $growl; | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           return $growl.queue(this.present).queue(this.waitAndDismiss()); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "waitAndDismiss", | ||||||
|  |         value: function waitAndDismiss() { | ||||||
|  |           var $growl; | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           return $growl.delay(this.settings.duration).queue(this.dismiss).queue(this.remove); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "present", | ||||||
|  |         value: function present(callback) { | ||||||
|  |           var $growl; | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           this.bind($growl); | ||||||
|  |           return this.animate($growl, this.settings.namespace + "-incoming", 'out', callback); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "dismiss", | ||||||
|  |         value: function dismiss(callback) { | ||||||
|  |           var $growl; | ||||||
|  |           $growl = this.$growl(); | ||||||
|  |           this.unbind($growl); | ||||||
|  |           return this.animate($growl, this.settings.namespace + "-outgoing", 'in', callback); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "remove", | ||||||
|  |         value: function remove(callback) { | ||||||
|  |           this.$growl().remove(); | ||||||
|  |           return typeof callback === "function" ? callback() : void 0; | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "animate", | ||||||
|  |         value: function animate($element, name) { | ||||||
|  |           var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'in'; | ||||||
|  |           var callback = arguments[3]; | ||||||
|  | 
 | ||||||
|  |           var transition; | ||||||
|  |           transition = Animation.transition($element); | ||||||
|  |           $element[direction === 'in' ? 'removeClass' : 'addClass'](name); | ||||||
|  |           $element.offset().position; | ||||||
|  |           $element[direction === 'in' ? 'addClass' : 'removeClass'](name); | ||||||
|  |           if (callback == null) { | ||||||
|  |             return; | ||||||
|  |           } | ||||||
|  |           if (transition != null) { | ||||||
|  |             $element.one(transition, callback); | ||||||
|  |           } else { | ||||||
|  |             callback(); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "$growls", | ||||||
|  |         value: function $growls(location) { | ||||||
|  |           var base; | ||||||
|  |           if (this.$_growls == null) { | ||||||
|  |             this.$_growls = []; | ||||||
|  |           } | ||||||
|  |           return (base = this.$_growls)[location] != null ? base[location] : base[location] = $('#growls-' + location); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "$growl", | ||||||
|  |         value: function $growl() { | ||||||
|  |           return this.$_growl != null ? this.$_growl : this.$_growl = $(this.html()); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "html", | ||||||
|  |         value: function html() { | ||||||
|  |           return this.container(this.content()); | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "content", | ||||||
|  |         value: function content() { | ||||||
|  |           return "<div class='" + this.settings.namespace + "-close'>" + this.settings.close + "</div>\n<div class='" + this.settings.namespace + "-title'>" + this.settings.title + "</div>\n<div class='" + this.settings.namespace + "-message'>" + this.settings.message + "</div>"; | ||||||
|  |         } | ||||||
|  |       }, { | ||||||
|  |         key: "container", | ||||||
|  |         value: function container(content) { | ||||||
|  |           return "<div class='" + this.settings.namespace + " " + this.settings.namespace + "-" + this.settings.style + " " + this.settings.namespace + "-" + this.settings.size + "'>\n  " + content + "\n</div>"; | ||||||
|  |         } | ||||||
|  |       }]); | ||||||
|  | 
 | ||||||
|  |       return Growl; | ||||||
|  |     }(); | ||||||
|  | 
 | ||||||
|  |     ; | ||||||
|  | 
 | ||||||
|  |     Growl.settings = { | ||||||
|  |       namespace: 'growl', | ||||||
|  |       duration: 3200, | ||||||
|  |       close: "×", | ||||||
|  |       location: "default", | ||||||
|  |       style: "default", | ||||||
|  |       size: "medium", | ||||||
|  |       delayOnHover: true | ||||||
|  |     }; | ||||||
|  | 
 | ||||||
|  |     return Growl; | ||||||
|  |   }(); | ||||||
|  | 
 | ||||||
|  |   this.Growl = Growl; | ||||||
|  | 
 | ||||||
|  |   $.growl = function () { | ||||||
|  |     var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||||||
|  | 
 | ||||||
|  |     return Growl.growl(options); | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   $.growl.error = function () { | ||||||
|  |     var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||||||
|  | 
 | ||||||
|  |     var settings; | ||||||
|  |     settings = { | ||||||
|  |       title: "Error!", | ||||||
|  |       style: "error" | ||||||
|  |     }; | ||||||
|  |     return $.growl($.extend(settings, options)); | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   $.growl.notice = function () { | ||||||
|  |     var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||||||
|  | 
 | ||||||
|  |     var settings; | ||||||
|  |     settings = { | ||||||
|  |       title: "Notice!", | ||||||
|  |       style: "notice" | ||||||
|  |     }; | ||||||
|  |     return $.growl($.extend(settings, options)); | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   $.growl.warning = function () { | ||||||
|  |     var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||||||
|  | 
 | ||||||
|  |     var settings; | ||||||
|  |     settings = { | ||||||
|  |       title: "Warning!", | ||||||
|  |       style: "warning" | ||||||
|  |     }; | ||||||
|  |     return $.growl($.extend(settings, options)); | ||||||
|  |   }; | ||||||
|  | }).call(this); | ||||||
							
								
								
									
										232
									
								
								js/vendor/jquery.timeago.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										232
									
								
								js/vendor/jquery.timeago.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,232 @@ | |||||||
|  | /** | ||||||
|  |  * Timeago is a jQuery plugin that makes it easy to support automatically | ||||||
|  |  * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago"). | ||||||
|  |  * | ||||||
|  |  * @name timeago | ||||||
|  |  * @version 1.6.7 | ||||||
|  |  * @requires jQuery >=1.5.0 <4.0 | ||||||
|  |  * @author Ryan McGeary | ||||||
|  |  * @license MIT License - http://www.opensource.org/licenses/mit-license.php
 | ||||||
|  |  * | ||||||
|  |  * For usage and examples, visit: | ||||||
|  |  * http://timeago.yarp.com/
 | ||||||
|  |  * | ||||||
|  |  * Copyright (c) 2008-2019, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org) | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
|  | (function (factory) { | ||||||
|  |   if (typeof define === 'function' && define.amd) { | ||||||
|  |     // AMD. Register as an anonymous module.
 | ||||||
|  |     define(['jquery'], factory); | ||||||
|  |   } else if (typeof module === 'object' && typeof module.exports === 'object') { | ||||||
|  |     factory(require('jquery')); | ||||||
|  |   } else { | ||||||
|  |     // Browser globals
 | ||||||
|  |     factory(jQuery); | ||||||
|  |   } | ||||||
|  | }(function ($) { | ||||||
|  |   $.timeago = function(timestamp) { | ||||||
|  |     if (timestamp instanceof Date) { | ||||||
|  |       return inWords(timestamp); | ||||||
|  |     } else if (typeof timestamp === "string") { | ||||||
|  |       return inWords($.timeago.parse(timestamp)); | ||||||
|  |     } else if (typeof timestamp === "number") { | ||||||
|  |       return inWords(new Date(timestamp)); | ||||||
|  |     } else { | ||||||
|  |       return inWords($.timeago.datetime(timestamp)); | ||||||
|  |     } | ||||||
|  |   }; | ||||||
|  |   var $t = $.timeago; | ||||||
|  | 
 | ||||||
|  |   $.extend($.timeago, { | ||||||
|  |     settings: { | ||||||
|  |       refreshMillis: 60000, | ||||||
|  |       allowPast: true, | ||||||
|  |       allowFuture: false, | ||||||
|  |       localeTitle: false, | ||||||
|  |       cutoff: 0, | ||||||
|  |       autoDispose: true, | ||||||
|  |       strings: { | ||||||
|  |         prefixAgo: null, | ||||||
|  |         prefixFromNow: null, | ||||||
|  |         suffixAgo: "ago", | ||||||
|  |         suffixFromNow: "from now", | ||||||
|  |         inPast: "any moment now", | ||||||
|  |         seconds: "less than a minute", | ||||||
|  |         minute: "about a minute", | ||||||
|  |         minutes: "%d minutes", | ||||||
|  |         hour: "about an hour", | ||||||
|  |         hours: "about %d hours", | ||||||
|  |         day: "a day", | ||||||
|  |         days: "%d days", | ||||||
|  |         month: "about a month", | ||||||
|  |         months: "%d months", | ||||||
|  |         year: "about a year", | ||||||
|  |         years: "%d years", | ||||||
|  |         wordSeparator: " ", | ||||||
|  |         numbers: [] | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     inWords: function(distanceMillis) { | ||||||
|  |       if (!this.settings.allowPast && ! this.settings.allowFuture) { | ||||||
|  |           throw 'timeago allowPast and allowFuture settings can not both be set to false.'; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       var $l = this.settings.strings; | ||||||
|  |       var prefix = $l.prefixAgo; | ||||||
|  |       var suffix = $l.suffixAgo; | ||||||
|  |       if (this.settings.allowFuture) { | ||||||
|  |         if (distanceMillis < 0) { | ||||||
|  |           prefix = $l.prefixFromNow; | ||||||
|  |           suffix = $l.suffixFromNow; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       if (!this.settings.allowPast && distanceMillis >= 0) { | ||||||
|  |         return this.settings.strings.inPast; | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       var seconds = Math.abs(distanceMillis) / 1000; | ||||||
|  |       var minutes = seconds / 60; | ||||||
|  |       var hours = minutes / 60; | ||||||
|  |       var days = hours / 24; | ||||||
|  |       var years = days / 365; | ||||||
|  | 
 | ||||||
|  |       function substitute(stringOrFunction, number) { | ||||||
|  |         var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction; | ||||||
|  |         var value = ($l.numbers && $l.numbers[number]) || number; | ||||||
|  |         return string.replace(/%d/i, value); | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) || | ||||||
|  |         seconds < 90 && substitute($l.minute, 1) || | ||||||
|  |         minutes < 45 && substitute($l.minutes, Math.round(minutes)) || | ||||||
|  |         minutes < 90 && substitute($l.hour, 1) || | ||||||
|  |         hours < 24 && substitute($l.hours, Math.round(hours)) || | ||||||
|  |         hours < 42 && substitute($l.day, 1) || | ||||||
|  |         days < 30 && substitute($l.days, Math.round(days)) || | ||||||
|  |         days < 45 && substitute($l.month, 1) || | ||||||
|  |         days < 365 && substitute($l.months, Math.round(days / 30)) || | ||||||
|  |         years < 1.5 && substitute($l.year, 1) || | ||||||
|  |         substitute($l.years, Math.round(years)); | ||||||
|  | 
 | ||||||
|  |       var separator = $l.wordSeparator || ""; | ||||||
|  |       if ($l.wordSeparator === undefined) { separator = " "; } | ||||||
|  |       return $.trim([prefix, words, suffix].join(separator)); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     parse: function(iso8601) { | ||||||
|  |       var s = $.trim(iso8601); | ||||||
|  |       s = s.replace(/\.\d+/,""); // remove milliseconds
 | ||||||
|  |       s = s.replace(/-/,"/").replace(/-/,"/"); | ||||||
|  |       s = s.replace(/T/," ").replace(/Z/," UTC"); | ||||||
|  |       s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
 | ||||||
|  |       s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900
 | ||||||
|  |       return new Date(s); | ||||||
|  |     }, | ||||||
|  |     datetime: function(elem) { | ||||||
|  |       var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title"); | ||||||
|  |       return $t.parse(iso8601); | ||||||
|  |     }, | ||||||
|  |     isTime: function(elem) { | ||||||
|  |       // jQuery's `is()` doesn't play well with HTML5 in IE
 | ||||||
|  |       return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
 | ||||||
|  |     } | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   // functions that can be called via $(el).timeago('action')
 | ||||||
|  |   // init is default when no action is given
 | ||||||
|  |   // functions are called with context of a single element
 | ||||||
|  |   var functions = { | ||||||
|  |     init: function() { | ||||||
|  |       functions.dispose.call(this); | ||||||
|  |       var refresh_el = $.proxy(refresh, this); | ||||||
|  |       refresh_el(); | ||||||
|  |       var $s = $t.settings; | ||||||
|  |       if ($s.refreshMillis > 0) { | ||||||
|  |         this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis); | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     update: function(timestamp) { | ||||||
|  |       var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp); | ||||||
|  |       $(this).data('timeago', { datetime: date }); | ||||||
|  |       if ($t.settings.localeTitle) { | ||||||
|  |         $(this).attr("title", date.toLocaleString()); | ||||||
|  |       } | ||||||
|  |       refresh.apply(this); | ||||||
|  |     }, | ||||||
|  |     updateFromDOM: function() { | ||||||
|  |       $(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) }); | ||||||
|  |       refresh.apply(this); | ||||||
|  |     }, | ||||||
|  |     dispose: function () { | ||||||
|  |       if (this._timeagoInterval) { | ||||||
|  |         window.clearInterval(this._timeagoInterval); | ||||||
|  |         this._timeagoInterval = null; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   $.fn.timeago = function(action, options) { | ||||||
|  |     var fn = action ? functions[action] : functions.init; | ||||||
|  |     if (!fn) { | ||||||
|  |       throw new Error("Unknown function name '"+ action +"' for timeago"); | ||||||
|  |     } | ||||||
|  |     // each over objects here and call the requested function
 | ||||||
|  |     this.each(function() { | ||||||
|  |       fn.call(this, options); | ||||||
|  |     }); | ||||||
|  |     return this; | ||||||
|  |   }; | ||||||
|  | 
 | ||||||
|  |   function refresh() { | ||||||
|  |     var $s = $t.settings; | ||||||
|  | 
 | ||||||
|  |     //check if it's still visible
 | ||||||
|  |     if ($s.autoDispose && !$.contains(document.documentElement,this)) { | ||||||
|  |       //stop if it has been removed
 | ||||||
|  |       $(this).timeago("dispose"); | ||||||
|  |       return this; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     var data = prepareData(this); | ||||||
|  | 
 | ||||||
|  |     if (!isNaN(data.datetime)) { | ||||||
|  |       if ( $s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { | ||||||
|  |         $(this).text(inWords(data.datetime)); | ||||||
|  |       } else { | ||||||
|  |         if ($(this).attr('title').length > 0) { | ||||||
|  |             $(this).text($(this).attr('title')); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     return this; | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   function prepareData(element) { | ||||||
|  |     element = $(element); | ||||||
|  |     if (!element.data("timeago")) { | ||||||
|  |       element.data("timeago", { datetime: $t.datetime(element) }); | ||||||
|  |       var text = $.trim(element.text()); | ||||||
|  |       if ($t.settings.localeTitle) { | ||||||
|  |         element.attr("title", element.data('timeago').datetime.toLocaleString()); | ||||||
|  |       } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) { | ||||||
|  |         element.attr("title", text); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     return element.data("timeago"); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   function inWords(date) { | ||||||
|  |     return $t.inWords(distance(date)); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   function distance(date) { | ||||||
|  |     return (new Date().getTime() - date.getTime()); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   // fix for IE6 suckage
 | ||||||
|  |   document.createElement("abbr"); | ||||||
|  |   document.createElement("time"); | ||||||
|  | })); | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user