diff --git a/CHANGELOG.md b/CHANGELOG.md index 3aa5a54f..3b2b3a58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ Changelog ========= +## 2.1.1 + +* Changed argument of `load` event from url to event object +* Fixed `prev()` return value + ## 2.1.0 * Added History extension diff --git a/README.md b/README.md index 58f4757a..bfc4f583 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -Infinite Ajax Scroll 2 -====================== +Infinite Ajax Scroll +==================== A jQuery plugin to turn your paginated pages into infinite scrolling pages with ease. diff --git a/bower.json b/bower.json index a7c6bd1a..74cb3f85 100644 --- a/bower.json +++ b/bower.json @@ -1,8 +1,8 @@ { "name": "jquery-ias", - "version": "2.1.0", + "version": "2.1.1", "homepage": "http://infiniteajaxscroll.com", - "main": "src/jquery.ias.js", + "main": "src/jquery-ias.js", "ignore": [ "**/.*", "node_modules", diff --git a/ias.jquery.json b/ias.jquery.json index 631d68d6..fe49a3e4 100644 --- a/ias.jquery.json +++ b/ias.jquery.json @@ -2,7 +2,7 @@ "name": "ias", "title": "Infinite Ajax Scroll", "description": "jQuery plugin that progressively enhances your server-side pagination", - "version": "2.1.0", + "version": "2.1.1", "homepage": "http://infiniteajaxscroll.com", "download": "http://infiniteajaxscroll.com/download.html", "docs": "http://infiniteajaxscroll.com/docs/getting-started.html", diff --git a/package.json b/package.json index 0eb9847f..32ffa12e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "jquery-ias", "title": "Infinite Ajax Scroll", - "version": "2.1.0", + "version": "2.1.1", "description": "A jQuery plugin that turns your server-side pagination into an infinite scrolling one using AJAX", "homepage": "http://infiniteajaxscroll.com", "main": "src/jquery-ias.js", diff --git a/src/jquery-ias.js b/src/jquery-ias.js index 3e6ca163..11f703bd 100644 --- a/src/jquery-ias.js +++ b/src/jquery-ias.js @@ -1,5 +1,5 @@ /** - * Infinite Ajax Scroll v2.1.0 + * Infinite Ajax Scroll v2.1.1 * A jQuery plugin for infinite scrolling * http://infiniteajaxscroll.com * @@ -171,9 +171,13 @@ delay = delay || this.defaultDelay; - self.fire('load', [url]); + var loadEvent = { + url: url + }; + + self.fire('load', [loadEvent]); - return $.get(url, null, $.proxy(function(data) { + return $.get(loadEvent.url, null, $.proxy(function(data) { $itemContainer = $(this.itemsContainerSelector, data).eq(0); if (0 === $itemContainer.length) { $itemContainer = $(data).filter(this.itemsContainerSelector).eq(0); diff --git a/test/02-listeners-test.js b/test/02-listeners-test.js index da26716f..85103d96 100644 --- a/test/02-listeners-test.js +++ b/test/02-listeners-test.js @@ -44,6 +44,38 @@ describe("IAS", function () { return deferred.promise; }); + it("should allow url to be changed in load event", function() { + var deferred = when.defer(); + + jQuery.ias({ + container : '.listing', + item: '.post', + pagination: '.navigation', + next: '.next-posts a' + }); + + // first listener changes the url + jQuery.ias().on('load', function (loadEvent) { + // assert that it isn't already there + buster.refute.contains(loadEvent.url, "ajax=1"); + + loadEvent.url = loadEvent.url + "?ajax=1"; + }); + + // second listener asserts the url is changed + jQuery.ias().on('load', function (loadEvent) { + buster.assert.contains(loadEvent.url, "ajax=1"); + }); + + scrollDown().then(function() { + wait(2000).then(function() { + deferred.resolve(); + }); + }); + + return deferred.promise; + }); + it("should call render listeners when render is complete", function() { var deferred = when.defer(); var spy1 = this.spy(); diff --git a/test/buster.js b/test/buster.js index 3631176f..4d6e920f 100644 --- a/test/buster.js +++ b/test/buster.js @@ -1,10 +1,20 @@ -var config = module.exports; +var config = module.exports, + fs = require('fs'), + bower = { + jquery: { + main: 'jquery.js' + } + }; + +if (fs.existsSync('bower_components/jquery/bower.json')) { + bower.jquery = JSON.parse(fs.readFileSync('bower_components/jquery/bower.json', 'utf8')) +} config["My tests"] = { rootPath: "../", environment: "browser", // or "node" libs: [ - "bower_components/jquery/jquery.min.js" + "bower_components/jquery/" + bower.jquery.main.replace(/^\.\//, ''), ], sources: [ "src/callbacks.js",