Skip to content

Commit 0a61f78

Browse files
committed
Merge pull request #145 from fieg/trigger-prev-html
added `htmlPrev` and `textPrev` options to IASTriggerExtension
2 parents 8cca4b4 + 0624e1c commit 0a61f78

File tree

8 files changed

+59
-11
lines changed

8 files changed

+59
-11
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ script:
1717
language: node_js
1818

1919
node_js:
20-
- 0.8
20+
- 0.10
2121

2222
env:
2323
- JQUERY_VERSION=1.7.*

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
Changelog
22
=========
33

4+
## 2.1.2
5+
6+
* Added `htmlPrev` and `textPrev` options to IASTriggerExtension
7+
48
## 2.1.1
59

610
* Changed argument of `load` event from url to event object

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jquery-ias",
3-
"version": "2.1.1",
3+
"version": "2.1.2",
44
"homepage": "http://infiniteajaxscroll.com",
55
"main": "src/jquery-ias.js",
66
"ignore": [

ias.jquery.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "ias",
33
"title": "Infinite Ajax Scroll",
44
"description": "jQuery plugin that progressively enhances your server-side pagination",
5-
"version": "2.1.1",
5+
"version": "2.1.2",
66
"homepage": "http://infiniteajaxscroll.com",
77
"download": "http://infiniteajaxscroll.com/download.html",
88
"docs": "http://infiniteajaxscroll.com/docs/getting-started.html",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "jquery-ias",
33
"title": "Infinite Ajax Scroll",
4-
"version": "2.1.1",
4+
"version": "2.1.2",
55
"description": "A jQuery plugin that turns your server-side pagination into an infinite scrolling one using AJAX",
66
"homepage": "http://infiniteajaxscroll.com",
77
"main": "src/jquery-ias.js",

src/extension/trigger.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ var IASTriggerExtension = function(options) {
1313

1414
this.ias = null;
1515
this.html = (options.html).replace('{text}', options.text);
16+
this.htmlPrev = (options.htmlPrev).replace('{text}', options.textPrev);
1617
this.enabled = true;
1718
this.count = 0;
1819
this.offset = options.offset;
@@ -31,7 +32,7 @@ var IASTriggerExtension = function(options) {
3132
return true;
3233
}
3334

34-
var $trigger = this.$triggerNext || (this.$triggerNext = this.createTrigger(this.next));
35+
var $trigger = this.$triggerNext || (this.$triggerNext = this.createTrigger(this.next, this.html));
3536
var $lastItem = this.ias.getLastItem();
3637

3738
$lastItem.after($trigger);
@@ -48,7 +49,7 @@ var IASTriggerExtension = function(options) {
4849
return true;
4950
}
5051

51-
var $trigger = this.$triggerPrev || (this.$triggerPrev = this.createTrigger(this.prev));
52+
var $trigger = this.$triggerPrev || (this.$triggerPrev = this.createTrigger(this.prev, this.htmlPrev));
5253
var $firstItem = this.ias.getFirstItem();
5354

5455
$firstItem.before($trigger);
@@ -60,10 +61,14 @@ var IASTriggerExtension = function(options) {
6061
/**
6162
* @param clickCallback
6263
* @returns {*|jQuery}
64+
* @param {string} html
6365
*/
64-
this.createTrigger = function(clickCallback) {
66+
this.createTrigger = function(clickCallback, html) {
6567
var uid = (new Date()).getTime(),
66-
$trigger = $(this.html).attr('id', 'ias_trigger_' + uid);
68+
$trigger;
69+
70+
html = html || this.html;
71+
$trigger = $(html).attr('id', 'ias_trigger_' + uid);
6772

6873
$trigger.hide();
6974
$trigger.on('click', $.proxy(clickCallback, this));
@@ -126,7 +131,9 @@ IASTriggerExtension.prototype.prev = function() {
126131
*/
127132
IASTriggerExtension.prototype.defaults = {
128133
text: 'Load more items',
129-
html: '<div class="ias-trigger" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
134+
html: '<div class="ias-trigger ias-trigger-next" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
135+
textPrev: 'Load previous items',
136+
htmlPrev: '<div class="ias-trigger ias-trigger-prev" style="text-align: center; cursor: pointer;"><a>{text}</a></div>',
130137
offset: 0
131138
};
132139

src/jquery-ias.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Infinite Ajax Scroll v2.1.1
2+
* Infinite Ajax Scroll v2.1.2
33
* A jQuery plugin for infinite scrolling
44
* http://infiniteajaxscroll.com
55
*

test/04-trigger-extension-test.js

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ describe("IAS", function () {
1111
item: '.post',
1212
pagination: '.navigation',
1313
next: '.next-posts a'
14-
})
14+
});
1515
});
1616

1717
after(function() {
@@ -115,4 +115,41 @@ describe("IAS", function () {
115115

116116
return deferred.promise;
117117
});
118+
119+
it("should display a prev trigger", function() {
120+
var deferred = when.defer();
121+
122+
jQuery.ias('destroy');
123+
124+
loadFixture("page2.html", function() {
125+
jQuery.ias({
126+
container : '.listing',
127+
item: '.post',
128+
pagination: '.navigation',
129+
next: '.next-posts a'
130+
});
131+
132+
jQuery.ias().extension(new IASPagingExtension());
133+
jQuery.ias().extension(new IASTriggerExtension({
134+
textPrev: 'trigger prev text'
135+
}));
136+
jQuery.ias().extension(new IASHistoryExtension({
137+
prev: '.prev-posts a'
138+
}));
139+
140+
expect($('.ias-trigger-prev:visible').length).toEqual(0); // ensure it isn't already there
141+
142+
jQuery.ias().initialize();
143+
144+
wait(1000).then(function() {
145+
expect($('.ias-trigger-prev:visible').length).toEqual(1);
146+
147+
expect($('.ias-trigger-prev:visible').text()).toEqual('trigger prev text');
148+
149+
deferred.resolve();
150+
})
151+
});
152+
153+
return deferred.promise;
154+
});
118155
});

0 commit comments

Comments
 (0)