Sha256: c51ce5d9b15336440fa63acdf10a2cb7673b0e9ceeccbb91cfbc46f74d65d0ea

Contents?: true

Size: 1.03 KB

Versions: 7

Compression:

Stored size: 1.03 KB

Contents

/*
---

script: Request.Periodical.js

name: Request.Periodical

description: Requests the same URL to pull data from a server but increases the intervals if no data is returned to reduce the load

license: MIT-style license

authors:
  - Christoph Pojer

requires:
  - Core/Request
  - /MooTools.More

provides: [Request.Periodical]

...
*/

Request.implement({

	options: {
		initialDelay: 5000,
		delay: 5000,
		limit: 60000
	},

	startTimer: function(data){
		var fn = function(){
			if (!this.running) this.send({data: data});
		};
		this.lastDelay = this.options.initialDelay;
		this.timer = fn.delay(this.lastDelay, this);
		this.completeCheck = function(response){
			clearTimeout(this.timer);
			this.lastDelay = (response) ? this.options.delay : (this.lastDelay + this.options.delay).min(this.options.limit);
			this.timer = fn.delay(this.lastDelay, this);
		};
		return this.addEvent('complete', this.completeCheck);
	},

	stopTimer: function(){
		clearTimeout(this.timer);
		return this.removeEvent('complete', this.completeCheck);
	}

});

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lsd_rails-0.1.6 Packages/mootools-more/Source/Request/Request.Periodical.js
lsd_rails-0.1.5 Packages/mootools-more/Source/Request/Request.Periodical.js
lsd_rails-0.1.4 Packages/mootools-more/Source/Request/Request.Periodical.js
lsd_rails-0.1.3 Packages/mootools-more/Source/Request/Request.Periodical.js
lsd_rails-0.1.2 Packages/mootools-more/Source/Request/Request.Periodical.js
lsd_rails-0.1.1 Packages/mootools-more/Source/Request/Request.Periodical.js
lsd_rails-0.1 Packages/mootools-more/Source/Request/Request.Periodical.js