Skip to content

Commit

Permalink
Issue metafizzy#230 Added URL to append callback
Browse files Browse the repository at this point in the history
  • Loading branch information
67726e committed Dec 11, 2012
1 parent 6a189da commit 536317e
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 27 deletions.
18 changes: 8 additions & 10 deletions jquery.infinitescroll.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,13 @@
};

// callback loading
opts.callback = function(instance,data) {
opts.callback = function(instance, data, url) {
if (!!opts.behavior && instance['_callback_'+opts.behavior] !== undefined) {
instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0], data);
instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0], data, url);
}

if (callback) {
callback.call($(opts.contentSelector)[0], data, opts);
callback.call($(opts.contentSelector)[0], data, opts, url);
}

if (opts.prefill) {
Expand Down Expand Up @@ -320,8 +320,7 @@
},

// Load Callback
_loadcallback: function infscr_loadcallback(box, data) {

_loadcallback: function infscr_loadcallback(box, data, url) {
var opts = this.options,
callback = this.options.callback, // GLOBAL OBJECT FOR CALLBACK
result = (opts.state.isDone) ? 'done' : (!opts.appendCallback) ? 'no-append' : 'append',
Expand Down Expand Up @@ -383,7 +382,7 @@
opts.state.isDuringAjax = false;
}

callback(this,data);
callback(this, data, url);

if (opts.prefill) {
this._prefill();
Expand Down Expand Up @@ -547,10 +546,9 @@

switch (method) {
case 'html+callback':

instance._debug('Using HTML via .load() method');
box.load(desturl + ' ' + opts.itemSelector, undefined, function infscr_ajax_callback(responseText) {
instance._loadcallback(box, responseText);
instance._loadcallback(box, responseText, desturl);
});

break;
Expand All @@ -564,7 +562,7 @@
complete: function infscr_ajax_callback(jqXHR, textStatus) {
condition = (typeof (jqXHR.isResolved) !== 'undefined') ? (jqXHR.isResolved()) : (textStatus === "success" || textStatus === "notmodified");
if (condition) {
instance._loadcallback(box, jqXHR.responseText);
instance._loadcallback(box, jqXHR.responseText, desturl);
} else {
instance._error('end');
}
Expand Down Expand Up @@ -598,7 +596,7 @@
} else {
// if appendCallback is false, we will pass in the JSON object. you should handle it yourself in your callback.
if (condition) {
instance._loadcallback(box, data);
instance._loadcallback(box, data, desturl);
} else {
instance._error('end');
}
Expand Down
2 changes: 1 addition & 1 deletion jquery.infinitescroll.min.js

Large diffs are not rendered by default.

7 changes: 3 additions & 4 deletions test/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -74,21 +74,20 @@ <h1>Infinite Scroll Testing</h1>


$('#content').infinitescroll({
navSelector : "p#next:last",
navSelector : "#next:last",
nextSelector : "a#next:last",
itemSelector : "#content p",
debug : true,
dataType : 'html',
// prefill : true,
// path: ["http://nuvique/infinite-scroll/test/index", ".html"]
path: function(index) {
return "http://nuvique/infinite-scroll/test/index" + index + ".html";
return "index" + index + ".html";
}
// behavior : 'twitter',
// appendCallback : false, // USE FOR PREPENDING
// pathParse : function( pathStr, nextPage ){ return pathStr.replace('2', nextPage ); }
}, function(newElements){

}, function(newElements, data, url){
//USE FOR PREPENDING
// $(newElements).css('background-color','#ffef00');
// $(this).prepend(newElements);
Expand Down
18 changes: 8 additions & 10 deletions wordpress-plugin/js/front-end/jquery.infinitescroll.dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -162,13 +162,13 @@
};

// callback loading
opts.callback = function(instance,data) {
opts.callback = function(instance, data, url) {
if (!!opts.behavior && instance['_callback_'+opts.behavior] !== undefined) {
instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0], data);
instance['_callback_'+opts.behavior].call($(opts.contentSelector)[0], data, url);
}

if (callback) {
callback.call($(opts.contentSelector)[0], data, opts);
callback.call($(opts.contentSelector)[0], data, opts, url);
}

if (opts.prefill) {
Expand Down Expand Up @@ -320,8 +320,7 @@
},

// Load Callback
_loadcallback: function infscr_loadcallback(box, data) {

_loadcallback: function infscr_loadcallback(box, data, url) {
var opts = this.options,
callback = this.options.callback, // GLOBAL OBJECT FOR CALLBACK
result = (opts.state.isDone) ? 'done' : (!opts.appendCallback) ? 'no-append' : 'append',
Expand Down Expand Up @@ -383,7 +382,7 @@
opts.state.isDuringAjax = false;
}

callback(this,data);
callback(this, data, url);

if (opts.prefill) {
this._prefill();
Expand Down Expand Up @@ -547,10 +546,9 @@

switch (method) {
case 'html+callback':

instance._debug('Using HTML via .load() method');
box.load(desturl + ' ' + opts.itemSelector, undefined, function infscr_ajax_callback(responseText) {
instance._loadcallback(box, responseText);
instance._loadcallback(box, responseText, desturl);
});

break;
Expand All @@ -564,7 +562,7 @@
complete: function infscr_ajax_callback(jqXHR, textStatus) {
condition = (typeof (jqXHR.isResolved) !== 'undefined') ? (jqXHR.isResolved()) : (textStatus === "success" || textStatus === "notmodified");
if (condition) {
instance._loadcallback(box, jqXHR.responseText);
instance._loadcallback(box, jqXHR.responseText, desturl);
} else {
instance._error('end');
}
Expand Down Expand Up @@ -598,7 +596,7 @@
} else {
// if appendCallback is false, we will pass in the JSON object. you should handle it yourself in your callback.
if (condition) {
instance._loadcallback(box, data);
instance._loadcallback(box, data, desturl);
} else {
instance._error('end');
}
Expand Down
2 changes: 1 addition & 1 deletion wordpress-plugin/js/front-end/jquery.infinitescroll.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion wordpress-plugin/templates/footer.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
// Because the `wp_localize_script` method makes everything a string
infinite_scroll = jQuery.parseJSON(infinite_scroll);

jQuery( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll, function(newElements, data) { eval(infinite_scroll.callback); });
jQuery( infinite_scroll.contentSelector ).infinitescroll( infinite_scroll, function(newElements, data, url) { eval(infinite_scroll.callback); });
</script>

0 comments on commit 536317e

Please sign in to comment.